有时候从GitHub拉取脚本,从jsDelivr获取资源时,会出现网络不通的问题。有些程序又不肯走系统代理,这时候就需要一个能代理整个终端的工具。经过搜寻和尝试,最终推荐使用gg(go-graft)。

简介

gg 是一个命令行工具,可在 Linux 环境下对任意命令进行一键代理。

基本使用参见官方文档:https://github.com/mzz2017/gg/blob/main/README_zh.md

下载地址:https://github.com/mzz2017/gg/releases

v0.2.18 本地下载(备用):amd64 | arm64

特殊情况

Docker pull 时,镜像的拉取操作并不是在终端,而是在后台docker daemon完成的,会导致代理不上。要想解决这个问题,必须先停止docker守护进程,使用gg临时启动docker,再进行拉取。

#停止docker服务
systemctl stop docker.service
#进入另一个终端或者screen命令,运行docker
gg --node socks://192.168.1.233:1080 dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
#可以继续拉取镜像了
docker pull myimages:latest

标题:使用gg代理Linux命令或shell脚本的网络
作者:xiaojie
地址:https://www.xiaojie.dev/articles/2022/11/02/1693280400178.html