mirror of https://github.com/telemt/telemt.git
137 lines
3.9 KiB
Markdown
137 lines
3.9 KiB
Markdown
## How to set up "proxy sponsor" channel and statistics via @MTProxybot bot
|
|
|
|
1. Go to @MTProxybot bot.
|
|
2. Enter the command `/newproxy`
|
|
3. Send the server IP and port. For example: 1.2.3.4:443
|
|
4. Open the config `nano /etc/telemt.toml`.
|
|
5. Copy and send the user secret from the [access.users] section to the bot.
|
|
6. Copy the tag received from the bot. For example 1234567890abcdef1234567890abcdef.
|
|
> [!WARNING]
|
|
> The link provided by the bot will not work. Do not copy or use it!
|
|
7. Uncomment the ad_tag parameter and enter the tag received from the bot.
|
|
8. Uncomment/add the parameter `use_middle_proxy = true`.
|
|
|
|
Config example:
|
|
```toml
|
|
[general]
|
|
ad_tag = "1234567890abcdef1234567890abcdef"
|
|
use_middle_proxy = true
|
|
```
|
|
9. Save the config. Ctrl+S -> Ctrl+X.
|
|
10. Restart telemt `systemctl restart telemt`.
|
|
11. In the bot, send the command /myproxies and select the added server.
|
|
12. Click the "Set promotion" button.
|
|
13. Send a **public link** to the channel. Private channels cannot be added!
|
|
14. Wait approximately 1 hour for the information to update on Telegram servers.
|
|
> [!WARNING]
|
|
> You will not see the "proxy sponsor" if you are already subscribed to the channel.
|
|
|
|
**You can also set up different channels for different users.**
|
|
```toml
|
|
[access.user_ad_tags]
|
|
hello = "ad_tag"
|
|
hello2 = "ad_tag2"
|
|
```
|
|
|
|
## How many people can use 1 link
|
|
|
|
By default, 1 link can be used by any number of people.
|
|
You can limit the number of IPs using the proxy.
|
|
```toml
|
|
[access.user_max_unique_ips]
|
|
hello = 1
|
|
```
|
|
This parameter limits how many unique IPs can use 1 link simultaneously. If one user disconnects, a second user can connect. Also, multiple users can sit behind the same IP.
|
|
|
|
## How to create multiple different links
|
|
|
|
1. Generate the required number of secrets `openssl rand -hex 16`
|
|
2. Open the config `nano /etc/telemt.toml`
|
|
3. Add new users.
|
|
```toml
|
|
[access.users]
|
|
user1 = "00000000000000000000000000000001"
|
|
user2 = "00000000000000000000000000000002"
|
|
user3 = "00000000000000000000000000000003"
|
|
```
|
|
4. Save the config. Ctrl+S -> Ctrl+X. You don't need to restart telemt.
|
|
5. Get the links via
|
|
```bash
|
|
curl -s http://127.0.0.1:9091/v1/users | jq
|
|
```
|
|
|
|
## How to view metrics
|
|
|
|
1. Open the config `nano /etc/telemt.toml`
|
|
2. Add the following parameters
|
|
```toml
|
|
[server]
|
|
metrics_port = 9090
|
|
metrics_whitelist = ["127.0.0.1/32", "::1/128", "0.0.0.0/0"]
|
|
```
|
|
3. Save the config. Ctrl+S -> Ctrl+X.
|
|
4. Metrics are available at SERVER_IP:9090/metrics.
|
|
> [!WARNING]
|
|
> "0.0.0.0/0" in metrics_whitelist opens access from any IP. Replace with your own IP. For example "1.2.3.4"
|
|
|
|
## Additional parameters
|
|
|
|
### Domain in link instead of IP
|
|
To specify a domain in the links, add to the `[general.links]` section of the config file.
|
|
```toml
|
|
[general.links]
|
|
public_host = "proxy.example.com"
|
|
```
|
|
|
|
### Server connection limit
|
|
Limits the total number of open connections to the server:
|
|
```toml
|
|
[server]
|
|
max_connections = 10000 # 0 - unlimited, 10000 - default
|
|
```
|
|
|
|
### Upstream Manager
|
|
To specify an upstream, add to the `[[upstreams]]` section of the config.toml file:
|
|
#### Binding to IP
|
|
```toml
|
|
[[upstreams]]
|
|
type = "direct"
|
|
weight = 1
|
|
enabled = true
|
|
interface = "192.168.1.100" # Change to your outgoing IP
|
|
```
|
|
#### SOCKS4/5 as Upstream
|
|
- Without authentication:
|
|
```toml
|
|
[[upstreams]]
|
|
type = "socks5" # Specify SOCKS4 or SOCKS5
|
|
address = "1.2.3.4:1234" # SOCKS-server Address
|
|
weight = 1 # Set Weight for Scenarios
|
|
enabled = true
|
|
```
|
|
|
|
- With authentication:
|
|
```toml
|
|
[[upstreams]]
|
|
type = "socks5" # Specify SOCKS4 or SOCKS5
|
|
address = "1.2.3.4:1234" # SOCKS-server Address
|
|
username = "user" # Username for Auth on SOCKS-server
|
|
password = "pass" # Password for Auth on SOCKS-server
|
|
weight = 1 # Set Weight for Scenarios
|
|
enabled = true
|
|
```
|
|
|
|
#### Shadowsocks as Upstream
|
|
Requires `use_middle_proxy = false`.
|
|
|
|
```toml
|
|
[general]
|
|
use_middle_proxy = false
|
|
|
|
[[upstreams]]
|
|
type = "shadowsocks"
|
|
url = "ss://2022-blake3-aes-256-gcm:BASE64_KEY@1.2.3.4:8388"
|
|
weight = 1
|
|
enabled = true
|
|
```
|