Files
Den Piligrim 26f3bb2934 v2.2.0
2026-05-21 22:58:29 +03:00

245 lines
8.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[Русский](/README.md) | [English](/README_EN.md) | [فارسی](/README_IR.md) | [Türkmençe](/README_TK.md)
<p><img src="https://denpiligrim.ru/storage/images/3dp-manager.png" alt="3dp-manager preview"></p>
![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 设置中修改密码。
<sup>简要说明:运行交互式安装脚本,准备环境并部署项目容器。</sup>
## 更新
更新到最新版本:
```bash
bash <(curl -fsSL https://raw.githubusercontent.com/denpiligrim/3dp-manager/main/update.sh)
```
<sup>简要说明:拉取最新更改,应用兼容的配置修复,更新容器并重启服务。</sup>
## 删除
彻底删除服务:
```bash
bash <(curl -fsSL https://raw.githubusercontent.com/denpiligrim/3dp-manager/main/delete.sh)
```
<sup>简要说明:删除容器和配置文件,将系统恢复到安装前状态。</sup>
---
## 首次登录
管理员登录名和密码会在安装结束时输出。如需再次查看:
```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)"
```
<sup>简要说明:添加转发规则。</sup>
## 删除转发
```bash
bash <(curl -fsSL https://raw.githubusercontent.com/denpiligrim/3dp-manager/main/forwarding_delete.sh)
```
<sup>简要说明:删除转发规则。删除后,请执行 `ufw reload` 重新加载防火墙,并执行 `reboot` 重启系统以使更改生效。</sup>
---
## 从多订阅收集域名
该工具会从订阅中提取域名,并为生成器构建 `whitelist`
```bash
node get_domains.js
```
<sup>简要说明:在脚本中添加多订阅链接并运行命令,输出将是域名列表。运行脚本需要 `Node.js`。</sup>
---
## 注意事项和当前限制
- 共享域名列表并非适用于所有服务商,因此建议准备并使用自己的 whitelist。
---
## 贡献
欢迎任何贡献!简单的贡献流程:
1. 在 GitHub 上 fork 仓库。
2. 创建有意义的分支名,例如 `feature/add-README``fix/whitelist-load`
3. 修改代码,并在 commit 中添加简短说明。
4. 如有本地检查,请运行它们。
5. 将分支推送到你的 fork,并向主仓库创建 Pull Request。
<sup>建议:在 PR 中说明更改、目标和测试步骤。如果更改较大,请拆分为较小的 commit。</sup>
---
## 讨论
- Telegram: [@denpiligrim_web](https://t.me/denpiligrim_web)
- 本仓库的 Issues 区