-
Notifications
You must be signed in to change notification settings - Fork 13
Configuration Guide
The flexible and composable YtFlow configuration system allows you to customize every single bit of how YtFlowApp VPN works. For an extensive description about plugins, parameters and YtFlow internals, please refer to YtFlowCore-Book (TBD). The instructions below serves as a quick guide to spin up a working YtFlow Profile.
In this guide, we assume YtFlow (next, version 1.0.0.0) has been installed on your device, with System VPN Profile properly set up.
We also recommend understanding the JSON format if necessary, so that you won't get into trouble later when editing the parameters. See What is JSON. Take note that JSON is sensitive about trailing commas.
For first-time set up, you are required to create a new profile. As of version 1.0.0.0, the only tunable option is outbound type, where you can choose among Shadowsocks (with or without HTTP obfs), Trojan and HTTP Proxy. Enter a profile name and click 'Save'.
Click 'Edit' beside the new profile. Based on the outbound type chosen, navigate to corresponding plugins to enter server information.
Go to ss-client
with the default parameter:
{
"method": "aes-128-gcm",
"password": {
"__byte_repr": "utf8",
"data": "my_ss_password"
},
"tcp_next": "proxy-redir.tcp",
"udp_next": "null.udp"
}
- Replace
aes-128-gcm
with the desired cipher/method. Supported methods:plain
/none
/rc4
/rc4-md5
/aes-128-cfb
/aes-192-cfb
/aes-256-cfb
/aes-128-ctr
/aes-192-ctr
/aes-256-ctr
/camellia-128-cfb
/camellia-192-cfb
/camellia-256-cfb
/aes-128-gcm
/aes-256-gcm
/chacha20-ietf
/chacha20-ietf-poly1305
/xchacha20-ietf-poly1305
. Note thatchacha20
,chacha20-poly1305
andaes-192-gcm
are not supported. - Replace
my_ss_password
with your Shadowsocks password in text format. - Click 'Save' when done.
If you need your Shadowsocks stream obfuscated by HTTP headers, here are the extra steps to achieve that.
- Create a new plugin
ss-obfs-client
with typehttp-obfs-client
. - Replace
null
with the following JSON object:
{
"host": "my.obfs.host.com",
"path": "/",
"next": "proxy-redir.tcp"
}
where my.obfs.host.com
and /
are obfs parameters.
- Click 'Save' when done.
- Go to
ss-client
, replaceproxy-redir.tcp
withss-obfs-client
. - Click 'Save' when done.
Go to trojan-client
with the default parameter:
{
"password": {
"__byte_repr": "utf8",
"data": "my_trojan_password"
},
"tls_next": "trojan-client-tls.tcp"
}
- Replace
my_trojan_password
with your Trojan password in text format. - Click 'Save' when done.
Go to trojan-tls-client
with the default parameter:
{
"next": "proxy-redir.tcp",
"skip_cert_check": false,
"sni": "my.trojan.proxy.server.com"
}
- Replace
my.trojan.proxy.server.com
with your Trojan host name. - Change
false
totrue
if your certificate is invalid or untrusted. In this case, you will risk MITM attack. - Click 'Save' when done.
No protocol-specific plugin parameters need changing.
Go to proxy-redir
with the default parameter:
{
"dest": {
"host": "my.proxy.server.com.",
"port": 8388
},
"tcp_next": "phy-socket",
"udp_next": "phy-socket"
}
- Replace
my.proxy.server.com.
with the domain name or IP address of your server. - Replace
8388
with your service port. - Click 'Save' when done.
If all parameters are valid and correct, you should be able to connect to your proxy server with this profile. Refer to YtFlowCore-Book (TBD) for more tweaks. Join our Telegram group YtFlow α for help and troubleshooting.