惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Privacy International News Feed
T
The Exploit Database - CXSecurity.com
Cisco Talos Blog
Cisco Talos Blog
Schneier on Security
Schneier on Security
C
CXSECURITY Database RSS Feed - CXSecurity.com
Simon Willison's Weblog
Simon Willison's Weblog
P
Privacy & Cybersecurity Law Blog
Know Your Adversary
Know Your Adversary
NISL@THU
NISL@THU
Scott Helme
Scott Helme
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Latest news
Latest news
P
Proofpoint News Feed
P
Palo Alto Networks Blog
K
Kaspersky official blog
I
Intezer
The Last Watchdog
The Last Watchdog
Google DeepMind News
Google DeepMind News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
小众软件
小众软件
G
GRAHAM CLULEY
Last Week in AI
Last Week in AI
量子位
IT之家
IT之家
F
Full Disclosure
T
Threatpost
Hacker News: Ask HN
Hacker News: Ask HN
W
WeLiveSecurity
Y
Y Combinator Blog
V
V2EX
L
LINUX DO - 热门话题
Martin Fowler
Martin Fowler
月光博客
月光博客
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
D
Docker
Google DeepMind News
Google DeepMind News
博客园 - Franky
M
MIT News - Artificial intelligence
爱范儿
爱范儿
I
InfoQ
C
Cisco Blogs
L
LangChain Blog
J
Java Code Geeks
N
News | PayPal Newsroom
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Vercel News
Vercel News
Hugging Face - Blog
Hugging Face - Blog
S
Secure Thoughts
A
About on SuperTechFans

HCLonely Blog

HCLonely Blog - 让OpenWrt控制台进入赛博空间:luci-theme-cyberpunk HCLonely Blog - Artitalk V4: 从Leancloud迁移至Vercel HCLonely Blog - 记一次hexo-bilibili-bangumi分时函数渲染优化 HCLonely Blog - 树莓派搭建私有在线PS网站 HCLonely Blog - 将 Node.js 项目打包为一个可执行文件 HCLonely Blog - 哔哩哔哩硬核会员搜题脚本 HCLonely Blog - 在静态网站上实现浏览记录功能 HCLonely Blog - 统一推送服务Nodejs API HCLonely Blog - 在线答题搜答案脚本 HCLonely Blog - 青年大学习安卓跳过方法 HCLonely Blog - 公主连结 Re:Dive 中文输入法词库 HCLonely Blog - 基于 NodeJs 的 live2d 后端 Api 服务器 HCLonely Blog - 百度分析和谷歌分析适配 pjax HCLonely Blog - hexo-calendar 活动日历插件 HCLonely Blog - Git 免密、免 SSH 进行 push & pull HCLonely Blog - 一款基于 webstack 的 hexo 主题 HCLonely Blog - 使用 cron-job 解决 LeanCloud 因流控原因自动唤醒失败的问题 HCLonely Blog - Valine 添加验证码、博主标签及评论微信、QQ 通知 HCLonely Blog - 使用 Cloud Studio 在线搭建、编辑、部署 Hexo HCLonely Blog - 给你的网页添加一个 moc3 格式的 Live2d 模型 HCLonely Blog - Hexo-tag-steamgame 插件 HCLonely Blog - Hexo-online-server 在线编辑发布文章插件 HCLonely Blog - Hexo 博客美化
HCLonely Blog - IP签名图片生成服务
博主:HCLonely · 2026-05-21 · via HCLonely Blog

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

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 时)

赞赏作者

扫一扫支付