New Feature: Configurable Transports #65
fortuna
announced in
Announcements
Replies: 1 comment
-
You can play with the config using the example apps. Local ProxyStart the local webproxy:
Fetch a page with curl:
Page Fetch
|
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Configurable transports simplifies the way you create and manage transports. With the
x/config package
, you can now useconfig.NewPacketDialer(config)
andconfig.NewStreamDialer(config)
to create transports using a simple text string.Key Benefits
How to Get Started
The configuration string is composed of parts separated by the
|
symbol, which define nested dialers. For example,A|B
means dialerB
takes dialerA
as its input. Each dialer configuration follows a URL format, where the scheme defines the type of Dialer. Supported formats include:Shadowsocks:
ss://[USERINFO]@[HOST]:[PORT]?prefix=[PREFIX]
(compatible with Outline's access keys)SOCKS5:
socks5://[HOST]:[PORT]
(common proxy configuration)Stream Split:
split:[PREFIX_LENGTH]
Direct Dial (TCP/UDP): Represented by an empty string
Examples
Packet splitting
To split outgoing streams on bytes 8 and 123, you can use:
Onion Routing with Shadowsocks
To route your traffic through three Shadowsocks servers, similar to Onion Routing, use:
In that case, [HOST1] will be your entry node, and [HOST3] will be your exit node.
DPI Evasion
To add packet splitting to a Shadowsocks server for enhanced DPI evasion, use:
Beta Was this translation helpful? Give feedback.
All reactions