前言:
一直使用的是威聯(lián)通的nas,并且?guī)啄昵霸谡纠镎业絺€教程是使用docker鏡像lepark/wxpush,這個鏡像可以推送到企業(yè)微信的應用上,現(xiàn)在搜索這個關鍵詞還能搜到教程。不知道咋搞的9月底發(fā)現(xiàn)報錯了,推送失敗。網(wǎng)上相關信息也沒咋找到,就不研究了,另辟蹊徑,剛好最近用到企業(yè)微信的群機器人的webhook,在網(wǎng)上找了下沒相關教程,就問GPT,嘗試了下成功了,就記錄下來。
也許腳本及一些命令可以優(yōu)化,不過我不會,會的大佬優(yōu)化一下可以出個新文章。
環(huán)境:
威聯(lián)通nas,
python3,
企業(yè)微信的webhook地址,
另外一臺能跑python3的主機(威聯(lián)通也可以,不過要先裝py3環(huán)境,然后再搞開機自啟很麻煩,我有另外一臺linux,就不折騰威聯(lián)通了)
步驟一:
申請企業(yè)微信群機器人的webhook網(wǎng)上教程很多就不寫了。
步驟二:
python腳本導入linux主機,腳本如下,并假如腳本文件名字為push.py,腳本中需要修改的僅有webhook的key和代碼最后的端口,ip一般不需要改。此腳本AI寫的,我只是小范圍修改了。
from flask import Flask, request import requests import json app = Flask(__name__) # 企業(yè)微信的 Webhook URL,此處XXXX需要替換成自己的 WEBHOOK_URL = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=XXXXXXXXXXXXXX' # 接收 NAS 的通知 @app.route('/receive', methods=['GET']) def receive_notification(): # 獲取 URL 查詢參數(shù)中的通知內容 username = request.args.get('UserName') password = request.args.get('Password') phone_number = request.args.get('PhoneNumber') message_content = request.args.get('Text') # 打印日志以供調試(可選) print(f"收到通知 - 用戶名: {username}, 密碼: {password}, 電話: {phone_number}, 內容: {message_content}") # 輸出到企業(yè)微信的消息格式 wechat_message = { "msgtype": "text", "text": { "content": f"NAS 消息通知:n內容: {message_content}" } } # 通過企業(yè)微信的 Webhook 轉發(fā)消息 response = requests.post(WEBHOOK_URL, headers={'Content-Type': 'application/json'}, data=json.dumps(wechat_message)) if response.status_code == 200: return "Notification sent to WeChat successfully", 200 else: return "Failed to send notification to WeChat", 500 if __name__ == '__main__': # 啟動 Flask 服務,監(jiān)聽某個端口,此處需要修改XXX為不在用的端口號,0.0.0.0代表監(jiān)聽設備的所有ip,可以指定本機的某一個ip app.run(host='0.0.0.0', port=XXXXXXXXXX)
步驟三:
給放了push.py的設備創(chuàng)建虛擬環(huán)境及安裝腳本所需的依賴,懂得都懂,假如跟py腳本放在一個文件夾中,假如是root下,我的命令為
python3 -m venv push-venv
輸入后需要等待一會,root下就會生成一個push-venv的文件夾。然后輸入下面的命令進入虛擬環(huán)境
source push-venv/bin/activate
會發(fā)現(xiàn)控制臺前會多了個(push-venv) 就是進去了。
然后安裝依賴,等著就行,一個安裝好了再安裝另一個,需要看這步的一般第一次接觸py,穩(wěn)一點。
pip install flask pip install request
安裝好了以后退出虛擬環(huán)境,命令如下
deactivate
此時未加入開機自啟,允許py腳本的命令如下,可以看到控制臺有輸出了,什么http://ip:端口,此時腳本就前臺運行了,ctrl+c是關閉腳本,暫時不要關,我們去步驟四。
/root/push-venv/bin/python3 /root/push.py
步驟四:
找到威聯(lián)通,通知中心的如下的位置,點擊進去
提供商選擇custom
別名無所謂,URL模板如下,需要填入linux主機的ip及py腳本中你留的端口。暫時不要保存,右邊有個小飛機一樣的是測試。點擊進去我們做個測試。頁面中的電話號碼輸入1即可,沒要求,發(fā)送看下企業(yè)微信的機器人是不是就收到了。
http://ip:端口/receive?UserName=@@UserName@@&Password=@@Password@@&PhoneNumber=@@PhoneNumber@@&Text=@@Text@@
收到就成功了,沒成功的就留言吧,成功后直接點擊確定,下面的SMS服務器登錄名稱和SMS服務器登錄密碼不用填。
步驟五:
就是給威聯(lián)通創(chuàng)建通知規(guī)則了,如果不會就全選擇上。
步驟六:
給linux主機創(chuàng)建py腳本開機自啟,命令如下,寫入/etc/rc.local的exit 0 之前就行,寫入后重啟設備看下效果。
/root/push-venv/bin/python3 /root/push.py &
結語:祝你成功。
作者聲明本文無利益相關,歡迎值友理性交流,和諧討論~
,