api.eallion.com
本项目基于 Tencent EdgeOne Pages Functions 实现,提供了一系列 API 接口,用于代理访问第三方服务。 每个功能都按照 EdgeOne 官方文档 的要求实现, 采用单独的函数文件结构,所有代码均为 JavaScript。
代理访问必应每日壁纸数据。
- 返回完整壁纸元数据(JSON):
GET /bing或GET /bing?type=json(包含title、copyright、copyrightlink、quiz、startdate、enddate、url、redirect、cover等完整字段) - 直接返回壁纸图片:
GET /bing?type=image - 支持参数:
type:json(默认)或imageregion: 区域代码,如zh-CN,en-US,ja-JP等,默认为en-USdate: 指定历史日期,格式YYYY-MM-DD(支持最近约 8 天壁纸)dpi: 指定分辨率或直链规格,支持uhd,1080p,720p,mobile等,默认为1920x1080
代理访问 https://t3.gstatic.cn/faviconV2 获取网站图标。
基于 EdgeOne Makers 原生能力(request.eo.geo 与 request.eo.clientIp)返回客户端地理位置及网络信息,支持 IPv4 与 IPv6。支持 /geo 与 /api/geo。
- 默认返回完整数据(JSON):
GET /geo - 获取单个字段:
GET /geo?key={fieldName}(如key=ip,key=version,key=countryName,key=cityName,key=asn等,默认返回纯文本;添加&type=json返回 JSON) - 纯文本输出全部:
GET /geo?type=text - 协议版本校验:
GET /geo?v=4或GET /geo?v=6(若当前连接协议与指定版本不一致,返回 400 错误) - 支持参数:
key: 指定返回字段(ip,version,type,asn,countryName,countryCodeAlpha2,cityName,latitude,longitude等)type/format:json(默认)或textv/version:4或6(协议版本匹配校验)
代理访问 https://www.libravatar.org/avatar 获取 Gravatar 头像。
短链接服务,支持以下功能:
-
基本功能:
- 通过
/gts/{key}访问短链接,自动重定向到目标 URL - 示例:
GET /gts/123→ 重定向到预设的 URL
- 通过
-
管理接口:
-
设置键值对(通过 URL 参数):
POST /gts/admin?key=test&value=valuetest&token=your_api_token -
设置键值对(通过请求体,推荐):
curl -X POST \ https://your-domain.com/gts/admin \ -H "Authorization: Bearer your_api_token" \ -H "Content-Type: application/json" \ -d '{"key": "test-key", "value": "test-value"}' -
删除键值对:
curl -X DELETE \ "https://your-domain.com/gts/admin?key=test-key" \ -H "Authorization: Bearer your_api_token"
-
-
环境变量配置:
API_TOKEN: 用于认证的管理员令牌API_KV: KV 存储绑定名称 (默认为 goto_gts)
基于 EdgeOne Makers 原生能力(request.eo.clientIp)返回客户端默认公网 IP 及双栈分流信息,支持 IPv4 与 IPv6。已合并原 ip.eallion.com 项目,同时支持 /ip 与 /api/ip。
内置双栈检测探针架构:
-
国内双栈检测:通过国内专用 IPv4 与 IPv6 单栈端点独立探测真实公网 IP
-
国际双栈检测:通过国际专用 IPv4 与 IPv6 单栈端点独立探测真实公网 IP
-
浏览器无参数访问:展示双栈 IP 分流查询 Web UI 页面(顶部卡片展示默认访问 IP,并列展示国内/国外双栈检测卡片、EdgeOne GEO Info 与多服务商对比)。
-
命令行工具访问(纯文本):
curl https://api.eallion.com/ip直接返回纯文本默认公网 IP。 -
纯 API 模式与参数组合:凡携带 API 参数(如
v=4,v=6,cn,oversea,key等)访问,默认返回纯文本 IP(text/plain);指定type=json或请求头带Accept: application/json返回完整 JSON。支持 4 种典型分流组合查询:GET /ip?v=4&cnGET /ip?v=6&cnGET /ip?v=4&overseaGET /ip?v=6&oversea
-
协议版本校验:
GET /ip?v=4或GET /ip?v=6。若当前连接协议匹配直接返回客户端 IP;若协议不匹配(如双栈系统默认通过 IPv6 握手但请求v=4),返回 400 协议不匹配提示,不进行 302 重定向。终端可直接通过curl -4或curl -6强制对应协议握手。 -
强制返回 Web UI 页面:
GET /ip?type=html -
获取单个字段:
GET /ip?key={name}(支持ip,protocol,version,type,source,region,isIPv4,isIPv6以及地理位置countryName,cityName,asn等任意字段) -
支持参数:
type/format:html,text,json,allv/version:4或6(协议版本匹配校验)source/region:cn或oversea(分流区域标记)- 标记参数:
cn,oversea(支持直接作为查询标记传参,如?v=4&oversea) mode:redirect(仅在显式指定时启用 302 重定向)key: 指定返回单个字段(ip,protocol,version,type,source,region,isIPv4,isIPv6,asn,countryName,cityName等)
代理访问英雄数据并将 hero 字段转换为 Directus 自动完成可用的数组格式。
示例:GET /lol/163.js → 代理到 https://game.gtimg.cn/images/lol/act/img/js/hero/163.js,返回 JSON,hero 为数组,示例:
{
"file": "https://game.gtimg.cn/images/lol/act/img/js/hero/163.js",
"hero": [
{
"id": "163",
"title": "岩雀",
"heroId": "163",
"name": "岩雀",
"alias": "Taliyah",
...
}
]
}代理访问 https://e5n.cc/api/v1/accounts/111136231674527355/statuses 获取 Mastodon 状态。
代理访问 https://memos.eallion.com/api/v1/memos 获取 Memos 数据。
代理访问 https://og.eallion.com/api/og 获取 OG 图片。
使用彩云翻译 API 实现中文到英文的实时翻译。
请求示例:
GET /translate?slug=标题示例
响应示例:
{
"status": "success",
"slug": "标题示例",
"translated": "title-example",
"timestamp": "2023-04-01T12:00:00.000Z"
}环境变量配置:
CAIYUN_TOKEN: 彩云翻译 API Token
-
在腾讯云 EdgeOne Pages 中配置以下环境变量:
API_TOKEN: 设置您的管理令牌CAIYUN_TOKEN: 彩云翻译 API Token- 绑定 KV 存储并命名为
goto_gts(或修改代码使用其他名称)
-
确保 edgeone.json 配置正确,包含以下路由:
"routes": [ { "pattern": "/gts/*", "script": "functions/gts/[[path]].js", "methods": ["GET", "POST", "PUT", "DELETE", "HEAD"] }, { "pattern": "/translate", "script": "functions/translate/index.js", "methods": ["GET"] } ]
-
部署后测试:
-
测试短链接功能:
GET /gts/test -
测试管理接口:
curl -X POST "http://your-domain/gts/admin?key=test&value=example&token=your_token" curl -X DELETE "http://your-domain/gts/admin?key=test&token=your_token"
-