Pages

Wednesday, 20 April 2016

gogo tunnel可以搭建在自己的vps上了

首先在你的vps上安装java环境:
apt-get install openjdk-6-jdk (for debian/ubuntu)
yum install java-1.8.0-openjdk.x86_64 yum install java-1.8.0-openjdk.x86 
(for centos/fedora)

wget https://github.com/Kisesy/Gogo/raw/master/gogo-server.jar
java -jar gogo-server.jar 2020
最后的2020是服务端口,可以自定义。如果需要后台运行,则使用nohup命令启动:
nohup java -jar gogo-server-1.8.0.jar 2020 > /dev/null &
服务器端就搭建好了。
服务器端程序gogo-server-1.8.0.jar的网盘下载地址:
https://drive.google.com/file/d/1NdUBA3_9E9SeU1HI1lbvljGESW1Wn8v5/view

客户端程序的网盘下载地址:https://drive.google.com/file/d/1huSDXn90EeQq5xxrVkSA_MB1zH_3mnJx/view,下载得到的是GoGo-v1.9.01.9.0 (1).zip,解压之,执行解压出来的目录里的启动脚本,运行GoGo(start.bat for Windows, start.sh for linux, start.command for Mac OS X),本地机器要先安装java环境。
进入GoGo的Web控制台http://127.0.0.1:9092,单击左侧“本地服务器”导航菜单,再单击“本地服务器”页面右上角“添加服务器”按钮,填写您的服务器IP和端口。然后设置浏览器的代理,选择“手动配置代理”,填写SOCKS Host为127.0.0.1, Port为9090,即可翻墙。
您添加的服务器可能不会立即处理代理请求,GoGo会定时的按延迟排序所有的代理地址,在下次排序后,如果您添加的服务器延迟最小,则GoGo会优先使用。


项目地址:http://www.gogotunnel.com
http://www.gogotunnel.com/configServer
https://gogohome.herokuapp.com/configServer

相关帖子:http://briteming.blogspot.com/2016/01/herokugogotunnel.html
我现在这个帖子就是用此方法翻墙而发布。
------------------

1. 安装前准备

GoGo是基于Java开发的,所以必须要先安装Java8或以上版本。

2. 启动服务端

先通过SSH或Putty远程连接到服务器上,下载最新版GoGo-Server:
wget https://gogohome.herokuapp.com/getLatestGoGoServer -O gogo-server-1.8.0.jar
开始启动:
nohup java -Xmx300m -jar gogo-server-1.8.0.jar 8080 &>/dev/null &
其中8080是Http监听端口,Https监听端口不通过参数指定, 默认为8443.
在浏览器中打开http://ip:8080或https://ip:8443, 如果能看到欢迎信息则表示部署成功.
GoGo服务端会自动检测当前运行环境,如果是运行在Heroku或OpenShift环境下,则只启动HTTP服务,并且自动监听环境变量中的$PORT端口号。

3. 客户端配置

进入GoGo的Web控制台http://127.0.0.1:9092,单击左侧“代理列表”菜单,再单击右上角“添加代理”按钮,填写您的服务器IP地址, 如果没有域名Host字段也填写IP地址,端口号为8443, 如果勾选“共享”, 您的服务器将出现在“共享代理”页面上,单击“添加服务器”按钮完成操作.
from http://www.gogotunnel.com/configServer
------------------
速度当然没有ss快
------------------

gogotunnel的服务器端的一键安装脚本:

#!/usr/bin/env bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/java/jre/bin:~/bin
export PATH

#=================================================
# System Required: CentOS/Debian/Ubuntu
# Description: GoGo Server
# Version: 1.0.0
# Author: Toyo
# Blog: https://doub.io/wlzy-24/
#=================================================

gogo_directory="/etc/gogoserver"
gogo_file="/etc/gogoserver/gogo-server.jar"
java_directory="/usr/java"
java_file="/usr/java/jre"
profile_file="/etc/profile"
httpsport="8443"

