Bark 使用指南:如何自建 iOS 消息推送服務(wù)

文章首發(fā)于個(gè)人公號(hào):「阿拉平平」

之前我寫過(guò)一個(gè)腳本鸡号,校驗(yàn) SSL 證書是否過(guò)期并定時(shí)將結(jié)果以郵件的形式告知转砖。事實(shí)上,這些消息并不是那么重要鲸伴,發(fā)送郵件未免有些「重」了府蔗,將結(jié)果直接推送到自己的手機(jī)上可能更加合適。于是我找到了這款開(kāi)源的消息推送服務(wù):Bark汞窗。

項(xiàng)目介紹

Bark[1] 是一款開(kāi)源的消息推送服務(wù)礁竞,用于給 iPhone 發(fā)送自定義的內(nèi)容,支持文字和鏈接杉辙。通過(guò)部署 Bark 服務(wù)端,我們可以安全地推送一些敏感信息捶朵。

下載安裝

Bark 分為客戶端和服務(wù)端蜘矢。其中,客戶端用于接收消息综看;服務(wù)端用于推送消息品腹。

客戶端

Bark 客戶端僅支持 iOS 平臺(tái),可以到 App Store 搜索并下載红碑。

第一次使用會(huì)要求「注冊(cè)設(shè)備」舞吭,點(diǎn)擊后會(huì)為設(shè)備隨機(jī)生成一個(gè) Key:

作者提供了服務(wù)端泡垃,運(yùn)行以上鏈接就可以測(cè)試消息推送:

服務(wù)端

如果是隱私信息,最好還是通過(guò)自建 Bark 服務(wù)端[2]來(lái)推送羡鸥。接下來(lái)蔑穴,我們嘗試部署下服務(wù)端。

服務(wù)端的部署支持 docker 和 docker-compose惧浴,不過(guò)本身并不復(fù)雜存和,所以這里我選用手動(dòng)方式來(lái)安裝:

# Bark 服務(wù)端支持多平臺(tái),根據(jù)系統(tǒng)下載二進(jìn)制文件
wget https://github.com/Finb/bark-server/releases/download/v2.0.1/bark-server_linux_amd64

# 添加可執(zhí)行權(quán)限
chmod +x bark-server_linux_amd64

# 創(chuàng)建數(shù)據(jù)目錄
mkidr bark-data

# 運(yùn)行服務(wù)
./bark-server_linux_amd64 -addr 0.0.0.0:8080 -data ./bark-data

至此衷旅,服務(wù)端部署完成捐腿,可以運(yùn)行以下命令測(cè)試服務(wù)端是否正常:

curl http://0.0.0.0:8080/ping
{"code":200,"message":"pong","timestamp":1621936667}

使用說(shuō)明

在上一章中,我們安裝了客戶端柿顶,也自建了服務(wù)端茄袖。但是別忘了,我們還沒(méi)將兩者關(guān)聯(lián)起來(lái)嘁锯。

添加服務(wù)器

回到 App宪祥,點(diǎn)擊右上角的「+」進(jìn)入添加私有服務(wù)器頁(yè)面,填寫服務(wù)器地址:

注意服務(wù)器的協(xié)議和端口猪钮,填好后點(diǎn)擊右上角圖標(biāo)確認(rèn)品山。如果服務(wù)器校驗(yàn)失敗,則無(wú)法保存烤低。

請(qǐng)求參數(shù)

之前我們只是簡(jiǎn)單地測(cè)試了客戶端接受消息肘交,現(xiàn)在我們發(fā)送些帶參數(shù)的請(qǐng)求,來(lái)看看 Bark 還支持哪些功能扑馁。

  • 帶有標(biāo)題的消息

通過(guò)在 URL 路徑上增加一個(gè) title 來(lái)實(shí)現(xiàn)涯呻,形如:

/:key/:title/:body
  • 自動(dòng)復(fù)制推送內(nèi)容

自動(dòng)復(fù)制功能適用于驗(yàn)證碼推送的場(chǎng)景,參數(shù)如下:

  • automaticallyCopy:自動(dòng)復(fù)制的開(kāi)關(guān)腻要,默認(rèn)關(guān)閉复罐。1:開(kāi)啟,其它值:關(guān)閉雄家。
  • copy:指定自動(dòng)復(fù)制的內(nèi)容效诅,不指定則復(fù)制所有 body 的內(nèi)容。

比如發(fā)送以下請(qǐng)求會(huì)自動(dòng)復(fù)制 9527趟济,無(wú)需手動(dòng)復(fù)制:

