~~NOTOC~~ ====== Vioxt APIs ====== 本页面上的某些内容为大语言模型(LLM)生成的. 如有错漏, 在此致歉.\\ 若有不妥之处, 请电邮[[webmaster@vioxt.eu.org]]或[[functionsir@outlook.com]]. 一般建议, 请到GitHub Repo发Issue, 若有安全问题, 请**不要**直接发Issue/PR.\\ 报告安全问题, 请电邮[[webmaster@vioxt.eu.org]]或[[functionsir@outlook.com]]. 您可以使用Ctrl+F快捷键或以其他方式, 使用浏览器的页面内搜索来查找您想要寻找的内容. 我们提供一些API服务. 我们的API后端代码是开源的! [[{🏗️}https://github.com/FunctionSir/vioxt-apis|访问 GitHub Repo]] ---- ===== 写在前面 ===== **一切请求的URL都是以apis.vioxt.eu.org开头.**\\ 例子: [[https://apis.vioxt.eu.org/bili-video-basic?bvid=BV1QDkxBaEVk&pretty=1]] ---- ===== Fortune ===== **描述:**\\ 该API用于返回一条随机的 "fortune" 语录.\\ 输出由Arch Linux的extra/fortune-mod包提供. 不包含冒犯性语录. **请求方法:**\\ GET /fortune **请求参数:**\\ 无参数. **返回示例:**\\ Oook! **说明:**\\ - 返回内容为纯文本 (`Content-Type: text/plain`).\\ - 每次调用都会从后台运行的 `fortune` 程序生成一条新的语录.\\ - 服务端通过多个并发生成器 (goroutines) 保证响应速度.\\ **错误码:**\\ ^ 错误码 ^ 描述 ^ | 500 | 内部服务器错误 (如 fortune 程序不可用) | ---- ===== BILI-VIDEO-BASIC B站视频基础信息 API ===== **描述:**\\ 该API用于获取BiliBili视频的基础信息, 包括标题、封面、UP主信息、统计数据以及分P信息. **请求方法:**\\ GET /bili-video-basic?aid={aid}&bvid={bvid}&pretty={true|false} **请求参数:**\\ ^ 参数名 ^ 类型 ^ 必填 ^ 描述 ^ | aid | uint64 | 否 | 视频的AV号 (数值ID), 与bvid二选一 | | bvid | string | 否 | 视频的BV号, 与aid二选一 | | pretty| bool/string | 否 | 是否返回格式化JSON, 支持 "true"/"1" 或 "false"/"0" | **返回示例:**\\ { "code": 200, "message": "ok", "data": { "bvid": "BV1xx411c7mD", "aid": 123456789, "cover": "https://i0.hdslb.com/...", "title": "示例视频标题", "publish_at": "2026-05-22T12:00:00Z", "desc": "视频简介", "up": { "uid": 987654321, "nickname": "示例UP主", "avatar": "https://i0.hdslb.com/..." }, "stats": { "view": 10000, "danmaku": 500, "reply": 200, "favorite": 300, "coin": 150, "share": 80, "like": 600 }, "parts": [ { "cid": 114514, "part_number": 1, "part_title": "第一P", "duration_s": 600, "danmaku_xml": "https://api.bilibili.com/x/v1/dm/list.so?oid=114514" } ] } } **说明:**\\ - 请求必须提供 aid 或 bvid 参数之一, 若同时提供, 则 bvid 优先. - pretty 参数控制返回 JSON 是否缩进美化, **不保证**美化方式不变. - 返回的 publish_at 字段为 UTC 时间戳转换后的 RFC3339 格式. - 每个分 P (parts) 包含弹幕 XML 地址 (danmaku_xml), 由 CID 拼接生成. - 服务端会随机选择一个 User-Agent 发送给 BiliBili API. - 请求通过 Tor 发送到上游 (在部署时通过环境变量实现, 在源码中没有体现). **错误码:**\\ ^ 错误码 ^ 描述 ^ | 400 | 参数错误 (如未提供aid或bvid, 或pretty值非法) | | 403 | 视频不可用 (如被下架) | | 404 | 视频不存在 | | 408 | 请求上游超时 | | 502 | 上游返回不可接受的响应 | | 500 | 内部服务器错误 | ---- ===== PASTEBINS-PROXY Pastebin 代理 ===== **描述:**\\ 该API用于从多个Pastebin服务拉取内容, 并根据调用者指定的Content-Type和b64参数返回不同格式的响应. 支持文本、JSON、XML、HTML以及常见图片格式. 注意: 由该API获取的内容, 均是用户在其他站点上产生的, 我们不对上游的内容负责, 也不提供任何相关的担保. 关于滥用情况: 请先尝试联系Pastebin服务运营方. 我们只是一个中继, 该API没有任何地方可供用户上传内容.\\ 若Pastebin服务运营方不做回应, 才考虑电邮[[webmaster@vioxt.eu.org]]或[[functionsir@outlook.com]]. **请求方法:**\\ GET /pp/{Pastebin}/{ContentType}/{PasteID}?b64={参数} **路径参数:**\\ ^ 参数名 ^ 类型 ^ 必填 ^ 描述 ^ | Pastebin | string | 是 | 支持的Pastebin服务: `paste.debian.net`, `pastebin.com`, `pastebox.io` | | ContentType | string | 是 | 返回内容类型: `html`, `plain`, `json`, `xml`, `svg`, `png`, `jpeg`, `gif`, `apng`, `avif` | | PasteID | string | 是 | 粘贴的唯一ID, 仅允许字母和数字 | **查询参数:**\\ ^ 参数名 ^ 类型 ^ 必填 ^ 描述 ^ | b64 | string | 否 | 控制是否将内容视为Base64并解码.\\ 支持值: `"1"/"true"` (强制二进制), `"0"/"false"` (强制文本),\\ `"inv"/"-2"` (反转默认值), `"auto"/"-1"` 或空值 (自动) | **返回示例 (plain):**\\ Hello, this is a paste content. **返回示例 (json):**\\ { "key": "value" } **返回示例 (图片, b64解码后):**\\ (返回原始二进制图片数据, Content-Type为对应图片类型) **说明:**\\ - 当ContentType为`html`时, 响应头会附加 `Content-Security-Policy: script-src 'none'`, 以避免滥用.\\ - PasteID会进行合法性校验, 非法ID返回错误.\\ - 最大支持32MiB的粘贴内容 (即使上游Pastebin的限制可能大于该值).\\ - 如果b64参数启用, 服务端会尝试对内容进行Base64解码并返回二进制.\\ - 请求通过 Tor 发送到上游 (在部署时通过环境变量实现, 在源码中没有体现). **错误码:**\\ ^ 错误码 ^ 描述 ^ | 400 | 参数错误 (如ContentType非法, PasteID非法, b64参数非法) | | 415 | 非标准Base64内容, 无法解码 | | 503 | Pastebin服务不支持 | | 502 | 上游返回错误状态码 | | 500 | 内部服务器错误 |