From 62d8c478bb3b7d9ed38fea5530b71d4d5002fe33 Mon Sep 17 00:00:00 2001 From: Hossin Asaadi Date: Mon, 7 Nov 2022 05:48:46 -0500 Subject: [PATCH] add Environment & update sh files --- install.sh | 8 ++++---- web/job/check_clinet_ip_job.go | 20 +++++++++++++++----- x-ui.service | 1 + x-ui.sh | 6 +++--- 4 files changed, 23 insertions(+), 12 deletions(-) diff --git a/install.sh b/install.sh index d6ffd104e3..7dd07ed977 100755 --- a/install.sh +++ b/install.sh @@ -107,20 +107,20 @@ install_x-ui() { cd /usr/local/ if [ $# == 0 ]; then - last_version=$(curl -Ls "https://api.github.com/repos/vaxilu/x-ui/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/') + last_version=$(curl -Ls "https://api.github.com/repos/hossinasaadi/x-ui/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/') if [[ ! -n "$last_version" ]]; then echo -e "${red}检测 x-ui 版本失败,可能是超出 Github API 限制,请稍后再试,或手动指定 x-ui 版本安装${plain}" exit 1 fi echo -e "检测到 x-ui 最新版本:${last_version},开始安装" - wget -N --no-check-certificate -O /usr/local/x-ui-linux-${arch}.tar.gz https://github.com/vaxilu/x-ui/releases/download/${last_version}/x-ui-linux-${arch}.tar.gz + wget -N --no-check-certificate -O /usr/local/x-ui-linux-${arch}.tar.gz https://github.com/hossinasaadi/x-ui/releases/download/${last_version}/x-ui-linux-${arch}.tar.gz if [[ $? -ne 0 ]]; then echo -e "${red}下载 x-ui 失败,请确保你的服务器能够下载 Github 的文件${plain}" exit 1 fi else last_version=$1 - url="https://github.com/vaxilu/x-ui/releases/download/${last_version}/x-ui-linux-${arch}.tar.gz" + url="https://github.com/hossinasaadi/x-ui/releases/download/${last_version}/x-ui-linux-${arch}.tar.gz" echo -e "开始安装 x-ui v$1" wget -N --no-check-certificate -O /usr/local/x-ui-linux-${arch}.tar.gz ${url} if [[ $? -ne 0 ]]; then @@ -138,7 +138,7 @@ install_x-ui() { cd x-ui chmod +x x-ui bin/xray-linux-${arch} cp -f x-ui.service /etc/systemd/system/ - wget --no-check-certificate -O /usr/bin/x-ui https://raw.githubusercontent.com/vaxilu/x-ui/main/x-ui.sh + wget --no-check-certificate -O /usr/bin/x-ui https://raw.githubusercontent.com/hossinasaadi/x-ui/main/x-ui.sh chmod +x /usr/local/x-ui/x-ui.sh chmod +x /usr/bin/x-ui config_after_install diff --git a/web/job/check_clinet_ip_job.go b/web/job/check_clinet_ip_job.go index 31387954e0..a7cac64ae0 100644 --- a/web/job/check_clinet_ip_job.go +++ b/web/job/check_clinet_ip_job.go @@ -9,7 +9,6 @@ import ( ss "strings" "regexp" "encoding/json" - "gorm.io/gorm" "strconv" "strings" "time" @@ -33,6 +32,12 @@ func NewCheckClientIpJob() *CheckClientIpJob { func (j *CheckClientIpJob) Run() { logger.Debug("Check Client IP Job...") processLogFile() + + // disAllowedIps = []string{"192.168.1.183","192.168.1.197"} + blockedIps := []byte(ss.Join(disAllowedIps,",")) + err := os.WriteFile("./bin/blockedIPs", blockedIps, 0755) + checkError(err) + } func processLogFile() { @@ -101,8 +106,8 @@ func processLogFile() { // check if inbound connection is more than limited ip and drop connection LimitDevice := func() { LimitDevice() } - stop := schedule(LimitDevice, 100 *time.Millisecond) - time.Sleep(15 * time.Second) + stop := schedule(LimitDevice, 1000 *time.Millisecond) + time.Sleep(10 * time.Second) stop <- true } @@ -184,9 +189,14 @@ func updateInboundClientIps(inboundClientIps *model.InboundClientIps,clientEmail inboundClientIps.Ips = string(jsonIps) // check inbound limitation - inbound, _ := GetInboundByEmail(clientEmail) + inbound, err := GetInboundByEmail(clientEmail) + checkError(err) limitIpRegx, _ := regexp.Compile(`"limitIp": .+`) + if inbound.Settings == "" { + logger.Debug("wrong data ",inbound) + return nil + } limitIpMactch := limitIpRegx.FindString(inbound.Settings) limitIpMactch = ss.Split(limitIpMactch, `"limitIp": `)[1] @@ -230,7 +240,7 @@ func GetInboundByEmail(clientEmail string) (*model.Inbound, error) { db := database.GetDB() var inbounds *model.Inbound err := db.Model(model.Inbound{}).Where("settings LIKE ?", "%" + clientEmail + "%").Find(&inbounds).Error - if err != nil && err != gorm.ErrRecordNotFound { + if err != nil { return nil, err } return inbounds, nil diff --git a/x-ui.service b/x-ui.service index 6aa17920cb..fbc99c5507 100644 --- a/x-ui.service +++ b/x-ui.service @@ -4,6 +4,7 @@ After=network.target Wants=network.target [Service] +Environment="xray.vmess.aead.forced=false" Type=simple WorkingDirectory=/usr/local/x-ui/ ExecStart=/usr/local/x-ui/x-ui diff --git a/x-ui.sh b/x-ui.sh index 859067d41c..70ca33f182 100644 --- a/x-ui.sh +++ b/x-ui.sh @@ -94,7 +94,7 @@ before_show_menu() { } install() { - bash <(curl -Ls https://raw.githubusercontent.com/vaxilu/x-ui/master/install.sh) + bash <(curl -Ls https://raw.githubusercontent.com/hossinasaadi/x-ui/main/install.sh) if [[ $? == 0 ]]; then if [[ $# == 0 ]]; then start @@ -113,7 +113,7 @@ update() { fi return 0 fi - bash <(curl -Ls https://raw.githubusercontent.com/vaxilu/x-ui/master/install.sh) + bash <(curl -Ls https://raw.githubusercontent.com/hossinasaadi/x-ui/main/install.sh) if [[ $? == 0 ]]; then LOGI "更新完成,已自动重启面板 " exit 0 @@ -302,7 +302,7 @@ install_bbr() { } update_shell() { - wget -O /usr/bin/x-ui -N --no-check-certificate https://github.com/vaxilu/x-ui/raw/master/x-ui.sh + wget -O /usr/bin/x-ui -N --no-check-certificate https://github.com/hossinasaadi/x-ui/raw/main/x-ui.sh if [[ $? != 0 ]]; then echo "" LOGE "下载脚本失败,请检查本机能否连接 Github"