Compare commits

..

74 Commits

Author SHA1 Message Date
世界
1c36072120
documentation: Bump version 2025-05-12 18:12:57 +08:00
世界
6e9258bede
Add missing accept_routes option for Tailscale 2025-05-12 18:12:57 +08:00
世界
b0f4008071
Add TLS record fragment support 2025-05-12 17:43:54 +08:00
世界
3f26b7b4e9
release: Update Go to 1.24.3 2025-05-12 17:43:54 +08:00
世界
dbab3a2178
Fix set edns0 client subnet 2025-05-12 17:43:53 +08:00
世界
dbf17cca71
Update minor dependencies 2025-05-12 17:43:53 +08:00
世界
4a0fe88217
Update certmagic and providers 2025-05-12 17:43:53 +08:00
世界
4a62401f9e
Update protobuf and grpc 2025-05-12 17:43:52 +08:00
世界
09edc643cb
Add control options for listeners 2025-05-12 17:43:52 +08:00
世界
4be4220f20
Update quic-go to v0.51.0 2025-05-12 17:43:52 +08:00
世界
d1b0c967aa
Update utls to v1.7.0 2025-05-12 17:43:52 +08:00
世界
7608266ea7
Handle EDNS version downgrade 2025-05-12 17:43:22 +08:00
世界
081dad8f57
documentation: Fix anytls padding scheme description 2025-05-12 17:43:21 +08:00
安容
3ff990a6a3
Report invalid DNS address early 2025-05-12 17:43:21 +08:00
世界
9ff3da2bdb
Fix wireguard listen_port 2025-05-12 17:43:20 +08:00
世界
92c20a545d
clash-api: Add more meta api 2025-05-12 17:43:20 +08:00
世界
2e75cb3c22
Fix DNS lookup 2025-05-12 17:43:20 +08:00
世界
4414dc6bee
Fix fetch ECH configs 2025-05-12 17:43:19 +08:00
reletor
7d11245a90
documentation: Minor fixes 2025-05-12 17:43:19 +08:00
caelansar
744e9b4577
Fix callback deletion in UDP transport 2025-05-12 17:43:18 +08:00
世界
153a262f35
documentation: Try to make the play review happy 2025-05-12 17:43:18 +08:00
世界
39d2fb5467
Fix missing handling of legacy domain_strategy options 2025-05-12 17:43:18 +08:00
世界
85a2a5c169
Improve local DNS server 2025-05-12 17:43:18 +08:00
anytls
575b5dfb10
Update anytls
Co-authored-by: anytls <anytls>
2025-05-12 17:43:17 +08:00
世界
f19c500b4f
Fix DNS dialer 2025-05-12 17:43:17 +08:00
世界
8e5958a7e4
release: Skip override version for iOS 2025-05-12 17:43:17 +08:00
iikira
dc5e6ed488
Fix UDP DNS server crash
Signed-off-by: iikira <i2@mail.iikira.com>
2025-05-12 17:43:16 +08:00
ReleTor
049c18377c
Fix fetch ECH configs 2025-05-12 17:43:16 +08:00
世界
870f76a91e
Allow direct outbounds without domain_resolver 2025-05-12 17:43:15 +08:00
世界
d1a945f180
Fix Tailscale dialer 2025-05-12 17:43:15 +08:00
dyhkwong
6d56bc1528
Fix DNS over QUIC stream close 2025-05-12 17:43:14 +08:00
anytls
25e2d670e7
Update anytls
Co-authored-by: anytls <anytls>
2025-05-12 17:43:14 +08:00
Rambling2076
be8419fa84
Fix missing with_tailscale in Dockerfile
Signed-off-by: Rambling2076 <Rambling2076@proton.me>
2025-05-12 17:43:14 +08:00
世界
27acc99c35
Fail when default DNS server not found 2025-05-12 17:43:14 +08:00
世界
6053a3bad1
Update gVisor to 20250319.0 2025-05-12 17:43:14 +08:00
世界
c63a58c0fb
Explicitly reject detour to empty direct outbounds 2025-05-12 17:43:13 +08:00
世界
cc4354b18a
Add netns support 2025-05-12 17:43:13 +08:00
世界
8344653443
Add wildcard name support for predefined records 2025-05-12 17:43:13 +08:00
世界
26f185aa7c
Remove map usage in options 2025-05-12 17:43:13 +08:00
世界
a69007f1a2
Fix unhandled DNS loop 2025-05-12 17:43:13 +08:00
世界
20729defd6
Add wildcard-sni support for shadow-tls inbound 2025-05-12 17:43:12 +08:00
k9982874
ff751f8504
Add ntp protocol sniffing 2025-05-12 17:43:11 +08:00
世界
689c229fe6
option: Fix marshal legacy DNS options 2025-05-12 17:43:11 +08:00
世界
c4cdb68d10
Make domain_resolver optional when only one DNS server is configured 2025-05-12 17:43:11 +08:00
世界
dd99a45df6
Fix DNS lookup context pollution 2025-05-12 17:43:11 +08:00
世界
cbe077eaa9
Fix http3 DNS server connecting to wrong address 2025-05-12 17:43:10 +08:00
Restia-Ashbell
47fd88f450
documentation: Fix typo 2025-05-12 17:43:10 +08:00
anytls
5fdfba6816
Update sing-anytls
Co-authored-by: anytls <anytls>
2025-05-12 17:43:10 +08:00
k9982874
e38de3bd8f
Fix hosts DNS server 2025-05-12 17:43:10 +08:00
世界
6f9d507ab3
Fix UDP DNS server crash 2025-05-12 17:43:09 +08:00
世界
567de6aa88
documentation: Fix missing ip_accept_any DNS rule option 2025-05-12 17:43:09 +08:00
世界
5fd7fba75f
Fix anytls dialer usage 2025-05-12 17:43:09 +08:00
世界
d80f81157c
Move predefined DNS server to rule action 2025-05-12 17:43:09 +08:00
世界
133e57e85f
Fix domain resolver on direct outbound 2025-05-12 17:43:08 +08:00
Zephyruso
f854586ac8
Fix missing AnyTLS display name 2025-05-12 17:43:08 +08:00
anytls
a3a54b6e91
Update sing-anytls
Co-authored-by: anytls <anytls>
2025-05-12 17:43:08 +08:00
Estel
fa5dbfcca8
documentation: Fix typo
Signed-off-by: Estel <callmebedrockdigger@gmail.com>
2025-05-12 17:43:07 +08:00
TargetLocked
35d5a1f6a6
Fix parsing legacy DNS options 2025-05-12 17:43:07 +08:00
世界
9f26fea1fc
Fix DNS fallback 2025-05-12 17:43:07 +08:00
世界
5c71baa23c
documentation: Fix missing hosts DNS server 2025-05-12 17:43:06 +08:00
anytls
a75772d01e
Add MinIdleSession option to AnyTLS outbound
Co-authored-by: anytls <anytls>
2025-05-12 17:43:06 +08:00
ReleTor
ae263e2da3
documentation: Minor fixes 2025-05-12 17:43:05 +08:00
libtry486
031b6de8b5
documentation: Fix typo
fix typo

