WordPress mShots Proxy

自媒体专栏4小时前发布 cansnow
49 0 0

这是一个基于 Node.js 的 WordPress mShots 服务反向代理,主要用于缓存截图请求,减少回源次数,并支持自动协议检测

功能特性

  • 反向代理: 代理请求到 https://s0.wp.com/mshots/v1
  • 持久化缓存: 将有效的图片响应缓存到本地文件系统 (cache/ 目录)。
  • 兜底机制: 当上游服务不可用时,尝试返回本地已有的缓存。
  • 自动协议检测: 支持省略 URL 协议http/https,系统会自动检测目标主机是否支持 HTTPS (端口 443),若支持则优先使用 HTTPS,否则降级为 HTTP。

使用方法

  1. npm install
    
  2. npm start

基础用法

直接将目标 URL 附加到代理服务地址后面:

  • http://localhost:11489/https://www.baidu.com
  • http://localhost:11489/http://example.com

自动协议检测 (新功能)

你可以省略 http:// 或 https://,服务会自动判断:

  • http://localhost:11489/www.baidu.com
    • 系统会尝试连接 www.baidu.com:443
    • 如果连接成功,将代理到 https://s0.wp.com/mshots/v1/https://www.baidu.com
    • 否则,将代理到 https://s0.wp.com/mshots/v1/http://www.baidu.com

环境变量

  • PORT: 指定服务监听端口 (默认 11489)。

更新日志

  • 2026-01-20:
    • 新增 checkPort443 函数,实现目标主机的 SSL/HTTPS 自动检测。
    • 更新路由处理,支持无协议前缀的 URL 请求(如 /www.baidu.com)。
    • 添加详细的代码注释。
    • 优化协议检测逻辑:当目标主机 443 端口无法连接或超时时,自动降级并打印日志 falling back to HTTP,确保非 SSL 站点也能正常访问。
    • 优化缓存逻辑:不再缓存小尺寸(< 15KB的 GIF 图片(通常是 mShots 的 "Generating" 占位图),以便下次请求时能重新尝试获取真实截图。
    • 新增备用接口机制:当 mShots 返回无效图片(如生成中 GIF)或失败时,自动降级尝试使用 `thum.io` 获取截图,确保高可用性。

仓库地址:https://ckk.photo8.site/Snowz/WordPress-mShots-Proxy

© 版权声明

相关文章

暂无评论

暂无评论...

网址设置

网址样式切换

详细

网址卡片按钮

显示

布局设置

左侧边栏菜单

展开

页面最大宽度

1700px

搜索框设置

搜索框背景上下位置

仅对图片背景生效

50%

自定义搜索框背景

  • 静图

    随机壁纸

  • 静图

    随机4K

自定义搜索框高度

  • 聚焦
  • 信息
  • 默认
设置