summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorfokx2023-06-18 22:41:23 +0800
committerfokx2023-06-18 22:41:23 +0800
commitf924017c81f887aa9dae00d655275944d7ce3690 (patch)
treeaf6bd50e94c0dc20cc07b9534725e59433d221c4
parentec156192455db8deb2d5ffc5b47ad697e315b817 (diff)
downloadaur-f924017c81f887aa9dae00d655275944d7ce3690.tar.gz
breaking update: 1.0.0; patch tuic-server: socket.set_only_v6
-rw-r--r--.SRCINFO10
-rw-r--r--PKGBUILD15
-rw-r--r--client.json57
-rw-r--r--server.json51
-rw-r--r--tuic.patch34
-rw-r--r--tuicc@.service2
6 files changed, 131 insertions, 38 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 7a9e1809cb06..d78abce42b52 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = tuic
pkgdesc = Delicately-TUICed 0-RTT proxy server and client
- pkgver = 0.8.5
+ pkgver = 1.0.0
pkgrel = 1
url = https://github.com/EAimTY/tuic
arch = x86_64
@@ -13,11 +13,13 @@ pkgbase = tuic
source = tuic.sysusers
source = tuicc@.service
source = tuics@.service
+ source = tuic.patch
b2sums = SKIP
- b2sums = d471a743a0b9dd3f58ace81ebea40cf42812b0d980f72fdb358452de256d65b064e9b427d9ad528abd6b23ceadfca758ec0e7426e69c6299ae4202d4daf6d57d
- b2sums = 2da39cc99b576ac0c3052489d91a01623aee24dbf835a8ef96e2095a19c9505bc78b63eadc9e5f79937737e02be0292894397e14a8e4da73fbab30d47004a50e
+ b2sums = 061a71643cd521d5224616805aba83c5887c9384156c5ab0c074fe7f5f873b33b8c8fdef379f67ef41e8c88437564aeb285e912d58549cb914acebd17726898e
+ b2sums = c07bc16b05e0a4ebca255b7680d48d6281d37d6dbe40fcf79ece13fa2aa0ef17907c064f2a18fbdfb2bb39e565b43e5bfccdf0c69d04bbd27b5fddef94885287
b2sums = 6f65065fff93d97ff528aafbf4d5b891587263162003681c8ec59f932673d4484237cbea4a32680d1c7d3d78d97ccfd9ea8d816bf740dd638929df3a5ad88034
- b2sums = ee32f841a33e3c71bc957ef622fdc93fc4779b0cb593ddae0c85e4d573e2339f0a0b2630874a504bb180cafcd3b4229bdcefff349ad4f46466d49539693036a4
+ b2sums = 40a4ff7d141ce0b9fffbc3bccae4bb24f12b0991f75e71e914d289d9ac52e921b9b40b745b6bdf7b0a9676892eef537e707f2625dd3b20cea26695855ef7c0d2
b2sums = 955d2447f08f6762ba23f67796b34bba466dc8860d389fd7899ac0b68ac9153770757205d965056a5161b7515042a722a7dd683149b3dee3a777453ec2b2b34d
+ b2sums = 81ca29b186201e11656e306e39bdf15397aaf9cf291bed17c0986853a25161f99e91efcd9a629ca5b79fe954d5097ff975bd84c4c73be43480c4934fa77b226f
pkgname = tuic
diff --git a/PKGBUILD b/PKGBUILD
index 173d08399da3..43f0e03129fd 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,7 +1,7 @@
# Maintainer: soh @ AUR
pkgname=tuic
-pkgver=0.8.5
+pkgver=1.0.0
pkgrel=1
pkgdesc='Delicately-TUICed 0-RTT proxy server and client'
arch=('x86_64')
@@ -15,19 +15,22 @@ source=("${pkgname}::git+$url"
tuic.sysusers
tuicc@.service
tuics@.service
+ tuic.patch
)
b2sums=('SKIP'
- 'd471a743a0b9dd3f58ace81ebea40cf42812b0d980f72fdb358452de256d65b064e9b427d9ad528abd6b23ceadfca758ec0e7426e69c6299ae4202d4daf6d57d'
- '2da39cc99b576ac0c3052489d91a01623aee24dbf835a8ef96e2095a19c9505bc78b63eadc9e5f79937737e02be0292894397e14a8e4da73fbab30d47004a50e'
+ '061a71643cd521d5224616805aba83c5887c9384156c5ab0c074fe7f5f873b33b8c8fdef379f67ef41e8c88437564aeb285e912d58549cb914acebd17726898e'
+ 'c07bc16b05e0a4ebca255b7680d48d6281d37d6dbe40fcf79ece13fa2aa0ef17907c064f2a18fbdfb2bb39e565b43e5bfccdf0c69d04bbd27b5fddef94885287'
'6f65065fff93d97ff528aafbf4d5b891587263162003681c8ec59f932673d4484237cbea4a32680d1c7d3d78d97ccfd9ea8d816bf740dd638929df3a5ad88034'
- 'ee32f841a33e3c71bc957ef622fdc93fc4779b0cb593ddae0c85e4d573e2339f0a0b2630874a504bb180cafcd3b4229bdcefff349ad4f46466d49539693036a4'
- '955d2447f08f6762ba23f67796b34bba466dc8860d389fd7899ac0b68ac9153770757205d965056a5161b7515042a722a7dd683149b3dee3a777453ec2b2b34d')
+ '40a4ff7d141ce0b9fffbc3bccae4bb24f12b0991f75e71e914d289d9ac52e921b9b40b745b6bdf7b0a9676892eef537e707f2625dd3b20cea26695855ef7c0d2'
+ '955d2447f08f6762ba23f67796b34bba466dc8860d389fd7899ac0b68ac9153770757205d965056a5161b7515042a722a7dd683149b3dee3a777453ec2b2b34d'
+ '81ca29b186201e11656e306e39bdf15397aaf9cf291bed17c0986853a25161f99e91efcd9a629ca5b79fe954d5097ff975bd84c4c73be43480c4934fa77b226f')
prepare() {
cd $pkgname
git submodule sync --recursive; git submodule foreach -q git config remote.origin.url; git submodule update --init --recursive --remote
- git checkout $pkgver
+ patch --forward --strip=1 --input="${srcdir}/tuic.patch"
+ # git checkout $pkgver
}
build() {
diff --git a/client.json b/client.json
index 0f8374702615..677356eb22f8 100644
--- a/client.json
+++ b/client.json
@@ -1,22 +1,51 @@
{
"relay": {
- "server": "<my server domain>",
- "port": 443,
- "token": "mypassword",
- "ip": "<my server ip>",
+ "server": "example.com:443",
+
+ "uuid": "00000000-0000-0000-0000-000000000000",
+
+ "password": "PASSWORD",
+
+ "ip": "127.0.0.1",
+
+ "certificates": ["PATH/TO/CERTIFICATE_1", "PATH/TO/CERTIFICATE_2"],
+
"udp_relay_mode": "native",
- "congestion_controller": "bbr",
- "heartbeat_interval": 10000,
- "alpn": ["h3"],
+
+ "congestion_control": "cubic",
+
+ "alpn": ["h3", "spdy/3.1"],
+
+ "zero_rtt_handshake": false,
+
"disable_sni": false,
- "reduce_rtt": false,
- "request_timeout": 8000,
- "max_udp_relay_packet_size": 1500
+
+ "timeout": "8s",
+
+ "heartbeat": "3s",
+
+ "disable_native_certs": false,
+
+ "send_window": 16777216,
+
+ "receive_window": 8388608,
+
+ "gc_interval": "3s",
+
+ "gc_lifetime": "15s"
},
+
"local": {
- "port": 1080,
- "ip": "127.0.0.1"
+ "server": "[::]:1080",
+
+ "username": "USERNAME",
+
+ "password": "PASSWORD",
+
+ "dual_stack": true,
+
+ "max_packet_size": 1500
},
- "log_level": "info"
-}
+ "log_level": "warn"
+}
diff --git a/server.json b/server.json
index 837e1edd6bb5..a1de056e81af 100644
--- a/server.json
+++ b/server.json
@@ -1,15 +1,40 @@
{
- "port": 443,
- "token": ["myPassword1", "myPassword2"],
- "certificate": "/etc/tuic/cer",
- "private_key": "/etc/tuic/key",
-
- "ip": "0.0.0.0",
- "congestion_controller": "bbr",
- "max_idle_time": 15000,
- "authentication_timeout": 1000,
- "alpn": ["h3"],
- "max_udp_relay_packet_size": 1500,
- "log_level": "info"
-}
+ "server": "[::]:443",
+
+ "users": {
+ "00000000-0000-0000-0000-000000000000": "PASSWORD_0",
+ "00000000-0000-0000-0000-000000000001": "PASSWORD_1"
+ },
+
+ "certificate": "PATH/TO/CERTIFICATE",
+
+ "private_key": "PATH/TO/PRIVATE_KEY",
+
+ "congestion_control": "cubic",
+
+ "alpn": ["h3", "spdy/3.1"],
+
+ "udp_relay_ipv6": true,
+
+ "zero_rtt_handshake": false,
+
+ "dual_stack": true,
+ "auth_timeout": "3s",
+
+ "task_negotiation_timeout": "3s",
+
+ "max_idle_time": "10s",
+
+ "max_external_packet_size": 1500,
+
+ "send_window": 16777216,
+
+ "receive_window": 8388608,
+
+ "gc_interval": "3s",
+
+ "gc_lifetime": "15s",
+
+ "log_level": "warn"
+}
diff --git a/tuic.patch b/tuic.patch
new file mode 100644
index 000000000000..95ef65c9a1cb
--- /dev/null
+++ b/tuic.patch
@@ -0,0 +1,34 @@
+Only in tuic.new: Cargo.lock
+Only in tuic.new: .idea
+Only in tuic.new: target
+diff --unified --recursive --text tuic.orig/tuic-server/src/server.rs tuic.new/tuic-server/src/server.rs
+--- tuic.orig/tuic-server/src/server.rs 2023-06-18 22:32:05.143833089 +0800
++++ tuic.new/tuic-server/src/server.rs 2023-06-18 22:39:30.263162332 +0800
+@@ -17,6 +17,7 @@
+ time::Duration,
+ };
+ use uuid::Uuid;
++use log::error;
+
+ pub struct Server {
+ ep: Endpoint,
+@@ -83,11 +84,16 @@
+ .map_err(|err| Error::Socket("failed to create endpoint UDP socket", err))?;
+
+ if let Some(dual_stack) = cfg.dual_stack {
+- socket.set_only_v6(!dual_stack).map_err(|err| {
+- Error::Socket("endpoint dual-stack socket setting error", err)
+- })?;
++ match socket.set_only_v6(!dual_stack){
++ Ok(()) => {}
++ Err(err) => {
++ error!("endpoint dual-stack socket setting error");
++ error!("{err}");
++ }
++ }
+ }
+
++
+ socket
+ .bind(&SockAddr::from(cfg.server))
+ .map_err(|err| Error::Socket("failed to bind endpoint UDP socket", err))?;
diff --git a/tuicc@.service b/tuicc@.service
index f3426c4287f0..1d141f1efba1 100644
--- a/tuicc@.service
+++ b/tuicc@.service
@@ -7,7 +7,7 @@ Type=simple
User=tuic
Restart=on-failure
RestartSec=5s
-ExecStart=/usr/bin/tuic-client-0.8 -c /etc/tuic/%i.json
+ExecStart=/usr/bin/tuic-client -c /etc/tuic/%i.json
# Proc filesystem
ProcSubset=pid
ProtectProc=invisible