原本以前使用apikey方式,github找个开源的web服务,通过淘宝购买key方式自用gpt。奈何商家key总是用不了多久就坏。网上兜兜转转,发现了潘多拉,先是自己部署,后来偷懒直接使用吾皇的服务,感谢吾皇长时间的奉献。
该自己动手丰衣足食了,采购美国区域的vps,ubuntu20版本,安装squid,提供代理。window10下,通过配置代理服务器,实现直接访问chatgpt。不搞不行,离了chatgpt,这代码写起来还有啥意思。
操作步骤如下:
1.ubuntu下更新/安装squid
sudo apt-get update
sudo apt-get install squid
2.设置配置文件,/etc/squid/squid.conf(原有文件bak掉,新建一个squid.conf写入以下内容,如果你不需要设置代理的用户密码,只要前两行,开放3218端口,允许所有即可)
http_port 3128
#http_access allow all
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/squid_passwd
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
acl auth_users proxy_auth REQUIRED
http_access allow auth_users
3.上面的配置文件,是读取/etc/squid/squid_passwd中的用户密码,我们来设置一下。
sudo apt-get install apache2-utils
建账号密码
sudo htpasswd -c /etc/squid/squid_passwd test01
输入密码
test0101
4.重启服务 systemctl restart squid
5.客户端telnet ip 3218测试连通性(建议步骤2里只用前两行,3218端口加允许所有,其他屏蔽),此时win10直接配置代理ip和端口即可。
6.win10使用pac脚本方式配置代理,目的(仅访问openai.com情况下走代理,默认所有日常请求不使用代理),否则日常百度都要去美国绕一圈,路太远了,折腾不起。
6.1 3128.pac文件,
function FindProxyForURL(url, host) {
var proxy_server = "你的代理ip";
var proxy_port = "3128";
var proxy_sites = [
"*.openai.com"
];
for (var i = 0; i < proxy_sites.length; i++) {
if (shExpMatch(host, proxy_sites[i])) {
return "PROXY " + proxy_server + ":" + proxy_port + "; DIRECT";
}
}
return "DIRECT";
}
6.2win10配置截图
7.访问chat.openai.com,发现账号密码方式总是反复跳回登录页面,改用微软账号方式,登录成功。
以上,仅记录个人ubuntu部署代理服务器,自行通过pac脚本方式访问chatgpt。估计很多人也有类似不能访问的烦恼,有需要的可以试试看~