Commit Graph

61 Commits

Author SHA1 Message Date
e1732a364fed db2e850b8b 修订代码;添加tun功能 2022-12-13 16:55:46 +08:00
e1732a364fed 1e9ad5f59c 修订代码;给machine添加callback功能,用于gui;gui基础开关代理功能
gui打开GitHub
2022-12-13 11:34:51 +08:00
e1732a364fed 3955c898f8 修订代码;将machine的部分成员转为私有 2022-12-13 10:34:19 +08:00
e1732a364fed 8112e9b2b1 修订代码,进一步将cmd代码移动到machine中 2022-12-13 09:58:29 +08:00
e1732a364fed d34fa93674 将统计数据放到一个GlobalInfo结构中 2022-12-13 09:00:05 +08:00
e1732a364fed ca888d9590 整理代码 2022-12-12 23:48:58 +08:00
e1732a364fed 03fc52ce26 修正交互和gui模式的行为 2022-12-12 23:40:21 +08:00
e1732a364fed 22394c600a 整理apiServer代码 2022-12-12 23:21:04 +08:00
e1732a364fed 73009afa62 将cmd/verysimple的部分代码整理到machine中 2022-12-12 23:05:43 +08:00
e1732a364fed 29f4c2acf8 添加machine包:
准备使用machine包来容纳cmd/verysimple中的大部分功能;
cmd/verysimple 将仅负责读取命令行参数,并转换成 machine包的一个配置结构, 然后
传入machine包

使用更高级的包装的原因有如下几点:
1. 这样更科学,是更现代的编程方式
2. rust中也不建议使用全局静态变量
3. 随着gui的引进,我们有了一种需求,去在多种配置中选择一种配置去运行,
此时有必要将每一种配置组合抽象出来,并提供一种同时运行多种组合的机制
2022-12-12 22:09:27 +08:00
e1732a364fed 502d83c52f 令ws在fallback失败给出具体原因;fix #194 2022-12-12 08:43:36 +08:00
e1732a364fed d9bfd00607 添加gui功能,build tag:vsc 2022-12-11 19:33:13 +08:00
e1732a364fed 6785ad215e 交互模式变为可选编译,用nocli来排除 2022-12-06 10:15:44 +08:00
e1732a364fed 0103bbc59d 移除grpc包;修订代码;
因为grpcSimple又小又好, 广受欢迎, 因此不在包含老旧的谷歌grpc包
命令行程序将在日志中标注运行的vs版本信息
2022-12-05 14:14:16 +08:00
e1732a364fed 95e0ce32e9 修订文档,代码;添加-dt, -geosite命令行参数, 以及相关的toml配置中的app配置
-dt可调节拨号超时秒数,app配置:dial_timeout
-geosite:app配置:geosite_folder
-geoip: app配置:geoip_file
2022-12-05 01:59:30 +08:00
e1732a364fed b517f9d4de 整理文档,代码; go.mod -> 1.19 2022-12-04 22:35:26 +08:00
e1732a364fed 7879e87380 修订tproxy和url的path
把tproxy重新放回server中,不单独分开处理;添加 ListenerServer类型,以及SelfListen方法

修正url中path的读取

todo: grpc 的servername读取path时自动删除前面的 /
2022-12-04 08:46:20 +08:00
e1732a364fed 4b27fbb0bd feature:api server 添加 热加载url功能;添加sa参数,配置api server的监听地址;
允许api server 在不设置密码时运行
2022-12-02 20:27:27 +08:00
e1732a364fed 18d5a8f062 feature:交互模式的用户偏好现在可以被自动保存;记录最近的交互项;修订代码,文档;
自动保存到 .verysimple_preferences 文件中
添加 -dp 选项,可关闭 该特性
最近的交互项现在可以被排序到首位,方便多次执行
2022-12-02 18:49:30 +08:00
e1732a364fed 7b3705c977 修订文档,代码;将AppConf代码从proxy移动到cmd中 2022-12-02 14:18:34 +08:00
e1732a364fed 691c3831e1 添加CommonSplit相关的benchmark 2022-12-01 09:03:44 +08:00
e1732a364fed a247966c36 添加ds命令行参数,可以强制关闭splice 2022-11-04 22:54:37 +08:00
e1732a364fed e788186d0a 实现按不同url格式进行初始化的特性
添加doc/url.md 解释文档
本commit修改了所有proxy的creator,以支持新的接口

	URLToDialConf(url *url.URL, iv *DialConf, format int) (*DialConf, error)

	URLToListenConf(url *url.URL, iv *ListenConf, format int) (*ListenConf, error)

这两者替代了原来的 NewClientFromUrl 以及 NewServerFromUrl

目前只是支持了vs标准格式;各个协议的原生格式等以后慢慢加。

