Merge pull request #159 from cutelua/dev

Dev: timezone / merge master
pull/171/head
233boy 6 years ago committed by GitHub
commit d559d9b794
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 41
      install.sh
  2. 12
      src/client_file.sh
  3. 11
      src/jqcmd.sh
  4. 12
      src/qr.sh
  5. 26
      src/sys-info.sh
  6. 80
      v2ray.sh

@ -6,6 +6,11 @@ yellow='\e[93m'
magenta='\e[95m' magenta='\e[95m'
cyan='\e[96m' cyan='\e[96m'
none='\e[0m' none='\e[0m'
_red() { echo -e ${red}$*${none}; }
_green() { echo -e ${green}$*${none}; }
_yellow() { echo -e ${yellow}$*${none}; }
_magenta() { echo -e ${magenta}$*${none}; }
_cyan() { echo -e ${cyan}$*${none}; }
# Root # Root
[[ $(id -u) != 0 ]] && echo -e "\n 哎呀……请使用 ${red}root ${none}用户运行 ${yellow}~(^_^) ${none}\n" && exit 1 [[ $(id -u) != 0 ]] && echo -e "\n 哎呀……请使用 ${red}root ${none}用户运行 ${yellow}~(^_^) ${none}\n" && exit 1
@ -108,6 +113,33 @@ _load() {
. "${_dir}$@" . "${_dir}$@"
} }
_sys_timezone() {
IS_OPENVZ=
if hostnamectl status | grep -q openvz; then
IS_OPENVZ=1
fi
echo
timedatectl set-timezone Asia/Shanghai
timedatectl set-ntp true
echo "已将你的主机设置为Asia/Shanghai时区并通过systemd-timesyncd自动同步时间。"
echo
if [[ $IS_OPENVZ ]]; then
echo
echo -e "你的主机环境为 ${yellow}Openvz${none} ,建议使用${yellow}v2ray mkcp${none}系列协议。"
echo -e "注意:${yellow}Openvz${none} 系统时间无法由虚拟机内程序控制同步。"
echo -e "如果主机时间跟实际相差${yellow}超过90秒${none},v2ray将无法正常通信,请发ticket联系vps主机商调整。"
fi
}
_sys_time() {
echo -e "\n主机时间:${yellow}"
timedatectl status | sed -n '1p;4p'
echo -e "${none}"
}
v2ray_config() { v2ray_config() {
# clear # clear
echo echo
@ -738,9 +770,7 @@ install_v2ray() {
# $cmd install -y lrzsz git zip unzip curl wget qrencode libcap iptables-services # $cmd install -y lrzsz git zip unzip curl wget qrencode libcap iptables-services
$cmd install -y socat lrzsz git zip unzip curl wget qrencode libcap patch diffutils $cmd install -y socat lrzsz git zip unzip curl wget qrencode libcap patch diffutils
fi fi
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
[ -d /etc/v2ray ] && rm -rf /etc/v2ray [ -d /etc/v2ray ] && rm -rf /etc/v2ray
date -s "$(curl -sI g.cn | grep Date | cut -d' ' -f3-6)Z"
if [[ $local_install ]]; then if [[ $local_install ]]; then
if [[ ! -d $(pwd)/config ]]; then if [[ ! -d $(pwd)/config ]]; then
@ -752,7 +782,7 @@ install_v2ray() {
exit 1 exit 1
fi fi
mkdir -p /etc/v2ray/233boy/v2ray mkdir -p /etc/v2ray/233boy/v2ray
cp -rf $(pwd)/* /etc/v2ray/233boy/v2ray cp -rf $(pwd) /etc/v2ray/233boy/v2ray/
else else
pushd /tmp pushd /tmp
git clone --depth=1 https://github.com/233boy/v2ray -b "$_gitbranch" /etc/v2ray/233boy/v2ray git clone --depth=1 https://github.com/233boy/v2ray -b "$_gitbranch" /etc/v2ray/233boy/v2ray
@ -923,6 +953,11 @@ _install() {
exit 1 exit 1
fi fi
_disableselinux _disableselinux
_sys_timezone
_sys_time
echo
echo
pause
v2ray_config v2ray_config
blocked_hosts blocked_hosts
shadowsocks_config shadowsocks_config

@ -0,0 +1,12 @@
_get_client_file() {
local _link="$(cat $v2ray_client_config | tr -d [:space:] | base64 -w0)"
local link="https://233boy.github.io/tools/json.html#${_link}"
echo
echo "---------- V2Ray 客户端配置文件链接 -------------"
echo
echo -e ${cyan}$link${none}
echo
echo " V2Ray 客户端使用教程: https://v2ray6.com/post/4/"
echo
echo
}

@ -92,7 +92,7 @@ jq_printvmess() {
local _HOST=\"\" local _HOST=\"\"
local _PATH=\"\" local _PATH=\"\"
local _TLS=\"\" local _TLS=\"\"
local _NET=$(echo $IN | jq '.streamSettings.network') local _NET=$(echo $IN | jq '.streamSettings.network|"tcp"')
local _PORT=$(echo $IN | jq '.port') local _PORT=$(echo $IN | jq '.port')
local _NETTRIM=${_NET//\"/} local _NETTRIM=${_NET//\"/}
echo echo
@ -112,14 +112,19 @@ jq_printvmess() {
_TLS="tls" _TLS="tls"
;; ;;
tcp) tcp)
_TYPE='if .streamSettings.tcpSettings.header.type then .streamSettings.tcpSettings.header.type else "none" end' _TYPE='.streamSettings.tcpSettings.header.type|"none"'
;;
quic)
_TYPE='.streamSettings.quicSettings.header.type|"none"'
_HOST='.streamSettings.quicSettings.security'
_PATH='.streamSettings.quicSettings.key'
;; ;;
esac esac
local CLTLEN=$(echo $IN | jq '.settings.clients|length - 1') local CLTLEN=$(echo $IN | jq '.settings.clients|length - 1')
for CLINTIDX in $( seq 0 $CLTLEN ); do for CLINTIDX in $( seq 0 $CLTLEN ); do
local EMAIL=$(echo $IN | jq 'if .settings.clients['${CLINTIDX}'].email then .settings.clients['${CLINTIDX}'].email else "DEFAULT" end') local EMAIL=$(echo $IN | jq 'if .settings.clients['${CLINTIDX}'].email then .settings.clients['${CLINTIDX}'].email else "DEFAULT" end')
local _ps="${_MAKPREFIX}${ADDRESS}/${_NETTRIM}" local _ps="${_MAKPREFIX}${ADDRESS}/${_NETTRIM}"
local _VMESS=$(echo "vmess://"$(echo $IN | jq -c '{"v":"2","ps":"'${_ps}'","add":"'${ADDRESS}'","port":.port,"id":.settings.clients['${CLINTIDX}'].id,"aid":.settings.clients['${CLINTIDX}'].alterId,"net":.streamSettings.network,"type":'${_TYPE}',"host":'${_HOST}',"path":'${_PATH}',"tls":'${_TLS}'}' | base64 -w0)) local _VMESS=$(echo "vmess://"$(echo $IN | jq -c '{"v":"2","ps":"'${_ps}'","add":"'${ADDRESS}'","port":.port,"id":.settings.clients['${CLINTIDX}'].id,"aid":.settings.clients['${CLINTIDX}'].alterId,"net":.streamSettings.network|"tcp","type":'${_TYPE}',"host":'${_HOST}',"path":'${_PATH}',"tls":'${_TLS}'}' | base64 -w0))
_green "VMESS链接(v2rayN/v2rayNG): ${EMAIL//\"/}" _green "VMESS链接(v2rayN/v2rayNG): ${EMAIL//\"/}"
echo ${_VMESS} echo ${_VMESS}
_green "二维码链接【浏览器打开】(v2rayN/v2rayNG)" _green "二维码链接【浏览器打开】(v2rayN/v2rayNG)"

@ -15,3 +15,15 @@ _qr_create() {
echo echo
rm -rf /etc/v2ray/vmess_qr.json rm -rf /etc/v2ray/vmess_qr.json
} }
_ss_qr() {
local ss_link="ss://$(echo -n "${ssciphers}:${sspass}@${ip}:${ssport}" | base64 -w 0)#v2ray6.com_ss_${ip}"
local link="https://233boy.github.io/tools/qr.html#${ss_link}"
echo
echo "---------- Shadowsocks 二维码链接 -------------"
echo
echo -e "$yellow 链接 = $cyan$link$none"
echo
echo -e " 温馨提示...$red Shadowsocks Win 4.0.6 $none客户端可能无法识别该二维码"
echo
echo
}

@ -0,0 +1,26 @@
#!/bin/bash
_sys_timezone() {
IS_OPENVZ=
if hostnamectl status | grep -q openvz; then
IS_OPENVZ=1
fi
echo
timedatectl set-timezone Asia/Shanghai
timedatectl set-ntp true
echo "已将你的主机设置为Asia/Shanghai时区并通过systemd-timesyncd自动同步时间。"
echo
if [[ $IS_OPENVZ ]]; then
echo
echo -e "你的主机环境为 ${yellow}Openvz${none} ,建议使用${yellow}v2ray mkcp${none}系列协议。"
echo -e "注意:${yellow}Openvz${none} 系统时间无法由虚拟机内程序控制同步。"
echo -e "如果主机时间跟实际相差${yellow}超过90秒${none},v2ray将无法正常通信,请发ticket联系vps主机商调整。"
fi
}
_sys_time() {
echo -e "主机时间:${yellow}"
timedatectl status | sed -n '1p;4p'
echo -e "${none}"
}

@ -10,7 +10,7 @@ none='\e[0m'
# Root # Root
[[ $(id -u) != 0 ]] && echo -e " 哎呀……请使用 ${red}root ${none}用户运行 ${yellow}~(^_^) ${none}" && exit 1 [[ $(id -u) != 0 ]] && echo -e " 哎呀……请使用 ${red}root ${none}用户运行 ${yellow}~(^_^) ${none}" && exit 1
_version="v3.08" _version="v3.09"
cmd="apt-get" cmd="apt-get"
@ -77,12 +77,18 @@ _site="ddog.xyz"
if [[ $v2ray_ver != v* ]]; then if [[ $v2ray_ver != v* ]]; then
v2ray_ver="v$v2ray_ver" v2ray_ver="v$v2ray_ver"
fi fi
if [[ ! -f $_v2ray_sh ]]; then if [[ ! -f $_v2ray_sh ]]; then
mv -f /usr/local/bin/v2ray $_v2ray_sh [[ -f /usr/local/bin/v2ray ]] && rm -f /usr/local/bin/v2ray
chmod +x $_v2ray_sh ln -s /etc/v2ray/233boy/v2ray/v2ray.sh $_v2ray_sh
echo -e "\n $yellow 警告: 请重新登录 SSH 以避免出现 v2ray 命令未找到的情况。$none \n" && exit 1 echo -e "\n $yellow 警告: 请重新登录 SSH 以避免出现 v2ray 命令未找到的情况。$none \n" && exit 1
fi fi
if [[ ! -L $_v2ray_sh ]]; then
rm -f $_v2ray_sh
ln -s /etc/v2ray/233boy/v2ray/v2ray.sh $_v2ray_sh
fi
if [ $v2ray_pid ]; then if [ $v2ray_pid ]; then
v2ray_status="$green正在运行$none" v2ray_status="$green正在运行$none"
else else
@ -226,35 +232,9 @@ view_shadowsocks_config_info() {
} }
get_shadowsocks_config_qr_link() { get_shadowsocks_config_qr_link() {
if [[ $shadowsocks ]]; then if [[ $shadowsocks ]]; then
echo
echo -e "$green 正在生成链接.... 稍等片刻即可....$none"
echo
get_ip get_ip
local ss="ss://$(echo -n "${ssciphers}:${sspass}@${ip}:${ssport}" | base64 -w 0)#${_site}_ss_${ip}" _load qr.sh
echo "${ss}" >/tmp/233blog_shadowsocks.txt _ss_qr
cat /tmp/233blog_shadowsocks.txt | qrencode -s 50 -o /tmp/233blog_shadowsocks.png
local random=$(echo $RANDOM-$RANDOM-$RANDOM | base64 -w 0)
local link=$(curl -s --upload-file /tmp/233blog_shadowsocks.png "https://transfer.sh/${random}_v2ray6_shadowsocks.png")
if [[ $link ]]; then
echo
echo "---------- Shadowsocks 二维码链接 -------------"
echo
echo -e "$yellow 链接 = $cyan$link$none"
echo
echo -e " 温馨提示...$red Shadowsocks Win 4.0.6 $none客户端可能无法识别该二维码"
echo
echo "备注...链接将在 14 天后失效"
echo
echo "提醒...请不要把链接分享出去...除非你有特别的理由...."
echo
else
echo
echo -e "$red 哎呀呀呀...出错咯...请重试$none"
echo
fi
rm -rf /tmp/233blog_shadowsocks.png
rm -rf /tmp/233blog_shadowsocks.txt
else else
shadowsocks_config shadowsocks_config
fi fi
@ -2474,32 +2454,8 @@ get_v2ray_config() {
} }
get_v2ray_config_link() { get_v2ray_config_link() {
echo _load client_file.sh
echo -e "$green 正在生成链接.... 稍等片刻即可....$none" _get_client_file
echo
local random=$(echo $RANDOM-$RANDOM-$RANDOM | base64 -w 0)
local link=$(curl -s --upload-file $v2ray_client_config "https://transfer.sh/${random}_v2ray6_v2ray.json")
if [[ $link ]]; then
echo
echo "---------- V2Ray 客户端配置文件链接 -------------"
echo
echo -e "$yellow 链接 = $cyan$link$none"
echo
echo -e "$yellow SOCKS 监听端口 = ${cyan}2333${none}"
echo
echo -e "${yellow} HTTP 监听端口 = ${cyan}6666$none"
echo
echo " V2Ray 客户端使用教程: https://${_site}/post/4/"
echo
echo "备注...链接将在 14 天后失效"
echo
echo "提醒...请不要把链接分享出去...除非你有特别的理由...."
echo
else
echo
echo -e "$red 哎呀呀呀...出错咯...请重试$none"
echo
fi
} }
create_v2ray_config_text() { create_v2ray_config_text() {
@ -2906,6 +2862,11 @@ menu() {
fi fi
done done
echo echo
echo
echo -e "注意: 如果主机时间跟实际相差${yellow}超过90秒${none},v2ray将无法正常通信。"
_load sys-info.sh
_sys_time
echo
echo -e "温馨提示...如果你不想执行选项...按$yellow Ctrl + C $none即可退出" echo -e "温馨提示...如果你不想执行选项...按$yellow Ctrl + C $none即可退出"
echo echo
read -p "$(echo -e "请选择菜单 [${magenta}1-${#_lists[*]}$none]:")" choose read -p "$(echo -e "请选择菜单 [${magenta}1-${#_lists[*]}$none]:")" choose
@ -3049,7 +3010,10 @@ reload)
view_v2ray_config_info view_v2ray_config_info
;; ;;
time) time)
date -s "$(curl -sI g.cn | grep Date | cut -d' ' -f3-6)Z" _load sys-info.sh
_sys_timezone
date --utc -s "$(curl -sI g.cn | grep Date | cut -d' ' -f3-6)Z"
_sys_time
;; ;;
log) log)
view_v2ray_log view_v2ray_log

Loading…
Cancel
Save