瀏覽代碼

Merge pull request #511 from Mattraks/patch

add  vless gRPC support
coolsnowwolf 4 年之前
父節點
當前提交
181741264f

+ 6 - 0
luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua

@@ -332,6 +332,7 @@ o:value("kcp", "mKCP")
 o:value("ws", "WebSocket")
 o:value("h2", "HTTP/2")
 o:value("quic", "QUIC")
+o:value("grpc", "gRPC")
 o.rmempty = true
 o:depends("type", "v2ray")
 
@@ -381,6 +382,11 @@ o = s:option(Value, "h2_path", translate("HTTP/2 Path"))
 o:depends("transport", "h2")
 o.rmempty = true
 
+-- gRPC
+o = s:option(Value, "serviceName", translate("serviceName"))
+o:depends("transport", "grpc")
+o.rmempty = true
+
 -- [[ QUIC部分 ]]--
 o = s:option(ListValue, "quic_security", translate("QUIC Security"))
 o:depends("transport", "quic")

+ 3 - 0
luci-app-ssr-plus/luasrc/view/shadowsocksr/ssrurl.htm

@@ -338,6 +338,9 @@ function import_ssr_url(btn, urlname, sid) {
 				document.getElementsByName('cbid.shadowsocksr.' + sid + '.quic_security')[0].value = queryParam.quicSecurity || "none";
 				document.getElementsByName('cbid.shadowsocksr.' + sid + '.quic_key')[0].value = queryParam.key;
 				break;
+			case "grpc":
+				document.getElementsByName('cbid.shadowsocksr.' + sid + '.serviceName')[0].value = queryParam.serviceName;
+				break;
 			default:
 				if (queryParam.security == "xtls") {
 					document.getElementsByName('cbid.shadowsocksr.' + sid + '.xtls')[0].checked = true;

+ 2 - 2
luci-app-ssr-plus/root/etc/ssrplus/china_ssr.txt

@@ -1712,7 +1712,6 @@
 59.153.116.0/22
 59.153.136.0/22
 59.153.152.0/22
-59.153.156.0/22
 59.153.164.0/22
 59.153.168.0/22
 59.153.172.0/22
@@ -4144,6 +4143,8 @@
 103.166.50.0/23
 103.166.52.0/23
 103.166.54.0/23
+103.166.84.0/23
+103.166.138.0/23
 103.192.0.0/22
 103.192.4.0/22
 103.192.8.0/22
@@ -4215,7 +4216,6 @@
 103.198.156.0/22
 103.198.180.0/22
 103.198.196.0/22
-103.198.200.0/22
 103.198.216.0/22
 103.198.220.0/22
 103.198.224.0/22

+ 2 - 0
luci-app-ssr-plus/root/etc/ssrplus/gfw_list.conf

@@ -9440,6 +9440,8 @@ server=/hpto.net/127.0.0.1#5335
 ipset=/hpto.net/gfwlist
 server=/pricelesshonolulu.com/127.0.0.1#5335
 ipset=/pricelesshonolulu.com/gfwlist
+server=/facebook-hardware.com/127.0.0.1#5335
+ipset=/facebook-hardware.com/gfwlist
 server=/adblockplus.org/127.0.0.1#5335
 ipset=/adblockplus.org/gfwlist
 server=/shopee.co.id/127.0.0.1#5335

+ 7 - 2
luci-app-ssr-plus/root/usr/share/shadowsocksr/gen_config.lua

@@ -117,7 +117,7 @@ local Xray = {
 		-- 底层传输配置
 		streamSettings = {
 			network = server.transport or "tcp",
-			security = (server.xtls == '1') and "xtls" or (server.tls == '1') and "tls" or nil,
+			security = (server.xtls == '1') and "xtls" or (server.tls == '1'or server.transport == "grpc") and "tls" or nil,
 			tlsSettings = (server.tls == '1' and (server.insecure == "1" or server.tls_host or server.fingerprint)) and {
 				-- tls
 				fingerprint = server.fingerprint,
@@ -169,9 +169,14 @@ local Xray = {
 				security = server.quic_security,
 				key = server.quic_key,
 				header = {type = server.quic_guise}
+			} or nil,
+			grpcSettings = (server.transport == "grpc") and {
+				-- grpc
+				serviceName = server.serviceName or "",
+				multiMode = (server.mux == "1") and true or false
 			} or nil
 		},
-		mux = (server.mux == "1" and server.xtls ~= "1") and {
+		mux = (server.mux == "1" and server.xtls ~= "1" and server.transport ~= "grpc") and {
 			-- mux
 			enabled = true,
 			concurrency = tonumber(server.concurrency)

+ 4 - 0
luci-app-ssr-plus/root/usr/share/shadowsocksr/subscribe.lua

@@ -352,6 +352,10 @@ local function processData(szType, content)
 				result.quic_key = params.key
 				result.quic_security = params.quicSecurity or "none"
 			end
+			if params.type == 'grpc' then
+				result.serviceName = params.serviceName
+			end
+			
 			if params.security == "tls" then
 				result.tls = "1"
 				result.tls_host = params.sni or host[1]