Skip to content
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

Closed
wants to merge 2 commits into from
Closed

签到手动配置代理 #151

wants to merge 2 commits into from

Conversation

billypon
Copy link

@billypon billypon commented Jan 6, 2021

实现 #150

@billypon billypon changed the title #150 是否可以指定代理 签到手动配置代理 Jan 6, 2021
@binux
Copy link
Owner

binux commented Jan 6, 2021 via email

@billypon
Copy link
Author

billypon commented Jan 6, 2021

@binux 这个问题我有考虑过,实际上没有很好的办法,除非把config.proxies从数组改为dict,给每个proxy命名后,就容易解决这个问题了。

在目前的情况下,只能说如果代理变了,你要一个一个手工修改为新的代理,或者增加批量修改的功能。

不过就算代理变了,不代表不能用,只要你不编译任务,还是可以一直使用旧的代理,除非旧代理失效了。

对于梯子转换出来的代理而言,通常host和port都是相对固定的,所以这个问题应该不是很大。

@binux
Copy link
Owner

binux commented Jan 6, 2021

代理在设计上不是给用户使用的,它只是为了保护源IP地址不会随HTTP请求泄漏。
如果用户想要使用代理,应该自行架设支持URL改写的代理,比如pyproxy,然后通过修改URL的方式使用代理。

@billypon
Copy link
Author

billypon commented Jan 7, 2021

不是每个用户都会那么多的技术,用个代理还需要自己动手架设一个服务器,用起来就太麻烦了。

而且pyproxy并不能解决所有问题,例如qiandao运行在自己家里,目标签到网站需要过Q,本来就有梯子过Q,直接利用梯子的代理签到就可以了。如果要用pyproxy,那么需要自备一个国外的vps跑pyproxy,然后代理走公网(估计还无法过Q),或者想办法过Q同时把pyproxy的端口映射到本地,最后才能实现目的。

还有一种方式,直接把qiandao运行在国外vps上。不管哪种方式,使用都不方便,除非打算就是不支持这种用法,否则我认为还是应该调整一下方式。

@billypon
Copy link
Author

billypon commented Jan 7, 2021

另外一个方式,是保留原来的代理逻辑,同时增加用户代理的配置,并且这个配置是dict。如果任务指定了代理就使用指定的,否则就使用默认的(原来的逻辑)

@binux
Copy link
Owner

binux commented Jan 7, 2021

那我建议可以让用户提交代理而不是让他们选

@billypon
Copy link
Author

billypon commented Jan 7, 2021

提交代理也行,我做成现在这个样子只是为了不用重复填写而已。

或者我改为模板那里提交一个代理,所有基于这个模板的任务都使用这个代理。没有提交代理的就使用原来的代理逻辑。任务那里可以支持指定代理,也可以不支持。

觉得没问题我可以再改一下

@binux
Copy link
Owner

binux commented Jan 7, 2021

这里的考虑主要是qiandao设计是多用户的项目,无论是网站运行者还是模板作者都没有义务给用户提供代理。
而且提供起来,维护很麻烦,最好还是用户可以用自己的代理。

@billypon
Copy link
Author

billypon commented Jan 7, 2021

那么在新建任务的时候,增加一个代理的输入框。这个代理怎么保存?要么任务表增加一列,要么像我现在这样作为_proxy放在env中

@binux
Copy link
Owner

binux commented Jan 7, 2021

可以啊

@billypon
Copy link
Author

billypon commented Jan 7, 2021

就作为_proxy放在env中是吗

@billypon
Copy link
Author

billypon commented Jan 7, 2021

现在还原了原来的代理逻辑,创建编辑任务时可以输入指定的代理,指定了代理的任务使用指定的代理,否则使用原来的逻辑设置默认代理。任务的代理参数保存在env._proxy中

@billypon
Copy link
Author

不合并吗

@yzsl
Copy link

yzsl commented Mar 25, 2021

大佬能提交到https://github.com/AragonSnow/qiandao 一份吗 qiandao修改版那边还在更新新功能 小白看不懂 文件修改过还是不会用 只能等大佬合并修改 挺需要个别网址走代理的功能的😂

@billypon
Copy link
Author

@yzsl 我就是想等着这个合并了,再提交到那边的,结果作者一直不合并

@yzsl
Copy link

yzsl commented Mar 30, 2021

这边其实不用等了 作者已经脱坑好久了 估摸就是随缘了 直接提交隔壁吧 别的不说 起码更新挺频繁 隔壁作者也说了 推他那边的话大概下月就可以更新

@billypon
Copy link
Author

@yzsl 这个需求隔壁都知道了?

@yzsl
Copy link

yzsl commented Mar 30, 2021

我把链接发群里了 隔壁作者看到后表示ok 推他那边他更新

@billypon
Copy link
Author

billypon commented Apr 1, 2021

那我来推??

@yzsl
Copy link

yzsl commented Apr 1, 2021

推吧 这么好的功能不能浪费了

@billypon
Copy link
Author

billypon commented Apr 6, 2021

@yzsl 已经提PR了

@yzsl
Copy link

yzsl commented Apr 7, 2021

大佬666的👍👍

@billypon billypon closed this Nov 8, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants