Commit Graph
703 Commits
Author SHA1 Message Date
lbl bd79844849 修复 Web 静态资源目录穿越
static_handler 此前直接 join 未归一化的 URI 路径,
curl --path-as-is .../../../ 可读取进程权限内任意文件。
改为逐组件校验:仅允许 Normal/CurDir 组件,拒绝 ..、根路径、盘符。
补充路径校验单元测试。
2026-08-20 22:16:01 +08:00
lbl bf2458d464 修复 JNI 建网后 TaskGroupGuard 被立即 drop 导致网络建完即死
TaskGroupGuard drop 会停止整个任务组且后续 spawn 静默失败。此前
nativeCreateNetwork 中 guard 在闭包结束即被释放:注册虽返回成功,
但数据处理任务根本不会启动,VPN 完全不通。

- GlobalState 增加 task_group_guards,guard 随实例持有
- nativeStop 中最后释放 guard;nativeDestroy 整体析构时随之释放
2026-08-20 21:57:33 +08:00
lbl 1ff7405681 修复 register/start_tun 失败后不可重试
- register 拆出 register_impl,Err 时归还 RegistrationContext,
  调用方(CLI/Web 的 5 秒重试循环)不再得到 'can only be called once'
- DeviceIoManager::start_task 改为先创建 tun 设备(唯一可能失败的步骤),
  成功后才消费 TunReceiver/EnhancedOutbound,失败时调用方状态完整可重试
2026-08-20 21:54:27 +08:00
lbl 6489237233 修复空载荷包越界 panic 杀死数据面任务
对端构造的零载荷包(头部长度恰好等于 HEAD_LENGTH)会使
TunDataInbound/InternalNatInbound 的 data[0] 索引越界 panic,
tokio 任务终止后连接永久静默死亡。两处 send 均增加空切片检查,
畸形包静默丢弃。补充空包/短包不 panic 的测试。
2026-08-20 21:48:24 +08:00
lbl b0db6c9659 补充加解密跨版本兼容性测试
nonce 完全由包自带的头部字节计算,解密端不依赖发送端状态,因此
seq 修复与旧版本线上兼容。测试双向验证:旧版本(seq=0)加密的包新版本
可解密,新版本(递增 seq)加密的包按旧逻辑(仅读头部算 nonce)也可解密。
2026-08-20 21:44:50 +08:00
lbl 46d5d24e96 修复 TLS 指纹模式不验握手签名的问题
FingerprintVerifier 此前只比对证书哈希,verify_tls12/13_signature 无条件
放行。而证书由密码确定性生成、属于公开信息,主动中间人重放真实证书即可
完成握手,指纹模式无法抵抗 MITM。

- verify_tls12/13_signature 改为调用 rustls::crypto::verify_tls12/13_signature
  做真实验签(ring provider 的签名算法集)
- supported_verify_schemes 返回算法集实际支持的方案
- 补充基于 tokio 内存通道的真实 TLS 握手测试:指纹匹配握手成功、
  指纹不匹配握手失败
2026-08-20 21:41:02 +08:00
lbl 3c0532b4c5 修复加密 nonce 全局重用
PacketCrypto 的 nonce 由 msg_type+seq+src+dst 构成,但 seq 字段从未赋值,
同一 (msg_type,src,dst) 的所有包共用同一 nonce,AEAD 密钥流重用。

- PacketCrypto 增加 Arc<AtomicU32> 出站序号计数器(随机起始值,避免
  进程重启后相同密钥复用低序号段),encrypt_in_place 时自动分配 seq
- 补充 nonce 唯一性与 clone 共享计数器的测试
2026-08-20 21:33:37 +08:00
lbl 216cf16310 修复中继路由探测失效
- MsgType 的 TryFrom 与枚举判别值不一致:RelayProbe 写 18 却被解码为
  RelayProbeReply,真正的 Reply(19) 被当非法类型丢弃,改为 18/19 与枚举一致
- RelayProbeReply 回复 TTL 由 1 改为 2:TTL=1 时中继节点 decr 后即被丢弃,
  回复永远到不了发起方,中继路由(metric=2)无法建立
