-
-
Notifications
You must be signed in to change notification settings - Fork 309
3 Http 服务
-
ChatGPT-API
/public-api/*
/backend-api/*
-
OpenAI-API
/v1/*
-
Platform-API
/dashboard/*
-
Files-API
/files/*
图片和文件上下传API代理,
/backend-api/files
接口返回的API已经转为/files/*
-
Arkose-API
/auth/arkose_token/:pk
其中pk为arkose类型的ID,比如请求GPT4的Arkose,
/auth/arkose_token/35536E1E-65B4-4D96-9D97-6ADB7EFF8147
,若GPT-4
开始强制blob参数,需要带上AccessToken
->/auth/arkose_token/35536E1E-65B4-4D96-9D97-6ADB7EFF8147?blob=your_access_token
-
Authorization
除了登录,都使用
Authorization: Bearer xxxx
,Python Example- 登录:
/auth/token
,表单option
可选参数,默认为web
登录,返回AccessToken
与Session
;参数为apple
/platform
,返回AccessToken
与RefreshToken
。其中Apple
平台ChatGPT App
登录方式,需要提供preauth_cookie
端点,启动参数设置--preauth-endpoint https://example.com/api
,推荐使用xyhelper提供的免费端点:https://tcr9i.xyhelper.cn/auth/preauth
- 刷新
RefreshToken
:POST /auth/refresh_token
,支持platform
/apple
撤销 - 撤销
RefreshToken
:POST /auth/revoke_token
, 支持platform
/apple
撤销 - 刷新
Session
:POST /auth/refresh_session
,使用web
登录返回的Session
刷新 - 获取
Sess token
:POST /auth/sess_token
,使用platform
的AccessToken
获取 - 获取
Billing
:GET /auth/billing
,使用sess token
获取
- 登录:
- ChatGPT WebUI
- 公开
ChatGPT-API
/OpenAI-API
代理 -
API
前缀与官方一致 - 可接入第三方客户端
- 可接入IP代理池,提高并发
- 支持获取RefreshToken
- 支持以HAR格式文件特征池
默认工作目录
~/.ninja
-
--level
,环境变量LOG
,日志级别: 默认info -
--bind
,环境变量BIND
, 服务监听地址: 默认0.0.0.0:7999, -
--tls-cert
,环境变量TLS_CERT
,TLS证书公钥,支持格式: EC/PKCS8/RSA -
--tls-key
,环境变量TLS_KEY
,TLS证书私钥 -
--enable-webui
, 默认关闭自带的WebUI,使用此参数开启,必须设置--arkose-endpoint
,设置为你的域名/主机,例如: http://127.0.0.1:7999 -
--enable-file-proxy
,开启文件上下传API代理 -
--enable-arkose-proxy
,开启获取Arkose Token
端点 -
--enable-direct
,开启直连,将绑定interface
出口的IP的加入代理池 -
--ws-endpoint
,配置代理WebSocket的端点,设置为你的域名/主机,例如: ws://127.0.0.1:7999 -
--proxies
,代理,支持代理池,多个代理使用,
隔开,格式: protocol://user:pass@ip:port -
--no-keepalive
关闭Http Client Tcp保活 -
--fastest-dns
使用内置最快DNS组 -
--visitor-email-whitelist
,白名单限制,限制针对AccessToken,参数为邮箱,多个邮箱用,
隔开 -
--cookie-store
,开启Cookie Store -
--cf-site-key
,Cloudflare turnstile captcha site key -
--cf-secret-key
,Cloudflare turnstile captcha secret key -
--arkose-endpoint
,ArkoseLabs endpoint,例如: https://client-api.arkoselabs.com -
--arkose-solver
,ArkoseLabs solver platform,例如: yescaptcha -
--arkose-solver-key
,ArkoseLabs solver client key -
--impersonate-uas
,可选随机模拟UA,多个使用,
隔开,详细请看命令手册 -
--auth-key
,登录
/HAR Manager
/Arkose
的API
认证Key
,使用Authorization Bearer
格式发送 -
--preauth-endpoint
, 启用Apple
平台ChatGPT App
登录的preauth_cookie
端点
分代理内置协议和代理类型,内置协议: all/api/auth/arkose
,其中all
针对所有客户端,api
针对所有OpenAI API
,auth
针对授权/登录,arkose
针对ArkoseLabs;代理类型: interface/proxy/ipv6_subnet
,其中interface
表示绑定的出口IP
地址,proxy
表示上游代理协议: http/https/socks5/socks5h
,ipv6_subnet
表示用Ipv6子网段内随机IP地址作为代理。格式为proto|proxy
,例子: all|socks5://192.168.1.1:1080, api|10.0.0.1, auth|2001:db8::/32, http://192.168.1.1:1081
,不带内置协议,协议默认为all
。
关于代理
http/https/socks5/socks5h
,只有使用socks5h
协议时,DNS解析才会走代理解析,否则将使用本地
/内置
DNS解析
- 存在
interface
\proxy
\ipv6_subnet
当开启--enable-direct
,那么将使用proxy
+ interface
作为代理池;未开启--enable-direct
,只有proxy
数量大于等于2才使用proxy
,否则将使用 ipv6_subnet
作为代理池,interface
作为fallback地址。
- 存在
interface
\proxy
当开启--enable-direct
,那么将使用proxy
+ interface
作为代理池;未开启--enable-direct
,只使用proxy
作为代理池。
- 存在
proxy
\ipv6_subnet
规则同(1),只是没有interface
作为fallback地址。
-
存在
interface
\ipv6_subnet
当开启--enable-direct
,同时interface
数量大于等于2似,interface
作为代理池;未开启--enable-direct
,将使用ipv6_subnet
作为代理池,interface
作为fallback地址。 -
存在
proxy
当开启--enable-direct
,使用proxy
+ 默认直连作为代理池;未开启--enable-direct
,只使用proxy
作为代理池
- 存在
ipv6_subnet
无论是否开启--enable-direct
,都将使用ipv6_subnet
作为代理池
如果项目对你有帮助,请考虑捐赠支持项目持续维护,也可以付费获取咨询和技术支持服务。