A socks5 server implementation RFC 1928 (SOCKS V5)
Features
- CONNECT and UDP support
- Hostname resolution
- Concurrency support
git clone https://github.com/lparam/socksd socksd-by-lparam
cd socksd-by-lparam
make
(待make完成后,当前目录下会生成socksd文件。这个socksd文件即为程序的可执行文件。)
root@AR:~/socksd-by-lparam# ./socksd
(从./socksd的输出结果可看出socksd是以daemon方式运行的。)
root@AR:~/socksd-by-lparam# ps aux|grep socksd
root 10076 0.0 0.0 2428 676 ? Ss 04:39 0:00 ./socksd
root 10080 0.0 0.1 4660 984 pts/1 S+ 04:39 0:00 grep socksd
root@AR:~/socksd-by-lparam# netstat -tulpn|grep 10076
tcp 0 0 0.0.0.0:1080 0.0.0.0:* LISTEN 10076/socksd
udp 0 0 0.0.0.0:1080 0.0.0.0:* 10076/socksd
(可以看到socksd所占用/监听的端口号为1080)
root@AR:~/socksd-by-lparam#
root@AR:~/socksd-by-lparam# netstat -tulpn|grep socksd (或者netstat -anp|grep socksd)
tcp 0 0 0.0.0.0:1080 0.0.0.0:* LISTEN 10076/socksd
udp 0 0 0.0.0.0:1080 0.0.0.0:* 10076/socksd
root@AR:~/socksd-by-lparam# ./socksd -h
(查看使用帮助。得知监听的默认端口为1080.运行命令./socksd -l 0.0.0.0:2070,可以修改监听的端口号为2070)
这个socksd默认允许外部ip连接。可以用作tor网络的前置代理。
因为socksd是以daemon方式运行的,所以不能用systemd来运行这个socksd了。
我们可以把socksd添加到启动脚本中:
nano /etc/init.d/socksd-by-lparam
其内容为:
#!/bin/bash
### BEGIN INIT INFO
# Provides: socksd-by-lparam
# Required-Start: $remote_fs $local_fs
# Required-Stop: $remote_fs $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: use it to cross gfw
# Description: try it
### END INIT INFO
/root/socksd-by-lparam/socksd -l 0.0.0.0:2070
exit 0
然后运行:
chmod 755 /etc/init.d/socksd-by-lparam
/root/socksd-by-lparam/socksd -l 0.0.0.0:2070
服务器端就搭建完成了。
在本地机器mac上。
chrome+switchyomega其实比ff更好用,更能抗‘dns污染’。
---------------查看哪个程序占用了端口1234:
除了lsof -i:1234外,还可用
netstat -tulpn|grep 1234