Skip to content

Releases: e1732a364fed/ruci

v0.0.8-alpha.1

19 Jan 15:42
Compare
Choose a tag to compare
v0.0.8-alpha.1 Pre-release
Pre-release

项目:
将 user, anti_replay, ruci-tls 模块提到外部包
代码使用 MIT OR Apache-2.0 开源许可,文档使用 CC0 许可。
更新依赖包版本。现在项目需要 rust 1.81+ 才能正常编译
将开发所使用的 资源文件放入 dev_res 文件夹中,与发布所使用的 resource 文件夹分开。
同时 reource 文件夹中加入 另外三种配置格式的示例。现在 lua_examples中对每一种使用案例都配有一个单独的示例配置文件。
修正book文档的显示bug

ruci:
trojan client Config:+do_not_use_early_data

rucimp:
+MITM(man in the middle) (在ruci-tls 模块中, 由 rucimp引入)
Recorder: change format, record more metadata; now allows both har format and ruci format; fix bug
+Embedder: 其使用一个全新的隐写协议, 其使用 Recorder+MITM 所录制到的流量特征进行 在 tls 层内的 隐写, 没有 TLS in TLS 特征(因为特征完全为 您所录制的特征,使用 mitm 录制时是没有 tls 的)
improve tproxy, smoltcp;
Several bug fixes.
暂时移除 s2n-quic 支持(因为quic主要用的是quinn)
移除 有限动态链 的 支持(可直接使用完全动态链)

Ruci-cmd:

utils:+ gen-ca, convert-format, qr
qr: 可对给定的一个字符串生成二维码
gen-ca: 生成 CA证书(可用于 mitm)
配置格式同时支持 json, yaml, lua, toml 四种格式,且可通过 ruci-cmd utils convert-format 从一个格式 转换到另一个格式

启动时打印配置所支持的全部Map 类型

其它:
添加了一个新的 节点编辑器 项目,可以用它来生成一个符合ruci 配置格式的 json 配置文件。
添加了一个新的 隐写算法项目 :rainbow-rs, 于对 ruci 中的隐写协议提供算法支持

v0.0.7-beta.1

24 Dec 21:27
Compare
Choose a tag to compare

项目:
添加了 cc0 开源许可。
修复了 remote.lua 示例中一个致命错误。
修复了 用户手册的一个bug.
完善了用户手册。

ruci:
修复了 h1.1解析的一个bug。
http 代理支持了客户端。
Counter 支持了 udp。

rucimp:
添加了 spe1 (隐写示例协议1) 和 lua 用户自定义协议。
添加了一个用于记录流量的 Recorder Map.
添加了toml 格式的支持。
完全移除了旧verysimple 格式。

ruci-cmd:
支持了读取运行 tar 或 tar.zip 文件中的配置文件。
utils 添加了 repl, pack, pack-z, serve-folder 子命令。
利用 pack 和 serve-folder 功能 提供了一种简易的订阅的方式。
修复了 Linux 发布版运行时提示缺少glibc 的问题。
修复了 windows gnu 发布版 运行闪退的问题。

v0.0.7

25 Dec 10:13
Compare
Choose a tag to compare

经测试,smoltcp stack 在 windows 上是没有bug的,可流畅运行

v0.0.6-beta.1

04 Aug 07:29
Compare
Choose a tag to compare

与 0.0.5 的不同

添加 ruci用户手册
https://e1732a364fed.github.io/ruci/index.html

ip流量转发功能 (类似vpn),见 local.lua 中的 config_16_tun 配置. 其在 remote.lua 用到了 out_auto_route 配置,local.lua 中对应配置则改名为 in_auto_route了

添加一个有bug 的 tcp/ip stack

添加 dns 功能,Direct,BindDialer,OptDirect,OptDialer 都可以加

 Direct = {
        dns_client = {
            dns_server_list = { { "127.0.0.1:20800", "udp" } }, -- 8.8.8.8:53
            ip_strategy = "Ipv4Only",
            static_pairs = {
                ['www.baidu.com'] = "103.235.47.188"
            }
        }
    }

bind_to_device 支持 macOS

Stdio:+write_mode

v0.0.5-beta.2

