Skip to content

Commit e4feeda

Browse files
committed
feat: update CN README files
1 parent 160846d commit e4feeda

File tree

2 files changed

+234
-0
lines changed

2 files changed

+234
-0
lines changed

MULTI_PROVIDER_CN.md

Lines changed: 222 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,222 @@
1+
# 多提供商配置指南
2+
3+
GoDNS 现已支持同时配置多个 DNS 提供商,允许您从单个 GoDNS 实例管理不同 DNS 服务的域名。
4+
5+
## 功能特性
6+
7+
- **多提供商支持**:在一个配置文件中配置多个 DNS 提供商(Cloudflare、DNSPod、DigitalOcean 等)
8+
- **每域名指定提供商**:为不同域名指定不同的提供商
9+
- **完全向后兼容**:现有的单提供商配置无需修改即可继续使用
10+
- **混合配置**:结合传统全局提供商与新的按域名提供商设置
11+
- **提供商特定凭据**:每个提供商可以有自己的身份验证凭据
12+
13+
## 配置选项
14+
15+
### 选项 1:多提供商配置
16+
17+
配置多个提供商并按域名分配:
18+
19+
```json
20+
{
21+
"providers": {
22+
"cloudflare": {
23+
"email": "[email protected]",
24+
"password": "your-cloudflare-api-token"
25+
},
26+
"dnspod": {
27+
"login_token": "your-dnspod-token"
28+
},
29+
"digitalocean": {
30+
"password": "your-digitalocean-api-token"
31+
}
32+
},
33+
"domains": [
34+
{
35+
"domain_name": "example.com",
36+
"sub_domains": ["www", "api"],
37+
"provider": "cloudflare"
38+
},
39+
{
40+
"domain_name": "mysite.net",
41+
"sub_domains": ["mail", "ftp"],
42+
"provider": "dnspod"
43+
}
44+
]
45+
}
46+
```
47+
48+
### 选项 2:传统单提供商(向后兼容)
49+
50+
现有配置无需修改即可继续使用:
51+
52+
```json
53+
{
54+
"provider": "DNSPod",
55+
"login_token": "your-dnspod-token",
56+
"domains": [
57+
{
58+
"domain_name": "example.com",
59+
"sub_domains": ["www", "test"]
60+
}
61+
]
62+
}
63+
```
64+
65+
### 选项 3:混合配置
66+
67+
结合全局提供商与特定的按域名提供商:
68+
69+
```json
70+
{
71+
"provider": "DNSPod",
72+
"login_token": "your-dnspod-token",
73+
"providers": {
74+
"cloudflare": {
75+
"email": "[email protected]",
76+
"password": "your-cloudflare-api-token"
77+
}
78+
},
79+
"domains": [
80+
{
81+
"domain_name": "oldsite.com",
82+
"sub_domains": ["www", "mail"]
83+
},
84+
{
85+
"domain_name": "newsite.com",
86+
"sub_domains": ["www", "api"],
87+
"provider": "cloudflare"
88+
}
89+
]
90+
}
91+
```
92+
93+
## 提供商配置字段
94+
95+
`providers` 部分中的每个提供商支持以下通用字段:
96+
97+
- `email`:用于身份验证的电子邮件地址(Cloudflare 等)
98+
- `password`:API 令牌或密码
99+
- `password_file`:包含密码/令牌的文件路径
100+
- `login_token`:基于令牌的身份验证登录令牌(DNSPod 等)
101+
- `login_token_file`:包含登录令牌的文件路径
102+
- `app_key`:应用程序密钥(提供商特定)
103+
- `app_secret`:应用程序密钥(提供商特定)
104+
- `consumer_key`:消费者密钥(提供商特定)
105+
106+
## 域名配置
107+
108+
域名支持可选的 `provider` 字段:
109+
110+
```json
111+
{
112+
"domain_name": "example.com",
113+
"sub_domains": ["www", "api", "@"],
114+
"provider": "cloudflare"
115+
}
116+
```
117+
118+
如果省略 `provider`,域名将使用全局 `provider` 设置。
119+
120+
## 支持的提供商
121+
122+
多提供商模式支持所有现有提供商:
123+
124+
- Cloudflare
125+
- DNSPod
126+
- DigitalOcean
127+
- Alidns
128+
- Google
129+
- HE (Hurricane Electric)
130+
- Dreamhost
131+
- Duck DNS
132+
- NoIP
133+
- Scaleway
134+
- DynV6
135+
- Linode
136+
- Strato
137+
- Loopiase
138+
- Infomaniak
139+
- Hetzner
140+
- OVH
141+
- Dynu
142+
- IONOS
143+
- TransIP
144+
145+
## 迁移指南
146+
147+
### 从单提供商到多提供商
148+
149+
1. **保持现有配置正常工作**:当前设置无需任何更改
150+
2. **逐步添加新提供商**
151+
```json
152+
{
153+
"provider": "DNSPod", // 保持现有设置
154+
"login_token": "old-token",
155+
"providers": { // 添加新提供商
156+
"cloudflare": {
157+
"email": "[email protected]",
158+
"password": "cf-token"
159+
}
160+
},
161+
"domains": [
162+
{
163+
"domain_name": "old-domain.com",
164+
"sub_domains": ["www"] // 使用 DNSPod(全局提供商)
165+
},
166+
{
167+
"domain_name": "new-domain.com",
168+
"sub_domains": ["www"],
169+
"provider": "cloudflare" // 使用 Cloudflare
170+
}
171+
]
172+
}
173+
```
174+
175+
3. **完成迁移**:一旦所有域名都指定了提供商,就可以移除全局提供商
176+
177+
## 配置示例
178+
179+
查看示例配置文件:
180+
181+
- `configs/config_multi_sample.json` - 完整的多提供商设置
182+
- `configs/config_multi_sample.yaml` - 多提供商设置的 YAML 版本
183+
- `configs/config_legacy_compatible.json` - 显示向后兼容性
184+
- `configs/config_mixed_sample.json` - 混合传统 + 新提供商配置
185+
186+
## 日志记录和通知
187+
188+
多提供商配置在日志消息和通知中包含提供商信息:
189+
190+
```
191+
INFO [2024-01-01T12:00:00Z] 已初始化提供商: cloudflare
192+
INFO [2024-01-01T12:00:00Z] 已初始化提供商: dnspod
193+
INFO [2024-01-01T12:00:00Z] [ www, api ] of example.com (通过 cloudflare)
194+
```
195+
196+
## 优势
197+
198+
1. **整合**:从一个 GoDNS 实例管理多个 DNS 提供商
199+
2. **灵活性**:为每个域名使用最佳提供商
200+
3. **冗余性**:将域名分布在提供商之间以提高弹性
201+
4. **迁移**:逐步在提供商之间移动域名
202+
5. **成本优化**:根据定价/功能使用不同提供商
203+
6. **合规性**:满足地理分布的要求
204+
205+
## 故障排除
206+
207+
### 找不到提供商错误
208+
```
209+
ERROR provider 'cloudflare' not found for domain example.com
210+
```
211+
**解决方案**:确保提供商已在 `providers` 部分中配置。
212+
213+
### 身份验证失败
214+
```
215+
ERROR failed to create provider cloudflare: authentication failed
216+
```
217+
**解决方案**:验证提供商配置部分中的凭据。
218+
219+
### 混合配置问题
220+
如果域名没有指定 `provider` 字段,它将使用全局 `provider`。确保:
221+
1. 使用混合配置时设置了全局 `provider`
222+
2. 为全局提供商提供了所有必需的凭据

