-
Notifications
You must be signed in to change notification settings - Fork 766
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update vmess_ws_tls.json comment translate Update vmess_tcp_tls.json comment translate Update vless_ws_tls.json comment trnslate Update vless_tcp_xtls.json comment translate Update vless_tcp_tls.json comment translate Update trojan_tcp_tls.json comment translate Create README.ENG.md Update README.md add link README.ENG.md Update README.md add link README.ENG.md Create README.ENG.md Update README.md add link README.ENG.md Create README.ENG.md Update client.json comment transalate Update server.json comment translate Update README.md add english translate Update README.md add english link Create README.ENG.md Update Caddyfile comment translate Update client.json comment translate Update server.json comment translate Update README.md add link README.ENG.md Create RREADME.ENG.md Update config_client_tcp_tls.json translate comment Update config_client_ws_tls.json translate comment Update config_server.json comment translate Update README.md add link README.ENG.md Create README.ENG.md Update config_client.json comment translate Update config_server.json comment translate Update client.json translate comment Update server.json translate comment Update README.md add link README.ENG.md Create README.ENG.md Update server.json translate comment Update README.md add link README.ENG.md Update README.md Create README.ENG.md Co-authored-by: lk29 <12291632+lk29@users.noreply.github.com>
- Loading branch information
Showing
18 changed files
with
482 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
# reverse proxy | ||
# principle | ||
Xray Client <--- VMESS/SS ---> Xray Portal (requires public IP) <--- VMESS/SS ---> Xray Bridge | ||
# illustrate | ||
In the configuration, the internal network device uses `bridge.json`, the device with public network ip uses `portal.json`, and the device connected to the intranet through `portal` uses `client.json`. | ||
|
||
In practical applications, `VMESS-TCP, Shadowsocks-2022`, etc. can be used as the transmission protocols from Xray Client to Xray Portal, and from Xray Bridge to Xray Portal. | ||
|
||
## psk | ||
|
||
Shadowsocks 2022 uses a pre-shared key similar to WireGuard for the password. | ||
|
||
Use `openssl rand -base64 <length>` to generate a shadowsocks-rust compatible key, the length depends on the encryption method used. | ||
|
||
| encryption method | key length | | ||
|--------------------------------|-----:| | ||
| 2022-blake3-aes-128-gcm | 16 | | ||
| 2022-blake3-aes-256-gcm | 32 | | ||
| 2022-blake3-chacha20-poly1305 | 32 | | ||
|
||
In the Go implementation, 32-bit keys always work. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
# VLESS over TCP with XTLS + fallback & split | ||
|
||
Cooperate with fallback, use port 443 + XTLS + WS and route diversion to realize reverse proxy and enhance concealment. | ||
|
||
There are two client connection methods: VLESS over WS with TLS / VLESS over TCP with XTLS | ||
|
||
The portal setting defaults to the web server on port 80 (it can also be replaced with a database, FTP, etc.), refer to [VLESS-TCP-XTLS-WHATEVER](https://github.com/XTLS/Xray-examples/blob/main/VLESS-TCP-XTLS-WHATEVER/README.md) | ||
|
||
# additional configuration | ||
If your portal is outside the country, you can use routing splitting to achieve scientific Internet access + access to intranet devices at the same time. | ||
|
||
## Routing split | ||
According to the prompt in the configuration, in the `Portal` configuration, uncomment the first route: | ||
``` | ||
// "ip": [ | ||
// "geoip:private" | ||
// ], | ||
``` | ||
|
||
At this time, when the traffic matches the `"external"` or `"externalws"` label, and the target ip of the access is a `private ip address`, the traffic will be forwarded to the bridge, and the rest of the traffic will go direct. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,239 @@ | ||
#Shadowsocks2022 | ||
|
||
Server-side JSON | ||
|
||
```json | ||
{ | ||
"inbounds": [ | ||
{ | ||
"port": 1234, | ||
"protocol": "shadowsocks", | ||
"settings": { | ||
"method": "2022-blake3-aes-128-gcm", | ||
"password": "{{ psk }}", | ||
"network": "tcp,udp" | ||
} | ||
} | ||
], | ||
"outbounds": [ | ||
{ | ||
"protocol": "freedom" | ||
} | ||
] | ||
} | ||
``` | ||
|
||
Server-side JSON (multi-user) | ||
|
||
```json | ||
{ | ||
"inbounds": [ | ||
{ | ||
"port": 1234, | ||
"protocol": "shadowsocks", | ||
"settings": { | ||
"method": "2022-blake3-aes-128-gcm", | ||
"password": "{{ server psk }}", | ||
"clients": [ | ||
{ | ||
"password": "{{ user psk }}", | ||
"email": "my user" | ||
} | ||
], | ||
"network": "tcp,udp" | ||
} | ||
} | ||
], | ||
"outbounds": [ | ||
{ | ||
"protocol": "freedom" | ||
} | ||
] | ||
} | ||
``` | ||
|
||
Server-side JSON (transit) | ||
|
||
```json | ||
{ | ||
"inbounds": [ | ||
{ | ||
"port": 1234, | ||
"protocol": "shadowsocks", | ||
"settings": { | ||
"method": "2022-blake3-aes-128-gcm", | ||
"password": "{{ relay psk }}", | ||
"clients": [ | ||
{ | ||
"address": "server", | ||
"port": 1234, | ||
"password": "{{ server/user psk }}", | ||
"email": "my server" | ||
} | ||
], | ||
"network": "tcp,udp" | ||
} | ||
} | ||
], | ||
"outbounds": [ | ||
{ | ||
"protocol": "freedom" | ||
} | ||
] | ||
} | ||
``` | ||
|
||
Client JSON | ||
|
||
```json | ||
{ | ||
"inbounds": [ | ||
{ | ||
"port": 10801, | ||
"protocol": "socks", | ||
"settings": { | ||
"udp": true | ||
} | ||
}, | ||
{ | ||
"port": 10802, | ||
"protocol": "http" | ||
} | ||
], | ||
"outbounds": [ | ||
{ | ||
"protocol": "shadowsocks", | ||
"settings": { | ||
"servers": [ | ||
{ | ||
"address": "{{ host }}", | ||
"port": 1234, | ||
"method": "2022-blake3-aes-128-gcm", | ||
"password": "{{ psk }}" | ||
} | ||
] | ||
} | ||
} | ||
] | ||
} | ||
``` | ||
|
||
Client JSON (UDP over TCP) | ||
|
||
```json | ||
{ | ||
"inbounds": [ | ||
{ | ||
"port": 10801, | ||
"protocol": "socks", | ||
"settings": { | ||
"udp": true | ||
} | ||
}, | ||
{ | ||
"port": 10802, | ||
"protocol": "http" | ||
} | ||
], | ||
"outbounds": [ | ||
{ | ||
"protocol": "shadowsocks", | ||
"settings": { | ||
"servers": [ | ||
{ | ||
"address": "{{ host }}", | ||
"port": 1234, | ||
"method": "2022-blake3-aes-128-gcm", | ||
"password": "{{ psk }}", | ||
"uot": true | ||
} | ||
] | ||
} | ||
} | ||
] | ||
} | ||
``` | ||
|
||
Client JSON (multi-user) | ||
|
||
```json | ||
{ | ||
"inbounds": [ | ||
{ | ||
"port": 10801, | ||
"protocol": "socks", | ||
"settings": { | ||
"udp": true | ||
} | ||
}, | ||
{ | ||
"port": 10802, | ||
"protocol": "http" | ||
} | ||
], | ||
"outbounds": [ | ||
{ | ||
"protocol": "shadowsocks", | ||
"settings": { | ||
"servers": [ | ||
{ | ||
"address": "{{ host }}", | ||
"port": 1234, | ||
"method": "2022-blake3-aes-128-gcm", | ||
"password": "{{ server psk }}:{{ user psk }}" | ||
} | ||
] | ||
} | ||
} | ||
] | ||
} | ||
``` | ||
|
||
Client JSON (transit) | ||
|
||
```json | ||
{ | ||
"inbounds": [ | ||
{ | ||
"port": 10801, | ||
"protocol": "socks", | ||
"settings": { | ||
"udp": true | ||
} | ||
}, | ||
{ | ||
"port": 10802, | ||
"protocol": "http" | ||
} | ||
], | ||
"outbounds": [ | ||
{ | ||
"protocol": "shadowsocks", | ||
"settings": { | ||
"servers": [ | ||
{ | ||
"address": "{{ host }}", | ||
"port": 1234, | ||
"method": "2022-blake3-aes-128-gcm", | ||
"password": "{{ relay psk }}:{{ user psk }}" | ||
} | ||
] | ||
} | ||
} | ||
] | ||
} | ||
``` | ||
|
||
## Password | ||
|
||
Shadowsocks 2022 uses a pre-shared key similar to WireGuard for the password. | ||
|
||
Use `openssl rand -base64 <length>` to generate a shadowsocks-rust compatible key, the length depends on the encryption method used. | ||
|
||
| encryption method | key length | | ||
|--------------------------------|-----:| | ||
| 2022-blake3-aes-128-gcm | 16 | | ||
| 2022-blake3-aes-256-gcm | 32 | | ||
| 2022-blake3-chacha20-poly1305 | 32 | | ||
|
||
In the Go implementation, 32-bit keys always work. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.