1.玩客云使用靜態IP在不同網段路由器下不能使用,動態不好找IP地址
1.1使用python3 實現自動獲取發送
import requests
import os
import socket# 從環境變量獲取 PushPlus 的 token 和群組編碼
PUSH_PLUS_TOKEN = os.getenv("PUSH_PLUS_TOKEN")
PUSH_PLUS_USER = os.getenv("PUSH_PLUS_USER")def get_local_ip():"""獲取本地 IP 地址"""try:s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)s.connect(("8.8.8.8", 80))ip = s.getsockname()[0]s.close()return ipexcept Exception as e:print(f"獲取本地 IP 失敗: {e}")return Nonedef send_notification(ip):"""使用 PushPlus 發送包含本地 IP 的通知"""if not PUSH_PLUS_TOKEN:print("未添加 Push Plus 的 TOKEN,無法發送通知。")returnurl = "http://www.pushplus.plus/send"# 將 IP 地址包裝成超鏈接ip_link = f'<a href="http://{ip}">{ip}</a>'data = {"token": PUSH_PLUS_TOKEN,"title": "本地 IP 地址信息","content": f"當前本地 IP 地址為: {ip_link}","topic": PUSH_PLUS_USER if PUSH_PLUS_USER else ""}headers = {'Content-Type': 'application/json'}try:response = requests.post(url, json=data, headers=headers)if response.status_code == 200:result = response.json()if result.get("code") == 200:print("IP 地址已成功發送到 PushPlus")else:print(f"發送失敗,錯誤信息: {result.get('msg')}")else:print(f"發送失敗,狀態碼: {response.status_code}")except requests.RequestException as e:print(f"請求 PushPlus 時出錯: {e}")if __name__ == "__main__":local_ip = get_local_ip()if local_ip:send_notification(local_ip)
2. 設置上電自動發送一次
在 Armbian Linux 系統中,可以使用?systemd
?服務來實現腳本上電自動運行。以下是具體步驟:
2.1 創建服務文件
使用文本編輯器(如?nano
)創建一個新的?systemd
?服務文件,例如?/etc/systemd/system/send_ip_notification.service
:
vim /etc/systemd/system/send_ip_notification.service
在編輯器中輸入以下內容:
[Unit]
Description=Send local IP notification on startup
After=network.target[Service]
ExecStartPre=/bin/sleep 10 # 等待 10 秒
ExecStart=/usr/bin/python3 /root/getip.py
Restart=on-failure[Install]
WantedBy=multi-user.target
2.2 重新加載?systemd
?配置
保存并退出編輯器后,重新加載?systemd
?管理器的配置:
sudo systemctl daemon-reload
2.3 啟用并啟動服務
啟用該服務,使其在系統上電時自動運行:
sudo systemctl enable send_ip_notification.service
啟動服務進行測試:
sudo systemctl start send_ip_notification.service
2.4 檢查服務狀態
可以使用以下命令檢查服務的運行狀態:
sudo systemctl status send_ip_notification.service
如果一切正常,服務應該處于運行狀態,并且在系統上電時會自動執行腳本,將本地 IP 地址以超鏈接的形式發送到 PushPlus。