yufeikang / raycast_api_proxy

214 stars 30 forks source link

pass_through_request() 构造问题 #18

Closed zhuozhiyongde closed 5 months ago

zhuozhiyongde commented 5 months ago

首先很感谢作者写了这个项目,很好用!

然后问题是,我将这个项目使用 docker 部署到了服务器上,本地通过 surge 的 mitm 功能劫持请求到服务器上,现在成功跑起来了,但是发现了一个问题(本地已修):

就是在 response = await pass_through_request(http_client, req) 这一句之前,构造 req 的时候,我认为现有的直接使用 str(request.url) 的方式会导致问题。由于 mitm 已经修改了请求 url 为自己的服务器后端,所以 str(request.url) 会保持 url ,而不是正确变更至 backend.raycast.com,这会造成死循环。所以我希望作者能够更新一下这部分,在这里硬编码 host 为 backend.raycast.com 可能才是比较好的选择。

zhuozhiyongde commented 5 months ago

我现在的路径大概是:

raycast - surge mitm 覆写请求 url - 云服务器 - nginx 反向代理(1panel 的 openretsy) - docker 后端

其中证书在 1panel 的 openretsy 一层搞定。

zhuozhiyongde commented 5 months ago

同时,我发现在国内腾讯云服务器上,指定 dns = 1.1.1.1 可能会导致无法联网,可以在 readme 中注明一下(?

yufeikang commented 5 months ago

好的,了解,我考虑一下

zhuozhiyongde commented 5 months ago

@yufeikang 大佬好,其实主要是说的要进行如下的修改:

https://github.com/zhuozhiyongde/Unlocking-Raycast-With-Surge/blob/0bda62bf3f78eddce6b163b470036c3e0065220d/app/main.py#L312-L314