[Русский](/README.md) | [English](/README_EN.md) | [فارسی](/README_IR.md) | [Türkmençe](/README_TK.md)

3dp-manager preview

![Version](https://img.shields.io/badge/version-2.2.0-blue.svg) ![Downloads](https://img.shields.io/badge/downloads-5.1k-blue) [![License](https://img.shields.io/badge/license-GPL%20V3-blue.svg?longCache=true)](https://www.gnu.org/licenses/gpl-3.0) [![Telegram](https://img.shields.io/badge/Telegram-26A5E4?style=flat&logo=telegram&logoColor=white)](https://t.me/denpiligrim_web) [![YouTube Channel Subscribers](https://img.shields.io/youtube/channel/subscribers/UCOv2tFFYDY4mXOM60PVz8zw)](https://www.youtube.com/@denpiligrim) # 3DP-MANAGER 3DP-MANAGER 是一个用于为 [3x-ui](https://github.com/MHSanaei/3x-ui) 面板自动生成 inbound、创建统一订阅、管理多个 3x-ui 节点,并配置从中间服务器到源服务器的 relay 转发的工具。从 2.0.0 版本开始,项目提供图形界面和简单的用户设置。 **支持项目** - 银行转账: - :credit_card: MIR 卡:`2204320436318077` - :credit_card: MasterCard:`5395452209474530` - 电子钱包: - :moneybag: YooMoney:`4100116897060652` - :moneybag: PayPal:`vasiljevdenisx@gmail.com` - 加密货币: - :coin: USDT | ETH (ERC20 | BEP20):`0x6fe140040f6Cdc1E1Ff2136cd1d60C0165809463` - :coin: USDT | TRX (TRC20):`TEWxXmJxvkAmhshp7E61XJGHB3VyM9hNAb` - :coin: Bitcoin:`bc1qctntwncsv2yn02x2vgnkrqm00c4h04c0afkgpl` - :coin: TON:`UQCZ3MiwyYHXftPItMMzJRYRiKHugr16jFMq2nfOQOOoemLy` - :coin: Bybit ID:`165292278` ## 描述 该工具的主要目标是让您的流量看起来不那么单一。3DP-MANAGER 会按设定间隔生成一组具有不同参数的连接: - 协议:`vless`、`vmess`、`shadowsocks`、`hysteria2`、`trojan`; - 端口:固定的 `443`、`8443`,以及 `10000-60000` 范围内的随机端口; - 传输:`tcp`、`websocket`、`grpc`、`xhttp`; - SNI 可从域名白名单中选择,也可以手动指定; - 每个 inbound 都可以单独设置节点、relay 服务器、端口和旗帜。 所有连接会合并到一个具有静态 URL 的订阅中。3DP-MANAGER 通过 `3x-ui` 面板的公开 API 工作,不会直接干预面板内部。 次要目标是提高连接稳定性:客户端会收到多个连接选项,并可选择其中任意一个。一个订阅可以包含来自不同节点的 inbound、relay 服务器,以及作为自定义连接添加的外部链接。 此外,3DP-MANAGER 也可用于级联部署。转发服务会把订阅和流量转发配置到选定节点。 建议: - 为订阅使用 HTTPS(域名 + SSL 证书)。 - 生成间隔设置为不少于 10 分钟;为了稳定性,建议每天一次(1440 分钟)。 - 在客户端设置更频繁的自动更新,例如每小时一次,以便与服务器保持同步。 ## 功能 - 为一个或多个订阅生成多样化连接 - 创建具有静态 URL 的统一订阅 - 管理多个 `3x-ui` 节点 - 支持使用登录名/密码或 token 进行节点认证 - 根据面板 URL 自动检测节点 IP、国家和旗帜 - 可为每个 inbound 选择节点、relay 服务器、旗帜、SNI 和端口 - 支持固定端口或 `random` - 支持自定义连接:可将现成的外部链接加入订阅 - 可为 Hysteria2 UDP 单独指定 `fullchain.pem` 和 `privkey.pem` 路径 - 支持自定义域名 `whitelist` - 可选的自动 relay 转发配置 - Web UI 可通过 HTTP 或 HTTPS 安装:Let's Encrypt、自签名证书或自定义证书 ## 要求 - Ubuntu 20.04 或更高版本,Debian 12.11 或更高版本 - `3x-ui` 面板 v2.8.4 或更高版本 - 服务器 root 权限 - Docker 和 Docker Compose;如果缺失,安装脚本会尝试自动安装 - 域名 + SSL 证书(可选) --- ## 安装 必须先安装 `3x-ui` 控制面板。可使用以下命令安装:`bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)` 在服务器上安装项目: ```bash bash <(curl -fsSL https://raw.githubusercontent.com/denpiligrim/3dp-manager/main/install.sh) ``` 安装过程中,脚本会: - 检查操作系统、root 权限、Docker 和 Docker Compose; - 如果内存较低且没有 swap,则创建 2 GB 的 swap 文件; - 询问 Web UI 访问模式: - 通过 Let's Encrypt 使用 HTTPS; - 使用自签名证书的 HTTPS; - 使用自有证书的 HTTPS; - 不加密的 HTTP; - 生成随机 Web UI 端口; - 生成管理员登录名和密码; - 部署 `postgres`、`backend` 和 `frontend` 容器。 安装完成后,终端会显示 URL、登录名和密码。请立即在 3DP-MANAGER 设置中修改密码。 简要说明:运行交互式安装脚本,准备环境并部署项目容器。 ## 更新 更新到最新版本: ```bash bash <(curl -fsSL https://raw.githubusercontent.com/denpiligrim/3dp-manager/main/update.sh) ``` 简要说明:拉取最新更改,应用兼容的配置修复,更新容器并重启服务。 ## 删除 彻底删除服务: ```bash bash <(curl -fsSL https://raw.githubusercontent.com/denpiligrim/3dp-manager/main/delete.sh) ``` 简要说明:删除容器和配置文件,将系统恢复到安装前状态。 --- ## 首次登录 管理员登录名和密码会在安装结束时输出。如需再次查看: ```bash grep -E "ADMIN_LOGIN|ADMIN_PASSWORD" /opt/3dp-manager/docker-compose.yml | sed 's/^[ \t]*//; s/^- //' ``` Web UI 可通过安装脚本显示的地址访问,例如: - HTTPS:`https://example.com:PORT`; - HTTP:`http://SERVER_IP:PORT`。 如果启用了 `ufw`,安装脚本会开放 inbound 工作端口范围:TCP/UDP 的 `443`、`8443` 和 `10000-60000`。 --- ## 节点 **节点** 页面用于连接一个或多个 `3x-ui` 面板。 每个节点需要设置: - 名称; - `3x-ui` 面板 URL; - 节点 IP; - 旗帜/国家; - 认证类型:`password` 或 `token`; - 是否为主节点。 输入 URL 后,应用会尝试自动检测节点 IP 和国家。旗帜会用于订阅中的连接名称,方便客户端区分服务器。 > [!NOTE] > 主节点会作为订阅、inbound 和 relay 服务器的默认值。 --- ## 订阅 **订阅** 页面用于管理静态订阅 URL 和 inbound 组成。 每个 inbound 可配置: - 连接类型; - 节点; - relay 服务器; - 旗帜; - 端口:`1-65535` 的具体数字或 `random`; - SNI:具体域名或 `random`; - `custom` 类型的现成外部链接。 对于 `hysteria2-udp`,可以单独指定证书和密钥路径: - `certificateFile`,例如 `/root/cert/example.com/fullchain.pem`; - `keyFile`,例如 `/root/cert/example.com/privkey.pem`。 如果端口或 SNI 设置为 `random`,轮换时会从可用端口范围或域名白名单中选择值。 --- ## 安装转发服务 > [!WARNING] > 转发服务运行在中间服务器上 转发服务会把中间服务器的入站端口代理到选定节点。在 Web UI 中,这些服务器在 **Relay 服务器** 页面配置,并可绑定到具体节点。 Relay 服务器可以通过 IP 或域名添加。如果提供域名,backend 会尝试自动解析其 IP。 如需在中间服务器上手动安装 forwarding,请将 `IP_ADDRESS` 替换为源节点 IP: ```bash sudo ORIGIN_IP="IP_ADDRESS" bash -c "$(curl -sSL https://raw.githubusercontent.com/denpiligrim/3dp-manager/main/forwarding_install.sh)" ``` 简要说明:添加转发规则。 ## 删除转发 ```bash bash <(curl -fsSL https://raw.githubusercontent.com/denpiligrim/3dp-manager/main/forwarding_delete.sh) ``` 简要说明:删除转发规则。删除后,请执行 `ufw reload` 重新加载防火墙,并执行 `reboot` 重启系统以使更改生效。 --- ## 从多订阅收集域名 该工具会从订阅中提取域名,并为生成器构建 `whitelist`。 ```bash node get_domains.js ``` 简要说明:在脚本中添加多订阅链接并运行命令,输出将是域名列表。运行脚本需要 `Node.js`。 --- ## 注意事项和当前限制 - 共享域名列表并非适用于所有服务商,因此建议准备并使用自己的 whitelist。 --- ## 贡献 欢迎任何贡献!简单的贡献流程: 1. 在 GitHub 上 fork 仓库。 2. 创建有意义的分支名,例如 `feature/add-README` 或 `fix/whitelist-load`。 3. 修改代码,并在 commit 中添加简短说明。 4. 如有本地检查,请运行它们。 5. 将分支推送到你的 fork,并向主仓库创建 Pull Request。 建议:在 PR 中说明更改、目标和测试步骤。如果更改较大,请拆分为较小的 commit。 --- ## 讨论 - Telegram: [@denpiligrim_web](https://t.me/denpiligrim_web) - 本仓库的 Issues 区