简介

FRP 是一款开源的穿透工具,并且一直有人在维护,安装配置都很简单,实在是居家旅行必备利器啊:
开源网址:github.com/fatedier/frp

之前家里网络有公网 IP,所以搞个 DDNS 加端口转发就好了,现在用联通的没有公网 IP,只能自己在服务器搭穿透了。
主要目的不是远程路由器设置,而且搞定我的黑群晖文件同步 Drive,照片同步 Photo ,Note 等等。
虽然白群晖的 QuickConnect 无论有没有公网 IP 都可以连接,但速度实在太慢了。
所以无论黑群晖还是白群晖,自己搞定连接才是王道。

服务器端(frps)安装和设置

安装命令,常见 Linux 系统 32 位和 64 位都支持。
直接在服务器上输入以下命令:

wget --no-check-certificate https://raw.githubusercontent.com/clangcn/onekey-install-shell/master/frps/install-frps.sh -O ./install-frps.sh
chmod 700 ./install-frps.sh
./install-frps.sh install

顺便附上更新和卸载命令:

./install-frps.sh update

./install-frps.sh uninstall

安装过程:

  1. 选择下载网址:
    Please select frps download url:
    [1].aliyun (default)
    [2].github
    Enter your choice (1, 2 or exit. default [aliyun]):
    ---------------------------------------
    Your select: aliyun
    ---------------------------------------
  1. 选择配置:
Please input your server setting:

Please input frps bind_port [1-65535](Default Server Port: 5443):9999
frps bind_port: 9999
#输入frp提供服务的端口,用于服务器端和客户端通信

Please input frps vhost_http_port [1-65535] (Default vhost_http_port: 80):80
frps vhost_http_port: 80
#输入frp进行http穿透的http服务端口

Please input frps vhost_https_port [1-65535] (Default vhost_https_port: 443):443
frps vhost_https_port: 443
#输入frp进行https穿透的https服务端口

Please input frps dashboard_port [1-65535] (Default dashboard_port: 6443):
frps dashboard_port: 6443
#输入frp的控制台服务端口,用于查看frp工作状态

Please input dashboard_user (Default: admin):
frps dashboard_user: admin

Please input dashboard_pwd (Default: 5MuI6puV):12345678
frps dashboard_pwd: 12345678

Please input token (Default: 2PyxSCK1Mv1GK6i6):
frps token: 2PyxSCK1Mv1GK6i6
#输入frp服务器和客户端通信的密码,默认是随机生成的

Please input frps max_pool_count [1-200]
(Default max_pool_count: 50):
frps max_pool_count: 50
#设置每个代理可以创建的连接池上限,默认50
##### Please select log_level #####
1: info (default)
2: warn
3: error
4: debug
#####################################################
Enter your choice (1, 2, 3, 4 or exit. default [1]):
log_level: info
#设置日志等级,4个选项,默认是info

Please input frps log_max_days [1-30]
(Default log_max_days: 3 day):
frps log_max_days: 3
#设置日志保留天数,范围是1到30天,默认保留3天
##### Please select log_file #####
1: enable (default)
2: disable
#####################################################
Enter your choice (1, 2 or exit. default [1]):
log_file: enable
#设置是否开启日志记录,默认开启,开启后日志等级及保留天数生效,否则等级和保留天数无效
##### Please select tcp_mux #####
1: enable (default)
2: disable
#####################################################
Enter your choice (1, 2 or exit. default [1]):
tcp_mux: true

##### Please select kcp support #####
1: enable (default)
2: disable
#####################################################
Enter your choice (1, 2 or exit. default [1]):
kcp support: true

============== Check your input ==============
You Server IP : 100.100.100.100
Bind port : 9999
kcp support : true
vhost http port : 80
vhost https port : 443
Dashboard port : 6443
Dashboard user : admin
Dashboard password : 12345678
token : 2PyxSCK1Mv1GK6i6
tcp_mux : true
Max Pool count : 50
Log level : info
Log max days : 3
Log file : enable
==============================================

Press any key to start...or Press Ctrl+c to cancel
frps install path:/usr/local/frps
config file for frps ... done
download frps ... done
download /etc/init.d/frps... done
setting frps boot... done
  1. 确认之后,自动安装:
+--------------------------------------------------+
| Manager for Frps, Written by Clang |
+--------------------------------------------------+
| Intro: http://koolshare.cn/thread-65379-1-1.html |
+--------------------------------------------------+

Starting Frps(0.20.0)... done
Frps (pid 25806)is running.

+---------------------------------------------------------+
| frps for Linux Server, Written by Clang |
+---------------------------------------------------------+
| A tool to auto-compile & install frps on Linux |
+---------------------------------------------------------+
| Intro: http://koolshare.cn/thread-65379-1-1.html |
+---------------------------------------------------------+


Congratulations, frps install completed!
==============================================
You Server IP : 100.100.100.100
Bind port : 9999
KCP support : true
vhost http port : 80
vhost https port : 443
Dashboard port : 6443
token : 2PyxSCK1Mv1GK6i6
tcp_mux : true
Max Pool count : 50
Log level : info
Log max days : 3
Log file : enable
==============================================
frps Dashboard : http://100.100.100.100:6443/
Dashboard user : admin
Dashboard password : 12345678
==============================================
FRPS 管理相关命令: frps status manage : frps {start|stop|restart|status|config|version} Example:
start: frps start
stop: frps stop
restart: frps restart

到 DNS 网站去设置域名的绑定,直接 A 记录到服务器 IP 就好了,如:

类型 主机记录 记录值
A nas 100.100.100.100
A router 100.100.100.100

路由器端(frpc)安装和设置

  1. 梅林固件安装很简单,市场就有该插件,不过要看清楚,一个是frpc(客户端),一个是frps(服务端)。另外还有最好加上虚拟内存,插个U盘在路由器上。
  2. 配置 frpc 插件很容易,按照前面服务器端的配置填写,一项一项对应就好了,没什么好说的。
  3. 路由器端的穿透比较简单,配置 HTTP 或 HTTPS 就好了,关键是群晖的穿透配置。 本来按照本来按照 frpc 填写规则应该是比较简单的,但实际上我花了很多时间,在多次测试不成功后我都打算直接在群晖上安装 frpc 了,后来还是不甘心,终于配置好了。既可以在 web 上登录,又可以在手机 APP 和电脑客户端上使用了。

关于 DS Photo 好像有个小问题,比如你之前已经配置了一套参数正常使用过,现在要更改新的群晖网址,需要先取消老配置,然后关闭 APP 进程,再次打开 APP 填写新的群晖配置。 如果你取消老配置后不关闭 APP 而直接输入新配置,会一直连接不上,然后你就怀疑人生。(Android)

web 上使用是输入域名:端口nas.yourname.com:8080,也有如 Photo 需要域名:端口/photo,客户端上可以直接输入域名都可以。

协议类型 代理名称(不能一样) 域名配置(根据域名解析) 内网主机地址(内网主机ip) 内网端口 远程主机端口(HTTP和HTTPS端口和服务端一致) 加密(是和否不影响连接) 压缩
tcp nas1 192.168.1.100 5001 443
tcp drive 192.168.1.100 6690 6690
tcp photo 192.168.1.100 80 80
tcp note 192.168.1.100 5000 5000
tcp download 192.168.1.100 8000 8000
tcp audio 192.168.1.100 8800 8800
tcp video 192.168.1.100 9007 9007
https nas nas.yourname.com 192.168.1.100 5001 443
https router router.yourname.com 192.168.1.1 8443 443

  • 注意服务器端和客户端的时间要一致,不然会不定时的断线