Signed-off-by: libtry486 <89328481+libtry486@users.noreply.github.com>
2025-05-12 17:43:05 +08:00
Alireza Ahmadi
6aef4ec1c6
Fix Outbound deadlock 2025-05-12 17:43:05 +08:00
世界
61b7666fd5
documentation: Fix AnyTLS doc 2025-05-12 17:43:04 +08:00
anytls
ea5339285e
Add AnyTLS protocol 2025-05-12 17:43:04 +08:00
世界
d38d58ff6e
Migrate to stdlib ECH support 2025-05-12 17:43:03 +08:00
世界
60570b966b
Add fallback local DNS server for iOS 2025-05-12 17:43:03 +08:00
世界
195e859bf7
Get darwin local DNS server from libresolv 2025-05-12 17:43:02 +08:00
世界
0ce1f21794
Improve resolve action 2025-05-12 17:43:02 +08:00
世界
ec5eba1d25
Fix toolchain version 2025-05-12 17:43:02 +08:00
世界
682a95c55e
Add back port hopping to hysteria 1 2025-05-12 17:43:01 +08:00
xchacha20-poly1305
34283f914a
Remove single quotes of raw Moziila certs 2025-05-12 17:43:01 +08:00
世界
fcce280a50
Add Tailscale endpoint 2025-05-12 17:42:41 +08:00
6 changed files with 23 additions and 3 deletions

View File

