shadowsocks-manager MySQL 整合使用指南

目录

  1. 前言
  2. 环境准备
  3. 安装 shadowsocks-manager
  4. 配置 MySQL 数据库
  5. 整合 shadowsocks-manager 与 MySQL
  6. 管理 Shadowsocks 用户
  7. 常见问题 FAQ

前言

shadowsocks-manager 是一款功能强大的 Shadowsocks 服务管理工具,它可以帮助用户更好地管理和维护自己的 Shadowsocks 代理服务。通过与 MySQL 数据库的整合,用户可以更方便地存储和管理 Shadowsocks 用户信息,提高服务的可靠性和可扩展性。

环境准备

在开始使用 shadowsocks-manager 之前,您需要准备好以下环境:

  • 一台可以运行 Node.js 的服务器
  • 已安装并配置好的 MySQL 数据库

安装 shadowsocks-manager

  1. 使用 npmyarn 安装 shadowsocks-manager:

npm install -g shadowsocks-manager

yarn global add shadowsocks-manager

  1. 初始化 shadowsocks-manager 配置文件:

ssm init

这将在当前目录创建一个 config.json 配置文件。

配置 MySQL 数据库

  1. 创建 MySQL 数据库和表: sql CREATE DATABASE shadowsocks; USE shadowsocks; CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(255) UNIQUE NOT NULL, password VARCHAR(255) NOT NULL, port INT NOT NULL, enable BOOLEAN NOT NULL DEFAULT true, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP );

  2. config.json 文件中配置 MySQL 连接信息:

{ “manager”: { “port”: 6001, “password”: “your_manager_password” }, “db”: { “host”: “your_mysql_host”, “user”: “your_mysql_username”, “password”: “your_mysql_password”, “database”: “shadowsocks” }}

整合 shadowsocks-manager 与 MySQL

  1. 启动 shadowsocks-manager 服务:

ssm start

  1. 访问 http://your_server_ip:6001 并使用配置文件中设置的 manager.password 进行登录。
  2. 在 Web 管理界面中,切换到 Database 选项卡,选择 MySQL 作为数据库类型,并填写之前配置的 MySQL 连接信息。
  3. 保存设置并重启 shadowsocks-manager 服务。

管理 Shadowsocks 用户

  1. 在 Web 管理界面的 Users 选项卡中,您可以查看、添加、编辑和删除 Shadowsocks 用户。
  2. 用户信息包括用户名、密码、端口号和启用状态等。
  3. 您还可以批量导入或导出用户数据。

常见问题 FAQ

1. 为什么 shadowsocks-manager 无法连接 MySQL 数据库?

请检查以下几点:

  • 确保 MySQL 数据库已正确配置并可以远程访问。
  • 检查 config.json 中 MySQL 连接信息是否填写正确。
  • 确保防火墙未阻挡 shadowsocks-manager 与 MySQL 之间的连接。

2. 如何备份和恢复 Shadowsocks 用户数据?

您可以使用 Web 管理界面中的”导出”和”导入”功能来备份和恢复用户数据。导出的数据为 JSON 格式,可以手动编辑或导入到其他 shadowsocks-manager 实例中。

3. 如何设置 Shadowsocks 用户的流量限制?

shadowsocks-manager 暂不支持直接设置用户流量限制,但您可以通过编辑 MySQL 数据库中的 users 表来实现。添加一个 traffic_limit 字段来存储用户的流量限制值。

4. 如何实现 Shadowsocks 用户的自动续期?

shadowsocks-manager 目前不支持自动续期功能,但您可以通过编写定时任务来实现。例如,您可以编写一个脚本定期检查用户账号的到期时间,并自动续期或发送续期提醒。

正文完