Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
junhui93
Helloworld
提交
288a31b2
H
Helloworld
项目概览
junhui93
/
Helloworld
10 个月 前同步成功
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
H
Helloworld
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
288a31b2
编写于
7月 12, 2023
作者:
C
coolsnowwolf
提交者:
GitHub
7月 12, 2023
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #1218 from AmberisMyShiba/tuic-features
TUIC features
上级
ec31a7db
09418d11
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
197 addition
and
40 deletion
+197
-40
luci-app-ssr-plus/Makefile
luci-app-ssr-plus/Makefile
+12
-1
luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua
...-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua
+58
-16
luci-app-ssr-plus/po/zh-cn/ssr-plus.po
luci-app-ssr-plus/po/zh-cn/ssr-plus.po
+32
-6
luci-app-ssr-plus/root/usr/share/shadowsocksr/gen_config.lua
luci-app-ssr-plus/root/usr/share/shadowsocksr/gen_config.lua
+23
-17
tuic-client/Makefile
tuic-client/Makefile
+72
-0
未找到文件。
luci-app-ssr-plus/Makefile
浏览文件 @
288a31b2
...
...
@@ -10,6 +10,7 @@ PKG_CONFIG_DEPENDS:= \
CONFIG_PACKAGE_
$(PKG_NAME)
_INCLUDE_Xray
\
CONFIG_PACKAGE_
$(PKG_NAME)
_INCLUDE_ChinaDNS_NG
\
CONFIG_PACKAGE_
$(PKG_NAME)
_INCLUDE_Hysteria
\
CONFIG_PACKAGE_
$(PKG_NAME)
_INCLUDE_Tuic-Client
\
CONFIG_PACKAGE_
$(PKG_NAME)
_INCLUDE_IPT2Socks
\
CONFIG_PACKAGE_
$(PKG_NAME)
_INCLUDE_Kcptun
\
CONFIG_PACKAGE_
$(PKG_NAME)
_INCLUDE_NaiveProxy
\
...
...
@@ -26,7 +27,7 @@ PKG_CONFIG_DEPENDS:= \
CONFIG_PACKAGE_
$(PKG_NAME)
_INCLUDE_ShadowsocksR_Libev_Server
\
CONFIG_PACKAGE_
$(PKG_NAME)
_INCLUDE_Trojan
LUCI_TITLE
:=
SS/SSR/V2Ray/Trojan/NaiveProxy/Socks5/Tun LuCI interface
LUCI_TITLE
:=
SS/SSR/V2Ray/Trojan/NaiveProxy/
TUIC/Hysteria/
Socks5/Tun LuCI interface
LUCI_PKGARCH
:=
all
LUCI_DEPENDS
:=
\
@
(
PACKAGE_libustream-mbedtls||PACKAGE_libustream-openssl||PACKAGE_libustream-wolfssl
)
\
...
...
@@ -39,6 +40,7 @@ LUCI_DEPENDS:= \
+PACKAGE_
$(PKG_NAME)
_INCLUDE_Xray:xray-core
\
+PACKAGE_
$(PKG_NAME)
_INCLUDE_ChinaDNS_NG:chinadns-ng
\
+PACKAGE_
$(PKG_NAME)
_INCLUDE_Hysteria:hysteria
\
+PACKAGE_
$(PKG_NAME)
_INCLUDE_TUIC-Client:tuic-client
\
+PACKAGE_
$(PKG_NAME)
_INCLUDE_IPT2Socks:ipt2socks
\
+PACKAGE_
$(PKG_NAME)
_INCLUDE_Kcptun:kcptun-client
\
+PACKAGE_
$(PKG_NAME)
_INCLUDE_NaiveProxy:naiveproxy
\
...
...
@@ -114,6 +116,15 @@ config PACKAGE_$(PKG_NAME)_INCLUDE_ChinaDNS_NG
config
PACKAGE_$(PKG_NAME)_INCLUDE_Hysteria
bool
"Include Hysteria"
select
PACKAGE_$(PKG_NAME)_INCLUDE_ChinaDNS_NG
default
n
config
PACKAGE_$(PKG_NAME)_INCLUDE_TUIC-Client
bool
"Include tuic-client"
select
PACKAGE_$(PKG_NAME)_INCLUDE_ChinaDNS_NG
select
PACKAGE_$(PKG_NAME)_INCLUDE_IPT2Socks
depends
on
aarch64||i686||x86_64
depends
on
!(TARGET_x86_geode||TARGET_x86_legacy)
default
n
config
PACKAGE_$(PKG_NAME)_INCLUDE_IPT2Socks
...
...
luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua
浏览文件 @
288a31b2
...
...
@@ -225,7 +225,6 @@ o:depends({type = "v2ray", v2ray_protocol = "socks"})
o
=
s
:
option
(
Value
,
"username"
,
translate
(
"Username"
))
o
.
rmempty
=
true
o
:
depends
(
"type"
,
"naiveproxy"
)
--o:depends("type", "tuic")
o
:
depends
({
type
=
"socks5"
,
auth_enable
=
true
})
o
:
depends
({
type
=
"v2ray"
,
v2ray_protocol
=
"http"
,
auth_enable
=
true
})
o
:
depends
({
type
=
"v2ray"
,
v2ray_protocol
=
"socks"
,
auth_enable
=
true
})
...
...
@@ -237,7 +236,6 @@ o:depends("type", "ssr")
o
:
depends
(
"type"
,
"ss"
)
o
:
depends
(
"type"
,
"trojan"
)
o
:
depends
(
"type"
,
"naiveproxy"
)
o
:
depends
(
"type"
,
"tuic"
)
o
:
depends
({
type
=
"socks5"
,
auth_enable
=
true
})
o
:
depends
({
type
=
"v2ray"
,
v2ray_protocol
=
"http"
,
auth_enable
=
true
})
o
:
depends
({
type
=
"v2ray"
,
v2ray_protocol
=
"socks"
,
socks_ver
=
"5"
,
auth_enable
=
true
})
...
...
@@ -351,15 +349,29 @@ o.default = "0"
-- [[ TUIC ]]
-- TuicNameId
o
=
s
:
option
(
Value
,
"tuic_uuid"
,
translate
(
"TUIC
u
ser UUID"
))
o
=
s
:
option
(
Value
,
"tuic_uuid"
,
translate
(
"TUIC
U
ser UUID"
))
o
.
rmempty
=
true
o
.
default
=
uuid
o
:
depends
(
"type"
,
"tuic"
)
--Tuic IP
o
=
s
:
option
(
Value
,
"tuic_ip"
,
translate
(
"TUIC Server IP Address"
))
o
.
rmempty
=
true
o
.
datatype
=
"ip4addr"
o
.
default
=
""
o
:
depends
(
"type"
,
"tuic"
)
-- Tuic Password
o
=
s
:
option
(
Value
,
"tuic_passwd"
,
translate
(
"TUIC User Password"
))
o
.
rmempty
=
true
o
.
default
=
""
o
:
depends
(
"type"
,
"tuic"
)
o
=
s
:
option
(
ListValue
,
"udp_relay_mode"
,
translate
(
"UDP relay mode"
))
o
:
depends
(
"type"
,
"tuic"
)
o
:
value
(
"native"
,
translate
(
"native
"
)
)
o
:
value
(
"quic"
,
translate
(
"
QUIC"
)
)
o
:
value
(
"native"
,
translate
(
"native
UDP characteristics"
)
o
:
value
(
"quic"
,
translate
(
"
lossless UDP relay using QUIC streams"
)
o
.
default
=
"native"
o
.
rmempty
=
true
...
...
@@ -371,34 +383,64 @@ o:value("new_reno", translate("New Reno"))
o
.
default
=
"cubic"
o
.
rmempty
=
true
o
=
s
:
option
(
Value
,
"heartbeat"
,
translate
(
"Heartbeat interval"
))
o
=
s
:
option
(
Value
,
"heartbeat"
,
translate
(
"Heartbeat interval
(second)
"
))
o
:
depends
(
"type"
,
"tuic"
)
--
o.datatype = "uinteger"
o
.
default
=
"3
s
"
o
.
datatype
=
"uinteger"
o
.
default
=
"3"
o
.
rmempty
=
true
o
=
s
:
option
(
Flag
,
"disable_sni"
,
translate
(
"Disable SNI
"
))
o
=
s
:
option
(
Value
,
"timeout"
,
translate
(
"Timeout for establishing a connection to server(second)
"
))
o
:
depends
(
"type"
,
"tuic"
)
o
.
default
=
0
o
.
datatype
=
"uinteger"
o
.
default
=
"8"
o
.
rmempty
=
true
o
=
s
:
option
(
Flag
,
"zero_rtt_handshake"
,
translate
(
"Enable 0-RTT QUIC handshake
"
))
o
=
s
:
option
(
Value
,
"gc_interval"
,
translate
(
"Garbage collection interval(second)
"
))
o
:
depends
(
"type"
,
"tuic"
)
o
.
default
=
0
o
.
rmempty
=
false
o
.
datatype
=
"uinteger"
o
.
default
=
"3"
o
.
rmempty
=
true
o
=
s
:
option
(
Value
,
"send_window"
,
translate
(
"TUIC send window"
))
o
=
s
:
option
(
Value
,
"gc_lifetime"
,
translate
(
"Garbage collection lifetime(second)"
))
o
:
depends
(
"type"
,
"tuic"
)
o
.
datatype
=
"uinteger"
o
.
default
=
"15"
o
.
rmempty
=
true
o
=
s
:
option
(
Value
,
"send_window"
,
translate
(
"TUIC send window"
))
o
:
depends
(
"type"
,
"tuic"
)
o
.
datatype
=
"uinteger"
o
.
default
=
16777216
o
.
rmempty
=
true
o
=
s
:
option
(
Value
,
"receive_window"
,
translate
(
"TUIC receive window"
))
o
.
datatype
=
"uinteger"
o
:
depends
(
"type"
,
"tuic"
)
o
.
datatype
=
"uinteger"
o
.
default
=
8388608
o
.
rmempty
=
true
o
=
s
:
option
(
Flag
,
"disable_sni"
,
translate
(
"Disable SNI"
))
o
:
depends
(
"type"
,
"tuic"
)
o
.
default
=
0
o
.
rmempty
=
true
o
=
s
:
option
(
Flag
,
"zero_rtt_handshake"
,
translate
(
"Enable 0-RTT QUIC handshake"
))
o
:
depends
(
"type"
,
"tuic"
)
o
.
default
=
0
o
.
rmempty
=
true
--Tuic settings for the local inbound socks5 server
o
=
s
:
option
(
Flag
,
"tuic_dual_stack"
,
translate
(
"Set if the listening socket should be dual-stack"
))
o
:
depends
(
"type"
,
"tuic"
)
o
.
default
=
0
o
.
rmempty
=
true
o
=
s
:
option
(
Value
,
"tuic_max_package_size"
,
translate
(
"Maximum packet size the socks5 server can receive from external"
))
o
:
depends
(
"type"
,
"tuic"
)
o
.
datatype
=
"uinteger"
o
.
default
=
1500
o
.
rmempty
=
true
-- VmessId
o
=
s
:
option
(
Value
,
"vmess_id"
,
translate
(
"Vmess/VLESS ID (UUID)"
))
o
.
rmempty
=
true
...
...
@@ -848,4 +890,4 @@ if is_finded("kcptun-client") then
o
:
depends
(
"type"
,
"ss"
)
end
return
m
return
m
\ No newline at end of file
luci-app-ssr-plus/po/zh-cn/ssr-plus.po
浏览文件 @
288a31b2
...
...
@@ -853,17 +853,38 @@ msgstr "应用"
msgid "Enable Netflix Mode"
msgstr "启用 Netflix 分流模式"
msgid "TUIC
u
ser UUID"
msgid "TUIC
U
ser UUID"
msgstr "TUIC用户uuid"
msgid "TUIC Server IP Address"
msgstr "TUIC 服务器IP地址"
msgid "TUIC User Password"
msgstr "TUIC用户密钥"
msgid "UDP relay mode"
msgstr "tuic UDP中继模式"
msgstr "UDP中继模式"
msgid "native UDP characteristics"
msgstr "原生UDP特性"
msgid "lossless UDP relay using QUIC streams"
msgstr "使用 QUIC 流的无损 UDP 中继"
msgid "Congestion control algorithm"
msgstr "拥塞控制算法"
msgid "Heartbeat interval"
msgstr "连接保活间隔"
msgid "Heartbeat interval(second)"
msgstr "保活心跳包发送间隔(单位:秒)"
msgid "Timeout for establishing a connection to server(second)"
msgstr "连接超时时间(单位:秒)"
msgid "Garbage collection interval(second)"
msgstr "UDP数据包片残片清理间隔(单位:秒)"
msgid "Garbage collection lifetime(second)"
msgstr "UDP数据包残片在服务器的保留时间(单位:秒)"
msgid "Disable SNI"
msgstr "关闭SNI服务器名称指示"
...
...
@@ -872,8 +893,13 @@ msgid "Enable 0-RTT QUIC handshake"
msgstr "客户端启用 0-RTT QUIC 连接握手"
msgid "TUIC send window"
msgstr "发送窗口(无需确认即可发送的最大字节数)"
msgstr "发送窗口(无需确认即可发送的最大字节数
:默认8Mb*2
)"
msgid "TUIC receive window"
msgstr "接收窗口(无需确认即可接收的最大字节数)"
msgstr "接收窗口(无需确认即可接收的最大字节数:默认8Mb)"
msgid "Set if the listening socket should be dual-stack"
msgstr "设置监听套接字为双栈"
msgid "Maximum packet size the socks5 server can receive from external"
msgstr "socks5服务器可以从外部接收的最大数据包大小(单位:字节)"
luci-app-ssr-plus/root/usr/share/shadowsocksr/gen_config.lua
浏览文件 @
288a31b2
...
...
@@ -306,23 +306,29 @@ local hysteria = {
lazy_start
=
(
server
.
lazy_start
==
"1"
)
and
true
or
false
}
local
tuic
=
{
relay
=
{
server
=
server
.
server
..
":"
..
server
.
server_port
,
uuid
=
server
.
tuic_uuid
,
password
=
server
.
password
,
certificates
=
server
.
certificate
and
{
server
.
certpath
}
or
nil
,
udp_relay_mode
=
server
.
udp_relay_mode
,
congestion_control
=
server
.
congestion_control
,
heartbeat
=
server
.
heartbeat_interval
,
alpn
=
server
.
tls_alpn
,
disable_sni
=
(
server
.
disable_sni
==
"1"
),
zero_rtt_handshake
=
(
server
.
zero_rtt_handshake
==
"1"
),
send_window
=
tonumber
(
server
.
send_window
),
receive_window
=
tonumber
(
server
.
receive_window
)
},
[
"local"
]
=
{
server
=
"0.0.0.0:"
..
tonumber
(
local_port
)
}
relay
=
{
server
=
server
.
server
..
":"
..
server
.
server_port
,
ip
=
server
.
tuic_ip
,
uuid
=
server
.
tuic_uuid
,
password
=
server
.
tuic_passwd
,
certificates
=
server
.
certificate
and
{
server
.
certpath
}
or
nil
,
udp_relay_mode
=
server
.
udp_relay_mode
,
congestion_control
=
server
.
congestion_control
,
heartbeat
=
server
.
heartbeat
..
"s"
,
timeout
=
server
.
timeout
..
"s"
,
gc_interval
=
server
.
gc_interval
..
"s"
,
gc_lifetime
=
server
.
gc_lifetime
..
"s"
,
alpn
=
server
.
tls_alpn
,
disable_sni
=
(
server
.
disable_sni
==
"1"
),
zero_rtt_handshake
=
(
server
.
zero_rtt_handshake
==
"1"
),
send_window
=
tonumber
(
server
.
send_window
),
receive_window
=
tonumber
(
server
.
receive_window
)
},
[
"local"
]
=
{
server
=
"[::]:"
..
tonumber
(
local_port
),
dual_stack
=
dual_stack
=
(
server
.
tuic_dual_stack
==
"1"
)
and
true
or
false
,
max_packet_size
=
server
.
tuic_max_package_size
}
}
local
config
=
{}
function
config
:
new
(
o
)
...
...
tuic-client/Makefile
0 → 100644
浏览文件 @
288a31b2
# SPDX-License-Identifier: GPL-2.0-only
#
# Copyright (C) 2017-2020 Yousong Zhou <yszhou4tech@gmail.com>
# Copyright (C) 2021 ImmortalWrt.org
include
$(TOPDIR)/rules.mk
PKG_NAME
:=
tuic-client
PKG_VERSION
:=
1.0.0
PKG_RELEASE
:=
1
PKG_LICENSE_FILES
:=
LICENSE
PKG_MAINTAINER
:=
Tianling Shen <cnsztl@immortalwrt.org>
include
$(INCLUDE_DIR)/package.mk
TUIC_TYPE
:=
tuic-client-
$(PKG_VERSION)
TUIC_FOOT
:=
unknown-linux-musl
ifeq
($(ARCH),aarch64)
TUIC_ARCH
:=
$(TUIC_TYPE)
-aarch64-
$(TUIC_FOOT)
PKG_HASH
:=
c29eaaf3bc05115acc7453ac26bacf9aff65211b1e8ca7f771b818248bec8601
else
ifeq
($ARCH),arm64)
ARM_CPU_FEATURES
:=
$(
word
2,
$(
subst
+,
$(space)
,
$(
call
qstrip,
$(CONFIG_CPU_TYPE)
)))
ifeq
($(ARM_CPU_FEATURES),)
TUIC_ARCH
:=
$(TUIC_TYPE)
-armv7-
$(TUIC_FOOT)
eabi
PKG_HASH
:=
33a83ab05dc1a598552bf1f27114502b12c94b6e5333c6ac2def3739c00a4daf
else
TUIC_ARCH
:=
$(TUIC_TYPE)
-armv7-
$(TUIC_FOOT)
eabihf
PKG_HASH
:=
e2cc1d81ac376ff2a94976e78c861f5cd21ad809ff5b587ae967e2a63e4c35e4
endif
else
ifeq
($(ARCH),i686)
TUIC_ARCH
:=
$(TUIC_TYPE)
-i686-
$(TUIC_FOOT)
PKG_HASH
:=
67d930b4381a8848bf98acbccb538c73b72ca9dde0aed3705f73e62a9922f758
else
ifeq
($(ARCH),x86_64)
TUIC_ARCH
:=
$(TUIC_TYPE)
-x86_64-
$(TUIC_FOOT)
PKG_HASH
:=
180c562691247a7feddf553706bc8fd5b5b9de3027154f94a767ea907a45e2de
endif
define
Download/tuic-client
URL
:=
https://github.com/EAimTY/tuic/releases/download/
$(TUIC_TYPE)
/
URL_FILE
:=
$(TUIC_ARCH)
FILE
:=
$(TUIC_ARCH)
HASH
:=
$(PKG_HASH)
endef
define
Package/tuic-client
SECTION
:=
net
CATEGORY
:=
Network
SUBMENU
:=
Web Servers/Proxies
TITLE
:=
Delicately-TUICed 0-RTT proxy protocol
URL
:=
https://github.com/EAimTY/tuic/
DEPENDS
:=
@USE_MUSL @
(
aarch64||arm64||i686||x86_64
)
@!
(
TARGET_x86_geode||TARGET_x86_legacy
)
#PKGARCH:=all aarch64 arm i686 x86_64
endef
define
Build/Prepare
$(call
Build/Prepare/Default)
ifneq
($(CONFIG_PACKAGE_tuic-client),)
$(call
Download,tuic-client)
endif
endef
define
Build/Compile
endef
define
Package/tuic-client/install
$(INSTALL_DIR)
$(1)/usr/bin
$(INSTALL_BIN)
$(DL_DIR)/$(TUIC_ARCH)
$(1)/usr/bin/tuic-client
chmod
+x
$(1)/usr/bin/tuic-client
endef
$(eval
$(call
BuildPackage,tuic-client))
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录