Skip to content

Revise QQ group details in README_CN.md#1274

Merged
KKRainbow merged 1 commit intomainfrom
KKRainbow-patch-1
Aug 22, 2025
Merged

Revise QQ group details in README_CN.md#1274
KKRainbow merged 1 commit intomainfrom
KKRainbow-patch-1

Conversation

@KKRainbow
Copy link
Copy Markdown
Member

No description provided.

Copilot AI review requested due to automatic review settings August 22, 2025 04:43
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR updates the QQ group contact information in the Chinese README file, expanding from a single QQ group to three separate QQ groups with updated links.

  • Replaces single QQ group reference with three numbered QQ groups
  • Updates QQ group URLs to use the newer qm.qq.com/q/ format instead of the legacy qm.qq.com/cgi-bin/qm/qr format

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@KKRainbow KKRainbow merged commit 2e7e008 into main Aug 22, 2025
15 checks passed
@KKRainbow KKRainbow deleted the KKRainbow-patch-1 branch August 22, 2025 04:52
Zhao-Michael added a commit to Zhao-Michael/EasyTierLib that referenced this pull request Oct 8, 2025
* Update default_port and sni logic to improve reverse proxy reachability (EasyTier#947)

* remove LICENSE (EasyTier#950)

* Create LICENSE (EasyTier#951)

* kcp connect retry (EasyTier#952)

* fix(vpn-portal): wireguard peer table should be kept if the client roamed to another endpoint address (EasyTier#954)

* Web dual stack (EasyTier#953)

* reimplement easytier-web dual stack
* add protocol check for dual stack listener current only support tcp and udp

* Added RPC portal whitelist function, allowing only local access by default to enhance security (EasyTier#929)

* feat: allow using `--proxy-forward-by-system` together with `--enable-exit-node` (EasyTier#957)

* ipv4-peerid table should use peer with least hop (EasyTier#958)

sometimes route table may not be updated in time, so some dead nodes are still showing in the peer list.
when generating ipv4-peer table, we should avoid these dead devices overrides the entry of healthy nodes.

* add check for rpc packet fix EasyTier#963 (EasyTier#969)

* fix ospf route (EasyTier#970)

- **fix deadlock in ospf route introducd by EasyTier#958 **
- **use random peer id for foreign network entry, because ospf route algo need peer id change after peer info version reset. this may interfere route propagation and cause node residual**
- **allow multiple nodes broadcast same network ranges for subnet proxy**
- **bump version to v2.3.2**

* easytier-core支持多配置文件 (EasyTier#964)

* 将web和gui允许多网络实例逻辑抽离到NetworkInstanceManager中

* easytier-core支持多配置文件

* FFI复用instance manager

* 添加instance manager 单元测试

* internal stun server should use xor mapped addr (EasyTier#975)

* remove macos default route on utun device (EasyTier#976)

* support mapping subnet proxy (EasyTier#978)

- **support mapping subproxy network cidr**
- **add command line option for proxy network mapping**
- **fix Instance leak in tests.

* Fixed the issue where the GUI would panic after using InstanceManager (EasyTier#982)

Co-authored-by: Sijie.Sun <sunsijie@buaa.edu.cn>

* use bulk compress instead of streaming to reduce mem usage (EasyTier#985)

* Update core.yml,use upx4.2.4 (EasyTier#991)

* support quic proxy (EasyTier#993)

QUIC proxy works like kcp proxy, it can proxy TCP streams and transfer data with QUIC.
QUIC has better congestion algorithm (BBR) for network with both high loss rate and high bandwidth. 
QUIC proxy can be enabled by passing `--enable-quic-proxy` to easytier in the client side. The proxy status can be viewed by `easytier-cli proxy`.

* Add conversion method from TomlConfigLoader to NetworkConfig to enhance configuration experience (EasyTier#990)

* add method to create NetworkConfig from TomlConfigLoader
* allow web export/import toml config file and gui edit toml config
* Extract the configuration file dialog into a separate component and allow direct editing of the configuration file on the web

* add keepalive option for quic proxy (EasyTier#1008)

avoid connection loss when idle

* allow set machine uid with command line (EasyTier#1009)

* installing by homebrew should use easytier-gui (EasyTier#1004)

* Add is_hole_punched flag to PeerConn (EasyTier#1001)

* quic uses the bbr congestion control algorithm (EasyTier#1010)

* add bps limiter (EasyTier#1015)

* add token bucket
* remove quinn-proto

* bps limit should throttle kcp packet

* add api_meta.js to frontend public

* Implement custom fmt::Debug for some prost_build generated structs

Currently implemented for:
1. common.Ipv4Addr
2. common.Ipv6Addr
3. common.UUID

* simplify Textarea class in ConfigGenerator.vue

* add Windows Service install script

* fix uninstall.cmd (EasyTier#1036)

* blacklist the peers which disable p2p in hole-punching client (EasyTier#1038)

* limit max conn count in foreign network manager (EasyTier#1041)

* fix rpc_portal_whitelist from config file not working (EasyTier#1042)

* web improve (EasyTier#1047)

* add geo info for in web device list (EasyTier#1052)

* fix cargo install failure (EasyTier#1054)

* fix mem leak of token bucket (EasyTier#1055)

* allow set multithread count (EasyTier#1056)

* update gui placeholder text (EasyTier#1062)

* support ohos (EasyTier#974)

* support ohos

---------

Co-authored-by: FrankHan <2777926911@qq.com>

* Add support for IPv6 within VPN (EasyTier#1061)

* add flake.nix with nix based dev shell
* add support for IPv6
* update thunk

---------

Co-authored-by: sijie.sun <sijie.sun@smartx.com>

* use winapi to config ip and route (remove dep on netsh) (EasyTier#1079)

On some windows machines can not execut netsh.
Also this avoid black cmd window when using gui.

* exclude ohos from workspace (EasyTier#1080)

* contributing.md (EasyTier#1084)

* handle close peer conn correctly (EasyTier#1082)

* smoltcp use larger tx/rx buf size (EasyTier#1085)

* smoltcp use larger tx/rx buf size
* fix direct conn check

* fix incorrect config check (EasyTier#1086)

* chore(ci): update GitHub Actions (EasyTier#1088)

* chore(ci): update GitHub Actions
* update gradle-wrapper and revert UPX
* exclude cargo from dependabot and remove empty .gitmodules

* fix: cannot start gui on linux (EasyTier#1090)

* update readme (EasyTier#1102)

* socks5 and port forwarding (EasyTier#1118)

* add options to generate completions (EasyTier#1103)

* add options to generate completions

use clap-complete crate to generate completions scripts: easytier-core --generate fish > ~/.config/fish/completions/easytier-core.fish

---------

Co-authored-by: Sijie.Sun <sunsijie@buaa.edu.cn>

* Allows to modify Easytier's mapped listener at runtime via RPC (EasyTier#1107)

* Add proto definition
* Implement and register the corresponding rpc service
* Parse command line parameters and call remote rpc service

---------

Co-authored-by: Sijie.Sun <sunsijie@buaa.edu.cn>

* close peer conn if remote addr is from virtual network (EasyTier#1123)

* update issue template (EasyTier#1126)

* add disable ipv6 option to gui/web (EasyTier#1127)

* fix latency first route of public server (EasyTier#1129)

* add windows firewall for tun interface (EasyTier#1130)

allow all icmp/tcp/udp on tun interface.

* try create tun device if not exist (EasyTier#1131)

* reduce memory usage (EasyTier#1133)

Large memory usage comes from:

Mimalloc hold large thread cache, causing abort 13M+ usage.
QUIC endpoint occupy 3M when GRO is enabled.
Smoltcp 64 tcp listener use 2MB.

* fix bugs (EasyTier#1138)

1. avoid dns query hangs the thread
2. avoid deadloop when stun query failed because of no ipv4 addr.
3. make quic input error non-fatal.
4. remove ring tunnel from connection map to avoid mem leak.
5. limit listener retry count.

* Implement ACL (EasyTier#1140)

1. get acl stats
```
./easytier-cli acl stats
AclStats:
  Global:
    CacheHits: 4
    CacheMaxSize: 10000
    CacheSize: 5
    DefaultAllows: 3
    InboundPacketsAllowed: 2
    InboundPacketsTotal: 2
    OutboundPacketsAllowed: 7
    OutboundPacketsTotal: 7
    PacketsAllowed: 9
    PacketsTotal: 9
    RuleMatches: 2
  ConnTrack:
    [src: 10.14.11.1:57444, dst: 10.14.11.2:1000, proto: Tcp, state: New, pkts: 1, bytes: 60, created: 2025-07-24 10:13:39 +08:00, last_seen: 2025-07-24 10:13:39 +08:00]
  Rules:
    [name: 'tcp_whitelist', prio: 1000, action: Allow, enabled: true, proto: Tcp, ports: ["1000"], src_ports: [], src_ips: [], dst_ips: [], stateful: true, rate: 0, burst: 0] [pkts: 2, bytes: 120]

  ```
2. use tcp/udp whitelist to block unexpected traffic.
   `sudo ./easytier-core -d --tcp-whitelist 1000`

3. use complete acl ability with config file:

```
[[acl.acl_v1.chains]]
name = "inbound_whitelist"
chain_type = 1
description = "Auto-generated inbound whitelist from CLI"
enabled = true
default_action = 2

[[acl.acl_v1.chains.rules]]
name = "tcp_whitelist"
description = "Auto-generated TCP whitelist rule"
priority = 1000
enabled = true
protocol = 1
ports = ["1000"]
source_ips = []
destination_ips = []
source_ports = []
action = 1
rate_limit = 0
burst_limit = 0
stateful = true

```

* releases/v2.4.0 (EasyTier#1145)

* bump version to v2.4.0
* update tauri.
* allow try direct connect to public server

* support loongarch (EasyTier#1146)

* need encrypt rpc if dst is in peer map (EasyTier#1151)

* port range should not be converted to single port (EasyTier#1154)

* fix acl not work with kcp&quic (EasyTier#1152)

* avoid udp hole punch go through tun (EasyTier#1155)

* Add support for Linux RISC-V 64 (EasyTier#1159)

* chore: update flake configuration (EasyTier#1163)

* cli for port forward and tcp whitelist (EasyTier#1165)

* Some Improvements (EasyTier#1172)

1. do not exit when dns query failed on et startup.
2. do not send secret digest to client when secret mismatch.

* fix: compiling with socket2::Type::RAW not found on macOS EasyTier#1168 (EasyTier#1169)

* fix exit code when error occcurs (EasyTier#1173)

* fix macos elevate (EasyTier#1177)

* update readme (EasyTier#1181)

* fix readme assets (EasyTier#1182)

* bump version to 2.4.1

* fix ipv6 packet routing and avoid route looping

properly handle ipv6 link local address and exit node.

* cli: sort peers by IPv4 and hostname (EasyTier#1191)

* cli: sort entries by IPv4 and hostname

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix jemalloc prof feature (EasyTier#1201)

* fix dead loop in direct connecto if disable-p2p is enabled in dst (EasyTier#1206)

* add stats metrics (EasyTier#1207)

support new cli command `easytier-cli stats`

It's useful to find out which components are consuming bandwidth.

* add portforward config to gui (EasyTier#1198)

* Added port forwarding to the GUI interface
* Separated port forwarding into a separate drop-down menu

* optimize the condition of enabling kcp (EasyTier#1210)

* add FOREGROUND_SERVICE for no_tun mode, not using vpn service (EasyTier#1203)

1. add FOREGROUND_SERVICE related code, connection not to be **blocked by android system** when apps running in background
2. no_tun mode not enabling vpnservice, makeing other app to use vpnservice

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat(encrypt): Add XOR and ChaCha20 encryption with low-end device optimization and openssl support. (EasyTier#1186)

Add ChaCha20 XOR algorithm, extend AES-GCM-256 capabilities, and integrate OpenSSL support.

---------

Co-authored-by: Sijie.Sun <sunsijie@buaa.edu.cn>

* clippy all codes (EasyTier#1214)

1. clippy code
2. add fmt and clippy check in ci

* Update docker workflow (EasyTier#1217)

1. push all supported platform
2. support unstable tag

* fix quic transport panic (EasyTier#1216)

* bump version to 2.4.2 (EasyTier#1218)

* fix docker file (EasyTier#1219)

* Support custom STUN servers configuration (EasyTier#1212)

* Support custom STUN servers

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix proxy traffic not count into traffic (EasyTier#1229)



Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* add a android flake.nix for local development/test/build (EasyTier#1237)

* fix panic of std::Instant overflow (EasyTier#1243)

* Fix EasyTier#1255: Using mimalloc for Linux LoongArch64 (EasyTier#1257)

* feat(easytier-magisk): add support for custom command args. (EasyTier#1236)

* 增加magisk模块功能:热点局域网转发。 (EasyTier#1252)

* 增加magisk模块功能:热点局域网转发。该功能由后台监控,热点打开,可自动增加转发规则。在三星fold3测试通过。

* 增加了默认tun名称的识别

1.防止配置文件没有配置dev_name的情况,按默认名称tun+在网络设备中查找;
2.一旦热点关闭,自动删除规则。

* 考虑到主程序已可通过模块开关来重新加载,将操作按钮用于转发开关。此外对状态栏信息进行了一些修饰,加入了转发状态的显示。

* introduce uptime monitor for easytier public nodes (EasyTier#1250)

* fix dead lock in tokio smoltcp (EasyTier#1270)

* avoid panic on smoltcp socket accept (EasyTier#1272)

* Support tokio-console (EasyTier#1259)

* Update QQ Group contact information in README (EasyTier#1275)

* Revise QQ group details in README_CN.md (EasyTier#1274)

* cli: put the local IP at the front (EasyTier#1256)

* feat(acl): add group-based ACL rules and related structures (EasyTier#1265)

* feat(acl): add group-based ACL rules and related structures

* refactor(acl): optimize group handling with Arc and improve cache management

* refactor(acl): clippy

* feat(tests): add performance tests for generate_with_proof and verify methods

* feat: update group_trust_map to use HashMap for more secure group proofs

* refactor: refactor the logic of the trusted group getting and setting

* feat(acl): support kcp/quic use group acl

* feat(proxy): optimize group retrieval by IP in Kcp and Quic proxy handlers

* feat(tests): add group-based ACL tree node test

* always allow quic proxy traffic

---------

Co-authored-by: Sijie.Sun <sunsijie@buaa.edu.cn>
Co-authored-by: sijie.sun <sijie.sun@smartx.com>

* disable nat4 hole punch (EasyTier#1277)

* gui: sort peer list (EasyTier#1278)

* feat(nix): refactor Flake and Migrate Android Support (EasyTier#1280)

* fix kcp not work as expect (EasyTier#1285)

* retry create tun device if it closed (EasyTier#1279)

* make magic dns domain check robust (EasyTier#1288)

* tray: place the exit menu item at bottom (EasyTier#1291)

* fix quic transport (EasyTier#1293)

* bump version to 2.4.3 (EasyTier#1296)

* fix keepalive on accepted tcp proxy connection (EasyTier#1302)

* fix set ipv6 mtu may cause tun init error (EasyTier#1300)

* fix ospf route panic (EasyTier#1304)

* feat(gui): add macOS dock icon visibility control (EasyTier#1328)

* refactor: update custom STUN server settings (EasyTier#1310)

* refactor: update global context STUN server initialization

Modified global context initialization to use a single StunInfoCollector
instance with properly configured IPv4 and IPv6 servers instead of
creating separate instances.

feat: add IPv6 STUN server configuration support

Added interface methods and config struct fields to support both IPv4
and IPv6 STUN server configuration. Modified getter and setter methods
to handle Option<Vec<String>> type for both server types.

feat: enhance StunInfoCollector with IPv6 support

Updated StunInfoCollector to support both IPv4 and IPv6 STUN servers.
Added new constructor that accepts both server types and methods to set
them independently.

feat: add CLI argument for IPv6 STUN servers

Added command line argument support for configuring IPv6 STUN servers.
Updated configuration setup to handle both IPv4 and IPv6 STUN server
settings.

docs: add localization for STUN server configuration

Added English and Chinese localization strings for the new STUN server
configuration options, including both IPv4 and IPv6 variants.

* fix cli add port forward failed if initial forward list is empty (EasyTier#1324)

* add android jni (EasyTier#1340)

* core: hide default STUN servers from cli (EasyTier#1334)

* update readme to fix script installation command (EasyTier#1341)

* cli: improve peer table display with shorter columns for small display (EasyTier#1342)

- Add short column names for latency, loss rate, rx/tx bytes, tunnel protocol and NAT type
- Format loss rate as percentage with one decimal place
- Change table style from modern to markdown for better readability

* Fix jemalloc warning on macOS (EasyTier#1344)

fix:
```
-> % easytier-core
<jemalloc>: option background_thread currently supports pthread only
```

Reference: apache/arrow#5729

* fix foreign network direct conn with mapped listeners (EasyTier#1363)

* set correct route policy for udp/icmp (EasyTier#1361)

* fix ospf ipv4 map error when ipv4 conflicted and changed (EasyTier#1359)

* fix smoltcp attempt to subtract sequence numbers with underflow (EasyTier#1360)

* improve uptime (EasyTier#1365)

* Read config from stdin (EasyTier#1354)

* fix stun server list empty when config is from web (EasyTier#1371)

* fix networksetup timeout on some machine (EasyTier#1372)

* distinct v6 and v4 tunnel in gui and cli (EasyTier#1373)

* Add config validation flag (EasyTier#1376)

Add `--check-config` CLI option to validate configuration without
starting network

* avoid packets sending to non-exist peer causing route loop (EasyTier#1378)

* fix wireguard listener (EasyTier#1382)

* listen both v4 and v6 for wireguard portal
* fix panic when getting udp local addr

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* allow enable log with cli, limit log size (EasyTier#1384)

* impl logger rpc
* use size based appender
* add log args

* bump version to v2.4.4 (EasyTier#1386)

* fix log dir not work; fix stun config from file not work; (EasyTier#1393)

* fix macos bind failed when addr is v6 (EasyTier#1398)

* fix open log dir not work on gui (EasyTier#1403)

* fix firewall rule not specify interface (EasyTier#1407)

* fix socks5 panic (EasyTier#1409)

* add test for ipv6 wireguard vpn portal (EasyTier#1408)

* show traffic stats chart in web/gui (EasyTier#1410)

* Update hotspot_iprule.sh, Support subnet forward for usb shared network  (EasyTier#1411)

* bump version to v2.4.5

* 正确的hostname

* use cargo ndk in jni build script (EasyTier#1424)

* Update ohos-rs (EasyTier#1434)

* refactor(config): unify runtime configuration management via ConfigRpc (EasyTier#1397)

* refactor(config): unify runtime configuration management via ConfigRpc
* feat(tests): add config patch test and fix problem

* fix data not encrypted when no tun is enabled (EasyTier#1435)

* refactor: change magicdns to internal redirect (EasyTier#1428)

To resolve issue EasyTier#1419, DNS request packets are read directly and responses are sent back internally instead of being forwarded to the listening port.

The DNS service on fake_ip (100.100.100.101) no longer supports DNS-over-TCP.

Co-authored-by: Sijie.Sun <sunsijie@buaa.edu.cn>

* refactor(rpc): Centralize RPC service and unify API (EasyTier#1427)

This change introduces a major refactoring of the RPC service layer to improve modularity, unify the API, and simplify the overall architecture.

Key changes:
- Replaced per-network-instance RPC services with a single global RPC server, reducing resource usage and simplifying management.
- All clients (CLI, Web UI, etc.) now interact with EasyTier core through a unified RPC entrypoint, enabling consistent authentication and control.
- RPC implementation logic has been moved to `easytier/src/rpc_service/` and organized by functionality (e.g., `instance_manage.rs`, `peer_manage.rs`, `config.rs`) for better maintainability.
- Standardized Protobuf API definitions under `easytier/src/proto/` with an `api_` prefix (e.g., `cli.proto` → `api_instance.proto`) to provide a consistent interface.
- CLI commands now require explicit `--instance-id` or `--instance-name` when multiple network instances are running; the parameter is optional when only one instance exists.

BREAKING CHANGE:  
RPC portal configuration (`rpc_portal` and `rpc_portal_whitelist`) has been removed from per-instance configs and the Web UI. The RPC listen address must now be specified globally via the `--rpc-portal` command-line flag or the `ET_RPC_PORTAL` environment variable, as there is only one RPC service for the entire application.

* feat(ohos) build har package (EasyTier#1440)

Co-authored-by: niuhuan <20847533+niuhuan@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* use plist as macos service management config generator (EasyTier#1439)

* add tld-dns-zone for customizing top-level domain (TLD) zone (EasyTier#1436)

* refactor: get_running_info fn replace status polling with direct calls (EasyTier#1441)

* fix(ohrs): update collect_network_infos to use synchronous method (EasyTier#1444)

* fix(acl): acl group cache add self group info (EasyTier#1445)

---------

Co-authored-by: Zisu Zhang <thezzisu@gmail.com>
Co-authored-by: Sijie.Sun <sunsijie@buaa.edu.cn>
Co-authored-by: Kiva <imkiva@islovely.icu>
Co-authored-by: BlackLuny <602814112@qq.com>
Co-authored-by: Mg Pig <w2xzzpig@hotmail.com>
Co-authored-by: tianxiayu007 <1083010692@qq.com>
Co-authored-by: liusen373 <52489720+liusen373@users.noreply.github.com>
Co-authored-by: chenxudong2020 <872603935@qq.com>
Co-authored-by: sijie.sun <sijie.sun@smartx.com>
Co-authored-by: dawn-lc <30336566+dawn-lc@users.noreply.github.com>
Co-authored-by: 韩嘉乐 <2382008060@qq.com>
Co-authored-by: FrankHan <2777926911@qq.com>
Co-authored-by: DavHau <hsngrmpf+github@gmail.com>
Co-authored-by: Rene Leonhardt <65483435+reneleonhardt@users.noreply.github.com>
Co-authored-by: lazebird <lazebird@163.com>
Co-authored-by: Jiangqiu Shen <ivy22233qiu@live.com>
Co-authored-by: Glavo <zjx001202@gmail.com>
Co-authored-by: Tunglies <tunglies.dev@outlook.com>
Co-authored-by: fanyang <fanyang89@outlook.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: FuturePrayer <sihuangwlp@petalmail.com>
Co-authored-by: 21paradox <wz@mail.21paradox.top>
Co-authored-by: CyiceK <36905062+CyiceK@users.noreply.github.com>
Co-authored-by: TigerBeanst <3889846+TigerBeanst@users.noreply.github.com>
Co-authored-by: ThermalEng <38897886+ThermalEng@users.noreply.github.com>
Co-authored-by: Joel Stodolski <57739515+wuhao1477@users.noreply.github.com>
Co-authored-by: R0S <41138521+iamr0s@users.noreply.github.com>
Co-authored-by: Luna Yao <40349250+ZnqbuZ@users.noreply.github.com>
Co-authored-by: niuhuan <niuhuan@users.noreply.github.com>
Co-authored-by: niuhuan <20847533+niuhuan@users.noreply.github.com>
Co-authored-by: 阿瓦 <41805937+Ahua9527@users.noreply.github.com>
Co-authored-by: agusti moll <agusti@biruji.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants