系统环境: ·虚拟机+Ubuntu1804 ·系统代理 Network Proxy 设置 socks host,配合 sslocal 命令上网。
本来用的好好的,没感觉啥,在终端用 requests.get 就遇到问题了,报错发现没找到 socks 支持. 去网上找了下,试了各种方案,也认真了解代理有关内容。
整理下现状:用 network proxy 配合 sslocal 命令 ·用浏览器上百度和谷歌没问题,但百度走代理,很慢。 ·终端直接上百度很快,但是没办法上谷歌,ping 连不上。 ·在当前状态下没办法用 requests.get ,要把系统 proxy 设置成 disable,新开终端才行。
我的理解: ·系统的 network proxy 不行,需要找一个支持 socks5 的客户端配合 sslocal。这时 requests 的问题应该没有了,但是浏览器上百度很卡,终端上不了谷歌仍然存在。 ·win 下还有个 pac,在 Ubuntu 下又是如何设置的?这个引入的话浏览器上百度应该直走很快的。
请教大家都是怎么设置 Ubuntu 的代理的,小白自己瞎折腾,网上参差不齐,装了许多都不好使。
这几天折腾整理了一点头绪:
旧方案:sslocal命令配合Network proxy,可以让浏览器上网,但是全部走代理,上百度很卡。
新方案:shadowsocks-qt5+SwitchOmega,浏览器分流上网,完美。
教程参见:![nwInFP.jpg](https://s2.ax1x.com/2019/09/11/nwInFP.jpg)
其它软件、终端可以按命令单独设置也可以系统设置,目前没有测试。
方案有:tsocks、proxychains、privoxy、polipo、透明代理
建议:
Network proxy的socks是个大坑,大家最好不用。requests就在这上面把本问题炸出来了。现在也有一点眉目了,关于requests会新开一个问题请教大家。
虚拟机克隆功能真好,不会测试污染系统了。等测试好了,再移植到原系统。
1
xiaomingVTEX 2019-09-08 16:10:07 +08:00
我现在就是 ss git5 + SwitchyOmega, 实现浏览器访问 google
|
2
windyland 2019-09-08 16:45:00 +08:00 via Android
实体机装酸酸乳,然后 ALL_PROXY=socks5://实体机 ip:1080
|
3
xxx749 2019-09-08 17:02:12 +08:00
SS => privoxy + gfwlist => Network Proxy(HTTP Proxy)
|
4
zxih123 2019-09-08 17:45:28 +08:00 via Android
路由器走代理
|
5
Hconk 2019-09-08 20:40:08 +08:00 via iPhone
主机开 PAC 模式代理,虚拟机全局代理设置走主机 PAC,console 走主机的 socks5 代理。
|
6
shenfu1991 2019-09-08 20:59:33 +08:00
好巧,这几天正在研究这方面,可以实现终端( terminal )智能分流(国内直接连接,国外走代理),我用的也是 ubuntu,今天实验了一下,已经成功了。大佬的项目地址 : https://github.com/zfl9/ss-tproxy
效果: https://wenjian.qianli123.com/ubuntu.png |
7
shenfu1991 2019-09-08 21:01:52 +08:00
还有楼上的各位,终端是不能 pac 的,pac 要执行 js,浏览器可以,这是我搜索到的答案。
|
8
inhzus 2019-09-08 21:06:13 +08:00 via Android
系统不开代理,浏览器 switchy omega,终端得分情况。一般情况 fq 用 proxychains-ng,yay 等写个脚本设置 http_proxy 等等
|
9
steley 2019-09-08 21:17:42 +08:00
proxychains +1
|
10
jw19961019 2019-09-08 21:19:51 +08:00 via Android
export http-proxy=
|
11
EscYezi 2019-09-08 21:40:29 +08:00 via iPhone
之前折腾虚拟机的时候看到一篇文章,虚拟两个网卡,一个桥接一个 NAT,让主机和虚拟机互访问,同时虚拟机也能自由连接网络。
我在这个基础上,win10 宿主机开了一个 fq 软件监听 http 9999 端口,然后在虚拟机里面终端用 export http_proxy=访问主机的 9999 端口。 浏览器我就直接用宿主机的 FF 走全局了,感觉国内的也慢不了多少...... |
12
monsterxx03 2019-09-08 21:43:37 +08:00
|
13
itgoyo 2019-09-09 08:22:57 +08:00
先 export http-proxy
然后 proxychains |
14
tslling 2019-09-09 08:53:19 +08:00 via Android
我是图形界面那里把代理 apply system wide,这样所有流量不管是不是终端一股脑发给本地的代理,分流的事情交给代理去做。终端也可以访问百度谷歌了,而且还分流了,感觉比较省心了。
|
15
photon006 2019-09-09 10:15:15 +08:00
直接上路由器,这样想,gov 封锁那些网站没有在我们每台设备上安装软件屏蔽网站,而是在骨干出口网络上进行封锁,对应的,我们突破封锁也没必要在每台设备上安装代理软件,在我们家里 /办公室的路由器出口网络安装就行了。
|
16
airdge 2019-09-09 10:21:15 +08:00
QT5 访问没啥问题
proxies={ 'http':'socks5://xxxxx:1080', 'https':'socks5://xxxxx:1080', } requests.get( url, proxies=proxies, ) http://tva1.sinaimg.cn/large/007X8olVly1g6t1twtpekj31bk0rekb3.jpg |
17
imycc 2019-09-09 16:20:21 +08:00
基本情况一致,都是 win10+虚拟机。我是在 win10 开的小飞机,然后在小飞机的选项里,勾选支持来自局域网的链接。期望的是能够在虚拟机里用上代理。我的解决方案不完美,不过能解决部分问题。
浏览器简单,直接设置浏览器的代理就解决了。 终端上,一开始用的是`proxychains`,用于`curl`命令工作正常。 但是用`go get`安装包的时候出问题,最后采用的方案是,安装`polipo`,将 socks5 代理转换成 http 代理,然后再通过`export http_proxy`来设置终端的代理,就可以了。 |
18
mainlong OP |
19
mainlong OP |
20
tslling 2019-09-10 00:17:24 +08:00 via Android
@mainlong 这个其实也就是反映到配置文件里的一个设置,直接改 /etc/environment 这个配置文件是一样的。参考这个
https://askubuntu.com/questions/1053854/how-to-set-system-wide-proxy-address-in-ubuntu-18-04-lts-server/1053936 |
21
shenfu1991 2019-09-10 11:16:39 +08:00
@tslling
``` http_proxy="http://userName:password@proxy:port" https_proxy="http://userName:password@proxy:port" ftp_proxy="http://userName:password@proxy:port" ``` 这种方式貌似全部走的都是代理,连国内的网站也会走代理,可以 ``` curl "http://pv.sohu.com/cityjson?ie=utf-8" ``` 看看返回的 ip 是国内的,还是代理的。 |
22
tslling 2019-09-10 22:45:41 +08:00
@shenfu1991 哦我说的就是把所有流量交给代理客户端,然后让客户端去决定是否走代理翻墙(当然这样做的前提是代理客户端要具备分流的能力)。楼主回复的我的 14 楼,然后我又回复的楼主。
|