ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Cobalt 公共 API 实例 api.cobalt.tools 能否用于商业项目?

Cobalt 公共 API 实例 api.cobalt.tools 能否用于商业项目? Cobalt 公共 API 实例 api.cobalt.tools 能否用于商业项目【免费下载链接】cobaltbest way to save what you love项目地址: https://gitcode.com/GitHub_Trending/cob/cobalt如果你正打算在产品里接入 Cobalt一个媒体下载工具的下载能力并考虑直接调用官方公共 API 实例api.cobalt.tools官方文档给出的结论是明确的个人项目可以免费使用商业用途不可以。官方对商业的界定是任何位于付费墙paywall或广告后面的地方——也就是说如果你的产品或服务需要付费才能使用、或以广告变现就属于商业使用官方 README 明确要求这种情况自行托管一个实例。官方还声明保留对主实例 API 的滥用/过度访问进行限制的权利。因此商业项目不应把请求指向api.cobalt.tools而需要自己部署并指向专属的 Cobalt 实例。下面这条路径依据官方文档覆盖场景判定、自托管部署与验证。先对照官方口径判断自己是否属于商业README.md 的 cobalt api 部分给出了三条规则可以在个人项目中使用主 API 实例api.cobalt.tools免费 API不能用于商业范围是anywhere thats gated behind paywalls or ads官方保留对主实例 API 的滥用/过度访问进行限制的权利。docs/api.md 开头的说明与之呼应api.cobalt.tools可以免费用于项目但要求合理使用。文档没有提供速率等级、白名单申请等额外标准判定时就以上述付费墙/广告口径为准个人性质的项目可直接调用api.cobalt.tools接口用法见 docs/api.md商业项目进入下面的自托管部署步骤。部署自己的实例商业项目的必选路径官方对除开发/调试外的任何用途都建议采用 docker compose 方式完整指南在 docs/run-an-instance.md。前置条件主机需安装并配置好docker和docker-compose文档以nano作为示例编辑器可换成你系统上任一文本编辑器。操作步骤创建一个用于存放配置文件的目录mkdir cobalt进入目录并创建docker-compose.ymlcd cobalt nano docker-compose.yml从 docs/examples/docker-compose.example.yml 复制示例配置并把默认 URL 替换成你自己的——不替换的话实例无法正常工作。示例文件同时包含cobalt-webWeb 前端与watchtower自动更新服务若只是 API 接入商业项目cobalt-api服务即可version: 3.5 services: cobalt-api: image: ghcr.io/imputnet/cobalt:7 restart: unless-stopped container_name: cobalt-api init: true ports: - 9000:9000/tcp # 使用反向代理时注释掉上一行并取消下行注释见下方可选配置 #- 127.0.0.1:9000:9000 environment: # 替换为你的实例目标 url格式与示例相同 API_URL: https://api.cobalt.tools/ # 替换为你的实例标识名 API_NAME: eu-nl需要改动的位置示例文件中的注释也这样要求API_URL替换为你实例自己的访问地址保持示例格式https://域名/不变。该变量在官方文档中标记为REQUIRED TO RUN THE API不设则 API 无法运行API_NAME替换为能区分你实例的名称它会显示在/api/serverInfo的响应中。如果沿用示例中的watchtower自动更新服务请保留示例中该服务上的labelscom.centurylinklabs.watchtower.scopecobalt不启用自动更新则可去掉。在cobalt目录中启动容器docker compose up -d可选配置登录 Cookie如需支持需要登录才能查看公开内容的服务在与docker-compose.yml同目录创建cookies.json示例结构见 docs/examples/cookies.example.json并取消示例 compose 中COOKIE_PATH: /cookies.json与volumes段- ./cookies.json:/cookies.json的注释。反向代理实例要直接面向公网时官方文档强烈建议在前面加反向代理如 nginx示例 compose 中已用注释展示此时把端口映射改为127.0.0.1:9000:9000的写法。影响对外服务的环境变量API 侧完整变量表在 docs/run-an-instance.md与对外服务直接相关的几项如下默认值均来自该文档变量默认值说明API_PORT9000api server 对外提供服务的端口API_URL无必填api server 的访问 URLCORS_WILDCARD1开关跨域资源共享0关闭1开启CORS_URL未使用CORS_WILDCARD为0时api 仅对该 URL 可用RATELIMIT_WINDOW60限流时间窗口单位秒RATELIMIT_MAX20每时间窗口最大请求数超出后在窗口期内被屏蔽DURATION_LIMIT10800允许的最大视频时长单位秒如果你的商业产品流量较高或需要收紧来源RATELIMIT_*与CORS_*就是文档中给出的对应旋钮文档没有提供其它限流或来源控制项。验证实例是否可用查服务器信息请求GET /api/serverInfo响应体类型为application/json字段包括version、commit、branch、name、url、cors、startTime。其中name应为你设置的API_NAMEurl是该服务器的访问地址——这正是你刚替换过的两项配置可借此确认实例按配置启动。跑一次主处理接口请求POST /api/json。文档要求每个POST /api/json请求必须带上这两个请求头Accept: application/json Content-Type: application/json请求体中url字段必填URL 需按 URI 编码。响应的status字段取值error / redirect / stream / success / rate-limit / picker触发限流时会出现rate-limit出错信息主要在text字段。各字段的完整定义见 docs/api.md。文档没有给出固定的成功输出样例判断以响应中的status取值和text内容为准。商业化前必须读许可证与品牌边界README.md 的 cobalt license 部分列出了商用前必须知晓的条款代码许可证全文见 LICENSEAGPL-3.0cobalt 代码采用 AGPL-3.0 许可Cobalt 的品牌、吉祥物及相关素材受版权保护不在 AGPL-3.0 覆盖范围内允许托管带品牌的未修改实例但这不授予你在其它地方使用品牌的权限也不允许创建衍生版本使用代码的任何部分如单独的 processing 模块或 fork 项目时必须链接原始仓库制作修改版时代码库必须以相同许可AGPL-3.0发布制作替代版本时替换或移除全部品牌包括名称。另外 README 的免责声明cobalt 只能下载免费、公开可访问的内容工具本身不承担责任你对你下载了什么、如何使用与分发该内容负责。边界与替代路径本地 node.js 方式文档标注其对本地开发有用需要node.js18 及以上与git执行npm run setup后npm start。正式部署仍以 docker compose 为官方推荐若走 node.js 方式且系统是 Ubuntu 22.04文档给出专门的处理需安装并启动nscd否则ffmpeg-static二进制无法解析 DNSsudo apt install nscd sudo service nscd start回到标题本身api.cobalt.tools在付费墙或广告后面的产品中使用不属于官方允许的用法且官方可对滥用/过度访问的主实例流量进行限制。商业项目的正确落点是上面这套自托管实例替换好API_URL启动后用/api/serverInfo与一次POST /api/json请求确认行为符合配置再把产品内的 API 地址从api.cobalt.tools切换到自己实例的地址。【免费下载链接】cobaltbest way to save what you love项目地址: https://gitcode.com/GitHub_Trending/cob/cobalt创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进