Luna Yao
b7677031cb
zone: fallthrough policy
...
heartbeat test
try_from
2026-04-30 18:56:00 +02:00
Luna Yao
92af568d8b
config: rewrite
...
test
test
origin
test
test
2026-04-29 11:44:22 +02:00
Luna Yao
7d536d3353
remove address hijack
2026-04-28 05:12:27 +02:00
Luna Yao
0f4003245b
Merge branch 'main' into feat/dns-policy
...
# Conflicts:
# easytier/src/common/config.rs
# easytier/src/common/dns.rs
# easytier/src/common/mod.rs
# easytier/src/core.rs
# easytier/src/instance/instance.rs
# easytier/src/launcher.rs
# easytier/src/peers/peer_ospf_route.rs
# easytier/src/proto/peer_rpc.proto
# easytier/src/utils/task.rs
2026-04-27 17:16:43 +02:00
Luna Yao
d5c4700d32
utils: replace defer, ContextGuard, DetachableTask with guarden crate ( #2163 )
2026-04-27 18:29:46 +08:00
KKRainbow and Claude Opus 4.7
8f862997eb
feat: support allocating public IPv6 addresses from a provider ( #2162 )
...
* feat: support allocating public IPv6 addresses from a provider
Add a provider/leaser architecture for public IPv6 address allocation
between nodes in the same network:
- A node with `--ipv6-public-addr-provider` advertises a delegable
public IPv6 prefix (auto-detected from kernel routes or manually
configured via `--ipv6-public-addr-prefix`).
- Other nodes with `--ipv6-public-addr-auto` request a /128 lease from
the selected provider via a new RPC service (PublicIpv6AddrRpc).
- Leases have a 30s TTL, renewed every 10s by the client routine.
- The provider allocates addresses deterministically from its prefix
using instance-UUID-based hashing to prefer stable assignments.
- Routes to peer leases are installed on the TUN device, and each
client's own /128 is assigned as its IPv6 address.
Also includes netlink IPv6 route table inspection, integration tests,
and event-driven route/address reconciliation.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-04-26 21:37:34 +08:00
Luna Yao
5a1668c753
refactor: remove ScopedTask ( #2125 )
...
* replace ScopedTask with AbortOnDropHandle
2026-04-25 15:20:25 +08:00
KKRainbow
4688ad74ad
Honor credential reusable flag ( #2157 )
...
- propagate reusable through credential storage, CLI, RPC, routing, and tests
- enforce reusable=false owner election with current topology
- preserve proof-backed groups when refreshing credential ACL groups
2026-04-25 00:22:40 +08:00
KKRainbow
958b246f05
improve webclient ( #2151 )
2026-04-23 13:44:18 +08:00
Debugger Chen
5cd0a3e846
feat: add upnp support ( #1449 )
2026-04-21 17:19:04 +08:00
Luna Yao
11626d8082
remove id from zone
2026-04-19 02:17:50 +02:00
Luna Yao
cbb966d57c
remove fqdn from DnsExportConfig
2026-04-19 00:34:57 +02:00
Luna Yao
c71ab7543f
remove accept_dns
2026-04-18 21:26:30 +02:00
Mg Pig
c49c56612b
feat(ui): add ACL graphical configuration interface ( #1815 )
2026-04-18 20:23:53 +08:00
Luna Yao
bc86917dea
add fallthrough flag
...
zone
test log
2026-04-18 04:18:31 +02:00
Luna Yao
a60f101bda
merge
2026-04-17 17:45:43 +02:00
Luna Yao
6b01554c17
Merge branch 'main' into feat/dns-policy
...
# Conflicts:
# easytier/src/common/log.rs
# easytier/src/connector/dns_connector.rs
# easytier/src/dns/system/windows.rs
# easytier/src/gateway/socks5.rs
# easytier/src/instance/dns_server/server.rs
# easytier/src/instance/dns_server/server_instance.rs
# easytier/src/instance/instance.rs
# easytier/src/peers/peer_manager.rs
# easytier/src/peers/peer_ospf_route.rs
# easytier/src/proto/utils.rs
# easytier/src/tunnel/common.rs
# easytier/src/utils/panic.rs
2026-04-17 17:16:55 +02:00
Luna Yao
82ca04a8a7
proto(utils): add MessageModel & RepeatedMessageModel ( #2068 )
...
* add FromIterator, Extend, AsRef, AsMut, TryFrom<[Message]>
2026-04-15 19:40:09 +08:00
Luna Yao
2ef3b72224
proto: add some conversion for Url ( #2067 )
2026-04-15 19:39:24 +08:00
KKRainbow
5b35c51da9
fix packet split on udp tunnel and avoid tcp proxy access rpc portal ( #2107 )
...
* distinct control / data when forward packets
* fix rpc split for udp tunnel
* feat(easytier-web): pass public ip in validate token webhook
* protect rpc port from subnet proxy
2026-04-13 11:03:09 +08:00
Luna Yao
a879dd1b14
chore: update Rust to 2024 edition ( #2066 )
2026-04-10 00:22:12 +08:00
Luna Yao
371b4b70a3
proto(utils): add TransientDigest trait ( #2071 )
2026-04-08 00:06:48 +08:00
Luna Yao
5a8a1d3e6b
disallow some methods from itertools
2026-04-06 18:28:30 +02:00
Luna Yao
c8697e76b4
remove magic-dns proto
...
rm magic dns
rm magic dns
2026-04-06 11:54:50 +02:00
Luna Yao
56f430bf10
add ttl to ZoneData
2026-04-06 11:54:50 +02:00
Luna Yao
d9d211c5a4
remove old magic-dns
2026-04-06 11:54:47 +02:00
Luna Yao
f5d3443928
client: rename to node
2026-04-06 11:54:01 +02:00
Luna Yao
dc1e1929c8
client_mgr: add
...
format
client_mgr
2026-04-06 11:54:01 +02:00
Luna Yao
4a18a86ed6
proto: rename DnsPeerMgrRpc
2026-04-06 11:54:01 +02:00
Luna Yao
87713e96b7
chore: move all config to a dedicated mod
2026-04-06 11:54:01 +02:00
Luna Yao
0fdfbc2636
utils: use itertools
...
utils
2026-04-06 11:54:01 +02:00
Luna Yao
e0897dcf99
proto: add update method to HeartbeatRequest
2026-04-06 11:54:01 +02:00
Luna Yao
129f696a65
proto: remove ttl from ZoneData
2026-04-06 11:54:01 +02:00
Luna Yao
90409bfcaa
utils: use itertools
2026-04-06 11:54:01 +02:00
Luna Yao
85c06b0758
proto: rename ZoneConfigPb to ZoneData
2026-04-06 11:54:01 +02:00
Luna Yao
863fc6f4cc
utils: add MapTryInto
2026-04-06 11:54:01 +02:00
Luna Yao
de84adb3a6
zone: add id to display
2026-04-06 11:54:01 +02:00
Luna Yao
a9dc19ce76
proto: update Url conversion
...
url
url
fix url conversion
2026-04-06 11:54:01 +02:00
Luna Yao
8076734cd4
utils: add RepeatedMessageModel
2026-04-06 11:54:01 +02:00
Luna Yao
888bec6eac
utils: move DeterministicDigest to utils
2026-04-06 11:54:01 +02:00
Luna Yao
2e68a8db91
client: rewrite heartbeat, add resync
2026-04-06 11:54:01 +02:00
Luna Yao
7f8f036596
client: add DnsPeerManager and rpc
2026-04-06 11:54:01 +02:00
Luna Yao
c4cf8cf1d8
rpc: let peers generate their own dedicated zones
2026-04-06 11:54:01 +02:00
Luna Yao
2b5b80e179
client: framework
2026-04-06 11:54:01 +02:00
Luna Yao
83bdcf0d2b
rpc: add digest
2026-04-06 11:54:01 +02:00
Luna Yao
78b2afb785
config: add DNS import/export policies
...
config: move ID generation to ZoneConfig
config: serde fixes
2026-04-06 11:54:01 +02:00
Luna Yao
b24bb42faa
add dns to RoutePeerInfo
2026-04-06 11:54:01 +02:00
Luna Yao
3f3aec8edd
add DnsConfig and ZoneConfig with proto definitions
2026-04-06 11:54:01 +02:00
fanyang
cf6dcbc054
Fix IPv6 TCP tunnel display formatting ( #1980 )
...
Normalize composite tunnel display values before rendering peer and
debug output so IPv6 tunnel types no longer append `6` to the port.
- Preserve prefixes like `txt-` while converting tunnel schemes to
their IPv6 form.
- Recover malformed values such as `txt-tcp://...:110106` into
`txt-tcp6://...:11010`.
- Reuse the normalized remote address display in CLI debug output.
2026-04-05 22:12:55 +08:00
KKRainbow
fb59f01058
fix: reconcile webhook-managed configs and make disable_p2p more intelligent ( #2057 )
...
* reconcile infra configs on webhook validate
* make disable_p2p more intelligent
* fix stats
2026-04-04 23:41:57 +08:00