Project Icon

bark-server

开源iPhone定制通知推送服务器

bark-server是Bark iOS应用的开源后端服务,支持向iPhone发送自定义通知。它提供多种部署方式,包括Docker、通用安装和源码编译。该服务器具有RESTful API,支持Markdown格式通知,可与Nginx集成。bark-server默认使用Bbolt数据库,同时兼容MySQL。项目持续维护推送证书,确保通知服务的稳定性和可靠性。

Bark

Bark 是一个允许您向iPhone推送自定义通知的iOS应用程序。

目录

安装

Docker用户

Docker自动构建 镜像大小 许可证

Docker镜像已经可用,您可以使用以下命令运行bark服务器:

docker run -dt --name bark -p 8080:8080 -v `pwd`/bark-data:/data finab/bark-server

如果您使用docker-compose工具,可以将此项目下的docker-compose.yaml复制到任意目录并运行:

mkdir bark-server && cd bark-server
curl -sL https://github.com/Finb/bark-server/raw/master/deploy/docker-compose.yaml > docker-compose.yaml
docker compose up -d

普通用户

  • 1、从releases页面下载预编译的二进制文件
  • 2、给bark-server二进制文件添加可执行权限:chmod +x bark-server
  • 3、启动bark-server:./bark-server --addr 0.0.0.0:8080 --data ./bark-data
  • 4、测试服务器:curl localhost:8080/ping

注意:Bark-server默认使用/data目录存储数据。请确保bark-server有权限写入/data目录,否则使用-d选项更改目录。

开发者

开发者可以自行编译此项目,编译所需的依赖项:

  • Golang 1.18+
  • 启用Go Mod(环境变量GO111MODULE=on
  • 启用Go Mod代理(环境变量GOPROXY=https://goproxy.cn
  • 安装go-task

运行以下命令编译此项目:

# 交叉编译所有平台
task

# 编译指定平台(请参考Taskfile.yaml)
task linux_amd64
task linux_amd64_v3

注意:linux amd64 v3架构在go 1.18中添加,详见https://github.com/golang/go/wiki/MinimumRequirements#amd64

Nginx代理

大多数用户希望在内网服务器上部署bark服务器,然后使用Nginx反向代理bark服务器; 以下是一个简单的Nginx配置示例(我们假设bark服务器监听在192.168.1.123:8080

# 2020-03-26生成,Mozilla指南v5.4,nginx 1.17.7,OpenSSL 1.1.1d,现代配置
# https://ssl-config.mozilla.org/#server=nginx&version=1.17.7&config=modern&openssl=1.1.1d&guideline=5.4
server {
    listen 80;
    listen [::]:80;
    # 将bark.app.dev替换为您的实际域名。
    server_name bark.app.dev;

    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    # 将bark.app.dev替换为您的实际域名。
    server_name bark.app.dev;

    ssl_certificate /path/to/signed_cert_plus_intermediates;
    ssl_certificate_key /path/to/private_key;
    ssl_session_timeout 1d;
    ssl_session_cache shared:MozSSL:10m;  # 约40000个会话
    ssl_session_tickets off;

    # 现代配置
    ssl_protocols TLSv1.3;
    ssl_prefer_server_ciphers off;

    # HSTS(需要ngx_http_headers_module)(63072000秒)
    add_header Strict-Transport-Security "max-age=63072000" always;

    # OCSP stapling
    ssl_stapling on;
    ssl_stapling_verify on;

    # 使用根CA和中间证书验证OCSP响应的信任链
    ssl_trusted_certificate /path/to/root_CA_cert_plus_intermediates;

    # 替换为您的解析器的IP地址
    #resolver 127.0.0.1;

    location / {

        log_not_found on;
        # 将http://192.168.1.123:8080替换为bark服务器的监听地址。
        proxy_pass http://192.168.1.123: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;

    }
}

使用MySQL替代Bbolt

只需使用-dsn=user:pass@tcp(mysql_host)/bark运行服务器,它将使用MySQL而不是文件数据库Bbolt

API V2

请阅读API_V2.md

其他

中文

Markdown支持:

为bark-server做贡献

开发环境

本项目至少需要golang 1.12版本进行编译,并需要Go mod支持。

  • Golang 1.16
  • GoLand 2020.3或其他Go IDE
  • Docker(可选)

更新

现在程序中嵌入的推送证书永远不会过期。只有在由于证书过期导致推送失败时,您才需要更新程序。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号