在公司或者其他地方,想访问外网,但是又不能装软件,只能安装浏览器插件。此时可以通过搭建gost服务用家里的网络。

前置要求

  • 有公网ip或者能用域名找到你家ip
  • 家里有nas docker

服务搭建

在家里的nas上搭建gost服务,转发外部请求到家里的openwrt上:

services:
  gost:
    image: gogost/gost:latest
    container_name: gost-proxy
    restart: unless-stopped
    network_mode: host            # 1. 开启 host 网络模式,共享虚拟机 IP
    volumes:
      - /root/cert:/cert:ro # 将虚拟机存放证书的目录挂载进容器(只读)
    command: > 
      -L="https://你要设置的用户名:密码@:18888?cert=/cert/fullchain.pem&key=/cert/privkey.pem"
      -F="socks5://192.168.100.11:1081"
    environment:
      - TZ=Asia/Shanghai

要注意:

  1. 用https,即证书加密,参考( 分发证书文件给其他服务器使用lucky进行ddns、端口转发、https证书acme续签)
  2. 设置用户名和密码
  3. -F 指向openwrt的sock5端口
  4. 端口记得在路由器进行转发,比如上面示例的18888

使用

在浏览器ZeroOmega插件里,添加代理服务器,输入对应的域名及用户名、密码即可(代理协议https)

注意

如果路由是虚拟机, 比如pve虚拟的ikuai,不要给虚拟机的硬盘勾选缓存,会导致代理失败:PVE(KVM/QEMU)在“Write Back(回写)”缓存模式下,高负载或特定内核版本中会触发罕见的“CPU 挂起(Stall)”或“PCIe 环路死锁”,直接导致 iKuai 的虚拟网卡(virtio-net)瞬间停摆并向外发送终止信号(RST)。