分类: 服务器与代理 发表时间: 2020年05月21日

标题: go-to-internet代理服务器配置指南

摘要: go-to-internet是一款强制基于TLS协议的透明代理服务器,其配置相对于shadowsocks+v2ray插件的配置来说比较简单,能够提供稳定的代理服务

简介

go-to-internet是一款轻量级的,基于TLS协议的透明代理服务器,该代理服务器的特点是配置简单、连接稳定、支持多用户验证,目前已有macos系统的ui客户端,安卓、windows客户端也在开发和计划中

准备

  • 一个域名,解析到你的服务器上
  • 一个服务器,要在墙外并开放80、443两个端口(端口可自定义)

安装代理服务

go-to-internet项目的源代码在这里,下载其最新发行版本的server-linux-amd64.tar.gz文件到服务器上

  1. wget https://github.com/Luna-CY/go-to-internet/releases/download/v2.0.1/server-linux-amd64.tar.gz

解压后就已经安装完成了,不过为了方便使用,可以将ser-go-to-net以及manager-go-to-net两个命令移动到/usr/local/bin目录下

  1. mv *-go-to-net /usr/local/bin

申请域名证书

证书建议通过acme.sh工具申请,手动申请证书请参考此文档,也可以通过manager-go-to-net命令来辅助申请

如果你的服务器没有安装acme.sh工具,那么通过命令manager-go-to-net acme -install可以自动安装该工具到$HOME/.acme.sh目录下

安装完成后通过命令manager-go-to-net acme -issue -nginx -hostname YOUR_HOST来为你的域名申请证书,此过程是自动的

如果你的服务器没有安装nginx,申请过程中将会询问是否安装nginx服务,输入y继续
如果安装nginx失败,请运行一次apt update命令或yum update命令,取决于你的系统
如果申请失败请检查域名是否正确解析到服务器上,并且服务器是否开放了80端口

配置用户

ser-go-to-net命令通过配置文件/etc/go-to-net/users.json来管理用户,该文件无需手动编辑,manager-go-to-net提供了用户管理功能

新增用户

可以通过命令manager-go-to-net user -add -u USERNAME -p PASSWORD简单的创建一个新的用户,如果需要对用户进行适当的限制,可以向该命令后追加额外参数

  • -expired 2020-05-21T23:59:59-expired -可以限制用户的有效期,-短横线表示该用户不过期,具体时间表示将在指定时间后过期
  • -max-rate 1024-max-rate 0可以限制用户的最大传输速率,0表示不限速,大于0表示速度上线,其单位为byte(注:1byte=8bit,所以这里的1024表示的是1024KB而非1024kb)
  • -max-connection 100-max-connection 0可以限制用户的最大连接数量,0表示不限制,大于零表示该用户同时最多有指定数量的连接请求

修改用户

通过命令manager-go-to-net user -upd -u USERNAME [options]可以修改一个用户的配置,其中[options]部分可以替换为新增用户时可用的一个或多个参数

注意,修改后记得重启代理服务,否则不生效

删除用户

通过命令manager-go-to-net user -del -u USERNAME删除用户

注意,删除后记得重启代理服务,否则不生效

查看已有用户

通过命令manager-go-to-net user -list查看已有的用户列表,该命令显示用户的用户名过期时间最大连接速率

启动代理服务

申请证书完成并且配置了用户后通过命令ser-go-to-net -H YOUR_HOST启动代理服务,此时将在服务器的443端口监听请求

加入systemd

为了方便以后使用,建议将启动委托给系统的systemd服务管理,将一下代码保存到/etc/systemd/system/go-to-internet.service文件中

  1. [Unit]
  2. Description=Go To Internet
  3. After=network-online.target
  4. [Service]
  5. Type=simple
  6. ExecStart=/usr/local/bin/ser-go-to-net -H YOUR_HOST
  7. [Install]
  8. WantedBy=multi-user.target

之后可以通过一下命令操作

  • 启动:systemctl start go-to-internet
  • 停止:systemctl stop go-to-internet
  • 重启:systemctl restart go-to-internet

目前代理服务暂不支持reload命令

GUI客户端