02月20, 2024

将安卓设备通知转发至IOS设备

简介

使用SmsForwarderBark将安卓手机上的短信、通话记录、应用通知等通过自建服务器bark-server转发到IOS设备上,免去外出双持烦恼。

准备

安卓客户端 SmsForwarder

https://github.com/pppscn/SmsForwarder/releases

安装后打开通用设置,设置转发功能以及保活措施,防止被杀后台。

转发功能

保活措施

IOS客户端

在App Store中搜索Bark并下载。

自建服务器

https://github.com/Finb/bark-server/releases

./bark-server -addr 0.0.0.0:8080 -data ./bark-data

nginx反向代理+密码认证

nginx配置文件设置如下,自行修改server_name, auth_basic_user_file, proxy_pass以及https的各项参数。

# generated 2020-03-26, Mozilla Guideline v5.4, nginx 1.17.7, OpenSSL 1.1.1d, modern configuration
# 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;
    server_name bark.zireaels.com;

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

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name bark.zireaels.com;

    auth_basic "bark-server";
    auth_basic_user_file /etc/nginx/.bark.password;

    ssl_certificate /etc/letsencrypt/live/zireaels.com-0001/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/zireaels.com-0001/privkey.pem;
    ssl_session_timeout 1d;
    ssl_session_cache shared:MozSSL:10m;  # about 40000 sessions
    ssl_session_tickets off;

    # modern configuration
    ssl_protocols TLSv1.3;
    ssl_prefer_server_ciphers off;

    # HSTS (ngx_http_headers_module is required) (63072000 seconds)
    add_header Strict-Transport-Security "max-age=63072000" always;

    # OCSP stapling
    ssl_stapling on;
    ssl_stapling_verify on;

    # verify chain of trust of OCSP response using Root CA and Intermediate certs
    # ssl_trusted_certificate /path/to/root_CA_cert_plus_intermediates;

    # replace with the IP address of your resolver
    #resolver 127.0.0.1;

    location / {

        log_not_found on;
        proxy_pass http://127.0.0.1:8081;

        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;

    }
}

其中,密码文件auth_basic_user_file由如下命令生成:

echo -n 'username:' | sudo tee /etc/nginx/.passwords.list
openssl passwd -apr1 | sudo tee -a /etc/nginx/.passwords.list

IOS端配置

打开Bark,点击右上角加号添加私有服务器,输入域名(根据自己实际情况修改)

https://username:password@bark.zireaels.com

添加完成后复制主页的推送链接备用(删除最后的推送内容)。

推送链接

安卓端配置

打开SmsForwarder,选择发送通道,点击右上角加号,选择Bark。

在新窗口Bark-Server中填入刚才复制的推送链接,以/结尾。

发送通道

点击测试,可在IOS端收到测试通知即为成功。

测试通知

添加好发送通道后点击转发规则,选择简讯/通话/应用并点击右上角加号添加转发规则,以应用为例:

选择发送通道为刚才新建的bark,匹配字段选择匹配方式,如我想转发某一特定应用的通知则选择APP包名,并在匹配的值里填入应用包名(如微信包名为com.tencent.mm),下方也可自定义模板等:

转发规则

至此全部配置完成,SmsForwarder可将安卓端的通知通过自建的bark-server服务器转发到IOS的Bark客户端上。

信息加密

SmsForwarder是通过POST明文请求消息推送的,会有信息泄露问题,我们可以在Bark以及SmsForwarder中设置加密方式实现密文传输。

Bark客户端

打开Bark,下拉找到推送加密,点击加密设置,在里面设置加密算法、Key、IV等参数。

推送加密

SmsForwarder

点击发送通道,编辑bark通道,下拉选择加密算法、输入Key和IV。

本文链接:http://blog.zireaels.com/post/bark.html

-- EOF --

Comments