标签 iSH 下的文章

第一步:安装 iSH 环境

  1. 打开 iPhone 自带 App Store
  2. 搜索 iSH Shell,下载并完成安装
  3. 启动 iSH,等待 Alpine Linux 环境自动初始化加载完毕

第二步:安装核心依赖工具

iSH 终端内逐行输入命令,输入后按回车执行:

apk add python3 py3-pip
pip install flask requests

目的就是为了更新软件源,安装 Python3 及 flask、requests 核心依赖库

第三步:创建 Python 中转服务文件

复制下方完整代码,但是有几项是需要自己修改的,我都已经提示出来了,然后粘贴至 iSH 终端后按回车:

from flask import Flask, request, jsonify
import requests

app = Flask(__name__)

REAL_API_KEY = 'Bearer 这里需要填写你站点密钥'
TARGET_API = '这里需要填写你的服务地址'
CUSTOM_HEADERS = {
    'Referer': 'http://localhost:8000',
    'User-Agent': 'CustomClient/1.0.0',
    'Origin': 'http://localhost:8000'
}

@app.route('/', defaults={'path': ''}, methods=['GET', 'POST', 'OPTIONS'])
@app.route('/<path:path>', methods=['GET', 'POST', 'OPTIONS'])
def proxy(path):
    
    if request.method == 'OPTIONS':
        response = jsonify({'status': 'success'})
        response.headers['Access-Control-Allow-Origin'] = '*'
        response.headers['Access-Control-Allow-Methods'] = 'GET, POST, OPTIONS'
        response.headers['Access-Control-Allow-Headers'] = 'Content-Type, Authorization'
        return response

    target_url = f"{TARGET_API}/{path}"

    headers = CUSTOM_HEADERS.copy()
    headers['Authorization'] = REAL_API_KEY
    if 'Content-Type' in request.headers:
        headers['Content-Type'] = request.headers['Content-Type']

    try:
        if request.method == 'GET':
            resp = requests.get(target_url, headers=headers, params=request.args)
        elif request.method == 'POST':
            resp = requests.post(target_url, headers=headers, json=request.get_json(), params=request.args)

        response = jsonify(resp.json())
        response.headers['Access-Control-Allow-Origin'] = '*'
        return response, resp.status_code
    except Exception as e:
        return jsonify({'error': f'服务转发失败:{str(e)}'}), 500

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=3000, debug=False)
EOF

①REAL_API_KEY 这里后面填写密钥
②TARGET_API 这里填写地址

③Referer:填你对接 APP 要求的来源地址,默认 http://localhost:8000,改就换引号内内容
④User-Agent:填 APP 指定的客户端标识,默认 CustomClient/1.0.0
⑤Origin:填 APP 要求的源头地址,默认同 Referer,改法同上如果粘贴回车后终端无报错,即文件创建成功

第四步:启动本地中转服务

iSH 终端输入以下命令,按回车启动:

终端显示 * Running on all addresses (0.0.0.0),端口 3000

第五步:验证服务运行状态

iSH 终端输入验证命令,按回车:

验证成功:终端返回 JSON 格式的模型列表 / 服务响应数据
验证失败:检查配置项(密钥 / 目标地址)是否填写正确,重新执行前三步

第六步:对接客户端

打开需对接的客户端 APP,进入自定义服务设置页,按以下配置:

  1. 模型平台:选择「自定义(OpenAI 协议)」
  2. API 地址:填写 http://127.0.0.1:3000/v1
  3. API 密钥:任意填写字符串(示例:sk-123456、test001)
  4. 保存配置后,点击「刷新模型列表」,加载成功即可正常使用


注意事项

  1. 运行期间请勿关闭 iSH,后台保持运行才能正常转发
  2. 更换网络 / 重启 iSH 后,需重新执行第四步启动服务
  3. 配置项(真实密钥 / 目标地址)需替换为自身有效信息,否则转发失败
  4. 仅支持本地同设备对接,暂不支持跨设备访问

📌 转载信息
原作者:
Xinyu1425
转载时间:
2026/1/19 18:04:52