- 补充 MsgType 全变体 round-trip 与中继 TTL 语义测试
2026-08-20 21:30:32 +08:00
lbl 7d481560e3 规范依赖管理并适配 rand 0.10
- tcp_ip 从 git 依赖切换为 crates.io 0.2(IpStackConfig 改用 builder)
- 公共依赖收拢到 workspace.dependencies 统一版本
- 移除 release profile 的 panic=abort(避免 vnt-jni 中止宿主 JVM)
- vnt-jni 升级 edition 2024(no_mangle 改为 unsafe(no_mangle))
- vnt-ipc 显式声明 tokio features
- 适配 rand 0.10:random_range 移至 RngExt,choose_multiple 改名 sample
- 修复 clippy 警告(type_complexity/collapsible_if/ptr_arg)
2026-08-20 20:58:07 +08:00
lbl e088d305b1 移除过期统计值 2026-03-02 15:52:24 +08:00
lbl 39602c478e 调整路径探测协议 2026-03-02 14:23:39 +08:00
lbl 1dc53ca898 计算路由评分 2026-02-28 19:26:19 +08:00
lbl 12f7eed8a5 记录具体路径的丢包率 2026-02-28 18:56:11 +08:00
lbl 2aa423062e 支持设置端口 2026-02-28 17:49:11 +08:00
lbl 5a31ad89f4 jni 2026-02-24 18:31:40 +08:00
lbl ecdb359bbd fmt 2026-02-24 16:08:44 +08:00
lbl 4708ed2b16 注册失败时重试 2026-02-24 16:08:18 +08:00
lbl b4301a8106 v2 2.0.0 2026-02-10 18:20:39 +08:00
vnt-dev 71da72da34 Merge pull request #171 from cfdworld/main
Update Cargo.toml for client to add support for tls1.2 when use wss
2026-01-27 13:49:46 +08:00
hello c6ef2031fa Update Cargo.toml for client to add support for tls1.2 when use wss
client add support for tls1.2 when use wss
2026-01-27 13:25:40 +08:00
lbl a82933a7a8 调整运行时 v1.2.17 2025-09-23 09:27:54 +08:00
lbl 76444ef17d Merge remote-tracking branch 'refs/remotes/origin/1.2.x' 2025-09-23 09:16:58 +08:00
lubeilin fde33380be 调整超时时间 2025-09-18 18:27:31 +08:00
vnt-dev eedb6684a5 Merge pull request #158 from vnt-dev/vnt-dev-patch-2
Update README.md
2025-09-17 18:25:55 +08:00
vnt-dev a335a5bcdf Update README.md 2025-09-17 18:25:24 +08:00
vnt-dev 4a347d853e Merge pull request #157 from radish0416/main
修改rust.yml文件,云编译通过
2025-09-17 10:01:01 +08:00
radish0416 79f55fe7fd Update rust.yml 2025-09-17 09:30:52 +08:00
lixianjiang affe8fb719 修改rust.yml文件,云编译通过 2025-09-17 08:41:44 +08:00
lbl 22eee048d0 Use the latest version of tun-rs 2025-07-19 22:10:53 +08:00
lbl 2b2a550a98 not specify the rust version 2025-06-28 17:38:46 +08:00
lbl 14427ce437 Update Dependencies 2025-06-28 17:31:00 +08:00
lbl 39c170892e fmt 2025-06-28 17:29:59 +08:00
lbl b82276e6fa Merge branch 'refs/heads/main' into 1.2.x
# Conflicts:
#	vnt/src/channel/ws_channel.rs
#	vnt/src/util/dns_query.rs
2025-06-28 14:57:29 +08:00
vnt-dev 154e8ef09a Merge pull request #146 from lmq8267/1.2.x
1.2.x
2025-04-27 11:40:00 +08:00
VNT-[bot] 97a2f7c306 无网络不终止程序继续运行 2025-04-26 10:20:09 +08:00
VNT-[bot] 8d39d6045a 添加thunk-rs链接Windows 7兼容库 2025-04-26 10:15:27 +08:00
VNT-[bot] 04b60773b9 增加30x重定向功能(服务器地址以http:前缀)例如 tcp://http:域名 2025-04-26 10:08:48 +08:00
VNT-[bot] 774a80dc46 升级mips和i686的编译 2025-04-26 09:57:33 +08:00
vnt-dev 1cba257531 Merge pull request #131 from lmq8267/patch-4
升级mips和i686的编译
2025-04-25 18:02:05 +08:00
vnt-dev 16cc2abe7a Merge pull request #130 from lmq8267/patch-3
替换前缀
2025-04-25 18:01:29 +08:00
vnt-dev 595a49ee3f Merge pull request #129 from lmq8267/patch-2
添加一下 http 302重定向
2025-04-25 18:00:57 +08:00
vnt-dev f894f62eb2 Merge pull request #128 from lmq8267/patch-1
添加一下http 302重定向
2025-04-25 18:00:41 +08:00
lmq8267 a98d6a7594 升级mips和i686的编译 2025-03-10 22:18:10 +08:00
lmq8267 9674dfa5dc 替换前缀 2025-03-10 20:07:43 +08:00
lmq8267 00068cdcfd 添加一下 http 302重定向 2025-03-10 20:03:54 +08:00
lmq8267 846f128689 添加一下http 302重定向 2025-03-10 20:02:43 +08:00
lbl 2225edeb2e add unsafe block 2025-02-24 11:09:22 +08:00
lbl ef48007922 fix type error 2025-02-24 10:57:11 +08:00
lbl 1d5257363c use SyncDevice 2025-02-24 10:24:48 +08:00
lbl 0238d1ab7e Modify the compilation method for the MIPS target platform. v1.2.16 2025-02-21 16:31:48 +08:00