- Home
- Packages
- Forums
- Wiki
- Bugs
- AUR
- Download

# Goagent (简体中文)

From ArchWiki

GoAgent 是使用 Python 和 Google App Engine SDK 编写的免费代理软件，利用 Google App Engine 充当代理服务器。

GoAgent 的运行原理于其他代理工具基本相同，其借由 Google App Engine 的服务器作为中传，将数据数据包后传送至 Google 服务器，再由 Google 服务器转发至目的服务器，接收数据时方法也类似。相对其他代理工具而言 GoAgent 要稳定许多 。

## 安装

官方软件源已收录 goagent，直接用 pacman 安装即可.

## 配置

### 服务器端

申请 Google Appengine 并创建 appid 。具体教程可参考此。

注意: appid请勿包含android/ios等关键词，否则有可能被某些网站识别为移动设备用户。

### 客户端

修改 `/usr/share/goagent/local/proxy.ini` 中的 `[gae]` 下的 `appid` 为您所申请的 appid。

上传：

    # python /usr/share/goagent/server/uploader.zip

注意: 若发生上传错误，试试 `python2` 命令，目前不支持 python3 及以上的版本
注意: 将来的版本更新可能会要求重新上传。请参看官方的更新历史，带有[是]标记的则需要重新上传。此外是否需要重新上传是相对于前一版的，若您之前版本与当前版本之间某一版或多版带有[是]仍然需要重新上传

执行时会要求您再输入 appid ，请保持与 `proxy.ini` 中已有的一致；接着还要输入 Google 邮箱及密码。

注意: 若您的 Google 账户有开通两步验证功能，则密码应为16位的应用程序专用密码。

至此，代理服务器 127.0.0.1:8087 已搭建完毕。现在以 Chrome/Chromium 为例，示范使用代理服务器的方法。

注意: 若浏览器类软件要通过 GoAgent 代理访问 Internet，可能均需要导入证书

#### Chrome/Chromium

请安装 SwitchySharp 插件，接着导入该设置。可参考该扩展提供的图解流程。

打开设置－管理证书－授权中心－Authorities，导入 `/usr/share/goagent/local/CA.crt`，弹出窗口的三条选项均勾选。

#### 亚全局

在 Unix 和 GNU/Linix 中，大多 HTTP 应用程序均支持调用环境变量 `http_proxy` 和 `https_proxy` 进行代理，就像 lynx、 wget 和 curl，甚至也包括了 Chromium (简体中文) 和 git (简体中文)。此外该环境变量的大小写其实并没有统一标准，有个别程序就只支持全大写的环境变量。所以为方便起见，直接在 `~/.bash_profile` 或 `~/.zshenv` 添加以下即可：

    export http_proxy=http://127.0.0.1:8087/
    export https_proxy=$http_proxy
    export HTTP_PROXY=$http_proxy
    export HTTPS_PROXY=$HTTP_PROXY

注意: 虽然 Chrome 浏览器也可以通过其环境变量进行全局代理从而不再需要 Proxy Extension，但不建议这么做，因为会导致访问国内网站的速度下降，甚至个别网站就拒绝境外代理访问，例如收录了大量版权视频的网站。

再执行以下命令，以导入证书进 Arch Linux。至此，就可以实现 Arch Linux 亚全局代理：

     # mkdir /usr/local/share/ca-certificates/
     # cp path/to/goagent/local/CA.crt /usr/local/share/ca-certificates/
     # update-ca-certificates

## 运行

### 以 daemon 形式运行

    # systemctl start goagent

若想开机自启动，执行：

    # systemctl enable goagent

#### 屏蔽日志输出

如果不想让 GoAgent 的输出信息进入日志，可以通过修改 goagent.service 解决，方法如下：

1. 创建目录 `/etc/systemd/system/goagent.service.d`

2. 创建文件 `/etc/systemd/system/goagent.service.d/nostdout.conf`, 写入如下内容:

    [Service]
    StandardOutput=null

### 手动运行

由于不明原因，总有个别用户无法成功以daemon形式运行GoAgent，可改试手动运行：

    # python /usr/share/goagent/local/proxy.py

注意: 请勿使用 python2 或 python2.7 命令，只支持 python3 或以上的版本，与上传 uploader.zip 所用 python 的命令版本正好不同

## 参阅

- GoAgent 在 Google Code 的主页
- GoAgent 在 GitHub 的主页
- 两位开发者的 Twitter 帐号：@hewigovens,@phuslu
- 讨论亚全局代理的 Email List

Retrieved from "https://wiki.archlinux.org/index.php?title=Goagent_(简体中文)&oldid=276086"
Categories:

- 简体中文
- Networking (简体中文)

## Navigation menu