goproxy 官网 https://goproxy.cn/
GoProxy 是一项用于 Go 模块的高性能代理服务,旨在为 Go 开发人员提供更快速、更可靠的模块下载体验。它提供以下主要功能:
- 全球分布式代理服务器: GoProxy 在全球多个地区部署了代理服务器,例如拉斯维加斯、香港和新加坡,可确保用户获得低延迟和高可用性的服务。
- 企业级监控和警报系统: GoProxy 采用企业级监控和警报系统,可确保服务 99.99% 的可用性。
- 开源项目: GoProxy 是一个开源项目,任何人都可以参与贡献和改进。
- 支持官方 SumDB: GoProxy 全面支持谷歌官方的 SumDB,无需任何配置即可使用。
- 支持多种代理协议: GoProxy 支持 HTTP(S)、SOCKS5、WebSockets、TCP 和 UDP 等多种代理协议,可满足不同用户的需求。
- 支持链式代理: GoProxy 支持链式代理,可让您将 GoProxy 与其他代理服务器一起使用。
- 支持 NAT 转发: GoProxy 支持 NAT 转发,可让您在局域网内使用 GoProxy。
- 支持 TCP/UDP 端口转发: GoProxy 支持 TCP/UDP 端口转发,可让您将 GoProxy 用作游戏加速器或代理服务器。
- 支持 SSH 转发: GoProxy 支持 SSH 转发,可让您通过 SSH 连接使用 GoProxy。
基础场景使用
GoProxy 支持多种代理协议,可满足不同用户的需求,具体包括:
- HTTP(S): 这是最常用的代理协议,可用于下载 Go 模块、访问网站等。GoProxy 支持 HTTP 和 HTTPS 协议。
- SOCKS5: SOCKS5 是一种更安全的代理协议,可用于匿名浏览互联网、绕过防火墙等。GoProxy 支持 SOCKS5 协议。
- WebSockets: WebSockets 是一种用于实时通信的协议,可用于构建实时聊天应用程序、游戏等。- - GoProxy 支持 WebSockets 协议。
- TCP: TCP 是一种用于传输数据的协议,可用于构建服务器、客户端应用程序等。GoProxy 支持 TCP 协议。
- UDP: UDP 是一种用于传输非可靠数据的协议,可用于构建视频流、语音聊天等应用程序。GoProxy 支持 UDP 协议。
此外,GoProxy 还支持以下高级代理功能:
- 链式代理: GoProxy 支持链式代理,可让您将 GoProxy 与其他代理服务器一起使用。例如,您可以将 GoProxy 与 Tor 一起使用,以获得更高的匿名性。
- NAT 转发: GoProxy 支持 NAT 转发,可让您在局域网内使用 GoProxy。例如,您可以将 GoProxy 安装在路由器上,以让所有连接到路由器的设备都可以使用 GoProxy。
- TCP/UDP 端口转发: GoProxy 支持 TCP/UDP 端口转发,可让您将 GoProxy 用作游戏加速器或代理服务器。例如,您可以将 GoProxy 用来加速您在国外玩的游戏。
- SSH 转发: GoProxy 支持 SSH 转发,可让您通过 SSH 连接使用 GoProxy。例如,您可以将 GoProxy 安装在远程服务器上,以安全地访问远程服务器上的 Go 模块。
GoProxy 的多种代理协议支持和高级代理功能,使其适用于各种场景,包括:
- 在中国大陆使用 Go 开发的项目: 由于中国大陆的互联网审查制度,许多 Go 模块无法直接下载。GoProxy 可以帮助您绕过互联网审查,下载所需的 Go 模块。
- 需要快速下载 Go 模块的项目: GoProxy 的分布式代理服务器可以显著提高 Go 模块的下载速度。
- 需要高可靠性 Go 模块下载的项目: GoProxy 采用企业级监控和警报系统,可确保服务 99.99% 的可用性。
- 需要使用多种代理协议的项目: GoProxy 支持多种代理协议,可满足不同用户的需求。
- 需要使用链式代理的项目: GoProxy 支持链式代理,可让您将 GoProxy 与其他代理服务器一起使用,以获得更高的匿名性和安全性。
- 需要在局域网内使用 GoProxy 的项目: GoProxy 支持 NAT 转发,可让您在局域网内使用 GoProxy。
- 需要将 GoProxy 用作游戏加速器的项目: GoProxy 支持 TCP/UDP 端口转发,可让您将 GoProxy 用来加速您在国外玩的游戏。
- 需要将 GoProxy 用作代理服务器的项目: GoProxy 支持 TCP/UDP 端口转发,可让您将 GoProxy 用作代理服务器,以匿名浏览互联网或绕过防火墙。
- 需要通过 SSH 连接使用 GoProxy 的项目: GoProxy 支持 SSH 转发,可让您通过 SSH 连接使用 GoProxy,以安全地访问远程服务器上的 Go 模块。
详细得使用简介 https://snail007.github.io/goproxy/manual/zh/#/?id=%e9%a6%96%e6%ac%a1%e4%bd%bf%e7%94%a8%e5%bf%85%e7%9c%8b%e8%b0%a2%e8%b0%a2%ef%bc%81
下面是免费版-个人编写快速安装脚本
#!/bin/bash
# time: 2021-05-11 17:47:39
# by: Chen
##执行脚本需要传入网络设备名
##例:sh goproxy-install.sh eth0
# 0.安装必须要的依赖
yum install wget -y || apt install wget -y
function install_proxy {
# 1.安装 proxy
# 说明: https://github.com/snail007/goproxy/blob/master/README_ZH.md
# 引用: https://mirrors.host900.com/https://github.com/snail007/goproxy/blob/master/install_auto.sh
F="proxy-linux-amd64.tar.gz"
set -e
if [ -e /tmp/proxy ]; then
rm -rf /tmp/proxy
fi
mkdir /tmp/proxy
cd /tmp/proxy
echo -e "\n>>> downloading ... $F\n"
manual="https://snail.gitee.io/proxy/manual/"
LAST_VERSION=$(curl --silent "https://mirrors.host900.com/https://api.github.com/repos/snail007/goproxy/releases/latest" | grep -Po '"tag_name":"\K.*?(?=")')
wget -t 1 "https://mirrors.host900.com/https://github.com/snail007/goproxy/releases/download/${LAST_VERSION}/$F"
echo -e ">>> installing ... \n"
# #install proxy
tar zxvf $F >/dev/null
set +e
killall -9 proxy >/dev/null 2>&1
set -e
cp -f proxy /usr/bin/
chmod +x /usr/bin/proxy
if [ ! -e /etc/proxy ]; then
mkdir /etc/proxy
cp blocked /etc/proxy
cp direct /etc/proxy
fi
if [ ! -e /etc/proxy/proxy.crt ]; then
cd /etc/proxy/
proxy keygen -C proxy >/dev/null 2>&1
fi
rm -rf /tmp/proxy
version=`proxy --version 2>&1`
echo -e ">>> install done, thanks for using snail007/goproxy $version\n"
echo -e ">>> install path /usr/bin/proxy\n"
echo -e ">>> configuration path /etc/proxy\n"
echo -e ">>> uninstall just exec : rm /usr/bin/proxy && rm -rf /etc/proxy\n"
echo -e ">>> How to using? Please visit : $manual\n"
}
function add_service {
# 2.添加为服务
cat > /etc/systemd/system/jasper-proxy-${net_name}.service <<EOF
[Unit]
Description=Provide Socket Proxy For 'JasPer'
Wants=network.target
After=network.target
[Service]
User=root
PermissionsStartOnly=true
Environment='EXT_IP=`curl --interface ${net_name} -s ifconfig.co`'
Environment="LISTEN_ON=`ip a s ${net_name} | grep -oP '(?<=inet\s)\d+(\.\d+){3}'`:3128"
# socket5 mode
# ExecStart=/usr/bin/proxy socks -g \$EXT_IP -t tcp -p \$LISTEN_ON
# http mode
ExecStart=/usr/bin/proxy http -g \$EXT_IP -p \$LISTEN_ON
Restart=always
RestartSec=15s
TimeoutStartSec=30s
[Install]
WantedBy=multi-user.target
EOF
# 3.开机启动
systemctl daemon-reload
systemctl enable jasper-proxy-${net_name}.service
systemctl start jasper-proxy-${net_name}.service
systemctl status jasper-proxy-${net_name}.service
}
net_name=$1
if [ ! -n "$net_name" ];then
echo -e "缺少\$1参数,无网络设备名称 "
sleep 1
exit
fi
proxy --version
if [ $? != 0 ];then
install_proxy
add_service
else
add_service
fi