README_CN.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
- [使用方法](#使用方法)
3030
- [配置](#配置)
3131
- [概述](#概述)
32+
- [多提供商支持](#多提供商支持)
3233
- [配置文件格式](#配置文件格式)
3334
- [动态加载配置](#动态加载配置)
3435
- [配置属性](#配置属性)
@@ -195,6 +196,17 @@ Usage of ./godns:
195196
- 配置通知媒介(例如 SMTP 接收电子邮件),以便在您的 IP 地址更改时收到通知
196197
- 将文件放置在 GoDNS 的同一目录中,或者使用 `-c=path/to/your/file.json` 选项
197198

199+
### 多提供商支持
200+
201+
🆕 **GoDNS 现已支持同时使用多个 DNS 提供商!**
202+
203+
您现在可以在单个配置文件中配置来自不同 DNS 提供商的域名,从而实现:
204+
- 跨多个 DNS 服务(Cloudflare、DNSPod、DigitalOcean 等)管理域名
205+
- 为每个服务使用提供商特定的凭据
206+
- 与现有单提供商配置保持完全向后兼容
207+
208+
📖 **[查看完整的多提供商配置指南](MULTI_PROVIDER_CN.md)** 了解详细的设置说明和示例。
209+
198210
### 配置文件格式
199211

200212
GoDNS 支持两种不同的配置文件格式:

0 commit comments

Comments
 (0)