diff --git a/404.html b/404.html
index c973dd7..012ffd1 100644
--- a/404.html
+++ b/404.html
@@ -89,6 +89,7 @@
{
"run_type" : "client" ,
@@ -76,7 +76,7 @@
"websocket" : {
"enabled" : true ,
"path" : "/your-websocket-path" ,
- "hostname" : "www.your_awesome_domain_name.com"
+ "host" : "example.com"
},
"shadowsocks" : {
"enabled" : true ,
@@ -133,6 +133,7 @@
SimpleSocks协议
API开发
可插拔传输层插件开发
+URL方案(草案)
diff --git a/basic/config/index.html b/basic/config/index.html
index 025b308..0c62360 100644
--- a/basic/config/index.html
+++ b/basic/config/index.html
@@ -30,7 +30,7 @@
-
+
@@ -64,7 +64,7 @@
Trojan-Go,可以从release页面下载
-证书密钥对,可以从letsencrpyt等机构免费申请签发
+证书和密钥,可以从letsencrpyt等机构免费申请签发
服务端配置
@@ -84,7 +84,6 @@
"ssl" : {
"cert" : "server.crt" ,
"key" : "server.key" ,
- "sni" : "your-domain-name.com" ,
"fallback_port" : 1234
}
}
@@ -98,7 +97,7 @@
如果TLS握手成功,并且被确认是Trojan协议头部,并且其中的密码正确,那么服务器将解析来自客户端的请求并进行代理,否则和上一步的处理方法相同。
-如果TLS握手失败,说明对方使用的不是TLS协议进行连接。此时Trojan-Go将这个TCP连接代理到本地127.0.0.1:1234上运行的HTTPS服务,返回一个展示400 Bad Reqeust的HTTP页面。fallback_port是一个可选选项,如果没有填写,Trojan-Go会直接终止连接。虽然是可选的,但是还是强烈建议填写。
+如果TLS握手失败,说明对方使用的不是TLS协议进行连接。此时Trojan-Go将这个TCP连接代理到本地127.0.0.1:1234上运行的HTTPS服务(或者HTTP服务),返回一个展示400 Bad Reqeust的HTTP页面。fallback_port是一个可选选项,如果没有填写,Trojan-Go会直接终止连接。虽然是可选的,但是还是强烈建议填写。
你可以通过使用浏览器访问你的域名https://your-domain-name.com来验证。如果工作正常,你的浏览器会显示一个正常的HTTPS保护的Web页面,页面内容与服务器本机80端口上的页面一致。你还可以使用http://your-domain-name.com:443验证fallback_port工作是否正常。
@@ -177,6 +176,7 @@
SimpleSocks协议
API开发
可插拔传输层插件开发
+URL方案(草案)
diff --git a/basic/full-config/index.html b/basic/full-config/index.html
index 680ad34..74e3d6c 100644
--- a/basic/full-config/index.html
+++ b/basic/full-config/index.html
@@ -30,7 +30,7 @@
-
+
@@ -83,7 +83,7 @@
"log_file" : "" ,
"password" : [],
"disable_http_check" : false ,
- "udp_timeout" : 10 ,
+ "udp_timeout" : 60 ,
"ssl" : {
"verify" : true ,
"verify_hostname" : true ,
@@ -127,7 +127,7 @@
"websocket" : {
"enabled" : false ,
"path" : "" ,
- "hostname" : ""
+ "host" : ""
},
"shadowsocks" : {
"enabled" : false ,
@@ -158,12 +158,6 @@
"password" : "" ,
"check_rate" : 60
},
- "redis" : {
- "enabled" : false ,
- "server_addr" : "localhost" ,
- "server_port" : 6379 ,
- "password" : ""
- },
"api" : {
"enabled" : false ,
"api_addr" : "" ,
@@ -211,7 +205,7 @@
verify表示客户端(client/nat/forward)是否校验服务端提供的证书合法性,默认开启。出于安全性考虑,这个选项不应该在实际场景中选择false,否则可能遭受中间人攻击。如果使用自签名或者自签发的证书,开启verify会导致校验失败。这种情况下,应当保持verify开启,然后在cert中填写服务端的证书,即可正常连接。
verify_hostname表示服务端是否校验客户端提供的SNI与服务端设置的一致性。如果服务端SNI字段留空,认证将被强制关闭。
服务端必须填入cert和key,对应服务器的证书和私钥文件,请注意证书是否有效/过期。如果使用权威CA签发的证书,客户端(client/nat/forward)可以不填写cert。如果使用自签名或者自签发的证书,应当在的cert处填入服务器证书文件,否则可能导致校验失败。
-sni指的是TLS客户端请求中的服务器名字段,一般和证书的Common Name相同。如果你使用let’sencrypt等机构签发的证书,这里填入你的域名。如果这一项未填,将使用remote_addr填充。你应当指定一个有效的SNI(和远端证书CN一致),否则客户端可能无法验证远端证书有效性从而无法连接。
+sni指的是TLS客户端请求中的服务器名字段,一般和证书的Common Name相同。如果你使用let’sencrypt等机构签发的证书,这里填入你的域名。对于客户端,如果这一项未填,将使用remote_addr填充。你应当指定一个有效的SNI(和远端证书CN一致),否则客户端可能无法验证远端证书有效性从而无法连接;对于服务端,若此项不填,则使用证书中Common Name作为SNI校验依据,支持通配符如*.example.com。
fingerprint用于指定客户端TLS Client Hello指纹伪造类型,以抵抗GFW对于TLS Client Hello指纹的特征识别和阻断。trojan-go使用utls 进行指纹伪造,默认伪造Firefox的指纹。合法的值有
@@ -286,9 +280,9 @@
Websocket传输是trojan-go的特性。在正常的直接连接代理节点 的情况下,开启这个选项不会改善你的链路速度(甚至有可能下降),也不会提升你的连接安全性。你只应该在需要利用CDN进行中转,或利用nginx等服务器根据路径分发的情况下,使用websocket。
enabled表示是否启用Websocket承载流量,服务端开启后同时支持一般Trojan协议和基于websocket的Trojan协议,客户端开启后将只使用websocket承载所有Trojan协议流量。
path指的是Websocket使用的URL路径,必须以斜杠("/")开头,如”/longlongwebsocketpath”,并且服务器和客户端必须一致。
-hostnameWebsocket握手时使用的主机名,客户端如果留空则使用remote_addr填充。如果使用了CDN,这个选项一般填入域名。不正确的hostname可能导致CDN无法转发请求。
+hostWebsocket握手时,HTTP请求中使用的主机名。客户端如果留空则使用remote_addr填充。如果使用了CDN,这个选项一般填入域名。不正确的host可能导致CDN无法转发请求。
shadowsocks AEAD加密选项
-此选项用于替代弃用的混淆加密和双重TLS。如果此选项被设置启用,Trojan协议层下将插入一层Shadowsocks AEAD加密层。也即(已经加密的)TLS隧道内,所有的Trojan协议将再使用AEAD加密。注意,此选项和Websocket是否开启无关。无论Websocket是否开启,所有Trojan流量都会被再进行一次加密。
+此选项用于替代弃用的混淆加密和双重TLS。如果此选项被设置启用,Trojan协议层下将插入一层Shadowsocks AEAD加密层。也即(已经加密的)TLS隧道内,所有的Trojan协议将再使用AEAD方法进行加密。注意,此选项和Websocket是否开启无关。无论Websocket是否开启,所有Trojan流量都会被再进行一次加密。
注意,开启这个选项将有可能降低传输性能,你只应该在不信任承载Trojan协议的传输信道的情况下,启用这个选项。例如:
@@ -343,11 +337,11 @@
keep_alive是否启用TCP心跳存活检测。
prefer_ipv4是否优先使用IPv4地址。
mysql数据库选项
-trojan-go兼容trojan-gfw的基于mysql的用户管理方式,但更推荐的方式是使用API。
+trojan-go兼容trojan的基于mysql的用户管理方式,但更推荐的方式是使用API。
enabled表示是否启用mysql数据库进行用户验证。
check_rate是trojan-go从MySQL获取用户数据并更新缓存的间隔时间,单位为秒。
其他选项可以顾名思义,不再赘述。
-users表结构和trojan-gfw版本定义一致,下面是一个创建users表的例子。注意这里的password指的是密码经过SHA224散列之后的值(字符串),流量download, upload, quota的单位是字节。你可以通过修改数据库users表中的用户记录的方式,添加和删除用户,或者指定用户的流量配额。trojan-go会根据所有的用户流量配额,自动更新当前有效的用户列表。如果download+upload>quota,trojan-go服务器将拒绝该用户的连接。
+users表结构和trojan版本定义一致,下面是一个创建users表的例子。注意这里的password指的是密码经过SHA224散列之后的值(字符串),流量download, upload, quota的单位是字节。你可以通过修改数据库users表中的用户记录的方式,添加和删除用户,或者指定用户的流量配额。trojan-go会根据所有的用户流量配额,自动更新当前有效的用户列表。如果download+upload>quota,trojan-go服务器将拒绝该用户的连接。
CREATE TABLE users (
id INT UNSIGNED NOT NULL AUTO_INCREMENT ,
username VARCHAR (64 ) NOT NULL ,
@@ -435,6 +429,7 @@
SimpleSocks协议
API开发
可插拔传输层插件开发
+URL方案(草案)
diff --git a/basic/index.html b/basic/index.html
index a5cd852..5ef43fb 100644
--- a/basic/index.html
+++ b/basic/index.html
@@ -94,6 +94,7 @@
SimpleSocks协议
API开发
可插拔传输层插件开发
+URL方案(草案)
diff --git a/basic/trojan/index.html b/basic/trojan/index.html
index 22af7f8..d181c5f 100644
--- a/basic/trojan/index.html
+++ b/basic/trojan/index.html
@@ -125,6 +125,7 @@
SimpleSocks协议
API开发
可插拔传输层插件开发
+URL方案(草案)
diff --git a/categories/index.html b/categories/index.html
index d2dca8d..261d15b 100644
--- a/categories/index.html
+++ b/categories/index.html
@@ -92,6 +92,7 @@
SimpleSocks协议
API开发
可插拔传输层插件开发
+URL方案(草案)
diff --git a/developer/api/index.html b/developer/api/index.html
index a75e642..535377d 100644
--- a/developer/api/index.html
+++ b/developer/api/index.html
@@ -119,6 +119,7 @@
SimpleSocks协议
API开发
可插拔传输层插件开发
+URL方案(草案)
diff --git a/developer/build/index.html b/developer/build/index.html
index 54f41e5..6ca64dc 100644
--- a/developer/build/index.html
+++ b/developer/build/index.html
@@ -117,6 +117,7 @@ go build -tags "server mysql" SimpleSocks协议
API开发
可插拔传输层插件开发
+URL方案(草案)
diff --git a/developer/index.html b/developer/index.html
index 98c35a3..7d7e59a 100644
--- a/developer/index.html
+++ b/developer/index.html
@@ -94,6 +94,7 @@
SimpleSocks协议
API开发
可插拔传输层插件开发
+URL方案(草案)
diff --git a/developer/index.xml b/developer/index.xml
index 9e567f1..5c33827 100644
--- a/developer/index.xml
+++ b/developer/index.xml
@@ -82,5 +82,14 @@
Trojan-Go鼓励开发传输层插件,以丰富协议类型,增加与GFW对抗的战略纵深。 传输层插件的作用,是替代tansport隧道的TLS进行传
+ -
+
URL方案(草案)
+ https://p4gefau1t.github.io/trojan-go/developer/url/
+ Mon, 01 Jan 0001 00:00:00 +0000
+
+ https://p4gefau1t.github.io/trojan-go/developer/url/
+ 概述 感谢 @DuckSoft @StudentMain @phlinhng 对 Trojan-Go URL 方案的讨论和贡献。目前 URL 方案为草案,需要更多的实践和讨论。 Trojan-Go客户端可以接受URL,以定位服务器资源。原则
+
+
\ No newline at end of file
diff --git a/developer/mux/index.html b/developer/mux/index.html
index f151aed..6df1eeb 100644
--- a/developer/mux/index.html
+++ b/developer/mux/index.html
@@ -133,6 +133,7 @@
SimpleSocks协议
API开发
可插拔传输层插件开发
+URL方案(草案)
diff --git a/developer/overview/index.html b/developer/overview/index.html
index 99a9e03..1d59bed 100644
--- a/developer/overview/index.html
+++ b/developer/overview/index.html
@@ -265,6 +265,7 @@
SimpleSocks协议
API开发
可插拔传输层插件开发
+URL方案(草案)
diff --git a/developer/plugin/index.html b/developer/plugin/index.html
index 8c50d59..ffda33b 100644
--- a/developer/plugin/index.html
+++ b/developer/plugin/index.html
@@ -87,7 +87,7 @@