• Zander

    如果你不喜欢使用tun/proxifier等全局代理方式,你可能已经尝试过了修改$HOME/.codex/.env加入```
    all_proxy=socks5h://127.0.0.1:1081
    https_proxy=http://127.0.0.1:1081
    http_proxy=http://127.0.0.1:1081
    no_proxy=localhost,127.0.0.1,::1,.your.sub2api.com
    ```来达到免全局的效果。然而我发现 macOS 下 ChatGPT App 打开很快,速度类似启用 TUN,但是 Windows 下开的很慢。

    今天发现是因为 Windows 下 Chromium 没有读取环境变量。但是我们可以通过参数--proxy-server=socks5://127.0.0.1:1081 来让 Chromium 也用上代理。实测官方帐号登陆下 Remote Control 正常工作。

    方法一

    找到 WindowsApps 里的 .exe,在桌面创建快捷方式如下。但是AppX包每次更新都会改路径,现在ChatGPT一天更新好几次,这个方法其实不太实用。

    图片

    方法二

    新建一个.ps1,运行即可。做个快捷方式改下图标,就完成了。```
    $pkg = Get-AppxPackage |
    Where-Object Name -Match "ChatGPT|OpenAI" |
    Sort-Object Version -Descending |
    Select-Object -First 1

    $exe = Get-ChildItem $pkg.InstallLocation `
    -Filter ChatGPT.exe -Recurse |
    Select-Object -First 1

    Start-Process $exe.FullName `
    -ArgumentList "--proxy-server=socks5://127.0.0.1:1081"

    
    经朋友提醒 Codex++ 用户有个很方便的注入参数的地方。
    
    ![图片](https://cdn3.ldstatic.com/original/4X/2/d/5/2d5bf96e8e4ac4aaa7e4f01f4569f4dd1d91fb4f.png)
    
    方法四
    
    让AI帮你生成一个包裹脚本的快捷方式放到开始菜单,从开始菜单启动。创建后可能被杀毒软件误杀。```
    $shortcutPath = "$env:APPDATA\Microsoft\Windows\Start Menu\Programs\ChatGPT Proxy.lnk"
    
    $launchScript = @'
    $pkg = Get-AppxPackage |
        Where-Object Name -Match "ChatGPT|OpenAI" |
        Sort-Object Version -Descending |
        Select-Object -First 1
    
    $exe = Get-ChildItem $pkg.InstallLocation -Filter ChatGPT.exe -Recurse |
        Select-Object -First 1
    
    Start-Process $exe.FullName -ArgumentList "--proxy-server=socks5://127.0.0.1:1081"
    '@
    
    $bytes = [System.Text.Encoding]::Unicode.GetBytes($launchScript)
    $encoded = [Convert]::ToBase64String($bytes)
    
    $ws = New-Object -ComObject WScript.Shell
    $shortcut = $ws.CreateShortcut($shortcutPath)
    
    $shortcut.TargetPath = "$env:SystemRoot\System32\WindowsPowerShell\v1.0\powershell.exe"
    $shortcut.Arguments = "-NoProfile -WindowStyle Hidden -EncodedCommand $encoded"
    $shortcut.Description = "ChatGPT via SOCKS5 Proxy"
    
    # 使用当前 ChatGPT.exe 的图标
    $pkg = Get-AppxPackage |
        Where-Object Name -Match "ChatGPT|OpenAI" |
        Sort-Object Version -Descending |
        Select-Object -First 1
    
    $exe = Get-ChildItem $pkg.InstallLocation -Filter ChatGPT.exe -Recurse |
        Select-Object -First 1
    
    if ($exe) {
        $shortcut.IconLocation = "$($exe.FullName),0"
    }
    
    $shortcut.Save()
    
    Write-Host "Shortcut created:"
    Write-Host $shortcutPath
    Write-Host "Exists:" (Test-Path $shortcutPath)
    主楼
  • Zachary_H

    我现在存在的问题是,我直接点开 ChatGPT APP,它其实好像功能上是有问题的,我必须要加一行参数才能在命令行里正常打开。这有什么办法吗?这是为什么?-proxy-server

    #1
  • LenGary

    我直接在win的环境变量里把http和https全部指向clash去的话,是不是等于变相开了tun?

    #2
  • Zander

    有没有具体一点的信息,截图,报错,之类的。

    #3
  • Zander

    相当于半个全局吧,毕竟 Win 下不是所有软件都读 http_proxy 环境变量的,也就最近 electron/tauri 流行多了起来,以前 c/c++ 的还是 WinHTTP 为主。

    #4
  • redpandaxd

    最近一次的更新后,似乎不能这么用的了,

    说是WindowsApps下的文件有严格的 ACL 保护

    #5
  • doSth

    图片

    codex++没效果啊

    #6

发表回复

登录后回复