167 lines
5.9 KiB
Markdown
167 lines
5.9 KiB
Markdown
[Русский](/README.md) | [中文](/README_CN.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>
|
|
|
|
 [](https://www.gnu.org/licenses/gpl-3.0) [](https://t.me/denpiligrim_web) [](https://www.youtube.com/@denpiligrim)
|
|
|
|
# 3DP-MANAGER
|
|
|
|
A utility for auto-generating inbound connections for the [3x-ui](https://github.com/MHSanaei/3x-ui) panel, creating a single subscription URL, and configuring traffic forwarding from an intermediate server to the main server.
|
|
|
|
**Support the project**
|
|
|
|
- Donation / payment details:
|
|
- MIR card: `2204320436318077`
|
|
- MasterCard: `5395452209474530`
|
|
- PayPal: `vasiljevdenisx@gmail.com`
|
|
- USDT | ETH (ERC20 | BEP20): `0x6fe140040f6Cdc1E1Ff2136cd1d60C0165809463`
|
|
- USDT | TRX (TRC20): `TEWxXmJxvkAmhshp7E61XJGHB3VyM9hNAb`
|
|
- Bitcoin: `bc1qctntwncsv2yn02x2vgnkrqm00c4h04c0afkgpl`
|
|
- TON: `UQCZ3MiwyYHXftPItMMzJRYRiKHugr16jFMq2nfOQOOoemLy`
|
|
- Bybit ID: `165292278`
|
|
|
|
## Description
|
|
|
|
The main goal of the utility is to make your traffic appear non-uniform. The bot generates 10 connection entries at a configured interval with varying parameters:
|
|
|
|
- Protocols: `vless`, `vmess`, `shadowsocks`, `trojan`;
|
|
- Ports: `443`, `8443` (fixed) and random ports from the range `10000-60000`;
|
|
- Transport: `tcp`, `websocket`, `grpc`, `xhttp`;
|
|
- SNI values are taken from a whitelist of domains (`whitelist`); you can use your own list.
|
|
|
|
All generated connections are combined into a single subscription with a static URL. The bot works with the `3x-ui` panel using its public API and does not directly modify the panel internals.
|
|
|
|
The secondary goal is connection stability: the client receives 10 alternate connection options and can choose any of them.
|
|
|
|
Additionally, the bot can be used in a cascading setup. The forwarding service will automatically configure the subscription and traffic redirection to the main server.
|
|
|
|
Recommendations:
|
|
|
|
- Use HTTPS for the subscription (domain + SSL certificate).
|
|
- Set the generation interval to ≥ 10 minutes; for stability, once per day (1440 minutes) is recommended.
|
|
- Configure the client to check for updates more frequently (for example, hourly) to stay synchronized with the server.
|
|
|
|
## Features
|
|
|
|
- Generates 10 diverse connection entries
|
|
- Creates a single subscription with a static URL
|
|
- Supports custom `whitelist` domains
|
|
- Optional automatic configuration of traffic forwarding
|
|
|
|
## Requirements
|
|
|
|
- Ubuntu 20.04 or newer
|
|
- `3x-ui` panel
|
|
- Domain + SSL certificate (optional)
|
|
|
|
---
|
|
|
|
## Installation
|
|
|
|
Install the project on your server with:
|
|
|
|
```bash
|
|
bash <(curl -fsSL https://raw.githubusercontent.com/denpiligrim/3dp-manager/main/install.sh)
|
|
```
|
|
|
|
<sup>Short description: runs the installer script and deploys containers and services.</sup>
|
|
|
|
## Update
|
|
|
|
Update to the latest version:
|
|
|
|
```bash
|
|
bash <(curl -fsSL https://raw.githubusercontent.com/denpiligrim/3dp-manager/main/update.sh)
|
|
```
|
|
|
|
<sup>Short description: pulls the latest changes and restarts containers.</sup>
|
|
|
|
## Removal
|
|
|
|
Remove the service completely:
|
|
|
|
```bash
|
|
bash <(curl -fsSL https://raw.githubusercontent.com/denpiligrim/3dp-manager/main/delete.sh)
|
|
```
|
|
|
|
<sup>Short description: removes containers and configuration files, restoring the system to the pre-install state.</sup>
|
|
|
|
---
|
|
|
|
## Install forwarding service
|
|
|
|
The forwarding service allows proxying incoming ports from the intermediate server to the main server.
|
|
|
|
```bash
|
|
bash <(curl -fsSL https://raw.githubusercontent.com/denpiligrim/3dp-manager/main/forwarding_install.sh)
|
|
```
|
|
|
|
<sup>Short description: adds forwarding rules and creates a service to update the subscription.</sup>
|
|
|
|
## Remove forwarding
|
|
|
|
```bash
|
|
bash <(curl -fsSL https://raw.githubusercontent.com/denpiligrim/3dp-manager/main/forwarding_delete.sh)
|
|
```
|
|
|
|
<sup>Short description: removes rules and disables the forwarding service.</sup>
|
|
|
|
---
|
|
|
|
## Show subscription URL
|
|
|
|
Command to print the current subscription URL from the container environment:
|
|
|
|
```bash
|
|
cd /opt/3dp-manager && docker compose exec node env | grep SUB_URL | cut -d'=' -f2
|
|
```
|
|
|
|
<sup>Short description: prints the static subscription URL that can be used in clients. Works on both main and intermediate servers.</sup>
|
|
|
|
## Collect domains from multi-subscriptions
|
|
|
|
The utility extracts domains from subscriptions and builds a `whitelist` for the generator.
|
|
|
|
```bash
|
|
node get_domains.js
|
|
```
|
|
|
|
<sup>Short description: add a multi-subscription link to the script and run the command — the output will be a list of domains. `Node.js` is required to run the script.</sup>
|
|
|
|
## Use your own whitelist
|
|
|
|
1. Prepare a file in the format of `whitelist.txt`.
|
|
2. Rename it to `my_whitelist.txt` and copy it into `/opt/3dp-manager/app`.
|
|
|
|
```bash
|
|
cd /opt/3dp-manager && docker cp ./app/my_whitelist.txt node:/app/my_whitelist.txt
|
|
```
|
|
|
|
<sup>Short description: adds your domain file into the application container.</sup>
|
|
|
|
---
|
|
|
|
## Notes and current limitations
|
|
|
|
- The shared domain list may not work with all providers; it is recommended to prepare and use your own `whitelist`.
|
|
|
|
---
|
|
|
|
## Contributing
|
|
|
|
Contributions are welcome! Simple contributor workflow:
|
|
|
|
1. Fork the repository on GitHub.
|
|
2. Create a branch with a meaningful name, e.g. `feature/add-README` or `fix/whitelist-load`.
|
|
3. Make changes and add a short commit message.
|
|
4. Run local checks if available.
|
|
5. Push the branch to your fork and create a Pull Request to the main repository.
|
|
|
|
<sup>Tips: describe changes and testing steps in the PR. For large changes, split into smaller commits.</sup>
|
|
|
|
---
|
|
|
|
## Discussion
|
|
|
|
- Telegram: [@denpiligrim_web](https://t.me/denpiligrim_web)
|
|
- Issues |