https://api.day.app/yourkey/驗(yàn)證碼是9527?automaticallyCopy=1&copy=9527
  • URL 跳轉(zhuǎn)

通過(guò)指定參數(shù) url乱投,點(diǎn)擊推送將跳轉(zhuǎn)到相應(yīng)的網(wǎng)址,比如:

# 發(fā)送時(shí)顷编,URL 參數(shù)需要編碼
https://api.day.app/yourkey/百度網(wǎng)址?url=https://www.baidu.com
  • 保存歷史記錄

一些推送戚炫,我們可以閱后即焚,另一些則可以選擇保存媳纬。保存與否通過(guò) isArchive 來(lái)控制:

isArchive:1:保存双肤,其他值:不保存施掏。

要說(shuō)明的是,如果不指定參數(shù)茅糜,是否保存則取決于 App 內(nèi)的設(shè)置七芭。相較于 App,參數(shù)具有更高的優(yōu)先級(jí)限匣,所以對(duì)于確認(rèn)需要保存記錄的消息抖苦,可以這樣發(fā)送請(qǐng)求:

https://api.day.app/yourkey/需要保存的推送?isArchive=1

寫在最后

Bark 作為一套開(kāi)源的消息推送應(yīng)用,通過(guò)自建服務(wù)端米死,可以提供非常及時(shí)锌历、穩(wěn)定可靠、隱私安全的推送服務(wù)峦筒。Bark 提供 http 接口究西,只需發(fā)送請(qǐng)求即可給自己的 iPhone 推送自定義的消息。

當(dāng)然物喷,Bark 的功能很簡(jiǎn)單卤材,推送的消息也有一定的局限性,目前并不支持圖片峦失、表情等扇丛。結(jié)合 Bark 使用的場(chǎng)景,我猜測(cè)這可能和作者設(shè)計(jì)初衷有關(guān)尉辑,Bark 目的在于替換傳統(tǒng)通知方式帆精,保持簡(jiǎn)單實(shí)用就好。

References

[1] Bark: https://github.com/Finb/Bark
[2] Bark 服務(wù)端: https://github.com/Finb/bark-server

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末隧魄,一起剝皮案震驚了整個(gè)濱河市卓练,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌购啄,老刑警劉巖襟企,帶你破解...
    沈念sama閱讀 218,036評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異狮含,居然都是意外死亡顽悼,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門几迄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)表蝙,“玉大人,你說(shuō)我怎么就攤上這事乓旗。” “怎么了集索?”我有些...
    開(kāi)封第一講書人閱讀 164,411評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵屿愚,是天一觀的道長(zhǎng)汇跨。 經(jīng)常有香客問(wèn)我,道長(zhǎng)妆距,這世上最難降的妖魔是什么穷遂? 我笑而不...
    開(kāi)封第一講書人閱讀 58,622評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮娱据,結(jié)果婚禮上蚪黑,老公的妹妹穿的比我還像新娘。我一直安慰自己中剩,他們只是感情好忌穿,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,661評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著结啼,像睡著了一般掠剑。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上郊愧,一...
    開(kāi)封第一講書人閱讀 51,521評(píng)論 1 304
  • 那天朴译,我揣著相機(jī)與錄音,去河邊找鬼属铁。 笑死眠寿,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的焦蘑。 我是一名探鬼主播盯拱,決...
    沈念sama閱讀 40,288評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼喇肋!你這毒婦竟也來(lái)了坟乾?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 39,200評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤蝶防,失蹤者是張志新(化名)和其女友劉穎甚侣,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體间学,經(jīng)...
    沈念sama閱讀 45,644評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡殷费,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,837評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了低葫。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片详羡。...
    茶點(diǎn)故事閱讀 39,953評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖嘿悬,靈堂內(nèi)的尸體忽然破棺而出实柠,到底是詐尸還是另有隱情,我是刑警寧澤善涨,帶...
    沈念sama閱讀 35,673評(píng)論 5 346
  • 正文 年R本政府宣布窒盐,位于F島的核電站草则,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏蟹漓。R本人自食惡果不足惜炕横,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,281評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望葡粒。 院中可真熱鬧份殿,春花似錦、人聲如沸嗽交。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,889評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)轮纫。三九已至腔寡,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間掌唾,已是汗流浹背放前。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,011評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留糯彬,地道東北人凭语。 一個(gè)月前我還...
    沈念sama閱讀 48,119評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像撩扒,于是被迫代替她去往敵國(guó)和親似扔。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,901評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容