@ -5,12 +5,17 @@ icon: material/alert-decagram
#### 1.12.0-beta.13
* Add TLS record fragment route options **1**
* Add missing `accept_routes` option for Tailscale **2**
* Fixes and improvements
**1**:
See [Route Action](/configuration/route/rule_action/#tls_record_fragment).
**2**:
See [Tailscale](/configuration/endpoint/tailscale/#accept_routes).
#### 1.12.0-beta.10
* Add control options for listeners **1**

View File

@ -15,6 +15,7 @@ icon: material/new-box
"control_url": "",
"ephemeral": false,
"hostname": "",
"accept_routes": false,
"exit_node": "",
"exit_node_allow_lan_access": false,
"advertise_routes": [],
@ -62,6 +63,10 @@ System hostname is used by default.
Example: `localhost`
#### accept_routes
Indicates whether the node should accept routes advertised by other nodes.
#### exit_node
The exit node name or IP address to use.

3
go.mod
View File

@ -35,7 +35,8 @@ require (
github.com/sagernet/sing-tun v0.6.6-0.20250428031943-0686f8c4f210
github.com/sagernet/sing-vmess v0.2.2-0.20250503051933-9b4cf17393f8
github.com/sagernet/smux v1.5.34-mod.2
github.com/sagernet/tailscale v1.80.3-mod.4
github.com/sagernet/tailscale v1.80.3-mod.5
github.com/sagernet/utls v1.6.7
github.com/sagernet/wireguard-go v0.0.1-beta.7
github.com/sagernet/ws v0.0.0-20231204124109-acfe8907c854
github.com/spf13/cobra v1.9.1

6
go.sum
View File

@ -186,8 +186,10 @@ github.com/sagernet/sing-vmess v0.2.2-0.20250503051933-9b4cf17393f8 h1:zW+zAOCxU
github.com/sagernet/sing-vmess v0.2.2-0.20250503051933-9b4cf17393f8/go.mod h1:IL8Rr+EGwuqijszZkNrEFTQDKhilEpkqFqOlvdpS6/w=
github.com/sagernet/smux v1.5.34-mod.2 h1:gkmBjIjlJ2zQKpLigOkFur5kBKdV6bNRoFu2WkltRQ4=
github.com/sagernet/smux v1.5.34-mod.2/go.mod h1:0KW0+R+ycvA2INW4gbsd7BNyg+HEfLIAxa5N02/28Zc=
github.com/sagernet/tailscale v1.80.3-mod.4 h1:9UgYq8m9mwX5dbTbueVxbRh+bq7AayxemJGM2PkJQnE=
github.com/sagernet/tailscale v1.80.3-mod.4/go.mod h1:EBxXsWu4OH2ELbQLq32WoBeIubG8KgDrg4/Oaxjs6lI=
github.com/sagernet/tailscale v1.80.3-mod.4.0.20250512093633-e1bc1888c814 h1:B6ejgOuM1BrX4TzWvm1h/LQAOZW1T1jP4PSZe8b/49o=
github.com/sagernet/tailscale v1.80.3-mod.4.0.20250512093633-e1bc1888c814/go.mod h1:EBxXsWu4OH2ELbQLq32WoBeIubG8KgDrg4/Oaxjs6lI=
github.com/sagernet/tailscale v1.80.3-mod.5 h1:7V7z+p2C//TGtff20pPnDCt3qP6uFyY62peJoKF9z/A=
github.com/sagernet/tailscale v1.80.3-mod.5/go.mod h1:EBxXsWu4OH2ELbQLq32WoBeIubG8KgDrg4/Oaxjs6lI=
github.com/sagernet/wireguard-go v0.0.1-beta.7 h1:ltgBwYHfr+9Wz1eG59NiWnHrYEkDKHG7otNZvu85DXI=
github.com/sagernet/wireguard-go v0.0.1-beta.7/go.mod h1:jGXij2Gn2wbrWuYNUmmNhf1dwcZtvyAvQoe8Xd8MbUo=
github.com/sagernet/ws v0.0.0-20231204124109-acfe8907c854 h1:6uUiZcDRnZSAegryaUGwPC/Fj13JSHwiTftrXhMmYOc=

View File

@ -11,6 +11,7 @@ type TailscaleEndpointOptions struct {
ControlURL string `json:"control_url,omitempty"`
Ephemeral bool `json:"ephemeral,omitempty"`
Hostname string `json:"hostname,omitempty"`
AcceptRoutes bool `json:"accept_routes,omitempty"`
ExitNode string `json:"exit_node,omitempty"`
ExitNodeAllowLANAccess bool `json:"exit_node_allow_lan_access,omitempty"`
AdvertiseRoutes []netip.Prefix `json:"advertise_routes,omitempty"`

View File

@ -72,6 +72,7 @@ type Endpoint struct {
filter *atomic.Pointer[filter.Filter]
onReconfig wgengine.ReconfigListener
acceptRoutes bool
exitNode string
exitNodeAllowLANAccess bool
advertiseRoutes []netip.Prefix
@ -170,6 +171,7 @@ func NewEndpoint(ctx context.Context, router adapter.Router, logger log.ContextL
network: service.FromContext[adapter.NetworkManager](ctx),
platformInterface: service.FromContext[platform.Interface](ctx),
server: server,
acceptRoutes: options.AcceptRoutes,
exitNode: options.ExitNode,
exitNodeAllowLANAccess: options.ExitNodeAllowLANAccess,
advertiseRoutes: options.AdvertiseRoutes,
@ -226,6 +228,10 @@ func (t *Endpoint) Start(stage adapter.StartStage) error {
localBackend := t.server.ExportLocalBackend()
perfs := &ipn.MaskedPrefs{
Prefs: ipn.Prefs{
RouteAll: t.acceptRoutes,
},
RouteAllSet: true,
ExitNodeIPSet: true,
AdvertiseRoutesSet: true,
}