HCLonely Blog - 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 分钟
克隆仓库:
git clone https://github.com/HCLonely/ipSignature.git cd ipSignature安装依赖:
npm install配置环境变量:
# 复制环境变量示例文件 cp .env.example .env.production # 然后编辑 .env.production 文件,修改相关配置 # 至少需要配置以下变量之一: # - IPINFO_TOKEN(ipinfo.io的API令牌) # - NSMAO_TOKEN(nsmao的API令牌) # # 以及: # - OPENWEATHER_API_KEY(OpenWeatherMap的API密钥)编译代码:
npm run build启动服务:
npm start
Fork 本仓库到你的 GitHub 账号
在 Vercel 中导入项目:
- 访问Vercel
- 点击 “Import Project”
- 选择你 fork 的仓库
- 点击 “Import”
配置环境变量:
在项目设置中找到 “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
部署:
- Vercel 会自动部署你的服务
- 部署完成后,你会得到一个
.vercel.app域名 - 也可以绑定自己的自定义域名
创建.env文件并配置以下环境变量:
IPINFO_TOKEN 和 NSMAO_TOKEN 至少需要配置其中一个
本项目使用了以下第三方 API 服务:
- 提供精确的 IP 地理位置信息
- 免费套餐每月可查询 50,000 次
- 注册获取 API 令牌
- 备选的 IP 地理位置服务
- 获取 API 令牌
- OpenWeatherMap
- 提供全球天气数据
- 免费套餐支持每分钟 60 次调用
- 注册获取 API 密钥
最后修改:2026-05-21 11:11:19
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付