Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
168 commits
Select commit Hold shift + click to select a range
d34a517
Update default_port and sni logic to improve reverse proxy reachabili…
thezzisu Jun 7, 2025
6d88b10
remove LICENSE (#950)
KKRainbow Jun 7, 2025
47f3efe
Create LICENSE (#951)
KKRainbow Jun 7, 2025
f890812
kcp connect retry (#952)
KKRainbow Jun 7, 2025
3c78376
fix(vpn-portal): wireguard peer table should be kept if the client ro…
imkiva Jun 7, 2025
707963c
Web dual stack (#953)
BlackLuny Jun 7, 2025
20a6025
Added RPC portal whitelist function, allowing only local access by de…
xzzpig Jun 7, 2025
ec56c0b
feat: allow using `--proxy-forward-by-system` together with `--enable…
imkiva Jun 7, 2025
f39fbb2
ipv4-peerid table should use peer with least hop (#958)
KKRainbow Jun 8, 2025
ecebbec
add check for rpc packet fix #963 (#969)
BlackLuny Jun 9, 2025
870353c
fix ospf route (#970)
KKRainbow Jun 11, 2025
8ddd153
easytier-core支持多配置文件 (#964)
xzzpig Jun 11, 2025
c07d128
internal stun server should use xor mapped addr (#975)
KKRainbow Jun 12, 2025
950cb04
remove macos default route on utun device (#976)
KKRainbow Jun 12, 2025
25dcdc6
support mapping subnet proxy (#978)
KKRainbow Jun 14, 2025
b407cfd
Fixed the issue where the GUI would panic after using InstanceManager…
xzzpig Jun 14, 2025
0bab14c
use bulk compress instead of streaming to reduce mem usage (#985)
KKRainbow Jun 14, 2025
5a98fac
Update core.yml,use upx4.2.4 (#991)
KKRainbow Jun 14, 2025
40b5fe9
support quic proxy (#993)
KKRainbow Jun 15, 2025
ed162c2
Add conversion method from TomlConfigLoader to NetworkConfig to enhan…
xzzpig Jun 15, 2025
34ba0bc
add keepalive option for quic proxy (#1008)
KKRainbow Jun 17, 2025
8c2f96d
allow set machine uid with command line (#1009)
KKRainbow Jun 18, 2025
327ccdc
installing by homebrew should use easytier-gui (#1004)
tianxiayu007 Jun 18, 2025
72673a9
Add is_hole_punched flag to PeerConn (#1001)
liusen373 Jun 18, 2025
72d5ed9
quic uses the bbr congestion control algorithm (#1010)
Jun 18, 2025
40601bd
add bps limiter (#1015)
KKRainbow Jun 19, 2025
dde7a4d
bps limit should throttle kcp packet
KKRainbow Jun 19, 2025
e1bfec6
add api_meta.js to frontend public
KKRainbow Jun 19, 2025
95e4e5a
Implement custom fmt::Debug for some prost_build generated structs
liusen373 Jun 21, 2025
385e790
simplify Textarea class in ConfigGenerator.vue
xzzpig Jun 20, 2025
16f6fb0
add Windows Service install script
dawn-lc Jun 21, 2025
09ac79b
fix uninstall.cmd (#1036)
dawn-lc Jun 22, 2025
762d5cd
blacklist the peers which disable p2p in hole-punching client (#1038)
KKRainbow Jun 22, 2025
fded8b1
limit max conn count in foreign network manager (#1041)
KKRainbow Jun 22, 2025
760a1e6
fix rpc_portal_whitelist from config file not working (#1042)
xzzpig Jun 22, 2025
ae4a158
web improve (#1047)
KKRainbow Jun 24, 2025
ebab70c
add geo info for in web device list (#1052)
KKRainbow Jun 25, 2025
4fd0253
fix cargo install failure (#1054)
KKRainbow Jun 25, 2025
cd26d9f
fix mem leak of token bucket (#1055)
KKRainbow Jun 25, 2025
70e69a3
allow set multithread count (#1056)
KKRainbow Jun 25, 2025
bf021a9
update gui placeholder text (#1062)
KKRainbow Jun 27, 2025
01e491e
support ohos (#974)
FrankHan052176 Jul 2, 2025
d0cfc49
Add support for IPv6 within VPN (#1061)
DavHau Jul 4, 2025
a4bb555
use winapi to config ip and route (remove dep on netsh) (#1079)
KKRainbow Jul 5, 2025
139f6b3
exclude ohos from workspace (#1080)
KKRainbow Jul 5, 2025
ac3e994
contributing.md (#1084)
KKRainbow Jul 5, 2025
f85b031
handle close peer conn correctly (#1082)
KKRainbow Jul 6, 2025
3c65594
smoltcp use larger tx/rx buf size (#1085)
KKRainbow Jul 6, 2025
13c2e72
fix incorrect config check (#1086)
KKRainbow Jul 6, 2025
c3a217c
chore(ci): update GitHub Actions (#1088)
reneleonhardt Jul 7, 2025
0025973
fix: cannot start gui on linux (#1090)
lazebird Jul 7, 2025
3f6c7ba
update readme (#1102)
KKRainbow Jul 9, 2025
940238f
socks5 and port forwarding (#1118)
KKRainbow Jul 17, 2025
0b729b9
add options to generate completions (#1103)
shenjiangqiu Jul 17, 2025
0427b48
Allows to modify Easytier's mapped listener at runtime via RPC (#1107)
liusen373 Jul 17, 2025
7f3a9c0
close peer conn if remote addr is from virtual network (#1123)
KKRainbow Jul 17, 2025
1fb5ca9
update issue template (#1126)
KKRainbow Jul 18, 2025
e25cd9b
add disable ipv6 option to gui/web (#1127)
KKRainbow Jul 19, 2025
85f0091
fix latency first route of public server (#1129)
KKRainbow Jul 19, 2025
50c6f5a
add windows firewall for tun interface (#1130)
KKRainbow Jul 19, 2025
2660ed5
try create tun device if not exist (#1131)
KKRainbow Jul 19, 2025
876d550
reduce memory usage (#1133)
KKRainbow Jul 20, 2025
4f53fcc
fix bugs (#1138)
KKRainbow Jul 21, 2025
8e7a8de
Implement ACL (#1140)
KKRainbow Jul 24, 2025
1f6a715
releases/v2.4.0 (#1145)
KKRainbow Jul 24, 2025
975b4e7
support loongarch (#1146)
KKRainbow Jul 24, 2025
33ff955
need encrypt rpc if dst is in peer map (#1151)
KKRainbow Jul 25, 2025
5409c5b
port range should not be converted to single port (#1154)
KKRainbow Jul 26, 2025
354a4e1
fix acl not work with kcp&quic (#1152)
KKRainbow Jul 26, 2025
7dc5988
avoid udp hole punch go through tun (#1155)
KKRainbow Jul 26, 2025
e70eed7
Add support for Linux RISC-V 64 (#1159)
Glavo Jul 27, 2025
5514de1
chore: update flake configuration (#1163)
xzzpig Jul 28, 2025
2ec88da
cli for port forward and tcp whitelist (#1165)
KKRainbow Jul 29, 2025
3d610c0
Some Improvements (#1172)
KKRainbow Jul 29, 2025
b1b2421
fix: compiling with socket2::Type::RAW not found on macOS #1168 (#1169)
Tunglies Jul 29, 2025
583c768
fix exit code when error occcurs (#1173)
KKRainbow Jul 30, 2025
43b9e6e
fix macos elevate (#1177)
KKRainbow Aug 1, 2025
4fca0f4
update readme (#1181)
KKRainbow Aug 1, 2025
9eddb4b
fix readme assets (#1182)
KKRainbow Aug 1, 2025
84bfac1
bump version to 2.4.1
KKRainbow Aug 1, 2025
d0a6c93
fix ipv6 packet routing and avoid route looping
KKRainbow Aug 3, 2025
e3e406d
cli: sort peers by IPv4 and hostname (#1191)
fanyang89 Aug 4, 2025
6d14e9e
fix jemalloc prof feature (#1201)
KKRainbow Aug 8, 2025
efa17a7
fix dead loop in direct connecto if disable-p2p is enabled in dst (#1…
KKRainbow Aug 8, 2025
8cdb27d
add stats metrics (#1207)
KKRainbow Aug 8, 2025
37b2416
add portforward config to gui (#1198)
FuturePrayer Aug 9, 2025
8ffc2f1
optimize the condition of enabling kcp (#1210)
KKRainbow Aug 9, 2025
7de4b33
add FOREGROUND_SERVICE for no_tun mode, not using vpn service (#1203)
21paradox Aug 9, 2025
0087ac3
feat(encrypt): Add XOR and ChaCha20 encryption with low-end device op…
CyiceK Aug 9, 2025
e435379
clippy all codes (#1214)
KKRainbow Aug 10, 2025
975ca8b
Update docker workflow (#1217)
KKRainbow Aug 10, 2025
1de7777
fix quic transport panic (#1216)
KKRainbow Aug 11, 2025
1eec27b
bump version to 2.4.2 (#1218)
KKRainbow Aug 11, 2025
a511abb
fix docker file (#1219)
KKRainbow Aug 11, 2025
35ff9b8
Support custom STUN servers configuration (#1212)
fanyang89 Aug 13, 2025
d9bcbd9
fix proxy traffic not count into traffic (#1229)
KKRainbow Aug 13, 2025
4d240ef
add a android flake.nix for local development/test/build (#1237)
21paradox Aug 15, 2025
fa3e208
fix panic of std::Instant overflow (#1243)
KKRainbow Aug 15, 2025
489661a
Fix #1255: Using mimalloc for Linux LoongArch64 (#1257)
Glavo Aug 18, 2025
c37af8c
feat(easytier-magisk): add support for custom command args. (#1236)
TigerBeanst Aug 18, 2025
8f37d4e
增加magisk模块功能:热点局域网转发。 (#1252)
ThermalEng Aug 20, 2025
e6ec7f4
introduce uptime monitor for easytier public nodes (#1250)
KKRainbow Aug 20, 2025
9c6d1da
fix dead lock in tokio smoltcp (#1270)
KKRainbow Aug 20, 2025
839a28a
avoid panic on smoltcp socket accept (#1272)
KKRainbow Aug 21, 2025
df7eb47
Support tokio-console (#1259)
fanyang89 Aug 21, 2025
d23366e
Update QQ Group contact information in README (#1275)
KKRainbow Aug 22, 2025
2e7e008
Revise QQ group details in README_CN.md (#1274)
KKRainbow Aug 22, 2025
34560af
cli: put the local IP at the front (#1256)
fanyang89 Aug 22, 2025
08a92a5
feat(acl): add group-based ACL rules and related structures (#1265)
xzzpig Aug 22, 2025
5b7384f
disable nat4 hole punch (#1277)
KKRainbow Aug 22, 2025
78004de
gui: sort peer list (#1278)
fanyang89 Aug 23, 2025
9304d3b
feat(nix): refactor Flake and Migrate Android Support (#1280)
xzzpig Aug 23, 2025
ea76114
fix kcp not work as expect (#1285)
KKRainbow Aug 24, 2025
0804fd6
retry create tun device if it closed (#1279)
KKRainbow Aug 24, 2025
3299a77
make magic dns domain check robust (#1288)
KKRainbow Aug 24, 2025
e29206a
tray: place the exit menu item at bottom (#1291)
fanyang89 Aug 25, 2025
671b8d5
fix quic transport (#1293)
KKRainbow Aug 26, 2025
719a1fe
bump version to 2.4.3 (#1296)
KKRainbow Aug 26, 2025
0ceb585
fix keepalive on accepted tcp proxy connection (#1302)
KKRainbow Aug 26, 2025
a3806e0
fix set ipv6 mtu may cause tun init error (#1300)
KKRainbow Aug 27, 2025
2145ef4
fix ospf route panic (#1304)
KKRainbow Aug 27, 2025
754439f
feat(gui): add macOS dock icon visibility control (#1328)
wuhao1477 Sep 2, 2025
b87a05b
refactor: update custom STUN server settings (#1310)
fanyang89 Sep 2, 2025
ef33098
fix cli add port forward failed if initial forward list is empty (#1324)
KKRainbow Sep 2, 2025
b750faa
add android jni (#1340)
KKRainbow Sep 6, 2025
088155f
core: hide default STUN servers from cli (#1334)
fanyang89 Sep 6, 2025
18bd178
update readme to fix script installation command (#1341)
KKRainbow Sep 6, 2025
525dfd9
cli: improve peer table display with shorter columns for small displa…
fanyang89 Sep 8, 2025
ae704d1
Fix jemalloc warning on macOS (#1344)
fanyang89 Sep 8, 2025
d0efc40
fix foreign network direct conn with mapped listeners (#1363)
KKRainbow Sep 13, 2025
eb42086
set correct route policy for udp/icmp (#1361)
KKRainbow Sep 13, 2025
793889c
fix ospf ipv4 map error when ipv4 conflicted and changed (#1359)
KKRainbow Sep 13, 2025
5c90431
fix smoltcp attempt to subtract sequence numbers with underflow (#1360)
KKRainbow Sep 13, 2025
b540ec3
improve uptime (#1365)
KKRainbow Sep 13, 2025
445e68d
Read config from stdin (#1354)
fanyang89 Sep 13, 2025
757d76c
fix stun server list empty when config is from web (#1371)
KKRainbow Sep 15, 2025
3593035
fix networksetup timeout on some machine (#1372)
KKRainbow Sep 15, 2025
802d3f7
distinct v6 and v4 tunnel in gui and cli (#1373)
KKRainbow Sep 15, 2025
9fff5e4
Add config validation flag (#1376)
fanyang89 Sep 16, 2025
215db09
avoid packets sending to non-exist peer causing route loop (#1378)
KKRainbow Sep 17, 2025
56fd6e4
fix wireguard listener (#1382)
KKRainbow Sep 17, 2025
e06e8a9
allow enable log with cli, limit log size (#1384)
KKRainbow Sep 18, 2025
1a1be81
bump version to v2.4.4 (#1386)
KKRainbow Sep 18, 2025
c9e8c35
fix log dir not work; fix stun config from file not work; (#1393)
KKRainbow Sep 19, 2025
a102a8b
fix macos bind failed when addr is v6 (#1398)
KKRainbow Sep 21, 2025
4445916
fix open log dir not work on gui (#1403)
KKRainbow Sep 21, 2025
7035a3f
fix firewall rule not specify interface (#1407)
KKRainbow Sep 24, 2025
67abf44
fix socks5 panic (#1409)
KKRainbow Sep 25, 2025
7a69425
add test for ipv6 wireguard vpn portal (#1408)
KKRainbow Sep 25, 2025
f5ba5bb
show traffic stats chart in web/gui (#1410)
KKRainbow Sep 25, 2025
835cd40
Update hotspot_iprule.sh, Support subnet forward for usb shared netwo…
ThermalEng Sep 25, 2025
c0d2045
bump version to v2.4.5
KKRainbow Sep 25, 2025
00fd02c
正确的hostname
iamr0s Sep 26, 2025
e9b4dbc
use cargo ndk in jni build script (#1424)
KKRainbow Sep 28, 2025
4d91582
Update ohos-rs (#1434)
FrankHan052176 Sep 30, 2025
020bf04
refactor(config): unify runtime configuration management via ConfigRp…
xzzpig Sep 30, 2025
971ef82
fix data not encrypted when no tun is enabled (#1435)
KKRainbow Oct 1, 2025
d2efbbe
refactor: change magicdns to internal redirect (#1428)
ZnqbuZ Oct 2, 2025
841d525
refactor(rpc): Centralize RPC service and unify API (#1427)
xzzpig Oct 2, 2025
92fab5a
feat(ohos) build har package (#1440)
niuhuan Oct 2, 2025
ad7dc3a
use plist as macos service management config generator (#1439)
Ahua9527 Oct 3, 2025
5e48626
add tld-dns-zone for customizing top-level domain (TLD) zone (#1436)
agustim Oct 3, 2025
4d5330f
refactor: get_running_info fn replace status polling with direct call…
xzzpig Oct 4, 2025
a452c34
fix(ohrs): update collect_network_infos to use synchronous method (#1…
xzzpig Oct 4, 2025
af95312
fix(acl): acl group cache add self group info (#1445)
xzzpig Oct 7, 2025
517c3b5
Merge branch 'main' of https://github.com/EasyTier/EasyTier into Easy…
Zhao-Michael Oct 8, 2025
0a324bc
Merge branch 'EasyTier-main' into dev
Zhao-Michael Oct 8, 2025
04f706a
Merge branch 'dev' of https://github.com/Zhao-Michael/EasyTier into dev
Zhao-Michael Oct 8, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .envrc
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
use flake
PROFILE=$(cat .flake-profile 2>/dev/null)
use flake .#${PROFILE}
15 changes: 7 additions & 8 deletions .github/origin_wfs/core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -154,14 +154,13 @@ jobs:
name: easytier-web-dashboard
path: easytier-web/frontend/dist/

- name: Cargo cache
- uses: Swatinem/rust-cache@v2
if: ${{ ! endsWith(matrix.TARGET, 'freebsd') }}
uses: actions/cache@v4
with:
path: |
~/.cargo
./target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
# The prefix cache key, this can be changed to start a new cache manually.
# default: "v0-rust"
prefix-key: ""


- name: Setup protoc
uses: arduino/setup-protoc@v3
Expand All @@ -187,12 +186,12 @@ jobs:
fi

if [[ $OS =~ ^ubuntu.*$ && $TARGET =~ ^mips.*$ ]]; then
cargo +nightly build -r --target $TARGET -Z build-std=std,panic_abort --package=easytier --features=jemalloc
cargo +nightly-2025-09-01 build -r --target $TARGET -Z build-std=std,panic_abort --package=easytier --features=jemalloc
else
if [[ $OS =~ ^windows.*$ ]]; then
SUFFIX=.exe
CORE_FEATURES="--features=mimalloc"
elif [[ $TARGET =~ ^riscv64.*$ ]]; then
elif [[ $TARGET =~ ^riscv64.*$ || $TARGET =~ ^loongarch64.*$ ]]; then
CORE_FEATURES="--features=mimalloc"
else
CORE_FEATURES="--features=jemalloc"
Expand Down
2 changes: 1 addition & 1 deletion .github/origin_wfs/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ on:
image_tag:
description: 'Tag for this image build'
type: string
default: 'v2.4.2'
default: 'v2.4.5'
required: true
mark_latest:
description: 'Mark this image as latest'
Expand Down
12 changes: 5 additions & 7 deletions .github/origin_wfs/gui.yml
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ jobs:
sudo apt install aptitude
sudo aptitude install -y libgstreamer1.0-0:arm64 gstreamer1.0-plugins-base:arm64 gstreamer1.0-plugins-good:arm64 \
libgstreamer-gl1.0-0:arm64 libgstreamer-plugins-base1.0-0:arm64 libgstreamer-plugins-good1.0-0:arm64 libwebkit2gtk-4.1-0:arm64 \
libwebkit2gtk-4.1-dev:arm64 libssl-dev:arm64 gcc-aarch64-linux-gnu
libwebkit2gtk-4.1-dev:arm64 libssl-dev:arm64 gcc-aarch64-linux-gnu libsoup-3.0-dev:arm64 libjavascriptcoregtk-4.1-dev:arm64
echo "PKG_CONFIG_SYSROOT_DIR=/usr/aarch64-linux-gnu/" >> "$GITHUB_ENV"
echo "PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig/" >> "$GITHUB_ENV"

Expand Down Expand Up @@ -151,13 +151,11 @@ jobs:
pnpm -r install
pnpm -r build

- name: Cargo cache
uses: actions/cache@v4
- uses: Swatinem/rust-cache@v2
with:
path: |
~/.cargo
./target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
# The prefix cache key, this can be changed to start a new cache manually.
# default: "v0-rust"
prefix-key: ""

- name: Install rust target
run: bash ./.github/workflows/install_rust.sh
Expand Down
4 changes: 2 additions & 2 deletions .github/origin_wfs/install_rust.sh
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,8 @@ if [[ $OS =~ ^ubuntu.*$ && $TARGET =~ ^mips.*$ ]]; then
ar x libgcc.a _ctzsi2.o _clz.o _bswapsi2.o
ar rcs libctz.a _ctzsi2.o _clz.o _bswapsi2.o

rustup toolchain install nightly-x86_64-unknown-linux-gnu
rustup component add rust-src --toolchain nightly-x86_64-unknown-linux-gnu
rustup toolchain install nightly-2025-09-01-x86_64-unknown-linux-gnu
rustup component add rust-src --toolchain nightly-2025-09-01-x86_64-unknown-linux-gnu

# https://github.com/rust-lang/rust/issues/128808
# remove it after Cargo or rustc fix this.
Expand Down
10 changes: 4 additions & 6 deletions .github/origin_wfs/mobile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -98,13 +98,11 @@ jobs:
pnpm -r install
pnpm -r build

- name: Cargo cache
uses: actions/cache@v4
- uses: Swatinem/rust-cache@v2
with:
path: |
~/.cargo
./target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
# The prefix cache key, this can be changed to start a new cache manually.
# default: "v0-rust"
prefix-key: ""

- name: Install rust target
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/origin_wfs/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ on:
version:
description: 'Version for this release'
type: string
default: 'v2.4.2'
default: 'v2.4.5'
required: true
make_latest:
description: 'Mark this release as latest'
Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ target-*/
.vscode
.idea
/.direnv/
/.direnv/

# perf & flamegraph
perf.data
Expand Down Expand Up @@ -41,6 +42,6 @@ easytier-gui/src-tauri/*.dll
/easytier-contrib/easytier-ohrs/dist/

.direnv

.flake-profile
et.db*
/easytier/config.toml
Loading