fix: split accounts by newline only

This commit is contained in:
2026-06-07 14:02:23 +08:00
parent 7c580d3234
commit 9d899f7a5a
2 changed files with 24 additions and 16 deletions
+16 -5
View File
@@ -8,8 +8,11 @@
# 单账号
export dxxwhd='账号&密码'
# 账号,用 @ 或换行分隔
export dxxwhd='账号1&密码1@账号2&密码2'
# 账号 + SOCKS5 代理
export dxxwhd='账号&密码&支付宝账号&姓名&socks5h://user:pass@host:1080'
# 多账号:仅使用换行分隔
export dxxwhd=$'账号1&密码1&支付宝1&姓名1&socks5h://user1:pass1@host1:1080\n账号2&密码2&支付宝2&姓名2&socks5h://user2:pass2@host2:1080'
```
账号字段支持:
@@ -18,7 +21,15 @@ export dxxwhd='账号1&密码1@账号2&密码2'
账号&密码&支付宝账号&姓名&socks5代理
```
- `socks5代理` 可选,示例:`socks5://127.0.0.1:7890``socks5h://user:pass@host:port`
- 未配置代理时使用本地网络
- 配置代理后,该账号所有请求(登录、积分任务、文章、微剧/兑吧)都会走该 SOCKS5 代理
说明:
- 多账号**只按换行分隔**,不再按 `@` 分隔,避免 `socks5h://user:pass@host:port` 被误拆。
- `socks5代理` 可选,示例:`socks5://127.0.0.1:7890``socks5h://user:pass@host:port`
- 未配置代理时使用本地网络。
- 配置代理后,该账号所有请求(登录、积分任务、文章、微剧/兑吧)都会走该 SOCKS5 代理。
- 如果代理用户名或密码包含 `&`,仍需要 URL 编码为 `%26`,因为 `&` 是账号字段分隔符。
- 如果不配置支付宝/姓名,只配置代理:
```bash
export dxxwhd='账号&密码&&&socks5h://user:pass@host:1080'
```
+8 -11
View File
@@ -28,13 +28,12 @@ try {
//
// 环境变量配置:
// export dxxwhd="账号&密码" # 单账号
// export dxxwhd="账号1&密码1@账号2&密码2" # 多账号用@分隔
// export dxxwhd="账号1&密码1
// 账号2&密码2" # 多账号也可用换行分隔
// export dxxwhd="账号&密码&支付宝账号&姓名&socks5://127.0.0.1:7890" # 可选账号级 SOCKS5 代理
// export dxxwhd=$'账号1&密码1&支付宝1&姓名1&socks5h://user:pass@host1:1080\n账号2&密码2&支付宝2&姓名2&socks5h://user:pass@host2:1080' # 多账号仅用换行分隔
//
// 账号字段:账号&密码&支付宝账号&姓名&socks5代理
// - 支付宝账号/姓名/代理均可选;如果只想配置代理但不配置支付宝,可写:账号&密码&&&socks5://host:port
// - 多账号只按换行分隔,不再按 @ 分隔,避免带密码 SOCKS5 里的 @ 被误拆账号
// - 代理用户名/密码如果包含 &,仍需 URL 编码为 %26,因为 & 是账号字段分隔符
// - 代理支持 socks5:// / socks5h://,可带认证:socks5h://user:pass@host:port
// - 该账号配置代理后,登录、积分、文章、微剧/兑吧等所有 axios 请求均走该代理;未配置则使用本地网络
//
@@ -1428,13 +1427,11 @@ async function start() {
console.log(`未找到环境变量 dxxwhd,请设置。格式: 账号&密码`);
return;
}
if (dxxwhd.indexOf('@') > -1) {
dxxwhdArr = dxxwhd.split('@');
} else if (dxxwhd.indexOf('\n') > -1) {
dxxwhdArr = dxxwhd.split('\n');
} else {
dxxwhdArr = [dxxwhd];
}
// 多账号仅按换行分隔;不再按 @ 分隔,避免 socks5://user:pass@host:port 被误拆。
dxxwhdArr = dxxwhd
.split(/\r?\n/)
.map(item => item.trim())
.filter(Boolean);
console.log(`\n=================== 共找到 ${dxxwhdArr.length} 个账号 ===================`);
console.log(`执行模式: ${ENABLE_CONCURRENT ? '并发模式 🚀' : '顺序模式 ⏭️'}`);