#检查是否安装gogo
check_gogo(){
 [[ ! -e ${gogo_file} ]] && echo -e "\033[41;37m [错误] \033[0m 没有安装GoGo,请检查 !" && exit 1
}
#检查是否安装java
check_java(){
 java_check=`java -version`
 [[ -z ${java_check} ]] && echo -e "\033[41;37m [错误] \033[0m 没有安装JAVA,请检查 !" && exit 1
}
#检查系统
check_sys(){
 bit=`uname -m`
}
# 安装java
installjava(){
 mkdir ${java_directory}
 cd ${java_directory}
 check_sys
# 系统判断
 if [ ${bit} == "x86_64" ]; then
  wget -N -O java.tar.gz "http://javadl.oracle.com/webapps/download/AutoDL?BundleId=216424"
 elif [ ${bit} == "i386" ]; then
  wget -N -O java.tar.gz "http://javadl.oracle.com/webapps/download/AutoDL?BundleId=216422"
 else
  echo -e "\033[41;37m [错误] \033[0m 不支持 ${bit} !" && exit 1
 fi
 tar zxvf java.tar.gz
 jre_file=`ls -a | grep 'jre'`
 mv ${jre_file} jre
 rm -rf java.tar.gz
# 设置java环境变量
 echo '#set java JDK 
JAVA_HOME=/usr/java/jre
JRE_HOME=/usr/java/jre/jre/ 
PATH=$PATH:$JAVA_HOME/bin:$JRE_home/bin 
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar 
export JAVA_HOME 
export JRE_HOME 
export PATH 
export CLASSPATH' >> ${profile_file}
 source ${profile_file}
#判断java是否安装成功
 #java_check=`java -version`
 #[[ -z ${java_check} ]] && echo -e "\033[41;37m [错误] \033[0m 安装 JAVA 失败,请检查 !" && exit 1
}
# 安装gogo
installgogo(){
# 判断是否安装gogo
 [[ -e ${gogo_file} ]] && echo -e "\033[41;37m [错误] \033[0m 已经安装 GoGo,请检查 !" && exit 1
# 判断是否安装java
 #java_check=`java -version`
 if [[ ! -e ${java_directory} ]]; then
  echo -e "\033[42;37m [信息] \033[0m 没有检测到安装 JAVA,开始安装..."
  installjava
 fi
 chmod +x /etc/rc.local
 mkdir ${gogo_directory}
 cd ${gogo_directory}
 wget -N -O gogo-server.jar --no-check-certificate "https://gogohome.herokuapp.com/getLatestGoGoServer"
 #判断gogo是否下载成功
 if [[ ! -e ${gogo_file} ]]; then
  echo -e "\033[41;37m [错误] \033[0m 下载GoGo失败,请检查 !" && exit 1
 else
  startgogo
 fi
}
setgogo(){
#设置端口
 while true
 do
 echo -e "请输入GoGo Server 的 HTTP监听端口 [1-65535]:"
 stty erase '^H' && read -p "(默认端口: 8080):" httpport
 [ -z "$httpport" ] && httpport="8080"
 expr ${httpport} + 0 &>/dev/null
 if [ $? -eq 0 ]; then
  if [ ${httpport} -ge 1 ] && [ ${httpport} -le 65535 ]; then
   echo
   echo "——————————————————————————————"
   echo -e " 端口 : \033[41;37m ${httpport} \033[0m"
   echo "——————————————————————————————"
   echo
   break
  else
   echo "输入错误,请输入正确的数字 !"
  fi
 else
  echo "输入错误,请输入正确的数字 !"
 fi
 done
}
# 查看gogo列表
viewgogo(){
# 检查是否安装
 check_gogo
 
 PID=`ps -ef | grep "gogo" | grep -v grep | grep -v "gogo.sh" | awk '{print $2}'`
 [[ -z $PID ]] && echo -e "\033[42;37m [信息] \033[0m GoGo 没有运行 !" && exit 1
 
 gogo_http_port=`ps -ef | grep "gogo" | grep -v grep | grep -v "gogo.sh" | awk '{print $12}'`
# 获取IP
 ip=`curl -m 10 -s http://members.3322.org/dyndns/getip`
 [[ -z $ip ]] && ip="vps_ip"
 echo
 echo "——————————————————————————————"
 echo " GoGo Server 配置信息: "
 echo
 echo -e " 本地 IP : \033[41;37m ${ip} \033[0m"
 echo -e " HTTP监听端口 : \033[41;37m ${gogo_http_port} \033[0m"
 echo -e " HTTPS监听端口 : \033[41;37m ${httpsport} \033[0m"
 echo "——————————————————————————————"
 echo
}
# 启动aProxy
startgogo(){
# 检查是否安装
 check_gogo
# 判断进程是否存在
 PID=`ps -ef | grep "gogo" | grep -v grep | grep -v "gogo.sh" | awk '{print $2}'`
 [[ ! -z $PID ]] && echo -e "\033[41;37m [错误] \033[0m 发现 GoGo 正在运行,请检查 !" && exit 1
 cd ${gogo_directory}
 setgogo
 nohup java -Xmx300m -jar gogo-server.jar ${httpport} &>/dev/null &
 sleep 2s
 PID=`ps -ef | grep "gogo" | grep -v grep | grep -v "gogo.sh" | awk '{print $2}'`
 [[ -z $PID ]] && echo -e "\033[41;37m [错误] \033[0m GoGo 启动失败 !" && exit 1
 iptables -I INPUT -p tcp --dport ${httpport} -j ACCEPT
 iptables -I INPUT -p udp --dport ${httpport} -j ACCEPT
 iptables -I INPUT -p tcp --dport ${httpsport} -j ACCEPT
 iptables -I INPUT -p udp --dport ${httpsport} -j ACCEPT
# 系统判断,开机启动
 check_sys
 if [[ ${release}  == "debian" ]]; then
  sed -i '$d' /etc/rc.local
  echo -e "nohup java -Xmx300m -jar gogo-server.jar ${httpport} &>/dev/null &" >> /etc/rc.local
  echo -e "exit 0" >> /etc/rc.local
 else
  echo -e "nohup java -Xmx300m -jar gogo-server.jar ${httpport} &>/dev/null &" >> /etc/rc.local
 fi
 
 clear
 echo
 echo "——————————————————————————————"
 echo
 echo " GoGo 已启动 !"
 viewgogo
}
# 停止aProxy
stopgogo(){
# 检查是否安装
 check_gogo
# 判断进程是否存在
 PID=`ps -ef | grep "gogo" | grep -v grep | grep -v "gogo.sh" | awk '{print $2}'`
 [[ -z $PID ]] && echo -e "\033[41;37m [错误] \033[0m 发现 GoGo 没有运行,请检查 !" && exit 1
 gogo_http_port=`ps -ef | grep "gogo" | grep -v grep | grep -v "gogo.sh" | awk '{print $12}'`
 sed -i "/nohup java -Xmx300m -jar gogo-server.jar ${gogo_http_port} &>\/dev\/null &/d" /etc/rc.local
 iptables -D INPUT -p tcp --dport ${gogo_http_port} -j ACCEPT
 iptables -D INPUT -p udp --dport ${gogo_http_port} -j ACCEPT
 iptables -D INPUT -p tcp --dport ${httpsport} -j ACCEPT
 iptables -D INPUT -p udp --dport ${httpsport} -j ACCEPT
 kill -9 ${PID}
 sleep 2s
 PID=`ps -ef | grep "gogo" | grep -v grep | grep -v "gogo.sh" | awk '{print $2}'`
 if [[ ! -z $PID ]]; then
  echo -e "\033[41;37m [错误] \033[0m GoGo 停止失败 !" && exit 1
 else
  echo " GoGo 已停止 !"
 fi
}
restartgogo(){
# 检查是否安装
 check_gogo
 PID=`ps -ef | grep "gogo" | grep -v grep | grep -v "gogo.sh" | awk '{print $2}'`
 [[ ! -z $PID ]] && stopgogo
 startgogo
}
statusgogo(){
# 检查是否安装
 check_gogo
# 判断进程是否存在
 PID=`ps -ef | grep "gogo" | grep -v grep | grep -v "gogo.sh" | awk '{print $2}'`
 if [[ ! -z $PID ]]; then
  echo -e "\033[42;37m [信息] \033[0m GoGo 正在运行,PID: ${PID} !"
 else
  echo -e "\033[42;37m [信息] \033[0m GoGo 没有运行 !"
 fi
}
uninstallgogo(){
# 检查是否安装
 check_gogo
 printf "确定要卸载 GoGo ? (y/N)"
 printf "\n"
 stty erase '^H' && read -p "(默认: n):" unyn
 [[ -z ${unyn} ]] && unyn="n"
 if [[ ${unyn} == [Yy] ]]; then
  PID=`ps -ef | grep "gogo" | grep -v grep | grep -v "gogo.sh" | awk '{print $2}'`
  [[ ! -z $PID ]] && stopgogo
  rm -rf ${gogo_directory}
  sed -i "/nohup java -Xmx300m -jar gogo-server.jar ${gogo_http_port} &>\/dev\/null &/d" /etc/rc.local
  [[ -e ${gogo_directory} ]] && echo -e "\033[41;37m [错误] \033[0m GoGo卸载失败,请检查 !" && exit 1
  echo
  echo " GoGo 已卸载 !"
  echo
 else
  echo
  echo "卸载已取消..."
  echo
 fi
}

