Skip to content

Commit f92b817

Browse files
committed
Update README.md to include transport modes and setup instructions for DD and EE modes
1 parent f0dc67c commit f92b817

File tree

1 file changed

+70
-10
lines changed

1 file changed

+70
-10
lines changed

README.md

Lines changed: 70 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,20 @@ tg://proxy?server=mtproxy.getpagespeed.com&port=8444&secret=d7f04aa6631130af1a15
1414

1515
## Install
1616

17-
Refer to the [blog post](https://www.getpagespeed.com/server-setup/mtproxy) on how to quickly install and run MTProxy on your server, using
18-
prebuilt RPM packages and a repository for easy updates.
17+
### Quick Install (Recommended)
18+
19+
For the easiest installation with prebuilt RPM packages, automatic updates, and complete configuration:
20+
21+
**👉 [GetPageSpeed MTProxy Installation Guide](https://www.getpagespeed.com/server-setup/mtproxy)**
22+
23+
This includes:
24+
- One-command installation via RPM repository
25+
- Automatic configuration file generation
26+
- SystemD service setup
27+
- Firewall configuration
28+
- Fake TLS setup instructions
29+
30+
### Manual Build (Advanced)
1931

2032

2133
## Building
@@ -77,16 +89,61 @@ Also feel free to check out other options using `mtproto-proxy --help`.
7789
7. Set received tag with arguments: `-P <proxy tag>`
7890
8. Enjoy.
7991

80-
## Random padding
81-
Due to some ISPs detecting MTProxy by packet sizes, random padding is
82-
added to packets if such mode is enabled.
92+
## Transport Modes and Secret Prefixes
93+
94+
MTProxy supports different transport modes that provide various levels of obfuscation:
95+
96+
> 💡 **For complete setup instructions including RPM packages**, see the [GetPageSpeed MTProxy installation guide](https://www.getpagespeed.com/server-setup/mtproxy)
97+
98+
### DD Mode (Random Padding)
99+
Due to some ISPs detecting MTProxy by packet sizes, random padding is added to packets when this mode is enabled.
100+
101+
**Client Setup**: Add `dd` prefix to secret (`cafe...babe` => `ddcafe...babe`)
102+
103+
**Server Setup**: Use `-R` argument to allow only clients with random padding enabled
83104

84-
It's only enabled for clients which request it.
105+
> 📖 **See also**: [GetPageSpeed guide - DD mode setup](https://www.getpagespeed.com/server-setup/mtproxy)
106+
107+
### EE Mode (Fake-TLS + Padding)
108+
109+
EE mode provides enhanced obfuscation by mimicking TLS 1.3 connections, making MTProxy traffic harder to detect and block.
110+
111+
**Server Setup**:
112+
1. **Add domain configuration**: Choose a website that supports TLS 1.3 (e.g., `www.google.com`, `www.cloudflare.com`)
113+
```bash
114+
./mtproto-proxy -u nobody -p 8888 -H 443 -S <secret> -D www.google.com --aes-pwd proxy-secret proxy-multi.conf -M 1
115+
```
116+
117+
2. **Get domain HEX dump**:
118+
```bash
119+
echo -n www.google.com | xxd -plain
120+
# Output: 7777772e676f6f676c652e636f6d
121+
```
122+
123+
**Client Setup**:
124+
Use the format: `ee` + server_secret + domain_hex
125+
126+
**Example**:
127+
- Server secret: `cafe1234567890abcdef1234567890ab`
128+
- Domain: `www.google.com`
129+
- Domain HEX: `7777772e676f6f676c652e636f6d`
130+
- **Client secret**: `eecafe1234567890abcdef1234567890ab7777772e676f6f676c652e636f6d`
131+
132+
**Quick Generation**:
133+
```bash
134+
# Generate complete client secret automatically
135+
SECRET="cafe1234567890abcdef1234567890ab"
136+
DOMAIN="www.google.com"
137+
echo -n "ee${SECRET}" && echo -n $DOMAIN | xxd -plain
138+
```
85139

86-
Add `dd` prefix to secret (`cafe...babe` => `ddcafe...babe`) to enable
87-
this mode on client side.
140+
**Benefits**:
141+
-**Traffic appears as TLS 1.3**: Harder to detect and block
142+
-**Works with modern clients**: Desktop, mobile, and web clients
143+
-**Domain flexibility**: Choose any TLS 1.3-capable domain
144+
-**Better censorship resistance**: More sophisticated obfuscation
88145

89-
Adding argument "-R" to the command line will cause MTProxy to allow connections only from the clients with random padding mode enabled.
146+
> 📖 **Complete Fake TLS setup guide**: [GetPageSpeed MTProxy - Fake TLS section](https://www.getpagespeed.com/server-setup/mtproxy#fake-tls)
90147
91148
## Systemd example configuration
92149
1. Create systemd service file (it's standard path for the most Linux distros, but you should check it before):
@@ -144,11 +201,14 @@ docker run -d \
144201
#### Environment Variables
145202

146203
- `SECRET`: User secret for proxy connections (auto-generated if not provided)
204+
- **For DD mode**: Use `dd` + 32 hex digits (e.g., `ddcafe1234567890abcdef1234567890`)
205+
- **For EE mode**: Use `ee` + 32 hex digits + domain hex (e.g., `eecafe1234567890abcdef1234567890ab7777772e676f6f676c652e636f6d`)
206+
- **Standard mode**: Just 32 hex digits without prefix
147207
- `PORT`: Port for client connections (default: 443)
148208
- `STATS_PORT`: Port for statistics endpoint (default: 8888)
149209
- `WORKERS`: Number of worker processes (default: 1)
150210
- `PROXY_TAG`: Proxy tag from [@MTProxybot](https://t.me/MTProxybot)
151-
- `RANDOM_PADDING`: Enable random padding mode (true/false, default: false)
211+
- `RANDOM_PADDING`: Enable random padding only mode (true/false, default: false)
152212

153213
#### Getting Statistics
154214

0 commit comments

Comments
 (0)