未经过测试.
2022-10-27 11:43:44 +08:00
e1732a364fed b79fb62629 改进代码; 添加按不同格式解析url的特性 2022-10-26 18:37:21 +08:00
e1732a364fed b995eddff9 fix #142, 修复tproxy无法路由的bug 2022-09-13 13:59:21 +08:00
e1732a364fed 58d578d7cb 添加path参数,可指定文件搜索路径;修正docker和docker-compose命令 2022-05-27 06:41:51 +08:00
e1732a364fed b39f3b1745 修订代码,文档; 令tproxy的fullcone可配置,默认fullcone关闭. 2022-05-21 19:48:23 +08:00
e1732a364fed 8652a23c7c 修订代码 2022-05-21 18:58:53 +08:00
e1732a364fed fe8868beb2 修订代码 2022-05-20 19:18:30 +08:00
e1732a364fed 3af4eefd74 更新代码,文档; 令tproxy支持sniffing以及分流; 令tproxy在关闭时不卡住
关联 #98 中 下面的评论中 ctermiii 所反映的两个问题
2022-05-17 04:55:08 +08:00
e1732a364fed 908f11e2cf fix #76 , ipv6 有时会在vs运行后才获得. 2022-05-12 13:06:31 +08:00
e1732a364fed 4ab2d0ff12 修订代码, 示例, 文档; 正式将lazy从命令行参数 改为配置文件的配置。
写明lazy的 [[dial]] 要放在所有 dial 中最前面的位置。
2022-05-09 16:14:27 +08:00
e1732a364fed 5723c73297 修订代码,文档,示例;支持客户端证书和CA. 2022-05-08 08:30:59 +08:00
e1732a364fed c5f73fa064 使用utils.PrintStr替代fmt.Print,进一步减少装箱
同时也替代Printf, 因为完全无脑打印,没有格式化
2022-05-07 10:06:37 +08:00
e1732a364fed dfebe3f707 修订代码;将fallback的from从string改为[]string
这样可以支持从多个listen fallback到相同的目标,又不至于使用默认回落, 更灵活.
2022-05-06 22:48:15 +08:00
e1732a364fed efe7980eed 支持使用@vlessws 这种tag来设置fallback的dest 2022-05-06 22:29:12 +08:00
e1732a364fed 516870604b 修复若干bug和问题
修复 panic捕获后没有按行打印出 的问题

修复当 toml中没有dial给出时自动退出的问题;应该自动添加一个direct并继续运行。

修复fallback中填写from时会闪退的bug, 这是一个傻bug

修复alpn无法回落的bug, 这是由于服务端没有给出完整的alpn列表导致的
2022-05-06 18:33:30 +08:00
e1732a364fed 6624e292a4 修订cmd代码 2022-05-06 08:46:13 +08:00
e1732a364fed 70a24e45f3 修订Makefile,代码,文档; 添加-sap命令行参数,通过命令行配置apiServer密码
有了-sap参数之后,开启apiServer就不需要 配置文件了。

移除根目录的 Makefile,因为用不到
2022-05-06 08:28:09 +08:00
e1732a364fed b7adea1c05 修订代码,cleanup调用Stop; Stop 也 Stop advLayer.Server; 2022-05-05 23:15:33 +08:00
e1732a364fed 9f26f93d4a 优化可执行文件代码 2022-05-05 23:05:34 +08:00
e1732a364fed 6cc2ec7265 添加极简模式的热加载功能;修复一个热删除的bug 2022-05-05 22:35:19 +08:00
e1732a364fed 1ff824f5c0 修复极简配置模式无法正确加载的bug 2022-05-05 21:34:44 +08:00
e1732a364fed c734237b7b 修订文档 2022-05-05 21:26:31 +08:00
e1732a364fed 5867bac0b2 修订代码,文档,Makefile,示例
修复 没给出 -c参数而给出了 -L 参数时,未能成功运行 的bug
使Makefile 支持 免参数编译 当前系统的 可执行文件。

Makefile的 BUILD_VERSION 这次 添加了 显示 build_on 系统 和 all_go_files_md5 的功能。

md5的打印只支持 linux/darwin,且因为 darwin的命令是 md5 而不是 md5sum,导致输出有差别,所以导致md5总和也有差别.
2022-05-05 14:09:12 +08:00
e1732a364fed 00c25b914f 重命名proxy的一些接口和接口方法 2022-05-05 08:28:23 +08:00
e1732a364fed 4964cb16c7 修订代码,文档;在allstate查询中输出tproxy信息;修复h2回落的一个bug
修复的bug:fb_h2c_PROXYprotocolAddrMap 的key应该为 wlc的raddr,而不是targetAddr。
2022-05-04 08:32:55 +08:00
e1732a364fed 4ab45d7736 为tproxy添加auto_iptables配置,支持运行时自动配置iptables 2022-05-03 22:34:46 +08:00
e1732a364fed 5bf0c8f3f0 修订文档 2022-05-02 14:31:58 +08:00
e1732a364fed afe9068ca2 修订代码, 文档 2022-05-01 12:22:46 +08:00