群晖搭建Chanify,实现 消息 图片 文件 的推送
之前有写文推荐过在Docker里搭建消息推送的Bark工具,有不少小伙伴比较期待有没有一款工具可以在实现文本消息推送的同时也能实现图片推送呢?那么今天我们就来搭建一款全功能的文件传输应用Chanify吧。
它在iphone与MAC上长这样:
它在WIN上长这样:
特别提醒:目前Chanify只有iphone / mac / PC 这三个平台的,暂时没有安卓版的。有这方面需求的小伙伴,不妨去开发大佬的 Github 或 QQ群发个请愿贴。
各平台的下载链接
iphone APP:https://apps.apple.com/cn/app/chanify/id1531546573
Chrome 插件:https://chrome.google.com/webstore/detail/chanify/llpdpmhkemkjeeigibdamadahmhoebdg
介绍:
Chanify 是一个简单的消息推送工具。每一个人都可以利用提供的 API 来发送消息以及文件推送到自己的 iOS 设备上。开发大佬用爱发电,免费,开源。为了保证隐私性,我们可以把它搭建在NAS里方便使用,而推送的所有的 文本 图像 文件数据都会保存在NAS里。
整活:
废话不多说,我们开始吧。
前期配置:
首先我们需要在Docker文件夹里新建一个文件夹,我这里取名Chanify,在路径下再建立一个data文件夹,之后这里会自动映射配置目录。然后在Chanify目录下建立一份名字叫chanify.yml 的配置文件,如下图:
配置内容:
server:
host: 0.0.0.0
port: 8080
endpoint: http://192.168.1.100:9070
name: zolo
datapath: /data
register:
enable: false
说明:
port:Docker内端口8080,不建议修改。
endpoint:Docker启动后,内网访问地址,这里根据个人情况填写。
name:根据个人情况填写,会显示在手机客户端里。
datapath: 填写/data,初次启动会映射这个data文件夹。
enable:判定是否开放注册
以上只是基础配置,更多配置请查阅Github里的中文说明。
拉取Chanify镜像:
version: '3'
services:
chanify:
image: wizjin/chanify:latest
container_name: chanify
restart: always
volumes:
- /volume1/docker/Chanify/data:/data
- /volume1/docker/Chanify/chanify.yml:/root/.chanify.yml
ports:
- "9070:8080"
这里比较简单,大家可以手动在Docker面板里配置好以上信息。
我这里提供另外一个思路,使用portainer工具来一键部署Chanify。Portainer是管理Docker的好工具,我常用它来清理Docker的残留升级包以及卸载包,这里就不具体展开讲了。
此部署方式,参考自另外一位群晖大佬的博客,感兴趣的可以去订阅学习下,有很多Docker工具的搭建教程:https://mariushosting.com/
首先在portainer面板,点击”+Add stack“
取个名字,输入上面提供的Chanify镜像。
点击下方的Deploy the stack,拉取镜像。
执行完成之后,右上角会出现绿色成功的提示。若是出现红色提示,请按照提示,排查以上输入内容与chanify.yml配置的信息是否匹配。
回到Docker面板就会看到Chanify已经在运行了。注意:若是Docker报错,提示Chanify意外退出,请核对chanify.yml配置文件的内容与上面Portainer执行的安装命令是否匹配。
在/docker/Chanify/data/files 目录下已经映射出了 audios / files / images 这三个文件夹,以后我们在客户端上推送的文件,都会分门别类的自动放在这些目录下。
在地址栏输入群晖IP加Chanify端口号,我这里配置的是http://192.168.1.100:9070/ ,出现二维码界面,Chanify部署成功。
手机端:
添加节点:
在爱凤商店搜索Chanify,下载安装好之后,在下方"节点"界面,点击右上角的"+"号,扫描屏幕上的二维码,配置信息会自动匹配,然后滑倒屏幕下方,点击保存。注意:首次配置,手机与有二维码的电脑设备必须在同一个局域网才可以。
如上图,Chanify默认自带了一个节点服务提供我们使用,这个跟Bark的思路还是很像的。就是我们不需要自建服务,就可以使用自带的节点来推送内容。不过目前只支持推送文本消息,而不能推送文件,而自建服务器就没有这些限制。
添加频道:
切换到下方的"频道"栏,长按右上角的扫描图标,选择"添加频道",然后输入名字,以及设定个性化消息图标。
注意:如上图,频道可以分门别类的管理消息推送,比如来自Chrome的消息会自动分类到我们设定的Chrome文件夹里。来自群晖的消息会自动分类到群晖的文件夹,以此类推。
配置完成频道之后,在图标上右划,进入'频道详情',然后复制我们的(令牌 / API / Token)。我们来测试消息是否可以成功推送。规则:http://192.168.1.100:9070/v1/sender/token/推送内容
说明:
http://192.168.1.100:9070/v1/sender/<复制的令牌>/推送内容。
若是地址想要实现外网访问,请配置端口转发。
浏览器里按照以上规则输入地址,比如推送内容填写 /你好世界!,回车看一下。
此时在手机上就能收到推送提醒了。大功告成!
Chrome插件安装:
通过文章开头提供的链接,在Google商店下载Chanify插件。
在浏览器工具栏图标上右键,点击:选项。
名称:对应在 频道 里填写的名称即可,我这里填写 Chorme。
节点入口:http://192.168.1.100:9070/v1/sender/
令牌:就是我们手机端复制的令牌,填写在这里。
下面几项视情况自定义设置,不明白的可以看Github上的中文帮助文档。
然后在浏览器工具栏图标里选择Chrome这个频道。若是你有设置更多频道,希望可以分类管理消息,那么在发送消息之前,记得在这里切换频道。注意:若是出现消息发送不成功,往往是这里的频道设置为"无"了。
测试:
方法1:在网页任意图片上右键,选择发送图片。
方法2:选择任何文字,右键发送文本。
方法3:在页面空白处,选择发送链接。
此时,文字与图片与链接,就成功推送到手机上来了。
说明:
若是网页中有很多图片,这时候在工具栏会被统计出图片数量。
点击上面的"图片"选项,就会在一个新的页面罗列嗅探出这些图像文件,选择你想要的图片,点击发送到手机即可。
配置PC端,实现PC上推送文件到手机。
1 首先我在手机上新建了一个"我的PC"的频道,用来接收来自电脑的文件。与上面的方法类似,图标上右滑,复制这个"我的PC"频道的(令牌 / API / Token)。
2 去Github下载Chanify.exe
解包之后,查看README.md,里面有详尽的部署说明。
如上图,我们在此目录新建一个名字为 Chanify.ini 的文件。
如上图,做以上配置。
name= 这里填写名字
endpoint=这里填写Docke里配置的内网ip地址和端口,http://192.168.1.100:9070
sound=1
token=这里填写你在手机里复制的"我的PC"的(令牌 / API / Token)
interruption-level=time-sensitive (这里是中断等级,我填写time-sensitive,具体可以看中文帮助文档)
保存!
3 然后,点击Chanify.exe,安装到电脑。
以上完成之后,再去Docker对应匹配一下PC端的设置:
如上图,打开chanify.yml文件,对应填写以下内容:
client:
sound: 1
endpoint:
token:
interruption-level: time-sensitive
注意:token的部分填写"我的PC"的(令牌 / API / Token)
保存。
重启Docker,应用设置。
测试:
在电脑上选择一个文件,右键,发送到,选择Chanify。
如上图,貌似可以推送各种格式的文件,包括可以直接在应用内播放歌曲,解压文件,查看文本内容,等等。
群晖消息推送到Chanify
在手机上新建一个"群晖"的频道,图标右滑,获得"群晖"的(令牌 / API / Token)。
打开控制面板,通知设置,短信这一栏,点击"新增短信服务提供商"。
名称:可以随意填写。
测试网址:http://192.168.1.100:9070/v1/sender/token?title=title&text=hello world&sound=1
说明:
如上图,http://192.168.1.100:9070/v1/sender/token?title=title&text=hello world&sound=1
就是很长的这段token后面增加 ?title=title&text=hello world&sound=1
title:定义消息标题。
text:推送消息内容,默认是hello world,这是群晖要求的。
sound:手机号码
以上三项理解就好,不需要任何改动。
直接 下一步。
在右侧 类别 列表里依次定义判断类型。
完成。
返回短信界面,点击下方的:寄送测试短信
此时Chanify就把群晖的消息推送到群晖频道里面了。
其他
这个消息推送应该还有很多自动化的玩法,比如可以接收Plex里面影片自动化的通知啥的,这种支持webhooks应该都是可以实现自动化消息推送的。不过这些我还没有时间研究。有明白人儿也可以一起来分享哦。
小知识,就是随着我们各种频道开的越来越多,Token也会越来越多,我们最好在生成Token的时候,随手把它记录在笔记本里,方便随时取用这些信息。
这里再说一下Chanify的Mac端的情况。它虽然可以接收消息,但某些方面它与iphone是独立的,比如在iphone删除的消息,并不会因此同步在Mac上删除。
起初我以为是个BUG,后来开发大佬回复我如下内容:“没有同步,因为是去中心化的。服务器不会保存用户的信息,这个是隐私安全的代价。手机和mac理论上都是没办法知道对方的。做成能知道了就要保存相应信息了。然后就会有人说不安全啦!”
好吧,既然不是Bug也就释然了~
因为苹果生态与原生应用的加持,我们有很多方法可以在iphone与mac上同步信息,所以到也没关系。但是Chanify能在Chome与PC上传输文件,真的是很棒!而且这些文件都会存储在/docker/Chanify/data/files里面,即便哪天我们删了APP或者换了手机,文件依然还是在服务器上的。
再次感谢无私奉献的开发者们,笔芯芯 。大家若是觉得好用,也可以去以下链接的Github和Docker上赏个star吧,让更多人知道它。若是有功能需求,也可以加QQ 群来讨论。就到这里吧,希望这些对你有帮助。大家下期再见。
补充:
因张大妈平台不允许在文章内出现Github相关的链接和QQ群信息,因此需要下载Win版本Chanify,以及查阅中文说明文档的小伙伴,我统一放到阿里云盘了,需要的自取即可:https://www.aliyundrive.com/s/2d9YqppzjvV
举一反三,一些消息推送的其他食用方法:
少数派,用Bark定制推送内容:https://sspai.com/post/53090
什么值得买,嫌推送消息不够多?自定义Push推送消息到手机:https://post.smzdm.com/p/ar0n8dpq/
什么值得买,在群晖中使用Bark部署端到端消息推送服务:https://post.smzdm.com/p/ar6qqgdg/
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
值友9983174006
它必须要在用一个电脑(二维码)下的局域网内进行首次配置吗??
校验提示文案
chowen
校验提示文案
Hikarunara
校验提示文案
sman
校验提示文案
流浪者柯南
校验提示文案
值友7668112379
校验提示文案
值友5289079065
校验提示文案
_b24
校验提示文案
卡卡西君
校验提示文案
山遥路远
校验提示文案
值友3427130340
现在的问题,是iOS客户端收到了通知,但macOS版的客户端怎么不能同步收到通知呢?是不是版本问题?
校验提示文案
NineFox
校验提示文案
值友7668112379
晕,一直报错这个 配置文件也没弄错呀。。。
校验提示文案
McWolf_
校验提示文案
花蟋蟀
校验提示文案
痞耔痞疯01
校验提示文案
eMuzi
校验提示文案
运气就是一个风
校验提示文案
值友7989532406
校验提示文案
值友4012095702
校验提示文案
值友4035498712
校验提示文案
NineFox
校验提示文案
值友6240294477
校验提示文案
NineFox
校验提示文案
值友6733859914
校验提示文案
值友6733859914
校验提示文案
值友9310604516
校验提示文案
值友4012095702
校验提示文案
值友3427130340
现在的问题,是iOS客户端收到了通知,但macOS版的客户端怎么不能同步收到通知呢?是不是版本问题?
校验提示文案
值友9983174006
它必须要在用一个电脑(二维码)下的局域网内进行首次配置吗??
校验提示文案
值友7989532406
校验提示文案
山遥路远
校验提示文案
花蟋蟀
校验提示文案
运气就是一个风
校验提示文案
卡卡西君
校验提示文案
_b24
校验提示文案
值友5289079065
校验提示文案
eMuzi
校验提示文案
痞耔痞疯01
校验提示文案
值友7668112379
校验提示文案