Skip to content

Commit dbe8e24

Browse files
committed
edit doc; +Load_file lua function for StaticConfig
1 parent d618659 commit dbe8e24

File tree

18 files changed

+103
-61
lines changed

18 files changed

+103
-61
lines changed

doc/book/src/app/cmd.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ ruci-cmd 运行时产生的日志会自动创建并放在 logs 文件夹中, dai
6666
-l, --log-level <LOG_LEVEL>
6767

6868
可为 ERROR, WARN, INFO , DEBUG, TRACE
69+
小写也可以。
6970

7071
## 环境变量法
7172

doc/book/src/get_started.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ ruci 的可执行文件叫做 ruci-cmd, 客户端和服务端都是使用这同
1515

1616
建议下载后缀为 `x86_64-pc-windows-msvc.tar.xz` 的版本
1717

18-
下载后,可以用 7zip 来解压,先解压出一个 tar, 再解压一遍得到程序。
18+
下载后,可以用 7zip 来解压,先解压出一个 tar, 再解压一遍得到程序。(或双击用7zip 打开后,进入tar之后再将其内容拖拽出来)
1919

2020
第一次运行时,windows 可能弹出提示,询问是否允许连接到网络,同意即可。
2121

@@ -34,6 +34,7 @@ apple silicon(m1,m2,m3,m4) 下载
3434

3535
第一次运行时,macOS 会提示您该程序不受信任,您可以到 设置-隐私与安全 中,许可本程序的使用。
3636

37+
注:编译运行则不会出现此提示。
3738

3839
### x64 linux
3940
建议 x64的 linux 用户下载 后缀为 `x86_64-unknown-linux-gnu.tar.xz` 的版本

doc/book/src/lua/infinite.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,3 +104,6 @@ Config (静态链) 之间,请在 项目中搜索 Dyn_Selectors 以进行学习
104104
因为其夹在 Config 和 Infinite 之间,并没有什么出彩的地方。但是其使用难度比
105105
Infinite 要低很多。
106106

107+
# 接下来
108+
109+
[lua自定义协议](lua/user_defined_protocol.md)

doc/book/src/lua/user_defined_protocol.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,3 +162,4 @@ end
162162

163163
ruci还在lua中注册了 `Debug_print`,`Info_print`,`Warn_print` 函数,可以用于向日志打印自定义输出(以debug,info,warn 级别)
164164

165+
还有 Load_file 函数,可以用它加载 tar 中的文件。(只在 静态链中有效)

doc/book/src/toml/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,4 +57,4 @@ chain = [{ Direct = {} }]
5757
# 接下来
5858

5959
- [lua配置](../lua/lua.md)
60-
- [路由配置](lua/route_config.md)
60+
- [路由配置](../lua/route_config.md)

doc/notes.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,7 @@ tun 包在 windows 平台使用 wintun, 而在 其它平台使用 系统调用
243243

244244
smoltcp 的实现 在实践中比 lwip 实现快一些。因此 ruci-cmd 只采用了 smoltcp 的网络栈。
245245

246+
在linux/macOS 上还发现了 内存泄漏问题,也许和 tun 包有关. windows上没有任何问题。
246247

247248
# lib note
248249

resource/local.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -883,7 +883,7 @@ local config_23_tcp_ip_stack_lwip = {
883883
--]]
884884

885885

886-
Config = config_20_spe1
886+
Config = config_22_lua_example2
887887

888888
-- local str = Load_file("test.crt") -- load file from the default file provider from ruci ( from either tar or folder)
889889
-- print("content of crt is:", str)

resource/lua_protocol_e2_mathadd.lua

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44

55
local add_num = 1
66

7+
-- 每创建一个连接,本文件中的代码都会被重复调用一遍,因此在 全局上调用的函数要上心使用
8+
-- print(Load_file("test.crt"))
9+
710
local function read(cx, buf)
811
if Behavior == 1 then -- client
912
local result = TheConn:poll_read(cx, buf)

resource/remote.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -160,8 +160,8 @@ Config = {
160160
161161
}
162162
-- ]]
163-
{ chain = { tcp, spe1_in, trojan_in }, tag = "listen1" }
164-
-- { chain = lua_example2, tag = "listen1" },
163+
-- { chain = { tcp, spe1_in, trojan_in }, tag = "listen1" }
164+
{ chain = lua_example2, tag = "listen1" },
165165
},
166166

167167
---[[

rucimp/dev.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,14 @@ cargo clippy --all-targets --all-features
1717
lwip 无法在 windows 上编译通过, 因此没有加入 ruci-cmd 的feature中 。且经手动测试,发现其性能可能比smoltcp 差一些
1818

1919
在windows 上,tun 包的性能 似乎是因为使用了wintun 的原因,比在 macOS/linux 上要快不少
20+
21+
macOS/linux 上存在内存泄漏,不知如何解决,可能与 tun 包有关。
22+
23+
从 tun device 有三种方式可以 异步读取,
24+
1. 在 device 用 AsyncDevice 它自己的 split 方法
25+
2. 转为 AsyncConn 后 用 tokio 的 split
26+
3. 转为 Frame 后 分成 sink 和 stream
27+
28+
实测第一种情况 会在 向 tun 写入时卡住, 第2、3种情况效果相同。
29+
但是都卡顿,效果与 smoltcp 类似.因此认为是tun 包的问题,与 tcp/ip 栈无关
30+

0 commit comments

Comments
 (0)