diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 5f69a4d6..63c4724d 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,6 +1,6 @@ # These are supported funding model platforms -github: MHSanaei +github: kirden31 patreon: # Replace with a single Patreon username open_collective: # Replace with a single Open Collective username ko_fi: # Replace with a single Ko-fi username @@ -10,5 +10,5 @@ liberapay: # Replace with a single Liberapay username issuehunt: # Replace with a single IssueHunt username lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry polar: # Replace with a single Polar username -buy_me_a_coffee: mhsanaei +buy_me_a_coffee: kirden31 custom: https://nowpayments.io/donation/hsanaei diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 39ddf2e0..c96406b9 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -25,7 +25,7 @@ jobs: with: images: | hsanaeii/3x-ui - ghcr.io/mhsanaei/3x-ui + ghcr.io/kirden31/3x-ui tags: | type=ref,event=branch type=ref,event=tag diff --git a/README.ar_EG.md b/README.ar_EG.md index 01acad34..6668b746 100644 --- a/README.ar_EG.md +++ b/README.ar_EG.md @@ -7,13 +7,13 @@

-[![Release](https://img.shields.io/github/v/release/mhsanaei/3x-ui.svg)](https://github.com/MHSanaei/3x-ui/releases) -[![Build](https://img.shields.io/github/actions/workflow/status/mhsanaei/3x-ui/release.yml.svg)](https://github.com/MHSanaei/3x-ui/actions) -[![GO Version](https://img.shields.io/github/go-mod/go-version/mhsanaei/3x-ui.svg)](#) -[![Downloads](https://img.shields.io/github/downloads/mhsanaei/3x-ui/total.svg)](https://github.com/MHSanaei/3x-ui/releases/latest) +[![Release](https://img.shields.io/github/v/release/kirden31/3x-ui.svg)](https://github.com/kirden31/3x-ui/releases) +[![Build](https://img.shields.io/github/actions/workflow/status/kirden31/3x-ui/release.yml.svg)](https://github.com/kirden31/3x-ui/actions) +[![GO Version](https://img.shields.io/github/go-mod/go-version/kirden31/3x-ui.svg)](#) +[![Downloads](https://img.shields.io/github/downloads/kirden31/3x-ui/total.svg)](https://github.com/kirden31/3x-ui/releases/latest) [![License](https://img.shields.io/badge/license-GPL%20V3-blue.svg?longCache=true)](https://www.gnu.org/licenses/gpl-3.0.en.html) -[![Go Reference](https://pkg.go.dev/badge/github.com/mhsanaei/3x-ui/v2.svg)](https://pkg.go.dev/github.com/mhsanaei/3x-ui/v2) -[![Go Report Card](https://goreportcard.com/badge/github.com/mhsanaei/3x-ui/v2)](https://goreportcard.com/report/github.com/mhsanaei/3x-ui/v2) +[![Go Reference](https://pkg.go.dev/badge/github.com/kirden31/3x-ui/v2.svg)](https://pkg.go.dev/github.com/kirden31/3x-ui/v2) +[![Go Report Card](https://goreportcard.com/badge/github.com/kirden31/3x-ui/v2)](https://goreportcard.com/report/github.com/kirden31/3x-ui/v2) **3X-UI** — لوحة تحكم متقدمة مفتوحة المصدر تعتمد على الويب مصممة لإدارة خادم Xray-core. توفر واجهة سهلة الاستخدام لتكوين ومراقبة بروتوكولات VPN والوكيل المختلفة. @@ -25,10 +25,10 @@ ## البدء السريع ``` -bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh) +bash <(curl -Ls https://raw.githubusercontent.com/kirden31/3x-ui/master/install.sh) ``` -للحصول على الوثائق الكاملة، يرجى زيارة [ويكي المشروع](https://github.com/MHSanaei/3x-ui/wiki). +للحصول على الوثائق الكاملة، يرجى زيارة [ويكي المشروع](https://github.com/kirden31/3x-ui/wiki). ## شكر خاص إلى @@ -43,7 +43,7 @@ bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install. **إذا كان هذا المشروع مفيدًا لك، فقد ترغب في إعطائه**:star2: - + Buy Me A Coffee
@@ -53,4 +53,4 @@ bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install. ## النجوم عبر الزمن -[![Stargazers over time](https://starchart.cc/MHSanaei/3x-ui.svg?variant=adaptive)](https://starchart.cc/MHSanaei/3x-ui) +[![Stargazers over time](https://starchart.cc/kirden31/3x-ui.svg?variant=adaptive)](https://starchart.cc/kirden31/3x-ui) diff --git a/README.es_ES.md b/README.es_ES.md index 63d6ce49..5f50a8aa 100644 --- a/README.es_ES.md +++ b/README.es_ES.md @@ -7,13 +7,13 @@

-[![Release](https://img.shields.io/github/v/release/mhsanaei/3x-ui.svg)](https://github.com/MHSanaei/3x-ui/releases) -[![Build](https://img.shields.io/github/actions/workflow/status/mhsanaei/3x-ui/release.yml.svg)](https://github.com/MHSanaei/3x-ui/actions) -[![GO Version](https://img.shields.io/github/go-mod/go-version/mhsanaei/3x-ui.svg)](#) -[![Downloads](https://img.shields.io/github/downloads/mhsanaei/3x-ui/total.svg)](https://github.com/MHSanaei/3x-ui/releases/latest) +[![Release](https://img.shields.io/github/v/release/kirden31/3x-ui.svg)](https://github.com/kirden31/3x-ui/releases) +[![Build](https://img.shields.io/github/actions/workflow/status/kirden31/3x-ui/release.yml.svg)](https://github.com/kirden31/3x-ui/actions) +[![GO Version](https://img.shields.io/github/go-mod/go-version/kirden31/3x-ui.svg)](#) +[![Downloads](https://img.shields.io/github/downloads/kirden31/3x-ui/total.svg)](https://github.com/kirden31/3x-ui/releases/latest) [![License](https://img.shields.io/badge/license-GPL%20V3-blue.svg?longCache=true)](https://www.gnu.org/licenses/gpl-3.0.en.html) -[![Go Reference](https://pkg.go.dev/badge/github.com/mhsanaei/3x-ui/v2.svg)](https://pkg.go.dev/github.com/mhsanaei/3x-ui/v2) -[![Go Report Card](https://goreportcard.com/badge/github.com/mhsanaei/3x-ui/v2)](https://goreportcard.com/report/github.com/mhsanaei/3x-ui/v2) +[![Go Reference](https://pkg.go.dev/badge/github.com/kirden31/3x-ui/v2.svg)](https://pkg.go.dev/github.com/kirden31/3x-ui/v2) +[![Go Report Card](https://goreportcard.com/badge/github.com/kirden31/3x-ui/v2)](https://goreportcard.com/report/github.com/kirden31/3x-ui/v2) **3X-UI** — panel de control avanzado basado en web de código abierto diseñado para gestionar el servidor Xray-core. Ofrece una interfaz fácil de usar para configurar y monitorear varios protocolos VPN y proxy. @@ -25,10 +25,10 @@ Como una versión mejorada del proyecto X-UI original, 3X-UI proporciona mayor e ## Inicio Rápido ``` -bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh) +bash <(curl -Ls https://raw.githubusercontent.com/kirden31/3x-ui/master/install.sh) ``` -Para documentación completa, visita la [Wiki del proyecto](https://github.com/MHSanaei/3x-ui/wiki). +Para documentación completa, visita la [Wiki del proyecto](https://github.com/kirden31/3x-ui/wiki). ## Un Agradecimiento Especial a @@ -43,7 +43,7 @@ Para documentación completa, visita la [Wiki del proyecto](https://github.com/M **Si este proyecto te es útil, puedes darle una**:star2: - + Buy Me A Coffee @@ -54,4 +54,4 @@ Para documentación completa, visita la [Wiki del proyecto](https://github.com/M ## Estrellas a lo Largo del Tiempo -[![Stargazers over time](https://starchart.cc/MHSanaei/3x-ui.svg?variant=adaptive)](https://starchart.cc/MHSanaei/3x-ui) +[![Stargazers over time](https://starchart.cc/kirden31/3x-ui.svg?variant=adaptive)](https://starchart.cc/kirden31/3x-ui) diff --git a/README.fa_IR.md b/README.fa_IR.md index 94165260..8e505108 100644 --- a/README.fa_IR.md +++ b/README.fa_IR.md @@ -7,13 +7,13 @@

-[![Release](https://img.shields.io/github/v/release/mhsanaei/3x-ui.svg)](https://github.com/MHSanaei/3x-ui/releases) -[![Build](https://img.shields.io/github/actions/workflow/status/mhsanaei/3x-ui/release.yml.svg)](https://github.com/MHSanaei/3x-ui/actions) -[![GO Version](https://img.shields.io/github/go-mod/go-version/mhsanaei/3x-ui.svg)](#) -[![Downloads](https://img.shields.io/github/downloads/mhsanaei/3x-ui/total.svg)](https://github.com/MHSanaei/3x-ui/releases/latest) +[![Release](https://img.shields.io/github/v/release/kirden31/3x-ui.svg)](https://github.com/kirden31/3x-ui/releases) +[![Build](https://img.shields.io/github/actions/workflow/status/kirden31/3x-ui/release.yml.svg)](https://github.com/kirden31/3x-ui/actions) +[![GO Version](https://img.shields.io/github/go-mod/go-version/kirden31/3x-ui.svg)](#) +[![Downloads](https://img.shields.io/github/downloads/kirden31/3x-ui/total.svg)](https://github.com/kirden31/3x-ui/releases/latest) [![License](https://img.shields.io/badge/license-GPL%20V3-blue.svg?longCache=true)](https://www.gnu.org/licenses/gpl-3.0.en.html) -[![Go Reference](https://pkg.go.dev/badge/github.com/mhsanaei/3x-ui/v2.svg)](https://pkg.go.dev/github.com/mhsanaei/3x-ui/v2) -[![Go Report Card](https://goreportcard.com/badge/github.com/mhsanaei/3x-ui/v2)](https://goreportcard.com/report/github.com/mhsanaei/3x-ui/v2) +[![Go Reference](https://pkg.go.dev/badge/github.com/kirden31/3x-ui/v2.svg)](https://pkg.go.dev/github.com/kirden31/3x-ui/v2) +[![Go Report Card](https://goreportcard.com/badge/github.com/kirden31/3x-ui/v2)](https://goreportcard.com/report/github.com/kirden31/3x-ui/v2) **3X-UI** — یک پنل کنترل پیشرفته مبتنی بر وب با کد باز که برای مدیریت سرور Xray-core طراحی شده است. این پنل یک رابط کاربری آسان برای پیکربندی و نظارت بر پروتکل‌های مختلف VPN و پراکسی ارائه می‌دهد. @@ -25,10 +25,10 @@ ## شروع سریع ``` -bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh) +bash <(curl -Ls https://raw.githubusercontent.com/kirden31/3x-ui/master/install.sh) ``` -برای مستندات کامل، لطفاً به [ویکی پروژه](https://github.com/MHSanaei/3x-ui/wiki) مراجعه کنید. +برای مستندات کامل، لطفاً به [ویکی پروژه](https://github.com/kirden31/3x-ui/wiki) مراجعه کنید. ## تشکر ویژه از @@ -43,7 +43,7 @@ bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install. **اگر این پروژه برای شما مفید است، می‌توانید به آن یک**:star2: بدهید - + Buy Me A Coffee @@ -54,4 +54,4 @@ bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install. ## ستاره‌ها در طول زمان -[![Stargazers over time](https://starchart.cc/MHSanaei/3x-ui.svg?variant=adaptive)](https://starchart.cc/MHSanaei/3x-ui) +[![Stargazers over time](https://starchart.cc/kirden31/3x-ui.svg?variant=adaptive)](https://starchart.cc/kirden31/3x-ui) diff --git a/README.md b/README.md index f00a2fb0..79c22ece 100644 --- a/README.md +++ b/README.md @@ -7,13 +7,13 @@

-[![Release](https://img.shields.io/github/v/release/mhsanaei/3x-ui.svg)](https://github.com/MHSanaei/3x-ui/releases) -[![Build](https://img.shields.io/github/actions/workflow/status/mhsanaei/3x-ui/release.yml.svg)](https://github.com/MHSanaei/3x-ui/actions) -[![GO Version](https://img.shields.io/github/go-mod/go-version/mhsanaei/3x-ui.svg)](#) -[![Downloads](https://img.shields.io/github/downloads/mhsanaei/3x-ui/total.svg)](https://github.com/MHSanaei/3x-ui/releases/latest) +[![Release](https://img.shields.io/github/v/release/kirden31/3x-ui.svg)](https://github.com/kirden31/3x-ui/releases) +[![Build](https://img.shields.io/github/actions/workflow/status/kirden31/3x-ui/release.yml.svg)](https://github.com/kirden31/3x-ui/actions) +[![GO Version](https://img.shields.io/github/go-mod/go-version/kirden31/3x-ui.svg)](#) +[![Downloads](https://img.shields.io/github/downloads/kirden31/3x-ui/total.svg)](https://github.com/kirden31/3x-ui/releases/latest) [![License](https://img.shields.io/badge/license-GPL%20V3-blue.svg?longCache=true)](https://www.gnu.org/licenses/gpl-3.0.en.html) -[![Go Reference](https://pkg.go.dev/badge/github.com/mhsanaei/3x-ui/v2.svg)](https://pkg.go.dev/github.com/mhsanaei/3x-ui/v2) -[![Go Report Card](https://goreportcard.com/badge/github.com/mhsanaei/3x-ui/v2)](https://goreportcard.com/report/github.com/mhsanaei/3x-ui/v2) +[![Go Reference](https://pkg.go.dev/badge/github.com/kirden31/3x-ui/v2.svg)](https://pkg.go.dev/github.com/kirden31/3x-ui/v2) +[![Go Report Card](https://goreportcard.com/badge/github.com/kirden31/3x-ui/v2)](https://goreportcard.com/report/github.com/kirden31/3x-ui/v2) **3X-UI** — advanced, open-source web-based control panel designed for managing Xray-core server. It offers a user-friendly interface for configuring and monitoring various VPN and proxy protocols. @@ -25,10 +25,10 @@ As an enhanced fork of the original X-UI project, 3X-UI provides improved stabil ## Quick Start ```bash -bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh) +bash <(curl -Ls https://raw.githubusercontent.com/kirden31/3x-ui/master/install.sh) ``` -For full documentation, please visit the [project Wiki](https://github.com/MHSanaei/3x-ui/wiki). +For full documentation, please visit the [project Wiki](https://github.com/kirden31/3x-ui/wiki). ## A Special Thanks to @@ -43,7 +43,7 @@ For full documentation, please visit the [project Wiki](https://github.com/MHSan **If this project is helpful to you, you may wish to give it a**:star2: - + Buy Me A Coffee @@ -54,4 +54,4 @@ For full documentation, please visit the [project Wiki](https://github.com/MHSan ## Stargazers over Time -[![Stargazers over time](https://starchart.cc/MHSanaei/3x-ui.svg?variant=adaptive)](https://starchart.cc/MHSanaei/3x-ui) +[![Stargazers over time](https://starchart.cc/kirden31/3x-ui.svg?variant=adaptive)](https://starchart.cc/kirden31/3x-ui) diff --git a/README.ru_RU.md b/README.ru_RU.md index 6623a801..08c0738c 100644 --- a/README.ru_RU.md +++ b/README.ru_RU.md @@ -7,13 +7,13 @@

-[![Release](https://img.shields.io/github/v/release/mhsanaei/3x-ui.svg)](https://github.com/MHSanaei/3x-ui/releases) -[![Build](https://img.shields.io/github/actions/workflow/status/mhsanaei/3x-ui/release.yml.svg)](https://github.com/MHSanaei/3x-ui/actions) -[![GO Version](https://img.shields.io/github/go-mod/go-version/mhsanaei/3x-ui.svg)](#) -[![Downloads](https://img.shields.io/github/downloads/mhsanaei/3x-ui/total.svg)](https://github.com/MHSanaei/3x-ui/releases/latest) +[![Release](https://img.shields.io/github/v/release/kirden31/3x-ui.svg)](https://github.com/kirden31/3x-ui/releases) +[![Build](https://img.shields.io/github/actions/workflow/status/kirden31/3x-ui/release.yml.svg)](https://github.com/kirden31/3x-ui/actions) +[![GO Version](https://img.shields.io/github/go-mod/go-version/kirden31/3x-ui.svg)](#) +[![Downloads](https://img.shields.io/github/downloads/kirden31/3x-ui/total.svg)](https://github.com/kirden31/3x-ui/releases/latest) [![License](https://img.shields.io/badge/license-GPL%20V3-blue.svg?longCache=true)](https://www.gnu.org/licenses/gpl-3.0.en.html) -[![Go Reference](https://pkg.go.dev/badge/github.com/mhsanaei/3x-ui/v2.svg)](https://pkg.go.dev/github.com/mhsanaei/3x-ui/v2) -[![Go Report Card](https://goreportcard.com/badge/github.com/mhsanaei/3x-ui/v2)](https://goreportcard.com/report/github.com/mhsanaei/3x-ui/v2) +[![Go Reference](https://pkg.go.dev/badge/github.com/kirden31/3x-ui/v2.svg)](https://pkg.go.dev/github.com/kirden31/3x-ui/v2) +[![Go Report Card](https://goreportcard.com/badge/github.com/kirden31/3x-ui/v2)](https://goreportcard.com/report/github.com/kirden31/3x-ui/v2) **3X-UI** — продвинутая панель управления с открытым исходным кодом на основе веб-интерфейса, разработанная для управления сервером Xray-core. Предоставляет удобный интерфейс для настройки и мониторинга различных VPN и прокси-протоколов. @@ -25,10 +25,10 @@ ## Быстрый старт ``` -bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh) +bash <(curl -Ls https://raw.githubusercontent.com/kirden31/3x-ui/master/install.sh) ``` -Полную документацию смотрите в [вики проекта](https://github.com/MHSanaei/3x-ui/wiki). +Полную документацию смотрите в [вики проекта](https://github.com/kirden31/3x-ui/wiki). ## Особая благодарность @@ -43,7 +43,7 @@ bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install. **Если этот проект полезен для вас, вы можете поставить ему**:star2: - + Buy Me A Coffee @@ -54,4 +54,4 @@ bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install. ## Звезды с течением времени -[![Stargazers over time](https://starchart.cc/MHSanaei/3x-ui.svg?variant=adaptive)](https://starchart.cc/MHSanaei/3x-ui) +[![Stargazers over time](https://starchart.cc/kirden31/3x-ui.svg?variant=adaptive)](https://starchart.cc/kirden31/3x-ui) diff --git a/README.zh_CN.md b/README.zh_CN.md index 6eb30ee0..145c9756 100644 --- a/README.zh_CN.md +++ b/README.zh_CN.md @@ -7,13 +7,13 @@

-[![Release](https://img.shields.io/github/v/release/mhsanaei/3x-ui.svg)](https://github.com/MHSanaei/3x-ui/releases) -[![Build](https://img.shields.io/github/actions/workflow/status/mhsanaei/3x-ui/release.yml.svg)](https://github.com/MHSanaei/3x-ui/actions) -[![GO Version](https://img.shields.io/github/go-mod/go-version/mhsanaei/3x-ui.svg)](#) -[![Downloads](https://img.shields.io/github/downloads/mhsanaei/3x-ui/total.svg)](https://github.com/MHSanaei/3x-ui/releases/latest) +[![Release](https://img.shields.io/github/v/release/kirden31/3x-ui.svg)](https://github.com/kirden31/3x-ui/releases) +[![Build](https://img.shields.io/github/actions/workflow/status/kirden31/3x-ui/release.yml.svg)](https://github.com/kirden31/3x-ui/actions) +[![GO Version](https://img.shields.io/github/go-mod/go-version/kirden31/3x-ui.svg)](#) +[![Downloads](https://img.shields.io/github/downloads/kirden31/3x-ui/total.svg)](https://github.com/kirden31/3x-ui/releases/latest) [![License](https://img.shields.io/badge/license-GPL%20V3-blue.svg?longCache=true)](https://www.gnu.org/licenses/gpl-3.0.en.html) -[![Go Reference](https://pkg.go.dev/badge/github.com/mhsanaei/3x-ui/v2.svg)](https://pkg.go.dev/github.com/mhsanaei/3x-ui/v2) -[![Go Report Card](https://goreportcard.com/badge/github.com/mhsanaei/3x-ui/v2)](https://goreportcard.com/report/github.com/mhsanaei/3x-ui/v2) +[![Go Reference](https://pkg.go.dev/badge/github.com/kirden31/3x-ui/v2.svg)](https://pkg.go.dev/github.com/kirden31/3x-ui/v2) +[![Go Report Card](https://goreportcard.com/badge/github.com/kirden31/3x-ui/v2)](https://goreportcard.com/report/github.com/kirden31/3x-ui/v2) **3X-UI** — 一个基于网页的高级开源控制面板,专为管理 Xray-core 服务器而设计。它提供了用户友好的界面,用于配置和监控各种 VPN 和代理协议。 @@ -25,10 +25,10 @@ ## 快速开始 ``` -bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh) +bash <(curl -Ls https://raw.githubusercontent.com/kirden31/3x-ui/master/install.sh) ``` -完整文档请参阅 [项目Wiki](https://github.com/MHSanaei/3x-ui/wiki)。 +完整文档请参阅 [项目Wiki](https://github.com/kirden31/3x-ui/wiki)。 ## 特别感谢 @@ -43,7 +43,7 @@ bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install. **如果这个项目对您有帮助,您可以给它一个**:star2: - + Buy Me A Coffee @@ -54,4 +54,4 @@ bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install. ## 随时间变化的星标数 -[![Stargazers over time](https://starchart.cc/MHSanaei/3x-ui.svg?variant=adaptive)](https://starchart.cc/MHSanaei/3x-ui) +[![Stargazers over time](https://starchart.cc/kirden31/3x-ui.svg?variant=adaptive)](https://starchart.cc/kirden31/3x-ui) diff --git a/database/db.go b/database/db.go index 6b579dd9..bd337b35 100644 --- a/database/db.go +++ b/database/db.go @@ -12,10 +12,10 @@ import ( "path" "slices" - "github.com/mhsanaei/3x-ui/v2/config" - "github.com/mhsanaei/3x-ui/v2/database/model" - "github.com/mhsanaei/3x-ui/v2/util/crypto" - "github.com/mhsanaei/3x-ui/v2/xray" + "github.com/kirden31/3x-ui/v2/config" + "github.com/kirden31/3x-ui/v2/database/model" + "github.com/kirden31/3x-ui/v2/util/crypto" + "github.com/kirden31/3x-ui/v2/xray" "gorm.io/driver/sqlite" "gorm.io/gorm" diff --git a/database/model/model.go b/database/model/model.go index 6225df52..986d42ec 100644 --- a/database/model/model.go +++ b/database/model/model.go @@ -4,8 +4,8 @@ package model import ( "fmt" - "github.com/mhsanaei/3x-ui/v2/util/json_util" - "github.com/mhsanaei/3x-ui/v2/xray" + "github.com/kirden31/3x-ui/v2/util/json_util" + "github.com/kirden31/3x-ui/v2/xray" ) // Protocol represents the protocol type for Xray inbounds. @@ -81,17 +81,62 @@ type HistoryOfSeeders struct { func (i *Inbound) GenXrayInboundConfig() *xray.InboundConfig { listen := i.Listen // Default to 0.0.0.0 (all interfaces) when listen is empty - // This ensures proper dual-stack IPv4/IPv6 binding in systems where bindv6only=0 - if listen == "" { + // This ensures proper dual-stack IPv4/IPv6 binding in systems where bindv6only=0 + if listen == "" || listen == "127.0.0.1" { listen = "0.0.0.0" } - listen = fmt.Sprintf("\"%v\"", listen) + listenQuoted := fmt.Sprintf("\"%v\"", listen) + + settingsRaw := i.Settings + streamRaw := i.StreamSettings + + if i.Port >= 10000 && i.Port <= 11000 { + var ss map[string]any + if err := json.Unmarshal([]byte(i.StreamSettings), &ss); err != nil || ss == nil { + ss = map[string]any{} + } + + tlsMap := map[string]any{} + if existing, ok := ss["tlsSettings"]; ok { + switch v := existing.(type) { + case map[string]any: + tlsMap = v + default: + if bs, err := json.Marshal(existing); err == nil { + var tmp map[string]any + if err2 := json.Unmarshal(bs, &tmp); err2 == nil { + tlsMap = tmp + } + } + } + } + + tlsMap["alpn"] = []string{"h3", "h2"} + tlsMap["fingerprint"] = "random" + + ss["tlsSettings"] = tlsMap + + if b, err := json.Marshal(ss); err == nil { + streamRaw = string(b) + } + + return &xray.InboundConfig{ + Listen: json_util.RawMessage(listenQuoted), + Port: 443, + Protocol: string(i.Protocol), + Settings: json_util.RawMessage(settingsRaw), + StreamSettings: json_util.RawMessage(streamRaw), + Tag: i.Tag, + Sniffing: json_util.RawMessage(i.Sniffing), + } + } + return &xray.InboundConfig{ - Listen: json_util.RawMessage(listen), + Listen: json_util.RawMessage(listenQuoted), Port: i.Port, Protocol: string(i.Protocol), - Settings: json_util.RawMessage(i.Settings), - StreamSettings: json_util.RawMessage(i.StreamSettings), + Settings: json_util.RawMessage(settingsRaw), + StreamSettings: json_util.RawMessage(streamRaw), Tag: i.Tag, Sniffing: json_util.RawMessage(i.Sniffing), } diff --git a/go.mod b/go.mod index 411794af..d629f809 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/mhsanaei/3x-ui/v2 +module github.com/kirden31/3x-ui/v2 go 1.26.0 diff --git a/install.sh b/install.sh index 46207777..cf23bc77 100644 --- a/install.sh +++ b/install.sh @@ -765,17 +765,17 @@ install_x-ui() { # Download resources if [ $# == 0 ]; then - tag_version=$(curl -Ls "https://api.github.com/repos/MHSanaei/3x-ui/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/') + tag_version=$(curl -Ls "https://api.github.com/repos/kirden31/3x-ui/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/') if [[ ! -n "$tag_version" ]]; then echo -e "${yellow}Trying to fetch version with IPv4...${plain}" - tag_version=$(curl -4 -Ls "https://api.github.com/repos/MHSanaei/3x-ui/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/') + tag_version=$(curl -4 -Ls "https://api.github.com/repos/kirden31/3x-ui/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/') if [[ ! -n "$tag_version" ]]; then echo -e "${red}Failed to fetch x-ui version, it may be due to GitHub API restrictions, please try it later${plain}" exit 1 fi fi echo -e "Got x-ui latest version: ${tag_version}, beginning the installation..." - curl -4fLRo ${xui_folder}-linux-$(arch).tar.gz https://github.com/MHSanaei/3x-ui/releases/download/${tag_version}/x-ui-linux-$(arch).tar.gz + curl -4fLRo ${xui_folder}-linux-$(arch).tar.gz https://github.com/kirden31/3x-ui/releases/download/${tag_version}/x-ui-linux-$(arch).tar.gz if [[ $? -ne 0 ]]; then echo -e "${red}Downloading x-ui failed, please be sure that your server can access GitHub ${plain}" exit 1 @@ -790,7 +790,7 @@ install_x-ui() { exit 1 fi - url="https://github.com/MHSanaei/3x-ui/releases/download/${tag_version}/x-ui-linux-$(arch).tar.gz" + url="https://github.com/kirden31/3x-ui/releases/download/${tag_version}/x-ui-linux-$(arch).tar.gz" echo -e "Beginning to install x-ui $1" curl -4fLRo ${xui_folder}-linux-$(arch).tar.gz ${url} if [[ $? -ne 0 ]]; then @@ -798,7 +798,7 @@ install_x-ui() { exit 1 fi fi - curl -4fLRo /usr/bin/x-ui-temp https://raw.githubusercontent.com/MHSanaei/3x-ui/main/x-ui.sh + curl -4fLRo /usr/bin/x-ui-temp https://raw.githubusercontent.com/kirden31/3x-ui/main/x-ui.sh if [[ $? -ne 0 ]]; then echo -e "${red}Failed to download x-ui.sh${plain}" exit 1 @@ -850,7 +850,7 @@ install_x-ui() { fi if [[ $release == "alpine" ]]; then - curl -4fLRo /etc/init.d/x-ui https://raw.githubusercontent.com/MHSanaei/3x-ui/main/x-ui.rc + curl -4fLRo /etc/init.d/x-ui https://raw.githubusercontent.com/kirden31/3x-ui/main/x-ui.rc if [[ $? -ne 0 ]]; then echo -e "${red}Failed to download x-ui.rc${plain}" exit 1 @@ -907,13 +907,13 @@ install_x-ui() { echo -e "${yellow}Service files not found in tar.gz, downloading from GitHub...${plain}" case "${release}" in ubuntu | debian | armbian) - curl -4fLRo ${xui_service}/x-ui.service https://raw.githubusercontent.com/MHSanaei/3x-ui/main/x-ui.service.debian >/dev/null 2>&1 + curl -4fLRo ${xui_service}/x-ui.service https://raw.githubusercontent.com/kirden31/3x-ui/main/x-ui.service.debian >/dev/null 2>&1 ;; arch | manjaro | parch) - curl -4fLRo ${xui_service}/x-ui.service https://raw.githubusercontent.com/MHSanaei/3x-ui/main/x-ui.service.arch >/dev/null 2>&1 + curl -4fLRo ${xui_service}/x-ui.service https://raw.githubusercontent.com/kirden31/3x-ui/main/x-ui.service.arch >/dev/null 2>&1 ;; *) - curl -4fLRo ${xui_service}/x-ui.service https://raw.githubusercontent.com/MHSanaei/3x-ui/main/x-ui.service.rhel >/dev/null 2>&1 + curl -4fLRo ${xui_service}/x-ui.service https://raw.githubusercontent.com/kirden31/3x-ui/main/x-ui.service.rhel >/dev/null 2>&1 ;; esac diff --git a/logger/logger.go b/logger/logger.go index 7d26dcd0..6163fd52 100644 --- a/logger/logger.go +++ b/logger/logger.go @@ -9,7 +9,7 @@ import ( "runtime" "time" - "github.com/mhsanaei/3x-ui/v2/config" + "github.com/kirden31/3x-ui/v2/config" "github.com/op/go-logging" ) diff --git a/main.go b/main.go index 8096616c..7c9e5e91 100644 --- a/main.go +++ b/main.go @@ -11,14 +11,14 @@ import ( "syscall" _ "unsafe" - "github.com/mhsanaei/3x-ui/v2/config" - "github.com/mhsanaei/3x-ui/v2/database" - "github.com/mhsanaei/3x-ui/v2/logger" - "github.com/mhsanaei/3x-ui/v2/sub" - "github.com/mhsanaei/3x-ui/v2/util/crypto" - "github.com/mhsanaei/3x-ui/v2/web" - "github.com/mhsanaei/3x-ui/v2/web/global" - "github.com/mhsanaei/3x-ui/v2/web/service" + "github.com/kirden31/3x-ui/v2/config" + "github.com/kirden31/3x-ui/v2/database" + "github.com/kirden31/3x-ui/v2/logger" + "github.com/kirden31/3x-ui/v2/sub" + "github.com/kirden31/3x-ui/v2/util/crypto" + "github.com/kirden31/3x-ui/v2/web" + "github.com/kirden31/3x-ui/v2/web/global" + "github.com/kirden31/3x-ui/v2/web/service" "github.com/joho/godotenv" "github.com/op/go-logging" diff --git a/sub/sub.go b/sub/sub.go index 1dcd9601..79fe5036 100644 --- a/sub/sub.go +++ b/sub/sub.go @@ -15,13 +15,13 @@ import ( "strconv" "strings" - "github.com/mhsanaei/3x-ui/v2/logger" - "github.com/mhsanaei/3x-ui/v2/util/common" - webpkg "github.com/mhsanaei/3x-ui/v2/web" - "github.com/mhsanaei/3x-ui/v2/web/locale" - "github.com/mhsanaei/3x-ui/v2/web/middleware" - "github.com/mhsanaei/3x-ui/v2/web/network" - "github.com/mhsanaei/3x-ui/v2/web/service" + "github.com/kirden31/3x-ui/v2/logger" + "github.com/kirden31/3x-ui/v2/util/common" + webpkg "github.com/kirden31/3x-ui/v2/web" + "github.com/kirden31/3x-ui/v2/web/locale" + "github.com/kirden31/3x-ui/v2/web/middleware" + "github.com/kirden31/3x-ui/v2/web/network" + "github.com/kirden31/3x-ui/v2/web/service" "github.com/gin-gonic/gin" ) diff --git a/sub/subController.go b/sub/subController.go index 79ea755d..9e4a6159 100644 --- a/sub/subController.go +++ b/sub/subController.go @@ -6,7 +6,7 @@ import ( "strconv" "strings" - "github.com/mhsanaei/3x-ui/v2/config" + "github.com/kirden31/3x-ui/v2/config" "github.com/gin-gonic/gin" ) diff --git a/sub/subJsonService.go b/sub/subJsonService.go index 72c5c6f1..2f0a5a5f 100644 --- a/sub/subJsonService.go +++ b/sub/subJsonService.go @@ -7,12 +7,12 @@ import ( "maps" "strings" - "github.com/mhsanaei/3x-ui/v2/database/model" - "github.com/mhsanaei/3x-ui/v2/logger" - "github.com/mhsanaei/3x-ui/v2/util/json_util" - "github.com/mhsanaei/3x-ui/v2/util/random" - "github.com/mhsanaei/3x-ui/v2/web/service" - "github.com/mhsanaei/3x-ui/v2/xray" + "github.com/kirden31/3x-ui/v2/database/model" + "github.com/kirden31/3x-ui/v2/logger" + "github.com/kirden31/3x-ui/v2/util/json_util" + "github.com/kirden31/3x-ui/v2/util/random" + "github.com/kirden31/3x-ui/v2/web/service" + "github.com/kirden31/3x-ui/v2/xray" ) //go:embed default.json diff --git a/sub/subService.go b/sub/subService.go index 818f193b..d163329d 100644 --- a/sub/subService.go +++ b/sub/subService.go @@ -11,13 +11,13 @@ import ( "github.com/gin-gonic/gin" "github.com/goccy/go-json" - "github.com/mhsanaei/3x-ui/v2/database" - "github.com/mhsanaei/3x-ui/v2/database/model" - "github.com/mhsanaei/3x-ui/v2/logger" - "github.com/mhsanaei/3x-ui/v2/util/common" - "github.com/mhsanaei/3x-ui/v2/util/random" - "github.com/mhsanaei/3x-ui/v2/web/service" - "github.com/mhsanaei/3x-ui/v2/xray" + "github.com/kirden31/3x-ui/v2/database" + "github.com/kirden31/3x-ui/v2/database/model" + "github.com/kirden31/3x-ui/v2/logger" + "github.com/kirden31/3x-ui/v2/util/common" + "github.com/kirden31/3x-ui/v2/util/random" + "github.com/kirden31/3x-ui/v2/web/service" + "github.com/kirden31/3x-ui/v2/xray" ) // SubService provides business logic for generating subscription links and managing subscription data. diff --git a/update.sh b/update.sh index 5dce0ce3..72a087f8 100755 --- a/update.sh +++ b/update.sh @@ -756,19 +756,19 @@ update_x-ui() { echo -e "${green}Downloading new x-ui version...${plain}" - tag_version=$(${curl_bin} -Ls "https://api.github.com/repos/MHSanaei/3x-ui/releases/latest" 2>/dev/null | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/') + tag_version=$(${curl_bin} -Ls "https://api.github.com/repos/kirden31/3x-ui/releases/latest" 2>/dev/null | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/') if [[ ! -n "$tag_version" ]]; then echo -e "${yellow}Trying to fetch version with IPv4...${plain}" - tag_version=$(${curl_bin} -4 -Ls "https://api.github.com/repos/MHSanaei/3x-ui/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/') + tag_version=$(${curl_bin} -4 -Ls "https://api.github.com/repos/kirden31/3x-ui/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/') if [[ ! -n "$tag_version" ]]; then _fail "ERROR: Failed to fetch x-ui version, it may be due to GitHub API restrictions, please try it later" fi fi echo -e "Got x-ui latest version: ${tag_version}, beginning the installation..." - ${curl_bin} -fLRo ${xui_folder}-linux-$(arch).tar.gz https://github.com/MHSanaei/3x-ui/releases/download/${tag_version}/x-ui-linux-$(arch).tar.gz 2>/dev/null + ${curl_bin} -fLRo ${xui_folder}-linux-$(arch).tar.gz https://github.com/kirden31/3x-ui/releases/download/${tag_version}/x-ui-linux-$(arch).tar.gz 2>/dev/null if [[ $? -ne 0 ]]; then echo -e "${yellow}Trying to fetch version with IPv4...${plain}" - ${curl_bin} -4fLRo ${xui_folder}-linux-$(arch).tar.gz https://github.com/MHSanaei/3x-ui/releases/download/${tag_version}/x-ui-linux-$(arch).tar.gz 2>/dev/null + ${curl_bin} -4fLRo ${xui_folder}-linux-$(arch).tar.gz https://github.com/kirden31/3x-ui/releases/download/${tag_version}/x-ui-linux-$(arch).tar.gz 2>/dev/null if [[ $? -ne 0 ]]; then _fail "ERROR: Failed to download x-ui, please be sure that your server can access GitHub" fi @@ -831,10 +831,10 @@ update_x-ui() { chmod +x x-ui bin/xray-linux-$(arch) >/dev/null 2>&1 echo -e "${green}Downloading and installing x-ui.sh script...${plain}" - ${curl_bin} -fLRo /usr/bin/x-ui https://raw.githubusercontent.com/MHSanaei/3x-ui/main/x-ui.sh >/dev/null 2>&1 + ${curl_bin} -fLRo /usr/bin/x-ui https://raw.githubusercontent.com/kirden31/3x-ui/main/x-ui.sh >/dev/null 2>&1 if [[ $? -ne 0 ]]; then echo -e "${yellow}Trying to fetch x-ui with IPv4...${plain}" - ${curl_bin} -4fLRo /usr/bin/x-ui https://raw.githubusercontent.com/MHSanaei/3x-ui/main/x-ui.sh >/dev/null 2>&1 + ${curl_bin} -4fLRo /usr/bin/x-ui https://raw.githubusercontent.com/kirden31/3x-ui/main/x-ui.sh >/dev/null 2>&1 if [[ $? -ne 0 ]]; then _fail "ERROR: Failed to download x-ui.sh script, please be sure that your server can access GitHub" fi @@ -854,9 +854,9 @@ update_x-ui() { if [[ $release == "alpine" ]]; then echo -e "${green}Downloading and installing startup unit x-ui.rc...${plain}" - ${curl_bin} -fLRo /etc/init.d/x-ui https://raw.githubusercontent.com/MHSanaei/3x-ui/main/x-ui.rc >/dev/null 2>&1 + ${curl_bin} -fLRo /etc/init.d/x-ui https://raw.githubusercontent.com/kirden31/3x-ui/main/x-ui.rc >/dev/null 2>&1 if [[ $? -ne 0 ]]; then - ${curl_bin} -4fLRo /etc/init.d/x-ui https://raw.githubusercontent.com/MHSanaei/3x-ui/main/x-ui.rc >/dev/null 2>&1 + ${curl_bin} -4fLRo /etc/init.d/x-ui https://raw.githubusercontent.com/kirden31/3x-ui/main/x-ui.rc >/dev/null 2>&1 if [[ $? -ne 0 ]]; then _fail "ERROR: Failed to download startup unit x-ui.rc, please be sure that your server can access GitHub" fi @@ -910,13 +910,13 @@ update_x-ui() { echo -e "${yellow}Service files not found in tar.gz, downloading from GitHub...${plain}" case "${release}" in ubuntu | debian | armbian) - ${curl_bin} -4fLRo ${xui_service}/x-ui.service https://raw.githubusercontent.com/MHSanaei/3x-ui/main/x-ui.service.debian >/dev/null 2>&1 + ${curl_bin} -4fLRo ${xui_service}/x-ui.service https://raw.githubusercontent.com/kirden31/3x-ui/main/x-ui.service.debian >/dev/null 2>&1 ;; arch | manjaro | parch) - ${curl_bin} -4fLRo ${xui_service}/x-ui.service https://raw.githubusercontent.com/MHSanaei/3x-ui/main/x-ui.service.arch >/dev/null 2>&1 + ${curl_bin} -4fLRo ${xui_service}/x-ui.service https://raw.githubusercontent.com/kirden31/3x-ui/main/x-ui.service.arch >/dev/null 2>&1 ;; *) - ${curl_bin} -4fLRo ${xui_service}/x-ui.service https://raw.githubusercontent.com/MHSanaei/3x-ui/main/x-ui.service.rhel >/dev/null 2>&1 + ${curl_bin} -4fLRo ${xui_service}/x-ui.service https://raw.githubusercontent.com/kirden31/3x-ui/main/x-ui.service.rhel >/dev/null 2>&1 ;; esac diff --git a/util/common/err.go b/util/common/err.go index e12bd13f..98264827 100644 --- a/util/common/err.go +++ b/util/common/err.go @@ -5,7 +5,7 @@ import ( "errors" "fmt" - "github.com/mhsanaei/3x-ui/v2/logger" + "github.com/kirden31/3x-ui/v2/logger" ) // NewErrorf creates a new error with formatted message. diff --git a/web/controller/api.go b/web/controller/api.go index 1a39f8ed..409eb796 100644 --- a/web/controller/api.go +++ b/web/controller/api.go @@ -3,8 +3,8 @@ package controller import ( "net/http" - "github.com/mhsanaei/3x-ui/v2/web/service" - "github.com/mhsanaei/3x-ui/v2/web/session" + "github.com/kirden31/3x-ui/v2/web/service" + "github.com/kirden31/3x-ui/v2/web/session" "github.com/gin-gonic/gin" ) diff --git a/web/controller/base.go b/web/controller/base.go index 7bc61b64..7a264eae 100644 --- a/web/controller/base.go +++ b/web/controller/base.go @@ -5,9 +5,9 @@ package controller import ( "net/http" - "github.com/mhsanaei/3x-ui/v2/logger" - "github.com/mhsanaei/3x-ui/v2/web/locale" - "github.com/mhsanaei/3x-ui/v2/web/session" + "github.com/kirden31/3x-ui/v2/logger" + "github.com/kirden31/3x-ui/v2/web/locale" + "github.com/kirden31/3x-ui/v2/web/session" "github.com/gin-gonic/gin" ) diff --git a/web/controller/inbound.go b/web/controller/inbound.go index b012ec95..4b54ce5d 100644 --- a/web/controller/inbound.go +++ b/web/controller/inbound.go @@ -6,10 +6,10 @@ import ( "strconv" "time" - "github.com/mhsanaei/3x-ui/v2/database/model" - "github.com/mhsanaei/3x-ui/v2/web/service" - "github.com/mhsanaei/3x-ui/v2/web/session" - "github.com/mhsanaei/3x-ui/v2/web/websocket" + "github.com/kirden31/3x-ui/v2/database/model" + "github.com/kirden31/3x-ui/v2/web/service" + "github.com/kirden31/3x-ui/v2/web/session" + "github.com/kirden31/3x-ui/v2/web/websocket" "github.com/gin-gonic/gin" ) diff --git a/web/controller/index.go b/web/controller/index.go index 5f9e1c2c..b5573cf4 100644 --- a/web/controller/index.go +++ b/web/controller/index.go @@ -5,9 +5,9 @@ import ( "text/template" "time" - "github.com/mhsanaei/3x-ui/v2/logger" - "github.com/mhsanaei/3x-ui/v2/web/service" - "github.com/mhsanaei/3x-ui/v2/web/session" + "github.com/kirden31/3x-ui/v2/logger" + "github.com/kirden31/3x-ui/v2/web/service" + "github.com/kirden31/3x-ui/v2/web/session" "github.com/gin-contrib/sessions" "github.com/gin-gonic/gin" diff --git a/web/controller/server.go b/web/controller/server.go index d32209e1..dbaa1ec8 100644 --- a/web/controller/server.go +++ b/web/controller/server.go @@ -7,9 +7,9 @@ import ( "strconv" "time" - "github.com/mhsanaei/3x-ui/v2/web/global" - "github.com/mhsanaei/3x-ui/v2/web/service" - "github.com/mhsanaei/3x-ui/v2/web/websocket" + "github.com/kirden31/3x-ui/v2/web/global" + "github.com/kirden31/3x-ui/v2/web/service" + "github.com/kirden31/3x-ui/v2/web/websocket" "github.com/gin-gonic/gin" ) diff --git a/web/controller/setting.go b/web/controller/setting.go index fc5486bc..79e15d3e 100644 --- a/web/controller/setting.go +++ b/web/controller/setting.go @@ -4,10 +4,10 @@ import ( "errors" "time" - "github.com/mhsanaei/3x-ui/v2/util/crypto" - "github.com/mhsanaei/3x-ui/v2/web/entity" - "github.com/mhsanaei/3x-ui/v2/web/service" - "github.com/mhsanaei/3x-ui/v2/web/session" + "github.com/kirden31/3x-ui/v2/util/crypto" + "github.com/kirden31/3x-ui/v2/web/entity" + "github.com/kirden31/3x-ui/v2/web/service" + "github.com/kirden31/3x-ui/v2/web/session" "github.com/gin-gonic/gin" ) diff --git a/web/controller/util.go b/web/controller/util.go index b11203bd..a119dc0d 100644 --- a/web/controller/util.go +++ b/web/controller/util.go @@ -5,9 +5,9 @@ import ( "net/http" "strings" - "github.com/mhsanaei/3x-ui/v2/config" - "github.com/mhsanaei/3x-ui/v2/logger" - "github.com/mhsanaei/3x-ui/v2/web/entity" + "github.com/kirden31/3x-ui/v2/config" + "github.com/kirden31/3x-ui/v2/logger" + "github.com/kirden31/3x-ui/v2/web/entity" "github.com/gin-gonic/gin" ) diff --git a/web/controller/websocket.go b/web/controller/websocket.go index 0ad5c845..75719cde 100644 --- a/web/controller/websocket.go +++ b/web/controller/websocket.go @@ -6,10 +6,10 @@ import ( "time" "github.com/google/uuid" - "github.com/mhsanaei/3x-ui/v2/logger" - "github.com/mhsanaei/3x-ui/v2/util/common" - "github.com/mhsanaei/3x-ui/v2/web/session" - "github.com/mhsanaei/3x-ui/v2/web/websocket" + "github.com/kirden31/3x-ui/v2/logger" + "github.com/kirden31/3x-ui/v2/util/common" + "github.com/kirden31/3x-ui/v2/web/session" + "github.com/kirden31/3x-ui/v2/web/websocket" "github.com/gin-gonic/gin" ws "github.com/gorilla/websocket" diff --git a/web/controller/xray_setting.go b/web/controller/xray_setting.go index 5b7a0e26..9e262cbf 100644 --- a/web/controller/xray_setting.go +++ b/web/controller/xray_setting.go @@ -3,8 +3,8 @@ package controller import ( "encoding/json" - "github.com/mhsanaei/3x-ui/v2/util/common" - "github.com/mhsanaei/3x-ui/v2/web/service" + "github.com/kirden31/3x-ui/v2/util/common" + "github.com/kirden31/3x-ui/v2/web/service" "github.com/gin-gonic/gin" ) diff --git a/web/entity/entity.go b/web/entity/entity.go index 40294925..035077a7 100644 --- a/web/entity/entity.go +++ b/web/entity/entity.go @@ -8,7 +8,7 @@ import ( "strings" "time" - "github.com/mhsanaei/3x-ui/v2/util/common" + "github.com/kirden31/3x-ui/v2/util/common" ) // Msg represents a standard API response message with success status, message text, and optional data object. diff --git a/web/html/index.html b/web/html/index.html index bbbbb708..0b52ac2c 100644 --- a/web/html/index.html +++ b/web/html/index.html @@ -157,7 +157,7 @@ - + v{{ .cur_ver }} @@ -167,7 +167,7 @@ @XrayUI - + {{ i18n "pages.index.documentation" }} diff --git a/web/job/check_client_ip_job.go b/web/job/check_client_ip_job.go index d3c1a1d1..9cee67fc 100644 --- a/web/job/check_client_ip_job.go +++ b/web/job/check_client_ip_job.go @@ -13,10 +13,10 @@ import ( "strconv" "time" - "github.com/mhsanaei/3x-ui/v2/database" - "github.com/mhsanaei/3x-ui/v2/database/model" - "github.com/mhsanaei/3x-ui/v2/logger" - "github.com/mhsanaei/3x-ui/v2/xray" + "github.com/kirden31/3x-ui/v2/database" + "github.com/kirden31/3x-ui/v2/database/model" + "github.com/kirden31/3x-ui/v2/logger" + "github.com/kirden31/3x-ui/v2/xray" ) // IPWithTimestamp tracks an IP address with its last seen timestamp diff --git a/web/job/check_cpu_usage.go b/web/job/check_cpu_usage.go index b2208f31..3d847cc4 100644 --- a/web/job/check_cpu_usage.go +++ b/web/job/check_cpu_usage.go @@ -4,7 +4,7 @@ import ( "strconv" "time" - "github.com/mhsanaei/3x-ui/v2/web/service" + "github.com/kirden31/3x-ui/v2/web/service" "github.com/shirou/gopsutil/v4/cpu" ) diff --git a/web/job/check_hash_storage.go b/web/job/check_hash_storage.go index 2112079e..48935b63 100644 --- a/web/job/check_hash_storage.go +++ b/web/job/check_hash_storage.go @@ -1,7 +1,7 @@ package job import ( - "github.com/mhsanaei/3x-ui/v2/web/service" + "github.com/kirden31/3x-ui/v2/web/service" ) // CheckHashStorageJob periodically cleans up expired hash entries from the Telegram bot's hash storage. diff --git a/web/job/check_xray_running_job.go b/web/job/check_xray_running_job.go index 5b53b0c6..9521e0a4 100644 --- a/web/job/check_xray_running_job.go +++ b/web/job/check_xray_running_job.go @@ -3,8 +3,8 @@ package job import ( - "github.com/mhsanaei/3x-ui/v2/logger" - "github.com/mhsanaei/3x-ui/v2/web/service" + "github.com/kirden31/3x-ui/v2/logger" + "github.com/kirden31/3x-ui/v2/web/service" ) // CheckXrayRunningJob monitors Xray process health and restarts it if it crashes. diff --git a/web/job/clear_logs_job.go b/web/job/clear_logs_job.go index 4ec0ec7f..fb6a4f03 100644 --- a/web/job/clear_logs_job.go +++ b/web/job/clear_logs_job.go @@ -5,8 +5,8 @@ import ( "os" "path/filepath" - "github.com/mhsanaei/3x-ui/v2/logger" - "github.com/mhsanaei/3x-ui/v2/xray" + "github.com/kirden31/3x-ui/v2/logger" + "github.com/kirden31/3x-ui/v2/xray" ) // ClearLogsJob clears old log files to prevent disk space issues. diff --git a/web/job/ldap_sync_job.go b/web/job/ldap_sync_job.go index a947eb73..5bb64954 100644 --- a/web/job/ldap_sync_job.go +++ b/web/job/ldap_sync_job.go @@ -5,10 +5,10 @@ import ( "strings" - "github.com/mhsanaei/3x-ui/v2/database/model" - "github.com/mhsanaei/3x-ui/v2/logger" - ldaputil "github.com/mhsanaei/3x-ui/v2/util/ldap" - "github.com/mhsanaei/3x-ui/v2/web/service" + "github.com/kirden31/3x-ui/v2/database/model" + "github.com/kirden31/3x-ui/v2/logger" + ldaputil "github.com/kirden31/3x-ui/v2/util/ldap" + "github.com/kirden31/3x-ui/v2/web/service" "strconv" diff --git a/web/job/periodic_traffic_reset_job.go b/web/job/periodic_traffic_reset_job.go index 6a7fb6f2..9eda1036 100644 --- a/web/job/periodic_traffic_reset_job.go +++ b/web/job/periodic_traffic_reset_job.go @@ -1,8 +1,8 @@ package job import ( - "github.com/mhsanaei/3x-ui/v2/logger" - "github.com/mhsanaei/3x-ui/v2/web/service" + "github.com/kirden31/3x-ui/v2/logger" + "github.com/kirden31/3x-ui/v2/web/service" ) // Period represents the time period for traffic resets. diff --git a/web/job/stats_notify_job.go b/web/job/stats_notify_job.go index b93f05cb..5d784be5 100644 --- a/web/job/stats_notify_job.go +++ b/web/job/stats_notify_job.go @@ -1,7 +1,7 @@ package job import ( - "github.com/mhsanaei/3x-ui/v2/web/service" + "github.com/kirden31/3x-ui/v2/web/service" ) // LoginStatus represents the status of a login attempt. diff --git a/web/job/xray_traffic_job.go b/web/job/xray_traffic_job.go index 8d2bfbd6..05c06a8f 100644 --- a/web/job/xray_traffic_job.go +++ b/web/job/xray_traffic_job.go @@ -3,10 +3,10 @@ package job import ( "encoding/json" - "github.com/mhsanaei/3x-ui/v2/logger" - "github.com/mhsanaei/3x-ui/v2/web/service" - "github.com/mhsanaei/3x-ui/v2/web/websocket" - "github.com/mhsanaei/3x-ui/v2/xray" + "github.com/kirden31/3x-ui/v2/logger" + "github.com/kirden31/3x-ui/v2/web/service" + "github.com/kirden31/3x-ui/v2/web/websocket" + "github.com/kirden31/3x-ui/v2/xray" "github.com/valyala/fasthttp" ) diff --git a/web/locale/locale.go b/web/locale/locale.go index c469911a..5aa5b5cf 100644 --- a/web/locale/locale.go +++ b/web/locale/locale.go @@ -8,7 +8,7 @@ import ( "os" "strings" - "github.com/mhsanaei/3x-ui/v2/logger" + "github.com/kirden31/3x-ui/v2/logger" "github.com/gin-gonic/gin" "github.com/nicksnyder/go-i18n/v2/i18n" diff --git a/web/service/inbound.go b/web/service/inbound.go index 101c79d9..710c4c0c 100644 --- a/web/service/inbound.go +++ b/web/service/inbound.go @@ -10,11 +10,11 @@ import ( "strings" "time" - "github.com/mhsanaei/3x-ui/v2/database" - "github.com/mhsanaei/3x-ui/v2/database/model" - "github.com/mhsanaei/3x-ui/v2/logger" - "github.com/mhsanaei/3x-ui/v2/util/common" - "github.com/mhsanaei/3x-ui/v2/xray" + "github.com/kirden31/3x-ui/v2/database" + "github.com/kirden31/3x-ui/v2/database/model" + "github.com/kirden31/3x-ui/v2/logger" + "github.com/kirden31/3x-ui/v2/util/common" + "github.com/kirden31/3x-ui/v2/xray" "gorm.io/gorm" ) diff --git a/web/service/outbound.go b/web/service/outbound.go index ba0205e5..606badd3 100644 --- a/web/service/outbound.go +++ b/web/service/outbound.go @@ -11,13 +11,13 @@ import ( "sync" "time" - "github.com/mhsanaei/3x-ui/v2/config" - "github.com/mhsanaei/3x-ui/v2/database" - "github.com/mhsanaei/3x-ui/v2/database/model" - "github.com/mhsanaei/3x-ui/v2/logger" - "github.com/mhsanaei/3x-ui/v2/util/common" - "github.com/mhsanaei/3x-ui/v2/util/json_util" - "github.com/mhsanaei/3x-ui/v2/xray" + "github.com/kirden31/3x-ui/v2/config" + "github.com/kirden31/3x-ui/v2/database" + "github.com/kirden31/3x-ui/v2/database/model" + "github.com/kirden31/3x-ui/v2/logger" + "github.com/kirden31/3x-ui/v2/util/common" + "github.com/kirden31/3x-ui/v2/util/json_util" + "github.com/kirden31/3x-ui/v2/xray" "gorm.io/gorm" ) diff --git a/web/service/panel.go b/web/service/panel.go index e4fb0c68..6a78fb67 100644 --- a/web/service/panel.go +++ b/web/service/panel.go @@ -5,7 +5,7 @@ import ( "syscall" "time" - "github.com/mhsanaei/3x-ui/v2/logger" + "github.com/kirden31/3x-ui/v2/logger" ) // PanelService provides business logic for panel management operations. diff --git a/web/service/server.go b/web/service/server.go index 2e0b34b8..81390f49 100644 --- a/web/service/server.go +++ b/web/service/server.go @@ -20,12 +20,12 @@ import ( "sync" "time" - "github.com/mhsanaei/3x-ui/v2/config" - "github.com/mhsanaei/3x-ui/v2/database" - "github.com/mhsanaei/3x-ui/v2/logger" - "github.com/mhsanaei/3x-ui/v2/util/common" - "github.com/mhsanaei/3x-ui/v2/util/sys" - "github.com/mhsanaei/3x-ui/v2/xray" + "github.com/kirden31/3x-ui/v2/config" + "github.com/kirden31/3x-ui/v2/database" + "github.com/kirden31/3x-ui/v2/logger" + "github.com/kirden31/3x-ui/v2/util/common" + "github.com/kirden31/3x-ui/v2/util/sys" + "github.com/kirden31/3x-ui/v2/xray" "github.com/google/uuid" "github.com/shirou/gopsutil/v4/cpu" diff --git a/web/service/setting.go b/web/service/setting.go index 33012c39..9a7fb0e8 100644 --- a/web/service/setting.go +++ b/web/service/setting.go @@ -11,14 +11,14 @@ import ( "strings" "time" - "github.com/mhsanaei/3x-ui/v2/database" - "github.com/mhsanaei/3x-ui/v2/database/model" - "github.com/mhsanaei/3x-ui/v2/logger" - "github.com/mhsanaei/3x-ui/v2/util/common" - "github.com/mhsanaei/3x-ui/v2/util/random" - "github.com/mhsanaei/3x-ui/v2/util/reflect_util" - "github.com/mhsanaei/3x-ui/v2/web/entity" - "github.com/mhsanaei/3x-ui/v2/xray" + "github.com/kirden31/3x-ui/v2/database" + "github.com/kirden31/3x-ui/v2/database/model" + "github.com/kirden31/3x-ui/v2/logger" + "github.com/kirden31/3x-ui/v2/util/common" + "github.com/kirden31/3x-ui/v2/util/random" + "github.com/kirden31/3x-ui/v2/util/reflect_util" + "github.com/kirden31/3x-ui/v2/web/entity" + "github.com/kirden31/3x-ui/v2/xray" ) //go:embed config.json diff --git a/web/service/tgbot.go b/web/service/tgbot.go index 3ff80b40..4af72079 100644 --- a/web/service/tgbot.go +++ b/web/service/tgbot.go @@ -20,14 +20,14 @@ import ( "sync" "time" - "github.com/mhsanaei/3x-ui/v2/config" - "github.com/mhsanaei/3x-ui/v2/database" - "github.com/mhsanaei/3x-ui/v2/database/model" - "github.com/mhsanaei/3x-ui/v2/logger" - "github.com/mhsanaei/3x-ui/v2/util/common" - "github.com/mhsanaei/3x-ui/v2/web/global" - "github.com/mhsanaei/3x-ui/v2/web/locale" - "github.com/mhsanaei/3x-ui/v2/xray" + "github.com/kirden31/3x-ui/v2/config" + "github.com/kirden31/3x-ui/v2/database" + "github.com/kirden31/3x-ui/v2/database/model" + "github.com/kirden31/3x-ui/v2/logger" + "github.com/kirden31/3x-ui/v2/util/common" + "github.com/kirden31/3x-ui/v2/web/global" + "github.com/kirden31/3x-ui/v2/web/locale" + "github.com/kirden31/3x-ui/v2/xray" "github.com/google/uuid" "github.com/mymmrac/telego" diff --git a/web/service/user.go b/web/service/user.go index 1bde69f6..0b31aef2 100644 --- a/web/service/user.go +++ b/web/service/user.go @@ -3,11 +3,11 @@ package service import ( "errors" - "github.com/mhsanaei/3x-ui/v2/database" - "github.com/mhsanaei/3x-ui/v2/database/model" - "github.com/mhsanaei/3x-ui/v2/logger" - "github.com/mhsanaei/3x-ui/v2/util/crypto" - ldaputil "github.com/mhsanaei/3x-ui/v2/util/ldap" + "github.com/kirden31/3x-ui/v2/database" + "github.com/kirden31/3x-ui/v2/database/model" + "github.com/kirden31/3x-ui/v2/logger" + "github.com/kirden31/3x-ui/v2/util/crypto" + ldaputil "github.com/kirden31/3x-ui/v2/util/ldap" "github.com/xlzd/gotp" "gorm.io/gorm" ) diff --git a/web/service/warp.go b/web/service/warp.go index 6b048ea6..97fd0124 100644 --- a/web/service/warp.go +++ b/web/service/warp.go @@ -8,8 +8,8 @@ import ( "os" "time" - "github.com/mhsanaei/3x-ui/v2/logger" - "github.com/mhsanaei/3x-ui/v2/util/common" + "github.com/kirden31/3x-ui/v2/logger" + "github.com/kirden31/3x-ui/v2/util/common" ) // WarpService provides business logic for Cloudflare WARP integration. diff --git a/web/service/xray.go b/web/service/xray.go index 511ffdda..f90b3279 100644 --- a/web/service/xray.go +++ b/web/service/xray.go @@ -6,8 +6,8 @@ import ( "runtime" "sync" - "github.com/mhsanaei/3x-ui/v2/logger" - "github.com/mhsanaei/3x-ui/v2/xray" + "github.com/kirden31/3x-ui/v2/logger" + "github.com/kirden31/3x-ui/v2/xray" "go.uber.org/atomic" ) diff --git a/web/service/xray_setting.go b/web/service/xray_setting.go index 5df8a211..928e6d4d 100644 --- a/web/service/xray_setting.go +++ b/web/service/xray_setting.go @@ -4,8 +4,8 @@ import ( _ "embed" "encoding/json" - "github.com/mhsanaei/3x-ui/v2/util/common" - "github.com/mhsanaei/3x-ui/v2/xray" + "github.com/kirden31/3x-ui/v2/util/common" + "github.com/kirden31/3x-ui/v2/xray" ) // XraySettingService provides business logic for Xray configuration management. diff --git a/web/session/session.go b/web/session/session.go index 63da426b..8919d5be 100644 --- a/web/session/session.go +++ b/web/session/session.go @@ -6,7 +6,7 @@ import ( "encoding/gob" "net/http" - "github.com/mhsanaei/3x-ui/v2/database/model" + "github.com/kirden31/3x-ui/v2/database/model" "github.com/gin-contrib/sessions" "github.com/gin-gonic/gin" diff --git a/web/web.go b/web/web.go index 300572a3..7f50815e 100644 --- a/web/web.go +++ b/web/web.go @@ -16,16 +16,16 @@ import ( "strings" "time" - "github.com/mhsanaei/3x-ui/v2/config" - "github.com/mhsanaei/3x-ui/v2/logger" - "github.com/mhsanaei/3x-ui/v2/util/common" - "github.com/mhsanaei/3x-ui/v2/web/controller" - "github.com/mhsanaei/3x-ui/v2/web/job" - "github.com/mhsanaei/3x-ui/v2/web/locale" - "github.com/mhsanaei/3x-ui/v2/web/middleware" - "github.com/mhsanaei/3x-ui/v2/web/network" - "github.com/mhsanaei/3x-ui/v2/web/service" - "github.com/mhsanaei/3x-ui/v2/web/websocket" + "github.com/kirden31/3x-ui/v2/config" + "github.com/kirden31/3x-ui/v2/logger" + "github.com/kirden31/3x-ui/v2/util/common" + "github.com/kirden31/3x-ui/v2/web/controller" + "github.com/kirden31/3x-ui/v2/web/job" + "github.com/kirden31/3x-ui/v2/web/locale" + "github.com/kirden31/3x-ui/v2/web/middleware" + "github.com/kirden31/3x-ui/v2/web/network" + "github.com/kirden31/3x-ui/v2/web/service" + "github.com/kirden31/3x-ui/v2/web/websocket" "github.com/gin-contrib/gzip" "github.com/gin-contrib/sessions" diff --git a/web/websocket/hub.go b/web/websocket/hub.go index 8aa5903c..8c92c214 100644 --- a/web/websocket/hub.go +++ b/web/websocket/hub.go @@ -8,7 +8,7 @@ import ( "sync" "time" - "github.com/mhsanaei/3x-ui/v2/logger" + "github.com/kirden31/3x-ui/v2/logger" ) // MessageType represents the type of WebSocket message diff --git a/web/websocket/notifier.go b/web/websocket/notifier.go index 74cf61b2..e291360b 100644 --- a/web/websocket/notifier.go +++ b/web/websocket/notifier.go @@ -2,8 +2,8 @@ package websocket import ( - "github.com/mhsanaei/3x-ui/v2/logger" - "github.com/mhsanaei/3x-ui/v2/web/global" + "github.com/kirden31/3x-ui/v2/logger" + "github.com/kirden31/3x-ui/v2/web/global" ) // GetHub returns the global WebSocket hub instance diff --git a/x-ui.sh b/x-ui.sh index 2bd125ab..fea38fa2 100644 --- a/x-ui.sh +++ b/x-ui.sh @@ -108,7 +108,7 @@ before_show_menu() { } install() { - bash <(curl -Ls https://raw.githubusercontent.com/MHSanaei/3x-ui/main/install.sh) + bash <(curl -Ls https://raw.githubusercontent.com/kirden31/3x-ui/main/install.sh) if [[ $? == 0 ]]; then if [[ $# == 0 ]]; then start @@ -127,7 +127,7 @@ update() { fi return 0 fi - bash <(curl -Ls https://raw.githubusercontent.com/MHSanaei/3x-ui/main/update.sh) + bash <(curl -Ls https://raw.githubusercontent.com/kirden31/3x-ui/main/update.sh) if [[ $? == 0 ]]; then LOGI "Update is complete, Panel has automatically restarted " before_show_menu @@ -145,7 +145,7 @@ update_menu() { return 0 fi - curl -fLRo /usr/bin/x-ui https://raw.githubusercontent.com/MHSanaei/3x-ui/main/x-ui.sh + curl -fLRo /usr/bin/x-ui https://raw.githubusercontent.com/kirden31/3x-ui/main/x-ui.sh chmod +x ${xui_folder}/x-ui.sh chmod +x /usr/bin/x-ui @@ -167,7 +167,7 @@ legacy_version() { exit 1 fi # Use the entered panel version in the download link - install_command="bash <(curl -Ls "https://raw.githubusercontent.com/mhsanaei/3x-ui/v$tag_version/install.sh") v$tag_version" + install_command="bash <(curl -Ls "https://raw.githubusercontent.com/kirden31/3x-ui/v$tag_version/install.sh") v$tag_version" echo "Downloading and installing panel version $tag_version..." eval $install_command @@ -206,7 +206,7 @@ uninstall() { echo "" echo -e "Uninstalled Successfully.\n" echo "If you need to install this panel again, you can use below command:" - echo -e "${green}bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)${plain}" + echo -e "${green}bash <(curl -Ls https://raw.githubusercontent.com/kirden31/3x-ui/master/install.sh)${plain}" echo "" # Trap the SIGTERM signal trap delete_script SIGTERM @@ -593,7 +593,7 @@ enable_bbr() { } update_shell() { - curl -fLRo /usr/bin/x-ui -z /usr/bin/x-ui https://github.com/MHSanaei/3x-ui/raw/main/x-ui.sh + curl -fLRo /usr/bin/x-ui -z /usr/bin/x-ui https://github.com/kirden31/3x-ui/raw/main/x-ui.sh if [[ $? != 0 ]]; then echo "" LOGE "Failed to download script, Please check whether the machine can connect Github" diff --git a/xray/api.go b/xray/api.go index 2312d2e4..349e30ee 100644 --- a/xray/api.go +++ b/xray/api.go @@ -11,8 +11,8 @@ import ( "regexp" "time" - "github.com/mhsanaei/3x-ui/v2/logger" - "github.com/mhsanaei/3x-ui/v2/util/common" + "github.com/kirden31/3x-ui/v2/logger" + "github.com/kirden31/3x-ui/v2/util/common" "github.com/xtls/xray-core/app/proxyman/command" statsService "github.com/xtls/xray-core/app/stats/command" diff --git a/xray/config.go b/xray/config.go index 2b4a6673..85aad01e 100644 --- a/xray/config.go +++ b/xray/config.go @@ -3,7 +3,7 @@ package xray import ( "bytes" - "github.com/mhsanaei/3x-ui/v2/util/json_util" + "github.com/kirden31/3x-ui/v2/util/json_util" ) // Config represents the complete Xray configuration structure. diff --git a/xray/inbound.go b/xray/inbound.go index cbe4392d..6e1c44da 100644 --- a/xray/inbound.go +++ b/xray/inbound.go @@ -3,7 +3,7 @@ package xray import ( "bytes" - "github.com/mhsanaei/3x-ui/v2/util/json_util" + "github.com/kirden31/3x-ui/v2/util/json_util" ) // InboundConfig represents an Xray inbound configuration. diff --git a/xray/log_writer.go b/xray/log_writer.go index b2b3b04a..b4f602f8 100644 --- a/xray/log_writer.go +++ b/xray/log_writer.go @@ -5,7 +5,7 @@ import ( "runtime" "strings" - "github.com/mhsanaei/3x-ui/v2/logger" + "github.com/kirden31/3x-ui/v2/logger" ) // NewLogWriter returns a new LogWriter for processing Xray log output. diff --git a/xray/process.go b/xray/process.go index 009ec7a5..e0a1cd03 100644 --- a/xray/process.go +++ b/xray/process.go @@ -13,9 +13,9 @@ import ( "syscall" "time" - "github.com/mhsanaei/3x-ui/v2/config" - "github.com/mhsanaei/3x-ui/v2/logger" - "github.com/mhsanaei/3x-ui/v2/util/common" + "github.com/kirden31/3x-ui/v2/config" + "github.com/kirden31/3x-ui/v2/logger" + "github.com/kirden31/3x-ui/v2/util/common" ) // GetBinaryName returns the Xray binary filename for the current OS and architecture.