frps frpc 配置
不再赘述,具体可参考官方文档,贴一下我的配置文件:
#frps
[common]
bind_port=11031
kcp_bind_port=11031
vhost_http_port=1103
vhost_https_port=11034
privilege_token=xxxxxx
tcp_mux = true
[ssh]
listen_port = 11032
dashboard_port=11030
dashboard_user=xxx
dashboard_pwd=xxx
log_file = ./frps.log
# trace, debug, info, warn, error
log_level = info
log_max_days = 3
#frpc
[common]
server_addr = frp.xxx.com
server_port = 11031
privilege_token = xxxxxx
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 11032
[nas]
type = http
local_port = 5000
custom_domains = nas.frp.xxx.com
[web]
type = http
local_port = 80
custom_domains = nasweb.frp.xxx.com
群晖下 frpc
自动启动
需要以 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/
目录以观后效。。。。心累
centos 7 下 frps
自启动
复制文件
sudo cp frps /usr/local/bin/frps
sudo mkdir /etc/frp
sudo cp frps.ini /etc/frp/frps.ini
编写 frp service 文件,以 CENTOS7 为例
vim /usr/lib/systemd/system/frps.service
内容如下
[Unit]
Description=frps
After=network.target
[Service]
TimeoutStartSec=30
ExecStart=/usr/local/bin/frps -c /etc/frp/frps.ini
ExecStop=/bin/kill $MAINPID
[Install]
WantedBy=multi-user.target
启动 frp
并设置开机启动
sudo systemctl enable frps
sudo systemctl start frps
sudo systemctl status frps
群晖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
,密码不是邮箱密码,是网易设置里的客户端授权密码。
Q.E.D.