一.前言
近段时间在青龙面板上使用代理,但网上代理商类型基本是数据中心型,效果跟本机直接请求没什么区别。手头正好有一部闲置的手机,因此尝试在手机上搭建一个代理服务器,这样网络请求的IP就由手机来决定了。
注:青龙面板APP已提供本地代理拓展模块,在移动端即可轻松配置动态代理。
二.正文
1.配置要求
- 一台公网服务器;
- 一台闲置的手机;
2.原理介绍
从上图可以看出,应用通过设置代理发起网络请求,服务器将该网络请求转发给客户端,客户端再将网络请求转发给目标服务器,这样目标服务器收到网络请求的IP就成了客户端的IP,通过改变客户端的IP就可以实现动态IP代理的目的了,而改变手机的IP是一件非常容易的事情。
为了实现上述功能,需要用到内网穿透和代理搭建技术。公网服务器是无法直接连接到手机的,需要手机主动去连接服务器,而后服务器才能再将网络请求转发给手机,利用Frp和TinyProxy便可实现。当然你也可以使用其他工具也实现这两个功能,可自行查找相关资料。
3.服务端配置
如果你有相关的网络编程基础可以手动去下载Frp并配置启动,这里为了方便已经将Frp服务打包成docker容器,一键安装即可:
docker run -dit \
--name frps \
--hostname frps \
-p 10000:7000 \
-p 10001:7002 \
--restart unless-stopped \
wsfsp4/frps-amd64:v1
上面安装容器用到了2个端口映射,说明如下表:
主机端口 | 容器端口 | 备注 |
10000 | 7000 | 客户端连接端口,可以按需修改主机端口,并在主机防火墙中将该端口开放 |
10001 | 7002 | 代理服务端口,可以按需修改主机端口,建议不要将该端口对外开放 |
进入容器/frp目录,打开frps.ini文件 ,你可以按需修改token字段(客户端验证密钥),其他字段如果你不清楚其作用就不要修改:
[common]
# 绑定地址
bind_addr = 0.0.0.0
# 绑定端口
bind_port = 7000
# 授权码
token = frp@123456
# 日志文件
log_file = ./frps.log
# 日志等级:trace, debug, info, warn, error
log_level = warn
# 日志保留天数
log_max_days = 2
进入容器终端,执行以下命令启动服务端:
cd /frp
./start.sh
可以看到以下提示:
No process with name containing 'frps' was found.
//or
Killing process with PID: xx and its parent.
4.客户端配置
手机是无法直接运行Frp的,因此我们需要借助Termux App(提取码1111),安装打开后执行以下命令,如提醒输入则输入'Y':
pkg update
安装termux-tools,用于系统设置:
pkg intsall termux-tools
执行命令,允许Termux后台运行:
termux-wake-lock
安装TinyProxy,用于代理转发,如果你想进行一些参数的配置,比如日志、代理端口,可自行查找相关资料,这里就不讲解配置了:
pkg intsall tinyproxy
安装Frp,用于接收服务端数据:
pkg install frpc
安装Vim,用于编辑文本:
pkg intsall vim
开始编辑配置文件:
vim frpc.ini
按下'i'键,输入下面内容,按照注释修改即可:
[common]
# 服务端IP
server_addr = xxx.xxx.xx.xx
# 服务端连接端口
server_port = 10000
# 密钥 同服务端设置
token = frp@123456
# 转发配置 无需修改
[proxy]
type = tcp
local_ip = 127.0.0.1
local_port = 8888
remote_port = 7002
按下表盘'ESC'键,然后输入':wq'并回车确认,至此客户端已经完成配置,输入下面命令即可启动代理:
tinyproxy && frpc -c frpc.ini &
最后,为了Termux能够在后台正常运行,你需要对手机的省电模式进行设置
5.使用
跟正常代理一样,在应用中设置代理就可以使用,一般面板容器和主机是处于同一虚拟局域网,所以用主机局域网IP就行了,如果你对外开放代理服务(不建议这么做),就用服务器的公网IP:
http://主机局域网IP:10001
如果你不知道怎么获取主机局域网IP,一个简单的方法是打开容器列表,随便查看个容器的IP,那么1号就是主机局域网IP,即172.17.0.1
在教程中出现了较多的端口设置,为了方便读者更好地理解,再补充一张原理图:
6.测评
(1)想改变代理的IP,在WIFI网络下只需要将路由器断电10秒左右重启即可,在移动网络下只需打开飞行模式10秒左右再关闭即可,可以说是非常方便;
(2)客户端的Frp具有重连功能,与服务器断开连接后重新接入网络会自动尝试连接,稳定性还是非常可以的;
(3)TinyProxy采用Http隧道技术,无需安装证书即可代理Https协议;文章来源:https://www.toymoban.com/news/detail-441663.html
(4)一般来说公网服务器的网络是很稳定的,入/出网宽带也都在500KB/s以上,手机网速也不差,所以代理网速是完全可以满足一般脚本的网络请求。文章来源地址https://www.toymoban.com/news/detail-441663.html
到了这里,关于青龙面板教程(六):本地动态网络代理搭建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!