当前位置: 首页 > news >正文

玩客云 IP查找

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 ip
    except Exception as e:
        print(f"获取本地 IP 失败: {e}")
        return None

def send_notification(ip):
    """
    使用 PushPlus 发送包含本地 IP 的通知
    """
    if not PUSH_PLUS_TOKEN:
        print("未添加 Push Plus 的 TOKEN,无法发送通知。")
        return

    url = "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。

相关文章:

  • 【C语言】第四期——循环语句
  • MySQL数据迁移工具
  • DeepSeek预测25考研分数线
  • Dubbo
  • LeetCode1287
  • 记一次Ngnix配置
  • 开源项目的认识理解
  • 科研绘图系列:R语言绘制地图和山脊图(map ridge plot)
  • com.typesafe.config
  • Pytorch实现之在LSGAN中结合重建损失
  • 【设计模式】 代理模式(静态代理、动态代理{JDK动态代理、JDK动态代理与CGLIB动态代理的区别})
  • React 组件开发——类组件与函数组件
  • 新数据结构(11)——Java类的产生和反射
  • Linux 多进程生产者消费者模型实现
  • Leetcode2080:区间内查询数字的频率
  • 构建高效 Python Web 应用:框架与服务器的选择及实践
  • Elasticsearch 混合搜索 - Hybrid Search
  • harbor安装教程
  • ubantu安装skywalking10.0.0
  • ssm121基于ssm的开放式教学评价管理系统+vue(源码+包运行+LW+技术指导)
  • 盖茨:20年内将捐出几乎全部财富,盖茨基金会2045年关闭
  • 美国与胡塞武装达成停火协议,美伊相向而行?
  • 上海:下调个人住房公积金贷款利率
  • 阿曼宣布美国与胡塞武装达成停火协议
  • 41年轮回,从洛杉矶奔向洛杉矶,李宁故地重游再出发
  • 蓝佛安:中方将采取更加积极有为的宏观政策,有信心实现2025年的5%左右增长目标