这是一个使用c语言写的http代理,是一个单进程单线程的非阻塞同步io程序,用到了epoll的水平触发模式。比较适合拿来作为网络编程的研究学习。 目前代码没有适配多平台,不支持跨平台运行,此代理只能运行在linux系统上。
本仓库是在centos8上编译的,gcc makefile都安装centos默认的版本应该就能编译通过。 编译步骤:
- source env_make_all
- make
- 在install/bin目录下可以找到编译好的二进制。
- 在vps上执行:
mkdir -p /etc/ldproxy
- 把二进制文件LDProxy_server放在vps上随便一个位置,把install/ldproxy/server.json 放到vps的目录/etc/ldproxy下面。
- 然后根据自己的实际情况来修改server.json的local_addr和local_port。 其中local_addr是你vps的ip,local_port随便填一个没有被占用的端口。
- 在你编译环境上执行install/bin下的二进制generate_secretkey来生成secretkey,把新生成的secretkey复制到vps上的server.json中。
- 启动LDProxy_server,可以用systemd来管理LDProxy_server,也可以写个每分钟检查脚本来检查进程的状态。
- 在你的pc上装个虚拟机比如vmware,然后装个linux系统,比如centos。安装centos时虚拟机的选项网络选择桥接。
- 把二进制文件LDProxy_client放在虚拟机上随便一个位置, 把install/ldproxy/client.json 放到centos的目录/etc/ldproxy下面。
- 根据自己的实际情况来修改client.json的local_addr、local_port、server_addr、server_port。其中local_addr、local_port就是centos的ip,端口就选一个没有被占用的,server_addr、server_port就是你vps中的local_addr、local_port。
- 把上面安装LDProxy_server时生成的secretkey复制到client.json。
- 启动LDProxy_client
在pc的chrome或firefox浏览器上安装switchyomega插件,代理服务器的ip端口填centos上LDProxy_client监听的ip和端口。 然后就可以畅享科学上网的快乐了。 当然如果你的路由器支持openwrt,也可以把LDProxy_client交叉编译成ipk包,然后部署在路由器上,家里的所有支持http代理的设备(比如ps4、switch、手机、ipad等)就都可以畅享科学上网的快乐了。