本文最后更新于天前,内容可能已不再适用!

IP签名图片生成服务

一个简单的服务,可以生成包含 IP 地址、地理位置、天气、系统信息等数据的签名图片。

功能特点

  • 获取访问者的 IP 地址和地理位置信息
  • 显示当前天气状况
  • 显示访问者的操作系统和浏览器信息
  • 显示一言语句
  • 支持图片缓存
  • 支持跨域访问

示例

IP签名档示例

使用方法

基本用法

直接访问签名图片:

https://你的域名/signature

自定义尺寸

支持通过查询参数自定义图片尺寸:

https://你的域名/signature?width=1000        # 指定宽度,高度会按比例缩放
https://你的域名/signature?height=600        # 指定高度,宽度会按比例缩放

默认尺寸为 752x423 像素。建议只指定宽度或高度其中之一,另一个尺寸会自动按原始比例计算,如果同时指定宽度和高度,则根据高度计算。

在网页中使用

<!-- 默认尺寸 -->
<img src="https://你的域名/signature" alt="IP签名档" />

<!-- 自定义尺寸 -->
<img src="https://你的域名/signature?width=1000" alt="IP签名档" />

缓存说明

  • IP 地理位置数据:长期缓存
  • 天气数据:缓存 30 分钟
  • 一言数据:缓存 5 分钟
  • 生成的图片:客户端缓存 10 分钟

部署方法

本地部署

  1. 克隆仓库:

    git clone https://github.com/HCLonely/ipSignature.git
    cd ipSignature
    
  2. 安装依赖:

    npm install
    
  3. 配置环境变量:

    # 复制环境变量示例文件
    cp .env.example .env.production
    
    # 然后编辑 .env.production 文件,修改相关配置
    # 至少需要配置以下变量之一:
    # - IPINFO_TOKEN(ipinfo.io的API令牌)
    # - NSMAO_TOKEN(nsmao的API令牌)
    #
    # 以及:
    # - OPENWEATHER_API_KEY(OpenWeatherMap的API密钥)
    
  4. 编译代码:

    npm run build
    
  5. 启动服务:

    npm start
    

Vercel 部署

一键部署

部署到 Vercel

手动部署步骤

  1. Fork 本仓库到你的 GitHub 账号

  2. 在 Vercel 中导入项目:

    • 访问Vercel
    • 点击 “Import Project”
    • 选择你 fork 的仓库
    • 点击 “Import”
  3. 配置环境变量:

    • 在项目设置中找到 “Environment Variables”

    • 添加以下环境变量:

      # IP地理位置服务令牌 (至少需要配置其中一个)
      IPINFO_TOKEN=your_ipinfo_token_here
      NSMAO_TOKEN=your_nsmao_token_here
      
      # OpenWeatherMap API密钥
      OPENWEATHER_API_KEY=your_openweather_api_key_here
      
      # 背景图片URL (可选,仅支持 jpg, jpeg, png, gif 格式)
      BACKGROUND_IMAGE_URL=https://example.com/background.jpg
      
      # 生产环境标识
      NODE_ENV=production
      
  4. 部署:

    • Vercel 会自动部署你的服务
    • 部署完成后,你会得到一个.vercel.app域名
    • 也可以绑定自己的自定义域名

环境变量说明

创建.env文件并配置以下环境变量:

变量名必需默认值说明
IPINFO_TOKEN是*-ipinfo.io的 API 令牌,用于获取访问者的地理位置信息
NSMAO_TOKEN是*-nsmao.com的 API 令牌(备选),用于获取访问者的地理位置信息
OPENWEATHER_API_KEY-OpenWeatherMap的 API 密钥,用于获取天气信息
BACKGROUND_IMAGE_URL-背景图片URL,仅支持 jpg, jpeg, png, gif 格式
PORT3000服务器端口
DEBUGfalse调试模式,设置为 true 时显示详细错误信息
NODE_ENVdevelopment运行环境,生产环境请设置为 production

IPINFO_TOKEN 和 NSMAO_TOKEN 至少需要配置其中一个

API 服务说明

本项目使用了以下第三方 API 服务:

IP 地理位置服务

天气服务

一言服务

命令行参数

参数简写说明
–public-ip-p使用公网 IP(当检测到本地 IP 时)
最后修改:2026-05-21 11:11:19
如果觉得我的文章对你有用,请随意赞赏