Skip to content

Commit 2e3cb87

Browse files
committed
Refactor cloudflared to depend on sing-cloudflared
Replace the inline cloudflared implementation with a thin adapter wrapping github.com/sagernet/sing-cloudflared. The protocol/cloudflare package is reduced to a single inbound.go that bridges the external Service to the sing-box router.
1 parent d5a2fd7 commit 2e3cb87

61 files changed

Lines changed: 124 additions & 17424 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

go.mod

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ require (
1414
github.com/go-chi/render v1.0.3
1515
github.com/godbus/dbus/v5 v5.2.2
1616
github.com/gofrs/uuid/v5 v5.4.0
17-
github.com/google/uuid v1.6.0
1817
github.com/insomniacslk/dhcp v0.0.0-20260220084031-5adc3eb26f91
1918
github.com/jsimonetti/rtnetlink v1.4.0
2019
github.com/keybase/go-keychain v0.0.1
@@ -38,13 +37,14 @@ require (
3837
github.com/sagernet/gomobile v0.1.12
3938
github.com/sagernet/gvisor v0.0.0-20250811.0-sing-box-mod.1
4039
github.com/sagernet/quic-go v0.59.0-sing-box-mod.4
41-
github.com/sagernet/sing v0.8.3
40+
github.com/sagernet/sing v0.8.4
41+
github.com/sagernet/sing-cloudflared v0.0.0-20260407120610-7715dc2523fa
4242
github.com/sagernet/sing-mux v0.3.4
4343
github.com/sagernet/sing-quic v0.6.2-0.20260330152607-bf674c163212
4444
github.com/sagernet/sing-shadowsocks v0.2.8
4545
github.com/sagernet/sing-shadowsocks2 v0.2.1
4646
github.com/sagernet/sing-shadowtls v0.2.1-0.20250503051639-fcd445d33c11
47-
github.com/sagernet/sing-tun v0.8.7-0.20260323120017-8eb4e8acfc2d
47+
github.com/sagernet/sing-tun v0.8.7-0.20260402180740-11f6e77ec6c6
4848
github.com/sagernet/sing-vmess v0.2.8-0.20250909125414-3aed155119a1
4949
github.com/sagernet/smux v1.5.50-sing-box-mod.1
5050
github.com/sagernet/tailscale v1.92.4-sing-box-1.13-mod.7
@@ -64,7 +64,6 @@ require (
6464
google.golang.org/grpc v1.79.1
6565
google.golang.org/protobuf v1.36.11
6666
howett.net/plist v1.0.1
67-
zombiezen.com/go/capnproto2 v2.18.2+incompatible
6867
)
6968

7069
require (
@@ -75,7 +74,7 @@ require (
7574
github.com/andybalholm/brotli v1.1.0 // indirect
7675
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
7776
github.com/coreos/go-iptables v0.7.1-0.20240112124308-65c67c9f46e6 // indirect
78-
github.com/coreos/go-oidc/v3 v3.12.0 // indirect
77+
github.com/coreos/go-oidc/v3 v3.17.0 // indirect
7978
github.com/database64128/netx-go v0.1.1 // indirect
8079
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
8180
github.com/dblohm7/wingoes v0.0.0-20240119213807-a09d6be7affa // indirect
@@ -95,13 +94,15 @@ require (
9594
github.com/google/go-cmp v0.7.0 // indirect
9695
github.com/google/go-querystring v1.1.0 // indirect
9796
github.com/google/nftables v0.2.1-0.20240414091927-5e242ec57806 // indirect
97+
github.com/google/uuid v1.6.0 // indirect
9898
github.com/hashicorp/yamux v0.1.2 // indirect
9999
github.com/hdevalence/ed25519consensus v0.2.0 // indirect
100100
github.com/inconshreveable/mousetrap v1.1.0 // indirect
101101
github.com/klauspost/compress v1.18.0 // indirect
102102
github.com/klauspost/cpuid/v2 v2.3.0 // indirect
103103
github.com/mdlayher/socket v0.5.1 // indirect
104104
github.com/mitchellh/go-ps v1.0.0 // indirect
105+
github.com/philhofer/fwd v1.2.0 // indirect
105106
github.com/pierrec/lz4/v4 v4.1.21 // indirect
106107
github.com/pires/go-proxyproto v0.8.1 // indirect
107108
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
@@ -151,7 +152,6 @@ require (
151152
github.com/tidwall/match v1.1.1 // indirect
152153
github.com/tidwall/pretty v1.2.1 // indirect
153154
github.com/tidwall/sjson v1.2.5 // indirect
154-
github.com/tinylib/msgp v1.6.3 // indirect
155155
github.com/u-root/uio v0.0.0-20240224005618-d2acac8f3701 // indirect
156156
github.com/x448/float16 v0.8.4 // indirect
157157
github.com/zeebo/blake3 v0.2.4 // indirect
@@ -169,4 +169,5 @@ require (
169169
google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217 // indirect
170170
gopkg.in/yaml.v3 v3.0.1 // indirect
171171
lukechampine.com/blake3 v1.3.0 // indirect
172+
zombiezen.com/go/capnproto2 v2.18.2+incompatible // indirect
172173
)

go.sum

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ github.com/coder/websocket v1.8.14 h1:9L0p0iKiNOibykf283eHkKUHHrpG7f65OE3BhhO7v9
2828
github.com/coder/websocket v1.8.14/go.mod h1:NX3SzP+inril6yawo5CQXx8+fk145lPDC6pumgx0mVg=
2929
github.com/coreos/go-iptables v0.7.1-0.20240112124308-65c67c9f46e6 h1:8h5+bWd7R6AYUslN6c6iuZWTKsKxUFDlpnmilO6R2n0=
3030
github.com/coreos/go-iptables v0.7.1-0.20240112124308-65c67c9f46e6/go.mod h1:Qe8Bv2Xik5FyTXwgIbLAnv2sWSBmvWdFETJConOQ//Q=
31-
github.com/coreos/go-oidc/v3 v3.12.0 h1:sJk+8G2qq94rDI6ehZ71Bol3oUHy63qNYmkiSjrc/Jo=
32-
github.com/coreos/go-oidc/v3 v3.12.0/go.mod h1:gE3LgjOgFoHi9a4ce4/tJczr0Ai2/BoDhf0r5lltWI0=
31+
github.com/coreos/go-oidc/v3 v3.17.0 h1:hWBGaQfbi0iVviX4ibC7bk8OKT5qNr4klBaCHVNvehc=
32+
github.com/coreos/go-oidc/v3 v3.17.0/go.mod h1:wqPbKFrVnE90vty060SB40FCJ8fTHTxSwyXJqZH+sI8=
3333
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
3434
github.com/cretz/bine v0.2.0 h1:8GiDRGlTgz+o8H9DSnsl+5MeBK4HsExxgl6WgzOCuZo=
3535
github.com/cretz/bine v0.2.0/go.mod h1:WU4o9QR9wWp8AVKtTM1XD5vUHkEqnf2vVSo6dBqbetI=
@@ -112,6 +112,8 @@ github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zt
112112
github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ=
113113
github.com/klauspost/cpuid/v2 v2.3.0 h1:S4CRMLnYUhGeDFDqkGriYKdfoFlDnMtqTiI/sFzhA9Y=
114114
github.com/klauspost/cpuid/v2 v2.3.0/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0=
115+
github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
116+
github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
115117
github.com/letsencrypt/challtestsrv v1.4.2 h1:0ON3ldMhZyWlfVNYYpFuWRTmZNnyfiL9Hh5YzC3JVwU=
116118
github.com/letsencrypt/challtestsrv v1.4.2/go.mod h1:GhqMqcSoeGpYd5zX5TgwA6er/1MbWzx/o7yuuVya+Wk=
117119
github.com/letsencrypt/pebble/v2 v2.10.0 h1:Wq6gYXlsY6ubqI3hhxsTzdyotvfdjFBxuwYqCLCnj/U=
@@ -240,8 +242,10 @@ github.com/sagernet/nftables v0.3.0-beta.4 h1:kbULlAwAC3jvdGAC1P5Fa3GSxVwQJibNen
240242
github.com/sagernet/nftables v0.3.0-beta.4/go.mod h1:OQXAjvjNGGFxaTgVCSTRIhYB5/llyVDeapVoENYBDS8=
241243
github.com/sagernet/quic-go v0.59.0-sing-box-mod.4 h1:6qvrUW79S+CrPwWz6cMePXohgjHoKxLo3c+MDhNwc3o=
242244
github.com/sagernet/quic-go v0.59.0-sing-box-mod.4/go.mod h1:OqILvS182CyOol5zNNo6bguvOGgXzV459+chpRaUC+4=
243-
github.com/sagernet/sing v0.8.3 h1:zGMy9M1deBPEew9pCYIUHKeE+/lDQ5A2CBqjBjjzqkA=
244-
github.com/sagernet/sing v0.8.3/go.mod h1:ARkL0gM13/Iv5VCZmci/NuoOlePoIsW0m7BWfln/Hak=
245+
github.com/sagernet/sing v0.8.4 h1:Fj+jlY3F8vhcRfz/G/P3Dwcs5wqnmyNPT7u1RVVmjFI=
246+
github.com/sagernet/sing v0.8.4/go.mod h1:ARkL0gM13/Iv5VCZmci/NuoOlePoIsW0m7BWfln/Hak=
247+
github.com/sagernet/sing-cloudflared v0.0.0-20260407120610-7715dc2523fa h1:165HiOfgfofJIirEp1NGSmsoJAi+++WhR29IhtAu4A4=
248+
github.com/sagernet/sing-cloudflared v0.0.0-20260407120610-7715dc2523fa/go.mod h1:bH2NKX+NpDTY1Zkxfboxw6MXB/ZywaNLmrDJYgKMJ2Y=
245249
github.com/sagernet/sing-mux v0.3.4 h1:ZQplKl8MNXutjzbMVtWvWG31fohhgOfCuUZR4dVQ8+s=
246250
github.com/sagernet/sing-mux v0.3.4/go.mod h1:QvlKMyNBNrQoyX4x+gq028uPbLM2XeRpWtDsWBJbFSk=
247251
github.com/sagernet/sing-quic v0.6.2-0.20260330152607-bf674c163212 h1:7mFOUqy+DyOj7qKGd1X54UMXbnbJiiMileK/tn17xYc=
@@ -252,8 +256,8 @@ github.com/sagernet/sing-shadowsocks2 v0.2.1 h1:dWV9OXCeFPuYGHb6IRqlSptVnSzOelnq
252256
github.com/sagernet/sing-shadowsocks2 v0.2.1/go.mod h1:RnXS0lExcDAovvDeniJ4IKa2IuChrdipolPYWBv9hWQ=
253257
github.com/sagernet/sing-shadowtls v0.2.1-0.20250503051639-fcd445d33c11 h1:tK+75l64tm9WvEFrYRE1t0YxoFdWQqw/h7Uhzj0vJ+w=
254258
github.com/sagernet/sing-shadowtls v0.2.1-0.20250503051639-fcd445d33c11/go.mod h1:sWqKnGlMipCHaGsw1sTTlimyUpgzP4WP3pjhCsYt9oA=
255-
github.com/sagernet/sing-tun v0.8.7-0.20260323120017-8eb4e8acfc2d h1:vi0j6301f6H8t2GYgAC2PA2AdnGdMwkP34B4+N03Qt4=
256-
github.com/sagernet/sing-tun v0.8.7-0.20260323120017-8eb4e8acfc2d/go.mod h1:pLCo4o+LacXEzz0bhwhJkKBjLlKOGPBNOAZ97ZVZWzs=
259+
github.com/sagernet/sing-tun v0.8.7-0.20260402180740-11f6e77ec6c6 h1:HV2I7DicF5Ar8v6F55f03W5FviBB7jgvLhJSDwbFvbk=
260+
github.com/sagernet/sing-tun v0.8.7-0.20260402180740-11f6e77ec6c6/go.mod h1:pLCo4o+LacXEzz0bhwhJkKBjLlKOGPBNOAZ97ZVZWzs=
257261
github.com/sagernet/sing-vmess v0.2.8-0.20250909125414-3aed155119a1 h1:aSwUNYUkVyVvdmBSufR8/nRFonwJeKSIROxHcm5br9o=
258262
github.com/sagernet/sing-vmess v0.2.8-0.20250909125414-3aed155119a1/go.mod h1:P11scgTxMxVVQ8dlM27yNm3Cro40mD0+gHbnqrNGDuY=
259263
github.com/sagernet/smux v1.5.50-sing-box-mod.1 h1:XkJcivBC9V4wBjiGXIXZ229aZCU1hzcbp6kSkkyQ478=

option/cloudflared.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ type CloudflaredInboundOptions struct {
66
Token string `json:"token,omitempty"`
77
HAConnections int `json:"ha_connections,omitempty"`
88
Protocol string `json:"protocol,omitempty"`
9+
PostQuantum bool `json:"post_quantum,omitempty"`
910
ControlDialer DialerOptions `json:"control_dialer,omitempty"`
1011
TunnelDialer DialerOptions `json:"tunnel_dialer,omitempty"`
1112
EdgeIPVersion int `json:"edge_ip_version,omitempty"`

protocol/cloudflare/access.go

Lines changed: 0 additions & 120 deletions
This file was deleted.

0 commit comments

Comments
 (0)