Total Pageviews

Thursday, 14 April 2016

又一个socks5代理服务器程序:hev-socks5-tproxy

A Socks5 transparent proxy.
from https://github.com/heiher/hev-socks5-tproxy
-----------------

A simple socks5 proxy server based on hev-lib for Linux。
from https://github.com/heiher/hev-socks5-proxy
------------
实现了一个 tproxy 用于配合 Iptables 做全局代理,这个 dns forwarder 就是将 DNS 查询代理。 

hev-socks5-tproxy (https://github.com/heiher/hev-socks5-tproxy),这是个 Socks5 协议兼容的客户端,配合 Linux iptables 的 REDIRECT target 使用。

附录:
转发 UDP 协议的 DNS 查询至 TCP 协议传输,目前可以有效的抵御某些组织的 DNS 污染,此方案用于 Linux 平台。

下载、编译 DNS Forwarder
git clone https://github.com/heiher/hev-dns-forwarder
cd hev-dns-forwarder
make

运行 DNS Forwarder
bin/hev-dns-forwarder 0.0.0.0 5300 8.8.8.8
# 0.0.0.0 : 本地监听地址
# 5300 : 本地监听端口
# 8.8.8.8 : 上游 DNS 服务器

本地全局启用
用于本地主机,透明转发所有的本机 DNS 查询
sudo iptables -t nat -A OUTPUT -m udp -p udp --dport 53 -j REDIRECT --to-port 5300
或直接设置本地的 DNS 服务器为 127.0.0.1,并将 Forwarder 的本地监听端口修改为 53。

网关全局启用
用于网关服务器,透明转发所有网关服务的主机的 DNS 查询
sudo iptables -t nat -A PREROUTING -m udp -p udp --dport 53 -j REDIRECT --to-port 5300

己证实转为 TCP 传输不是完全没问题对于特定域名的查询,GFW依旧会 reset tcp connection。
这个转发器原本是打算用于经过 Socks5 代理(仅实现 CONNECT)的,在测试中通过 8.8.8.8 查询 twitter.com 可以得到正确的解析,我就误认为不会被污染。

from https://www.v2ex.com/t/137736
------------------

自己搭建一个DNS server,比如bind在国外,开放非53的UDP端口.然后在本地用dnsmasq 转发一下即可.不用TCP传输模式“这么麻烦!