lbl
|
74c47bce69
|
feat: add outbound interface binding
|
2026-08-22 07:58:18 +08:00 |
|
lbl
|
d49b7e6651
|
fix(jni): 全部 18 个 JNI 导出函数加 catch_unwind 防护
问题:vnt-jni 的 extern "system" 导出函数没有任何 panic 防护,
core 内任何 panic(unwrap/索引越界/断言等)跨 FFI unwind 会直接
abort 宿主 JVM。
修复:新增 catch_jni_panic(catch_unwind + AssertUnwindSafe)与
jni_guard! 宏,包裹全部 18 个导出函数:panic 时提取 payload 消息、
向 JVM 抛 RuntimeException 并返回该类型的默认值(jboolean/jint 0、
jlong -1、指针 null_mut、void 直接返回)。业务逻辑与签名不变。
说明:排查中发现报告举例的 core/mod.rs:140 expect 在当前代码下
实际不可达(no_tun=true 时 internal_nat_inbound 必为 Some),
但 FFI panic 防护本身仍然必要。
测试:3 个 catch_jni_panic 单测(正常值透传、&str/String payload
消息提取);cargo clippy --workspace --all-targets -- -D warnings 通过。
|
2026-08-21 01:45:30 +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
|
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
|
2aa423062e
|
支持设置端口
|
2026-02-28 17:49:11 +08:00 |
|
lbl
|
5a31ad89f4
|
jni
|
2026-02-24 18:31:40 +08:00 |
|
lbl8603
|
1e5e15f1f5
|
不再需要jni
|
2024-06-15 20:44:20 +08:00 |
|
lbl8603
|
215337fd8a
|
支持数据压缩
|
2024-05-25 17:30:27 +08:00 |
|
lbl8603
|
0e4294415e
|
增加日志输出内容
|
2024-05-10 23:19:52 +08:00 |
|
lbl8603
|
b61c140c24
|
去除linux上tap的支持
|
2024-05-09 20:10:17 +08:00 |
|
lbl8603
|
b57a38e81e
|
增加超时方法
|
2024-05-08 23:58:38 +08:00 |
|
lbl8603
|
607c8c2e9f
|
增加端口映射功能
|
2024-05-08 21:31:21 +08:00 |
|
lubeilin
|
441e374563
|
jni设置dns
|
2024-04-23 13:56:25 +08:00 |
|
lbl8603
|
5b40a9f147
|
支持指定dns
|
2024-04-23 08:21:01 +08:00 |
|
lbl8603
|
7fbcf0a832
|
Merge remote-tracking branch 'origin/2024-04-19' into 2024-04-19
|
2024-04-20 14:49:57 +08:00 |
|
lbl8603
|
7283863fe8
|
增加路由回调
|
2024-04-20 14:48:58 +08:00 |
|
lbl8603
|
198f82fb2c
|
修改ip转u32方式
|
2024-04-19 20:05:19 +08:00 |
|
lubeilin
|
0352982c14
|
回调增加网络路由
|
2024-04-19 18:35:37 +08:00 |
|
lbl8603
|
8dfc3b8c43
|
修改安卓端逻辑
|
2024-04-19 10:49:47 +08:00 |
|
lubeilin
|
28522f2f07
|
完善jni调用
|
2024-04-07 20:57:10 +08:00 |
|
lubeilin
|
ae63ce80b5
|
[mio] 启动成功输出
|
2024-03-06 22:53:56 +08:00 |
|
lubeilin
|
147156d96d
|
[mio] 增加模拟弱网参数
|
2024-03-05 21:32:20 +08:00 |
|
lubeilin
|
119f719a9f
|
[mio] 支持仅使用p2p模式
|
2024-03-01 21:48:07 +08:00 |
|
lubeilin
|
88eb3f6514
|
[mio] fmt
|
2024-02-29 22:39:35 +08:00 |
|
lubeilin
|
8d7eb5ba1b
|
[mio] 适配新版vnt,增加jni java端代码
|
2024-02-29 22:29:39 +08:00 |
|
lubeilin
|
698e2531e8
|
增加参数校验
|
2023-12-30 12:00:47 +08:00 |
|
lubeilin
|
b0c3f25a29
|
使用读写锁简化操作,增加延迟优先选项
|
2023-10-31 20:48:38 +08:00 |
|
lubeilin
|
fc104d5dee
|
增加参数关闭ip代理
|
2023-10-09 20:56:04 +08:00 |
|
lubeilin
|
3d243fb01d
|
支持读取配置文件和自定义端口
|
2023-09-26 21:53:41 +08:00 |
|
lubeilin
|
29945eb3da
|
1.2.3
1.同步处理UDP,提升性能
2.加密引入openssl,提升性能
3.安卓支持ip代理
|
2023-09-17 12:54:15 +08:00 |
|
lubeilin
|
073c820da6
|
增加打洞选项
|
2023-09-04 20:34:43 +08:00 |
|
lubeilin
|
c3cff7c5b5
|
cargo fmt
|
2023-09-03 11:39:30 +08:00 |
|
lubeilin
|
eec7d73ebe
|
可选数据指纹校验、支持ecb算法
|
2023-09-01 23:36:04 +08:00 |
|
lubeilin
|
96fb8c881d
|
修改jni模块
|
2023-08-30 21:54:30 +08:00 |
|
lubeilin
|
b9fe5e0fe2
|
支持aes_cbc加密算法
|
2023-08-28 23:13:46 +08:00 |
|
lubeilin
|
323f6c9221
|
1.增加缓冲池
2.线程数、任务数配置
|
2023-08-27 21:15:34 +08:00 |
|
lubeilin
|
3d4fcdbc96
|
支持新版本
|
2023-08-27 15:11:08 +08:00 |
|
lubeilin
|
d1bde297d6
|
支持stun协议
|
2023-08-03 21:05:15 +08:00 |
|
lubeilin
|
9b42c5d092
|
支持自定义ip、服务端tcp通道、可选择禁止p2p
|
2023-07-24 00:42:27 +08:00 |
|