# use ChatGPT Via AWS ## ubuntu@AWS shell install [OutlineVPN](https://getoutline.org/get-started/) intalll [CloudFlare Warp-Cli](https://pkg.cloudflareclient.com/install) https://pkg.cloudflareclient.com/ ``` apt install cloudflare-warp warp-cli register warp-cli set-mode proxy warp-cli connect ``` test 127.0.0.1:40000 ``` curl ifconfig.me --proxy socks5://127.0.0.1:40000 ``` install nginx ``` apt install nginx ``` add nginx config vim /etc/nginx/nginx.conf add: ``` stream { upstream localWarp { hash $remote_addr consistent; server 127.0.0.1:40000 max_fails=3 fail_timeout=30s; } server { listen 0.0.0.0:8000; proxy_connect_timeout 30s; proxy_timeout 30s; proxy_pass localWarp; } } ``` reload nginx config: ``` nginx -s reload ``` test 127.0.0.1:8000 ``` curl ifconfig.me --proxy socks5://127.0.0.1:8000 ``` ## your Mac install [ClashX Pro](https://install.appcenter.ms/users/clashx/apps/clashx-pro/distribution_groups/public) open your Clash config folder: add file ss.yaml: ``` # (HTTP and SOCKS5 in one port) mixed-port: 7890 # RESTful API for clash external-controller: 127.0.0.1:9090 allow-lan: false mode: rule log-level: warning proxies: - { name: "ss-name", type: ss, server: xxx.xxx.xx, port: xxxx, cipher: xxxxx, password: "xxxxxx" } - { name: "chatGPTWarp", type: socks5, server: xxx.xxx.xxx, port: 8000 } proxy-groups: - { name: 'PROXY', type: select, proxies: ['ss-name'] } - { name: 'CHATGPT', type: relay, proxies: ['ss-name','chatGPTWarp'] } rule-providers: reject: type: http behavior: domain url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt" path: ./ruleset/reject.yaml interval: 86400 icloud: type: http behavior: domain url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/icloud.txt" path: ./ruleset/icloud.yaml interval: 86400 apple: type: http behavior: domain url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/apple.txt" path: ./ruleset/apple.yaml interval: 86400 google: type: http behavior: domain url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/google.txt" path: ./ruleset/google.yaml interval: 86400 proxy: type: http behavior: domain url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/proxy.txt" path: ./ruleset/proxy.yaml interval: 86400 direct: type: http behavior: domain url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/direct.txt" path: ./ruleset/direct.yaml interval: 86400 private: type: http behavior: domain url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/private.txt" path: ./ruleset/private.yaml interval: 86400 gfw: type: http behavior: domain url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/gfw.txt" path: ./ruleset/gfw.yaml interval: 86400 greatfire: type: http behavior: domain url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/greatfire.txt" path: ./ruleset/greatfire.yaml interval: 86400 tld-not-cn: type: http behavior: domain url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/tld-not-cn.txt" path: ./ruleset/tld-not-cn.yaml interval: 86400 telegramcidr: type: http behavior: ipcidr url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/telegramcidr.txt" path: ./ruleset/telegramcidr.yaml interval: 86400 cncidr: type: http behavior: ipcidr url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/cncidr.txt" path: ./ruleset/cncidr.yaml interval: 86400 lancidr: type: http behavior: ipcidr url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/lancidr.txt" path: ./ruleset/lancidr.yaml interval: 86400 applications: type: http behavior: classical url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/applications.txt" path: ./ruleset/applications.yaml interval: 86400 rules: - DOMAIN-SUFFIX,openai.com,CHATGPT - RULE-SET,applications,DIRECT - DOMAIN,clash.razord.top,DIRECT - DOMAIN,yacd.haishan.me,DIRECT - RULE-SET,private,DIRECT - RULE-SET,reject,REJECT - RULE-SET,icloud,DIRECT - RULE-SET,apple,DIRECT - RULE-SET,google,DIRECT - RULE-SET,proxy,PROXY - RULE-SET,direct,DIRECT - RULE-SET,lancidr,DIRECT - RULE-SET,cncidr,DIRECT - RULE-SET,telegramcidr,PROXY - GEOIP,,DIRECT - GEOIP,CN,DIRECT - MATCH,PROXY ``` Done!