Skip to main content

虚拟机debian、ubuntu配置sock/socks5h/http/https代理

首先开启代理软件,打开允许局域网连接。
然后编辑用户变量

nano ~/.bashrc

添加以下代码

# set proxy
function proxy_set() {
   export MY_PROXY=socks5h://192.168.10.1:10810
   #err write export no_proxy="localhost,127.0.0.0/8,::1/128,.local,192.168.0.0/16,10.0.0.0/8,172.16.0.0/12"   
   export no_proxy=${no_proxy},$(echo 192.168.{7..20}.{1..255} | sed 's/ /,/g')
   export http_proxy=${MY_PROXY}
   export HTTP_PROXY=${http_proxy}
   export https_proxy=${MY_PROXY}
   export HTTPS_PROXY=${https_proxy}
   export all_proxy=${ALL_PROXY}
   export ALL_PROXY=${MY_PROXY}

   export FTP_PROXY=${MY_PROXY}
   echo "proxy set! =${http_proxy}"
}
# unset proxy
function proxy_unset() {
   unset no_proxy
   unset http_proxy  HTTP_PROXY    https_proxy  HTTPS_PROXY
   unset all_proxy   ALL_PROXY     FTP_PROXY
   echo "proxy unset@ <=${http_proxy}"
}

# enabled
proxy_set

然后刷新启用变量

source ~/.bashrc

以后可以在终端直接敲 proxy_ 然后tab补全调用命令

~$ proxy_
proxy_set    proxy_unset

理想的写法是
"localhost, 127.0.0.0/8, ::1/128, .local, 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12"
但是强大的Linux不支持子网写法

然后就能使用代理了。

注意不能写在其他脚本里调用,因为父进程不一样。
而且那个no_proxy列表不能太长,不然解析不了...

注:

  • socks5h:// 代表域名解析DNS也走代理服务器
  • no_proxy 表示不走代理的地址,一般设置内网地址
环境变量curlgitapt-getwget备注
http_proxyYYYY 
https_proxyYY?Y 
ftp_proxyYYYN 
all_proxyYYNY 
no_proxyYYNY 

 

Add new comment

Restricted HTML

  • You can align images (data-align="center"), but also videos, blockquotes, and so on.
  • You can caption images (data-caption="Text"), but also videos, blockquotes, and so on.