服务端安装配置可参考使用frp实现内网穿透
frpc 配置
不再赘述,具体可参考官方文档,贴一下我的配置文件frpc.ini
:
0.52 版本以上推荐使用 toml 格式的配置文件,我的群晖安装的版本不满足,还继续使用ini格式。
#frpc
[common]
server_addr = frp.xxx.com
server_port = 1103
privilege_token = xxxxxx
log_file = ./frpc.log
log_level = info
log_max_days = 3
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 11032
#[nasdrivetcp]
#type = tcp
#local_ip = 127.0.0.1
#local_port = 6690
#remote_port = 11033
[nas]
type = http
local_port = 5000
custom_domains = nas.frp.xxx.com
[web]
type = http
local_port = 80
custom_domains = nasweb.frp.xxx.com
群晖三方套件源
群晖官方:https://archive.synology.com/download
云梦 DSM6.X: https://spk.520810.xyz:666/?arch=apollolake&spk_library=
云梦 DSM7X:http://spk.520810.xyz:777
矿神 DSM6.X::https://spk.imnks.com/
矿神 DSM7X:https://spk7.imnks.com/?arch=apollolake
以下源不分先后,这都是目前可以用的源,后续有没有别人发布源不知道
裙下孤魂:http://spk.bobohome.store:8880/
SynoCommunity:http://packages.synocommunity.com/?beta=1
ACMENet:http://synology.acmenet.ru
dierkse:http://syno.dierkse.nl/
sysco:http://synology.sysco.ch/
FileBot:https://get.filebot.net/syno/
Hildinger:http://www.hildinger.us/sspks/
Netzbär:https://spk.netzbaer.de/
PC LOAD LETTER:http://packages.pcloadletter.co.uk/
letroye:http://olympe.letroye.be/sspks
Domoticz:http://www.jadahl.com/domoticz_stable_6/
nzb usenet:http://synology.nzbusenet.com/
cphub net:https://www.cphub.net/?id=37
群晖下 frpc
自动启动
可直接安装 矿神SPK 的Frpc客户端
套件,DSM 6.X 的 frpc 更新停在了0.51.2
版本。
需要以 root
账号操作,DSM6+ 不再提供root
账号,可登陆admin
账号,然后sudo -i
提升为root
账号
部署 frpc
mkdir -p /usr/local/frp
cp -Rf /volume1/homes/y836097668/Drive/dev/frp_synology/frp_0.19.1_linux_amd64/ /usr/local/frp/
cd /usr/local/frp/
echo '#/bin/bash
cd /usr/local/frp/frp_0.19.1_linux_amd64
nohup ./frpc -c ./frpc.ini &
' > ./frpc.sh
chmod +x frpc.sh
# /usr/local/frp/frpc.sh
设置自启动
1.登录群晖 NAS 系统
2.进入控制面板
3.任务计划>新增>触发的任务>用户定义的脚本
4.常规
- 设置名称名称,如:frp
- 用户账号:root
- 事件:开机
5.任务设置
用户定义的脚本,上面创建的脚本
/usr/local/frp/frpc.sh
以上设置可以成功,但在群晖系统升级后,启动文件和frpc文件都丢失了,故测试一下放到 /usr/local/frp/
目录以观后效。。。。心累
Docker 启动
也可以使用docker部署,推荐stilleshan/frpc
镜像。
挂载文件docker/frp/frpc.ini:/frp/frpc.ini
网络选择:使用与 Docker Host 相同的网络
高权限执行容器
群晖DSM 服务使用哪些网络端口
https://kb.synology.cn/zh-cn/DSM/tutorial/What_network_ports_are_used_by_Synology_services
类型 | 端口号 | 协议 |
---|---|---|
DSM | 5000 (HTTP)、5001 (HTTPS) | TCP |
Synology Drive Server | 80链接共享、443链接共享、5000 (HTTP)、5001 (HTTPS)、6690文件同步/备份 | TCP |
WebDAV | 5005、5006 (HTTPS) | TCP |
额外代理 6690 端口
前文 配置文件中已经体现
Synology Drive Client的默认端口是6690
,移动端的Drive的默认端口是5000
。
这里的默认端口是指,NAS端的Drive服务对PC端Drive程序开放的默认访问端口为6690,对移动端的App开放的默认访问端口为5000。
默认还有一层意思是,Drive客户端程序在你输入域名后,会检测你输入的域名是不是带有端口号,如果没有填写端口号,客户端程序会自动添加上默认的访问端口去访问NAS端的Drive,PC端就自动添加6690,移动端就自动添加5000。
但如果你自己填写了端口号,就会使用你填写的端口号去访问NAS端的Drive。
所以在局域网中直接输入群晖的IP,加不加6690端口都能连接上Drive服务,但在外网下就需要用一个端口转发到群晖所在IP的6690端口。
不加端口号连接Drive。既然客户端会帮我默认添加6690端口,那么想要不加端口号连接Drive,只需要把外部的6690端口转发到局域网内群晖所在IP的6690端口上即可。如果外部6690端口不可用,只能单独指定一个端口了。
群晖DSM 集成短信提醒
选择的是国内小众的短信服务提供商,短信宝(0.1¥/条),支持最小50条充值。
接口调用示例:
http://www.smsbao.com/sms?u=$username&p=$password&m=$mobile&c=$content
# p 平台登录密码MD5后的值(32位,不区分大小写)
# u 在本短信平台注册的用户名
# m 接收的手机号;群发时多个手机号以逗号分隔,一次不要超过99个号码(不能带+86)
# 发送内容,采用UTF-8 URL ENCODE --- 代码示例:UrlEncode("【短信宝】您的验证码是4564", "UTF-8")
统一使用 UTF-8 编码,请确保文件编码及传入参数的格式
不过群晖是国际化的系统,要求必须带+86
,可以通过服务端转发,以 Nginx 为例:
# 短信接口转发到短信宝
server {
listen 80;
server_name "sms.sherlocky.com";
## 参数u 代表用户名
set $u $arg_u;
## 参数p 代表密码需要MD5以下:md5(xxx),此处暂时写死
set $p $arg_p;
## 根据国内运营商要求,必须加上【XXX】的内容才能发送短信,
## 单独写个转发是因为国际化的群晖DSM在通知填写的号码的时候,强制填写国际代码,所以号码前面会加“+86”这3个字符
## 而短信宝又太本土化,加了+86就发送不了短信了
location /sms {
## 参数m 代表手机号,不能带+86
set $m "xxxxxxx";
## 短信内容前缀:【XXXX】(国家要求必须有前缀)
set $cPrefix "%E3%80%90XXX%E3%80%91";
proxy_pass http://www.smsbao.com/sms?u=$u&p=$p&m=$m&c=$cPrefix$arg_c;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /query {
proxy_pass http://api.smsbao.com/query?u=$u&p=$p;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
查询余额API
http://api.smsbao.com/query?u=$username&p=$password
邮箱配置
使用126邮箱,用户名不包含@126.com
,密码不是邮箱密码,是网易设置里的客户端授权密码。
评论区