python - Linux终端全局代理翻墙
PHP中文网
PHP中文网 2017-04-18 09:34:01
0
2
2096

我想通过设置HTTP_PROXY和HTTPS_PROXY方法实现代理,格式如下

$ export HTTP_PROXY="http[socks5]://user:pass@server_address:port/"
$ export HTTPS_PROXY="http[socks5]://user:pass@server_address:port/"

昨天我买了一台阿里云的服务器,经过SSH -D user@server然后通过Chrome下的proxy插件可以实现翻墙。现在我想让用设置环境变量的方式代理实现终端下也能访问Goole等网站的页面,请问我应该怎样在我的阿里云服务器上面配置呢?

附录:
自己在Python爬虫里面通过下面的方式利用Shadowsocks已经可以爬取墙外的网站了,现在主要想在终端下使用wget, youtube-dl等命令翻墙。

 proxy_handler = SocksiPyHandler(socks.SOCKS5, '127.0.0.1', 1080)
PHP中文网
PHP中文网

认证0级讲师

répondre à tous(2)
小葫芦

Si vous souhaitez atteindre l'objectif de proxy global pour votre titre, vous pouvez lire la partie iptables de cet article

https://linuxaria.com/article...

J'ai extrait la iptables configuration comme suit :

#!/bin/bash
# Create new chain
iptables -t nat -N REDSOCKS
 
# Ignore LANs and some other reserved addresses.
iptables -t nat -A REDSOCKS -d 0.0.0.0/8 -j RETURN
iptables -t nat -A REDSOCKS -d 10.0.0.0/8 -j RETURN
iptables -t nat -A REDSOCKS -d 127.0.0.0/8 -j RETURN
iptables -t nat -A REDSOCKS -d 169.254.0.0/16 -j RETURN
iptables -t nat -A REDSOCKS -d 172.16.0.0/12 -j RETURN
iptables -t nat -A REDSOCKS -d 192.168.0.0/16 -j RETURN
iptables -t nat -A REDSOCKS -d 224.0.0.0/4 -j RETURN
iptables -t nat -A REDSOCKS -d 240.0.0.0/4 -j RETURN
 
# Anything else should be redirected to port 31338
iptables -t nat -A REDSOCKS -p tcp -j REDIRECT --to-ports 31338
 
# Any tcp connection made by `linuxaria' should be redirected, put your username here.
iptables -t nat -A OUTPUT -p tcp -m owner --uid-owner linuxaria -j REDSOCKS

Cette configuration transfère toutes les TCP connexions, à l'exception des connexions LAN locales, vers le port 31338. Vous devez évidemment utiliser un logiciel proxy pour surveiller ce port à l'avance. Bien sûr, il peut également s'agir de n'importe quel autre port d'écoute proxy désigné

.

PS : Le proxy global est en fait très peu pratique. Il est préférable d'appliquer le proxy séparément. Quant à ce que vous avez dit sur le fait de faire en sorte que wget ces commandes utilisent également le proxy, il suffit de export télécharger temporairement env avant de l'utiliser. ça

Par exemple, mon proxy est sur 192.168.100.100, port 1080, je souhaite wget télécharger YouTube :

$ export https_proxy=http://192.168.100.100:1080
$ wget www.youtube.com
--2016-09-06 13:00:28--  http://www.youtube.com/
Connecting to 192.168.100.100:1080... connected.
Proxy request sent, awaiting response... 301 Moved Permanently
Location: https://www.youtube.com/ [following]
--2016-09-06 13:00:32--  https://www.youtube.com/
Connecting to 192.168.100.100:1080... connected.
Proxy request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: “index.html”

    [           <=>                                 ] 391,815      133K/s   in 2.9s    

2016-09-06 13:00:36 (133 KB/s) - “index.html” saved [391815]

Facile et agréable. Bien sûr, certaines applications peuvent ne pas prendre en charge le protocole Socks5. Recherchez simplement un tas de réponses sur "socks5 to http" que j'utilise habituellement privoxy

.
PHPzhong

Concernant le proxy, nous recommandons deux outils, proxychains et privoxy Comme wget et youtube-dl, vous pouvez spécifier le proxy dans les paramètres, donc si vous avez un serveur ss, configurez simplement le proxy ss localement. Je pense qu'il est préférable d'utiliser des proxys pour les applications plutôt que de créer des proxys globaux au niveau du système.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal