引言
谷歌最近把老白嫖方法全给栓了,导致本人的人工智能产业受到严重打压,不得已,必须对美国资本出重拳!在与神秘网友 @RC-CHN 讨论后决定严肃建立汉族根据地。特别感谢 cliouo 兄贵的优秀开源项目,帮助我们打破美帝国垄断!
部署指南
首先把热心兄贵的代码拉到你的机器上,你的机器上最好是已经装好了 Docker。兄贵的代码仓库里已经有了一份部署指南,实践下来看,主要都没啥问题,本文主要是进行一个补充。
在你的机器上安装 camoufox[geoip] 的 PyPi 包,然后再完成它的初始化 camoufox fetch。运行以下这个脚本来获取你的 Google Cookies:
import asyncio
from camoufox.async_api import AsyncCamoufox
import json
async def main():
# 1. 启动 Camoufox
# headless=False 表示显示浏览器窗口,让你能看到并操作
print("正在启动伪装浏览器...")
async with AsyncCamoufox(headless=False) as browser:
page = await browser.new_page()
# 2. 打开 Google 登录页
print("正在打开 Google...")
await page.goto("https://accounts.google.com/")
# 3. 等待用户手动操作
print("\n" + "=" * 50)
print("【请注意】:浏览器窗口已打开。")
print("1. 请在弹出的窗口中手动输入账号密码登录 Google。")
print("2. 登录成功并跳转到 Google 首页后,回到这里。")
print("3. 按下 '回车键 (Enter)' 继续提取 Cookie...")
print("=" * 50 + "\n")
# 阻塞程序,直到你按回车
input(">>> 登录完成后,请按回车键提取 Cookie: ")
# 4. 提取 Cookies
cookies = await page.context.cookies()
# 5. 格式化 Cookie
# 很多工具需要 "Name=Value; Name=Value" 这种字符串格式
cookie_string = "; ".join([f"{c['name']}={c['value']}" for c in cookies])
# 也可以保存完整的 JSON 格式(有些工具需要导入 JSON)
cookie_json = json.dumps(cookies, indent=2)
# 6. 输出结果
print("\n[成功] Cookie 已提取!")
print("-" * 20 + " 字符串格式 (用于Header) " + "-" * 20)
print(cookie_string)
print("-" * 20 + " JSON 格式 (用于导入) " + "-" * 20)
print(cookie_json)
# 保存到文件
with open("google_cookies.txt", "w") as f:
f.write(cookie_string)
with open("google_cookies.json", "w") as f:
f.write(cookie_json)
print("\n[完成] Cookie 已保存到 google_cookies.txt 和 google_cookies.json")
# 7. 退出代码块时,浏览器会自动关闭(相当于“删除窗口”)
if __name__ == "__main__":
asyncio.run(main())把输出的 google_cookies.json 扔到兄贵项目下的 camoufox-py/cookies/ 目录,这个 Cookies 没有意外的情况下是可以持久化运作的(重启容器也可以继续使用)。
根据文档,开始修改 camoufox-py/config.yaml。一般来说,只需要改三个地方:
- global_settings/proxy: 如果你的机器不在真正的互联网下,就需要配一个代理。注意!你的代理必须是 Google AI Studio 提供服务的地区。(东大全境都被栓,包括港澳都不行,不过台湾可以)
- instances/cookie_file: 刚刚复制下来的 Cookies 文件,改成它的文件名。
- instances/url: 作者给了一个 样例项目链接,打开它然后点击右上角的复制该项目,复制一份到你自己的账号里,然后把新的项目的 URL 给粘到这里。
修改完之后保存,再打开 docker-compose.yml 把 AUTH_API_KEY 设置一个你自己生成的安全密钥,不想被日就好好搞搞安全措施。设置完之后也保存,启动容器。
接下来会有两种事情发生。
第一种,你的机器吞吐的是自由互联网的字节,飞快地读条下完了各种依赖,然后服务就成了。
第二种,你的机器活在悲催的局域网洼地,你就得想办法改改 Dockerfile 和 docker-compose.yml 来让它能走走代理,否则...
如果你的服务开起来了,先打开日志看看,你的 Cookies 还活着吗?如果日志显示 WARNING - cookies.json - 检测到Google账户选择页面。登录失败或Cookie已过期。 请重新执行导出 Cookies 的步骤。
测试
curl "http://${YOUR_SERVICE_URL}/v1beta/models/gemini-3-pro-preview:generateContent" -H "x-goog-api-key: ${YOUR_API_KEY}" -H 'Content-Type: application/json' -X POST -d '{
"contents": [
{
"parts": [
{
"text": "Explain how AI works in a few words"
}
]
}
]
}'如果回复不对劲,你可以打开容器日志看看什么情况,也可以看看启动后 Camoufox 为你截的浏览器图片,看看是不是正常进了项目页面。