25 Mar 11:36
Compare
Choose a tag to compare

与 v0.0.5-beta.1 的不同

配置支持 ipv6 字符串,如 tcp://[::1]:1080
Dialer 更名为 BindDialer (配置文件中同样更名)
Listener 支持 udp fixed_target_addr
修复 BindDialer 在使用 udp fixed_target_addr 时的问题
修复 一些情况下路由失败的问题

v0.0.5

27 Mar 12:32
Compare
Choose a tag to compare

与 0.0.4 的不同

+fixed_target_addr, quic, tproxy ( 包括自动路由)

与 beta.2的不同

ruci:
修复 Stdio 在 windows 上的报错问题
改进udp 的转发逻辑

rucimp:
修复 tproxy udp 卡顿问题。tproxy 功能已经通过了大量测试,已稳定。
chain lua 配置格式发生变化: config -> Config
dyn_selectors -> Dyn_Selectors
infinite -> Infinite
create_out_map -> Create_out_map
create_in_map -> Create_in_map
优化代码

ruci-cmd:
启用了 tun feature
日志打印代码行号

v0.0.4-beta.5

19 Mar 16:28
Compare
Choose a tag to compare

与 0.0.4-beta.4 的不同:

编译添加了更多目标支持

令 grpc client 默认行为 为 0rtt*, 使其与 现有其它代理程序的服务端兼容

修复了一个 危险的 trojan server 实现中的 无限循环的bug (在h2 连接发生错误的情况下会触发)


修复 http proxy 不可用的问题
http 头配置中的

host项改名为 authority, 这样语义更清晰

注: 0rtt这里指建立客户端子连接无需等待 服务端回复即开始传输

v0.0.4-beta.4

18 Mar 17:24
Compare
Choose a tag to compare

与 beta2 的不同
添加 H2Single 对 grpc 和 http_config 的支持,令其与 H2Mux 的配置格式相同
修复 native-tls 相关的 features 的条件编译问题
修复几个 grpc 的 bug
添加了 local_mux2_h2.lua 示例演示多连接的h2多路复用

与 beta3 的不同
添加 H2Single 对 grpc 和 http_config 的支持,令其与 H2Mux 的配置格式相同
修复1个 grpc重要 bug:大流量下如4k视频的情况下会 卡住

v0.0.4-beta.2

17 Mar 11:34
Compare
Choose a tag to compare

修复一些小问题. 增加了对 aarch64 linux 和 aarch64 android 的支持

在启动时打印 启用的 feature

v0.0.4-beta.1

16 Mar 12:20
Compare
Choose a tag to compare

0.0.4 版本是一个重要的版本,添加了若干项重要功能,令ruci变得比较实用:

ruci:

  1. fallback, 回落功能, 现支持 http proxy, socks5, trojan, http_filter. 回落配置可使用 fallback_route 项 或 rule_route 项
  2. cid 显示采用链式格式。如在 h2 mux 中,将 能见到如 1-22-33 形式的cid
  3. tls 的 apln 配置。
  4. more robust code for copying
  5. 更好的日志输出格式

rucimp:

  1. 完全动态链功能的升级,令完全动态链的速度大幅度提升
  2. websocket, 包括 early_data, 包括自定义 host, path 和 header
  3. http_filter, 用于对 websocket/grpc 等 进行回落,用法见 remote.lua
  4. native_tls,包括 alpn. 其中 native_tls 只支持客户端配置 alpn。native_tls的 配置内容和 普通tls 一样,只需要把 TLS = 更换成 NativeTLS = . 其目前只支持 PKCS8格式 的key
  5. h2, 包括 mux。单路outbound 配置为 "H2Single", 多路复用outbound 配置为 H2Mux
  6. grpc, 包括 mux。 通过设置 h2 配置的 is_grpc 来启用。用法见 local_mux_h2.luaremote.lua (使用了 完全动态链功能 来进行多路复用)

ruci-cmd:

  1. 添加输出日志到文件功能,默认启用, 默认日滚动; 配置法见 --help, 可用 --log-dir 和 --log-file 配置。 输出的 日志文件的内容 同 verysimple 一样为 json 格式,便于进一步处理

bug fix for trojan early data reading