-
Notifications
You must be signed in to change notification settings - Fork 705
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
签到手动配置代理 #151
签到手动配置代理 #151
Conversation
@binux 这个问题我有考虑过,实际上没有很好的办法,除非把config.proxies从数组改为dict,给每个proxy命名后,就容易解决这个问题了。 在目前的情况下,只能说如果代理变了,你要一个一个手工修改为新的代理,或者增加批量修改的功能。 不过就算代理变了,不代表不能用,只要你不编译任务,还是可以一直使用旧的代理,除非旧代理失效了。 对于梯子转换出来的代理而言,通常host和port都是相对固定的,所以这个问题应该不是很大。 |
代理在设计上不是给用户使用的,它只是为了保护源IP地址不会随HTTP请求泄漏。 |
不是每个用户都会那么多的技术,用个代理还需要自己动手架设一个服务器,用起来就太麻烦了。 而且pyproxy并不能解决所有问题,例如qiandao运行在自己家里,目标签到网站需要过Q,本来就有梯子过Q,直接利用梯子的代理签到就可以了。如果要用pyproxy,那么需要自备一个国外的vps跑pyproxy,然后代理走公网(估计还无法过Q),或者想办法过Q同时把pyproxy的端口映射到本地,最后才能实现目的。 还有一种方式,直接把qiandao运行在国外vps上。不管哪种方式,使用都不方便,除非打算就是不支持这种用法,否则我认为还是应该调整一下方式。 |
另外一个方式,是保留原来的代理逻辑,同时增加用户代理的配置,并且这个配置是dict。如果任务指定了代理就使用指定的,否则就使用默认的(原来的逻辑) |
那我建议可以让用户提交代理而不是让他们选 |
提交代理也行,我做成现在这个样子只是为了不用重复填写而已。 或者我改为模板那里提交一个代理,所有基于这个模板的任务都使用这个代理。没有提交代理的就使用原来的代理逻辑。任务那里可以支持指定代理,也可以不支持。 觉得没问题我可以再改一下 |
这里的考虑主要是qiandao设计是多用户的项目,无论是网站运行者还是模板作者都没有义务给用户提供代理。 |
那么在新建任务的时候,增加一个代理的输入框。这个代理怎么保存?要么任务表增加一列,要么像我现在这样作为_proxy放在env中 |
可以啊 |
就作为_proxy放在env中是吗 |
现在还原了原来的代理逻辑,创建编辑任务时可以输入指定的代理,指定了代理的任务使用指定的代理,否则使用原来的逻辑设置默认代理。任务的代理参数保存在env._proxy中 |
不合并吗 |
大佬能提交到https://github.com/AragonSnow/qiandao 一份吗 qiandao修改版那边还在更新新功能 小白看不懂 文件修改过还是不会用 只能等大佬合并修改 挺需要个别网址走代理的功能的😂 |
@yzsl 我就是想等着这个合并了,再提交到那边的,结果作者一直不合并 |
这边其实不用等了 作者已经脱坑好久了 估摸就是随缘了 直接提交隔壁吧 别的不说 起码更新挺频繁 隔壁作者也说了 推他那边的话大概下月就可以更新 |
@yzsl 这个需求隔壁都知道了? |
我把链接发群里了 隔壁作者看到后表示ok 推他那边他更新 |
那我来推?? |
推吧 这么好的功能不能浪费了 |
@yzsl 已经提PR了 |
大佬666的👍👍 |
实现 #150