Bark 是一款完全免费且开源的消息推送工具,有客户端和服务端。客户端用于接收消息,服务端用于推送消息。本文主要介绍如何在群晖 Synology 服务器上搭建 Bark 服务端并启用 HTTPS,安全地推送敏感信息。
启用 SSH 服务
进入 DSM 控制面板 > 终端机和 SNMP > 终端机,勾选启用 SSH 服务。指定 SSH 连接的端口号并保存设置。为了确保系统安全性,建议将默认端口 22 替换为其他端口号。
Docker 部署
# 创建目录,用于存放 Bark 数据
mkdir -p /volume1/docker/bark-data
# 下载 docker 镜像
docker pull finab/bark-server:latest
# 创建并运行容器(完整命令)
docker run -d \
-p 8080:8080 \
--name bark \
-v /volume1/docker/bark-data:/data \
--restart=always \
finab/bark-server:latest
此时,浏览器访问 http://ip:8080/ping ,若返回信息为 pong 则表示服务通信正常。
反向代理/启用HTTPS
创建 Nginx 配置文件
# 进入目录
cd /etc/nginx/sites-enabled
# 编辑文件
vim bark.server.conf
示例配置:
server {
# 可替换为其它可用端口,前提是已做好端口映射和防火墙开放行
listen 6666 ssl http2;
# 替换为自己的域名
server_name mydomain.com;
ssl_certificate /usr/syno/etc/certificate/system/default/fullchain.pem;
ssl_certificate_key /usr/syno/etc/certificate/system/default/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:SSLCipherSuiteECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256;';
# 非443端口强制跳转https,注意不可有其他跳转
error_page 497 301 =307 https://$host:$server_port$request_uri;
# 反向代理
location / {
proxy_pass http://127.0.0.1:8080;
proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
}
重载 Nginx 服务
# DSM 6.x 系统
synoservice --reload nginx
# DSM 7.x 系统
systemctl reload nginx
然后,打开 Bark App(推荐使用 iOS 客户端),在右上角配置自己的服务器地址,格式例如:https://mydomain.com:6666
关于 Bark 客户端的使用教程,请查看 -> 官方文档