如何用脚本批量添加代理用户?

wen 实用脚本 1

本文目录导读:

如何用脚本批量添加代理用户?

  1. Linux 系统批量添加系统用户(用于代理认证)
  2. Squid 代理批量添加认证用户
  3. Shadowsocks/Trojan 等代理协议批量添加用户
  4. 3proxy 批量添加用户
  5. 通用建议

Linux 系统批量添加系统用户(用于代理认证)

使用 useradd 命令结合循环脚本:

#!/bin/bash
# 批量添加用户,用户名格式:proxy_user_1~50
for i in $(seq 1 50); do
    username="proxy_user_$i"
    password="password_$i"  # 生产环境建议使用随机密码或 SSH 密钥
    useradd -m -s /sbin/nologin "$username"  # -s /sbin/nologin 禁止登录,仅用于代理服务
    echo "$username:$password" | chpasswd   # 设置密码
    echo "Created user: $username"
done

注意:如果代理服务需要特定用户组或目录,可添加 -g group -d /home/proxy 参数。


Squid 代理批量添加认证用户

Squid 使用 htpasswd 文件存储用户名和密码(需安装 apache2-utilshttpd-tools):

#!/bin/bash
# 生成 htpasswd 文件,批量添加 Squid 代理用户
HTPASSWD_FILE="/etc/squid/squid_passwd"
touch "$HTPASSWD_FILE"
for i in $(seq 1 100); do
    username="squid_user_$i"
    password="random_pass_$i"
    # -b 选项直接将密码传入(不安全,仅演示),生产用 -n 交互输入
    htpasswd -b "$HTPASSWD_FILE" "$username" "$password"
    echo "Added $username to $HTPASSWD_FILE"
done

Squid 配置示例/etc/squid/squid.conf):

auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/squid_passwd
auth_param basic children 10
auth_param basic realm Squid Proxy
acl proxy_users proxy_auth REQUIRED
http_access allow proxy_users

Shadowsocks/Trojan 等代理协议批量添加用户

Shadowsocksss-managerv2ray 的 API 为例(需要 JSON 配置文件):

#!/bin/bash
# 批量生成 Shadowsocks 用户配置(多端口模式)
CONFIG_FILE="/etc/shadowsocks/users.json"
echo '{"port_password": {' > "$CONFIG_FILE"
for i in $(seq 1 20); do
    port=$((10000 + i))  # 端口从 10001 开始
    password="password_$port"
    echo "  \"$port\": \"$password\"," >> "$CONFIG_FILE"
done
echo "}, \"method\":\"aes-256-gcm\"}" >> "$CONFIG_FILE"
# 重启服务
systemctl restart shadowsocks-server

3proxy 批量添加用户

3proxy 的配置文件(/etc/3proxy.cfg)支持 users 指令:

#!/bin/bash
# 生成用户行:username:CL:password
USERS_FILE="/etc/3proxy/users"
> "$USERS_FILE"  # 清空旧内容
for i in $(seq 1 30); do
    username="proxy_$i"
    password="pass_$i"
    echo "$username:CL:$password" >> "$USERS_FILE"
done
echo "Users added. Restart 3proxy: systemctl restart 3proxy"

在配置文件中引用:

include /etc/3proxy/users
allow * * * * *
proxy -n -a

通用建议

  • 密码安全:避免硬编码,使用 openssl rand -base64 12 生成随机密码。
  • 日志记录:将创建的用户名和密码保存到 CSV 文件,便于分发。
  • 权限控制:确保脚本以 rootsudo 运行。
  • 测试:先对少量用户执行,确认无误后再批量处理。

根据你的实际代理服务类型(HTTP/SOCKS5/Shadowsocks 等)选择对应方法,并提供更具体的环境信息可获取更精准的脚本。

抱歉,评论功能暂时关闭!