-
Notifications
You must be signed in to change notification settings - Fork 42
-
Notifications
You must be signed in to change notification settings - Fork 42
一点想法 #13
Comments
这样只要两个ip,只要不同时端口被封,那么就可以理论上实现长期稳定的服务。 当然如果整个ip被封那也没办法:) |
好想法! |
翘首以盼:) |
@JasLin 有可能会让你失望,目前ET的重心仍然会放在性能优化的方向。在实际使用一年多的过程里,安全性的需求确实是很低的。 |
@JasLin 短时间内可能满足不了你的期望了,抱歉 |
确实,没事,我先试着用用,如果出现这个需求的话,到时给你提pr:) |
给et-electron增加Mac os的支持 https://github.com/JasLin/et-electron/releases 这个版本支持测试了Mac 还没有测试win和linux,所以暂时还没发pr给 @remmina |
|
QvQ |
@remmina 配置文件覆盖我这边可以解决 |
@JasLin 嗯。。。之前不覆盖功能是很简单粗暴的实现方式:发布的压缩包里的config文件夹是空的,core/config文件夹内也是没有client.conf文件的,这样直接覆盖原本的配置文件是不会丢失的。程序在启动的时候会自动检测是否存在配置文件,如果不存在的话就会自动生成一个默认的配置文件。所以只要 |
好,我调一下然后发pr过来:) |
@JasLin 谢谢! |
@remmina 是的,macos的图不是很协调,移除了吧。 客户端的文件夹config现在已经没用了,可以去掉,按原来的逻辑config应该只是runtime的文件,直接生成在userData即可:) |
@JasLin 现在出现了一个问题:有时候proxylist会更新,如果不覆盖那用户就无法接收到更新;如果覆盖了用户就没法自定义这个proxylist了,而且程序每次启动的时候都要去覆盖一次 |
@remmina 建议的做法是将自定义规则表放在自定义文件中。这样可以避免被更新覆盖。 所有文件夹内的规则文件都会被加载。 |
@eaglexiang et有这样的功能吗?还是说客户端每次合并两个文件为一,然后再以合并的文件作为proxylist? |
@remmina @eaglexiang 现在 但是我觉得我们先讨论一下是否需要在客户端支持自定义规则的问题,确定了这个,后面才讨论具体实现的方法。 目前如果不考虑从官方(新版本的安装包)获取新的规则的话,可以直接到 如果 因此 我倾向于支持自定义,并且把自定义的 那么这个拉取新的官方rule的动作,可以在 |
@remmina 目前是这样处理的。 所有规则文件都会被读取一次,域名列表最终被存放在同一个trie中。那么就顺带完成了合并与去重。 自带的规则文件与自定义文件,在本质和地位上都没有区别。 |
@eaglexiang 如果已经有tire了,那么不用分自定义和官方独立文件也行:),分开存储则好处是将来可在客户端做自定义规则 |
@remmina proxylist与directlist的目录也是通过config-dir推断出来的。所以更改config-dir也同样会影响两个规则文件目录。 如果确实需要专有的参数来指明规则目录,也可以加进去,倒不需要什么工作量 |
暂时先做了无法自定义的,毕竟et也支持在线查询智能分流,只不过第一次访问的时候会慢一点。 |
好吧原来是好压太弱了,用wsl里的zip命令就成功压缩了 |
@remmina 嗯, 我暂时还是先用1.6.x,因为要增加hosts来解决内网的dns问题:) |
@JasLin 新版客户端已经推出了,支持自定义功能啦。 |
@JasLin 您在代码中写了这么一段:“Create window on mac by default, but hide it after created” |
另外,在mac下面默认开机启动et的时候,我不想每次都看到这个窗口,所以每次app启动的和时候,虽然窗口的窗口但是隐藏起来,如果点击需要的时候可以很快就show出来。而且我调试的时候试过如果只是创建tray,没有创建window,会出现有一些时候app启动不出了的情况 话说回来,因为现在有个tray的话,如果不想在dock里面看到et,可以在main.js import了app后,调用: app.dock.hide() 这样就行了,那么这个行为就和shadowsocks-qt在mac下面的行为一样。 我没有写这个句,是因为我习惯了dock去调出窗口,而不太喜欢在tray里面去调出窗口。 这个纯属个人喜好:) |
关于mac下面包太大的问题,或者有时间,我们可以做一个macgap的版本,根据et-electron目前的代码结构和依赖,估计发布后5m以内的包 |
awesome! 之前一直有这个想法,但没有动手做。
有一个思路,协议头如果能够做到简单的类似加盐的算法就能改变特征的话(我还没有看源码),那么可以给ET做一个集群(或者一个vps,购买n个ip启动n个实例即可),然后本地的客户端做一个watcher,发现那个ip访问不来,立刻通知另外可用的ip,改变特征和端口,本地的client,动态从这个watcher里获取最新的端口连上去,可以无感切换。
在进一步,如果特征改变算法足够灵活,只要有足够的数据,可以利用这些数据,然后用对抗算法(GAN)不断自动升级特征混淆算法。
The text was updated successfully, but these errors were encountered: