最近折腾了plex电影库,但是不能够远程访问,本着折腾无止境的念头,所以才有了使用frp服务器内网穿透的想法……周末开干。
使用了云穿透www.yunchuantou.com,提供免费线路
frp工作原理:简单地说,frp就是一个反向代理软件,它体积轻量但功能很强大,可以使处于内网或防火墙后的设备对外界提供服务,它支持HTTP、TCP、UDP等众多协议。
服务器端
系统使用Ubuntu 18.04.5 x64,frp客户端和服务端本身同时均支持Linux和Windows,且配置方法一样,请根据实际环境自行测试。
服务器端配置代码:
# 下载frp文件并进行解压wget https://github.com/fatedier/frp/releases/download/v0.29.0/frp_0.29.0_linux_amd64.tar.gz tar -zxvf frp_0.29.0_linux_amd64.tar.gz cp -r frp_0.29.0_linux_amd64 frpcd frp && rm frpc && rm frpc.ini# 修改配置文件vim frps.ini# 文件大致格式[common] bind_port = 7000 # 默认只有这一行 dashboard_port = 7500 # 开启dashboard token = 12345678 # token为服务器端和客户端的标识 dashboard_user = admin # dashboard的用户名 dashboard_pwd = admin # dashboard的密码Copy
-
“bind_port”表示用于客户端和服务端连接的端口,这个端口号我们之后在配置客户端的时候要用到。
-
“dashboard_port”是服务端仪表板的端口,若使用7500端口,在配置完成服务启动后可以通过浏览器访问 x.x.x.x:7500 (其中x.x.x.x为VPS的IP)查看frp服务运行信息。
-
“token”是用于客户端和服务端连接的口令,请自行设置并记录,稍后会用到。
-
“dashboard_user”和“dashboard_pwd”表示打开仪表板页面登录的用户名和密码,自行设置即可。
运行服务器:
# 第一种./frps -c frps.ini # 这样会阻塞住,ctrl+c就会停止# 第二种nohup ./frps -c frps.ini & # 这样就丢到后台去了,通过jobs可以看后台运行的服务。Copy
针对上述第二种方案怎么关闭:
ps -aux|grep frp| grep -v grep root 3600 0.1 0.1 110188 9484 pts/0 Sl 15:04 0:00 ./frpc -c ./frpc.inikill -9 3600Copy
怎么开机启动:
vi /etc/systemd/system/frps.service # 新建此文件,并写入以下内容,注意frps和frps.ini的位置[Unit] Description=frps daemon [Service] Type=simple ExecStart=/usr/bin/frps -c /etc/frps/frps.ini [Install] WantedBy=multi-user.target# 启动并设为开机自启。systemctl start frps systemctl enable frpsCopy
客户端
同样地,根据客户端设备的情况选择相应的frp程序进行下载,Windows下下载和解压等步骤不再描述。
假定你下载了“frp_0.29.0_windows_amd64.zip”,将其解压在了D盘根目录下,并且将文件夹重命名为“frp”,可以删除其中的frps和frps.ini文件。
用文本编辑器打开frpc.ini,与服务端类似,内容如下。
[common] server_addr = x.x.x.x server_port = 7000 token = 12345678 [plex]type = tcp local_ip = 127.0.0.1 local_port = 32400 remote_port = 7001 "server_addr" 为服务端IP地址,填入即可。"server_port"为服务器端口,填入你设置的端口号即可,如果未改变就是7000"token"是你在服务器上设置的连接口令,原样填入即可。Copy
原理图:来源于网络
运行:
cmd命令符窗口进入目录:frpc -c frpc.ini,同样的,会有一个窗口,而且关了就停了。
后台运行:新建frp.bat,将下述命令放进去,点击frp.bat即可运行。
@echo offif "%1" == "h" goto begin mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit:begin REM D:cd D:\frp frpc -c frpc.iniexitCopy
关闭:
之后直接运行这个 .bat 文件即可启动frpc并隐藏窗口(可在任务管理器中退出)。
至于开机启动,把这个 .bat 文件直接扔进Windows的开机启动文件夹就好了 🙂
总结
至此,我们可以通过手机用vps的ip地址加7003端口访问plex服务了,至于怎么绑定域名,还没有折腾明白,先写到这里。