CentOS Shadowsocks Manyuser 部署与配置详解

目录

  1. 简介
  2. 系统要求
  3. 安装 Shadowsocks Manyuser 3.1. 下载并解压 3.2. 配置 Shadowsocks Manyuser 3.3. 启动 Shadowsocks Manyuser
  4. 配置 Shadowsocks 客户端 4.1. Windows 客户端 4.2. Mac 客户端 4.3. Android 客户端 4.4. iOS 客户端
  5. 管理 Shadowsocks Manyuser 5.1. 添加新用户 5.2. 修改用户配置 5.3. 监控用户状态
  6. 常见问题解答 (FAQ)

简介

Shadowsocks Manyuser 是一个基于 Shadowsocks 协议的多用户代理服务,可以方便地为多个用户提供 Shadowsocks 代理服务。它支持多种加密方式和协议,并提供了用户管理、流量监控等功能,非常适合个人或小型团队使用。

系统要求

  • 操作系统: CentOS 7 或更高版本
  • 最低配置: 1 GB RAM, 1 核 CPU
  • 网络环境: 可以访问互联网

安装 Shadowsocks Manyuser

下载并解压

  1. 访问 Shadowsocks Manyuser 的 GitHub 仓库 https://github.com/shadowsocks/shadowsocks-libev 下载最新版本的源码包。
  2. 将源码包上传到您的 CentOS 服务器,并解压缩:

bash tar -xvf shadowsocks-libev.tar.gz cd shadowsocks-libev

配置 Shadowsocks Manyuser

  1. 打开 config.json 文件,并根据您的需求进行配置:

{ “server”:”0.0.0.0″, “server_port”:8388, “password”:”your_password”, “method”:”aes-256-cfb”, “timeout”:300, “user”:”nobody”, “fast_open”:false, “workers”:1}

  1. 根据需要修改以下参数:
    • server: 服务器监听的 IP 地址,一般设置为 0.0.0.0 以监听所有网卡。
    • server_port: 服务器监听的端口号。
    • password: 用于加密的密码。
    • method: 加密方式,常用的有 aes-256-cfbchacha20-ietf-poly1305 等。
    • timeout: 连接超时时间,单位为秒。
    • user: 运行 Shadowsocks 服务的用户,一般设置为 nobody
    • fast_open: 是否开启 TCP Fast Open 功能,可以提高连接速度。
    • workers: 工作进程数量,根据 CPU 核心数调整。

启动 Shadowsocks Manyuser

  1. 编译安装 Shadowsocks Manyuser:

bash ./configure make sudo make install

  1. 启动 Shadowsocks Manyuser 服务:

bash sudo ssserver -c config.json -d start

  1. 检查 Shadowsocks Manyuser 服务是否正常运行:

bash sudo ssserver -c config.json -d status

配置 Shadowsocks 客户端

Windows 客户端

  1. 下载并安装 Shadowsocks Windows 客户端: https://github.com/shadowsocks/shadowsocks-windows/releases
  2. 在客户端中添加服务器信息,包括服务器地址、端口、密码和加密方式。
  3. 启用 Shadowsocks 代理,并选择合适的服务器进行连接。

Mac 客户端

  1. 下载并安装 Shadowsocks macOS 客户端: https://github.com/shadowsocks/shadowsocks-iOS/releases
  2. 在客户端中添加服务器信息,包括服务器地址、端口、密码和加密方式。
  3. 启用 Shadowsocks 代理,并选择合适的服务器进行连接。

Android 客户端

  1. 下载并安装 Shadowsocks Android 客户端: https://github.com/shadowsocks/shadowsocks-android/releases
  2. 在客户端中添加服务器信息,包括服务器地址、端口、密码和加密方式。
  3. 启用 Shadowsocks 代理,并选择合适的服务器进行连接。

iOS 客户端

  1. 下载并安装 Shadowrocket iOS 客户端: https://apps.apple.com/us/app/shadowrocket/id932747118
  2. 在客户端中添加服务器信息,包括服务器地址、端口、密码和加密方式。
  3. 启用 Shadowsocks 代理,并选择合适的服务器进行连接。

管理 Shadowsocks Manyuser

添加新用户

  1. 编辑 config.json 文件,在 users 字段中添加新用户的配置信息: “users”: [ { “password”: “user1_password”, “method”: “aes-256-cfb”, “port”: 8001 }, { “password”: “user2_password”, “method”: “chacha20-ietf-poly1305”, “port”: 8002 } ]

  2. 保存文件并重启 Shadowsocks Manyuser 服务:

bash sudo ssserver -c config.json -d restart

修改用户配置

  1. 编辑 config.json 文件,找到需要修改的用户配置并进行更改。
  2. 保存文件并重启 Shadowsocks Manyuser 服务:

bash sudo ssserver -c config.json -d restart

监控用户状态

  1. 查看当前连接的用户:

bash sudo ssserver -c config.json -d status

  1. 查看用户流量统计:

bash sudo ssserver -c config.json -d stat

常见问题解答 (FAQ)

1. 为什么我无法连接到 Shadowsocks 服务器?

可能原因包括:

  • 服务器防火墙未开放 Shadowsocks 端口
  • 服务器上 Shadowsocks 服务未正确启动
  • 客户端配置信息不正确(如密码、加密方式等)
  • 网络环境存在限制或干扰

请检查以上几个方面,并根据实际情况进行排查和修复。

2. 如何查看 Shadowsocks 服务的日志信息?

可以使用以下命令查看 Shadowsocks 服务的日志:

bash sudo ssserver -c config.json -d start sudo tail -n 100 /var/log/shadowsocks.log

日志中可以查看连接状态、错误信息等,有助于排查问题。

3. 如何限制单个用户的最大并发连接数?

config.json 文件中的 users 字段下,为每个用户添加 max_connections 参数,设置最大并发连接数: “users”: [ { “password”: “user1_password”, “method”: “aes-256-cfb”, “port”: 8001, “max_connections”: 5 }, { “password”: “user2_password”, “method”: “chacha20-ietf-poly1305”, “port”: 8002, “max_connections”: 3 } ]

4. 如何限制单个用户的流量使用?

config.json 文件中的 users 字段下,为每个用户添加 transfer_enable 参数,设置最大流量限制(单位为字节): “users”: [ { “password”: “user1_password”, “method”: “aes-256-cfb”, “port”: 8001, “transfer_enable”: 1073741824 # 1 GB }, { “password”: “user2_password”, “method”: “chacha20-ietf-poly1305”, “port”: 8002, “transfer_enable”: 5368709120 # 5 GB } ]

5. 如何自动启动 Shadowsocks Manyuser 服务?

可以使用 systemd 来管理 Shadowsocks Manyuser 服务的自动启动。创建一个 systemd 服务文件 /etc/systemd/system/shadowsocks-manyuser.service:

[Unit] Description=Shadowsocks Manyuser Service After=network.target

[Service] ExecStart=/usr/local/bin/ssserver -c /path/to/config.json Restart=always User=nobody

[Install] WantedBy=multi-user.target

然后使用以下命令启用并启动服务:

bash sudo systemctl enable shadowsocks-manyuser.service sudo systemctl start shadowsocks-manyuser.service

正文完