Proxy

Tools Great Fire Wall

Terminal

Terminal 中设置环境变量即可启用代理,大部分程序都会使用这个环境变量来作为自己的代理。

export http_proxy=http://domain.com:8888/
export https_proxy=http://domain.com:8888/

但是这种方式并不支持 socks5 的代理,以及 https 的代理。

CURL

很多程序内部都会默认调用 curl 来连接网络,所以只要设置了 curl 的代理,就能解决不少程序的连接问题(比如 Homebrew)。curl 除了使用上面提到的 http_proxy 环境变量以外,还支持通过配置文件设置 socks5 代理。

# cat ~/.curlrc
socks5 = "127.0.0.1:1080"

Git

Git 的代理也是可以单独设置的,并且也支持 socks5:

# cat ~/.gitconfig

[http]
proxy = http://domain.com:8888
proxy = socks5://domain.com:8888

[https]
proxy = http://domain.com:8888
proxy = socks5://domain.com:8888

Socks5 to Http

Use polipo tools:

  • install polipo
  • polipo socksParentProxy=localhost:1080
  • http_proxy=http://localhost:8123 curl www.google.com

Alfred & Shadowsocks & SwitchyOmega

已经写了一个 Alfred Workflow 来控制本地 Shadowsocks 客户端的运行。

本地 sslocal 会提供一个 localhost:1080 的 socks5 的代理,配合 Chrome 的 SwitchyOmega 插件可以很方便干净的使用了。

Shadowsocks 应该使用新的 Shadowsocks-libev。

关于 Squid 搭建的 HTTP 代理

通常还是会被拦下来的,因为客户端还是会明文经过 gfw 来向服务器发送数据。不过,如果使用 25 端口的话就是 ok 的。

PPTP and UFW

当 ufw 开启后,vpn 无法链接,即使已经ufw allow 1723也还是不行。

需要将下面这行加入 /etc/ufw/before.rules 中的 #drop INVALID packages... 之前。

-A ufw-before-input -p 47 -j ACCEPT

在把下面这些加到最前面

# NAT table rules
*nat
:POSTROUTING ACCEPT [0:0]
# Allow forward traffic to eth0
-A POSTROUTING -s 10.99.99.0/24 -o eth0 -j MASQUERADE
# Process the NAT table rules
COMMIT

最后在 /etc/default/ufw 中

DEFAULT_FORWARD_POLICY="ACCEPT"

NOTE: 结果升级了 MacOS 之后发现 pptp 的选项直接被废弃了,所以就把 vps 上的 pptp server 删除了,重新配置了 ipsec。

IPSec

依然使用 Docker 运行的,直接使用 Published 镜像 hwdsl2/ipsec-vpn-server 按照说明运行就行了。居然比 PPTP 还要方便。

不过使用的使用还是遇到了问题。漫咖啡的 wifi 直接连接不上。

Set Proxy by Script

/usr/sbin/networksetup -setautoproxyurl Wi-Fi http://localhost:222/aa.pac
/usr/sbin/networksetup -setautoproxystate Wi-Fi on
END

Published @ Aug 15, 2017