action=$1
[[ -z $1 ]] && action=install
case "$action" in
 install|view|start|stop|restart|status|uninstall)
 ${action}gogo
 ;;
 *)
 echo "输入错误 !"
 echo "用法: { install | view | start | stop | restart | status | uninstall }"
 ;;
esac


from https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/gogo.sh
--------------

HTTP/SOCKS5代理软件 —— GoGoTunnel服务端的一键安装脚本


系统要求:
Centos / Debian / Ubuntu 14.04 +
推荐 Debian / Ubuntu,这个是我一直使用的系统,我的脚本在这个系统上面出错率最低。
脚本版本:
Ver: 1.0.0
安装步骤:
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/gogo.sh && bash gogo.sh
下载并运行脚本后,会自动检测并开始安装JAVA和GoGo服务端。
安装完毕后,会提示输入监听的HTTP端口(默认 8080):
请输入GoGo Server监听的HTTP端口 [1-65535]:
(默认端口: 8080):
—————————————————
端口 : 8080
—————————————————
启动成功后,会提示:
—————————————————
GoGo 已启动 !
—————————————————
GoGo Server 配置信息:
本地 IP : VPS_IP
HTTP监听端口 : 8080
HTTPS监听端口 : 8443
—————————————————
使用方法
# 启动 GoGo 服务端
bash gogo.sh start
# 停止 GoGo 服务端
bash gogo.sh stop
# 重启 GoGo 服务端
bash gogo.sh restart
# 查看 GoGo 服务端 状态
bash gogo.sh status
# 查看 GoGo 服务端 信息
bash gogo.sh view
# 卸载 GoGo 服务端
bash gogo.sh uninstall
客户端添加代理方法:
搭建完毕GoGo服务端,还要把代理地址添加到GoGo客户端才能使用。
首先打开GoGo客户端并进入管理面板(默认):http://127.0.0.1:9092
然后点击侧栏 代理列表,然后点击右上角的 添加Solo代理 按钮,然后输入你的VPS IP到 服务器IP、服务器域名的输入框中,并勾选 优先,然后点击 添加代理。
然后你就可以试一试自己搭建的代理服务器的速度了。
注意:建议取消 其他代理的优先设定,只设置 自建的代理服务器的优先,否则你链接的可能不是自己搭建的代理服务器。