mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-06-08 14:14:19 +00:00
fix: update module path and all imports to saeederamy/3x-ui fork
- Update go.mod module path from mhsanaei/3x-ui/v3 to saeederamy/3x-ui/v3 - Update all 73 Go files' import paths accordingly - Fix README.fa_IR.md install command to point to fork's main branch The fork was referencing the original repo's module path in go.mod and all Go source imports, making it dependent on MHSanaei's namespace at build time. https://claude.ai/code/session_01M6d5atbWjuLTj6UwRHoK5m
This commit is contained in:
parent
88ae7e44b5
commit
aa90303d92
75 changed files with 223 additions and 223 deletions
|
|
@ -25,7 +25,7 @@
|
||||||
## شروع سریع
|
## شروع سریع
|
||||||
|
|
||||||
```
|
```
|
||||||
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)
|
bash <(curl -Ls https://raw.githubusercontent.com/saeederamy/3x-ui/main/install.sh)
|
||||||
```
|
```
|
||||||
|
|
||||||
برای مستندات کامل، لطفاً به [ویکی پروژه](https://github.com/MHSanaei/3x-ui/wiki) مراجعه کنید.
|
برای مستندات کامل، لطفاً به [ویکی پروژه](https://github.com/MHSanaei/3x-ui/wiki) مراجعه کنید.
|
||||||
|
|
|
||||||
|
|
@ -12,10 +12,10 @@ import (
|
||||||
"slices"
|
"slices"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/config"
|
"github.com/saeederamy/3x-ui/v3/config"
|
||||||
"github.com/mhsanaei/3x-ui/v3/database/model"
|
"github.com/saeederamy/3x-ui/v3/database/model"
|
||||||
"github.com/mhsanaei/3x-ui/v3/util/crypto"
|
"github.com/saeederamy/3x-ui/v3/util/crypto"
|
||||||
"github.com/mhsanaei/3x-ui/v3/xray"
|
"github.com/saeederamy/3x-ui/v3/xray"
|
||||||
|
|
||||||
"gorm.io/driver/sqlite"
|
"gorm.io/driver/sqlite"
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,8 @@ package model
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/util/json_util"
|
"github.com/saeederamy/3x-ui/v3/util/json_util"
|
||||||
"github.com/mhsanaei/3x-ui/v3/xray"
|
"github.com/saeederamy/3x-ui/v3/xray"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Protocol represents the protocol type for Xray inbounds.
|
// Protocol represents the protocol type for Xray inbounds.
|
||||||
|
|
|
||||||
2
go.mod
2
go.mod
|
|
@ -1,4 +1,4 @@
|
||||||
module github.com/mhsanaei/3x-ui/v3
|
module github.com/saeederamy/3x-ui/v3
|
||||||
|
|
||||||
go 1.26.3
|
go 1.26.3
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ import (
|
||||||
"runtime"
|
"runtime"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/config"
|
"github.com/saeederamy/3x-ui/v3/config"
|
||||||
"github.com/op/go-logging"
|
"github.com/op/go-logging"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
18
main.go
18
main.go
|
|
@ -11,15 +11,15 @@ import (
|
||||||
"syscall"
|
"syscall"
|
||||||
_ "unsafe"
|
_ "unsafe"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/config"
|
"github.com/saeederamy/3x-ui/v3/config"
|
||||||
"github.com/mhsanaei/3x-ui/v3/database"
|
"github.com/saeederamy/3x-ui/v3/database"
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
"github.com/mhsanaei/3x-ui/v3/sub"
|
"github.com/saeederamy/3x-ui/v3/sub"
|
||||||
"github.com/mhsanaei/3x-ui/v3/util/crypto"
|
"github.com/saeederamy/3x-ui/v3/util/crypto"
|
||||||
"github.com/mhsanaei/3x-ui/v3/util/sys"
|
"github.com/saeederamy/3x-ui/v3/util/sys"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web"
|
"github.com/saeederamy/3x-ui/v3/web"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/global"
|
"github.com/saeederamy/3x-ui/v3/web/global"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/service"
|
"github.com/saeederamy/3x-ui/v3/web/service"
|
||||||
|
|
||||||
"github.com/joho/godotenv"
|
"github.com/joho/godotenv"
|
||||||
"github.com/op/go-logging"
|
"github.com/op/go-logging"
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,8 @@ package sub
|
||||||
import (
|
import (
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/database/model"
|
"github.com/saeederamy/3x-ui/v3/database/model"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/service"
|
"github.com/saeederamy/3x-ui/v3/web/service"
|
||||||
)
|
)
|
||||||
|
|
||||||
type LinkProvider struct {
|
type LinkProvider struct {
|
||||||
|
|
|
||||||
12
sub/sub.go
12
sub/sub.go
|
|
@ -14,12 +14,12 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
"github.com/mhsanaei/3x-ui/v3/util/common"
|
"github.com/saeederamy/3x-ui/v3/util/common"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/locale"
|
"github.com/saeederamy/3x-ui/v3/web/locale"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/middleware"
|
"github.com/saeederamy/3x-ui/v3/web/middleware"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/network"
|
"github.com/saeederamy/3x-ui/v3/web/network"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/service"
|
"github.com/saeederamy/3x-ui/v3/web/service"
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -7,10 +7,10 @@ import (
|
||||||
"github.com/goccy/go-json"
|
"github.com/goccy/go-json"
|
||||||
yaml "github.com/goccy/go-yaml"
|
yaml "github.com/goccy/go-yaml"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/database/model"
|
"github.com/saeederamy/3x-ui/v3/database/model"
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/service"
|
"github.com/saeederamy/3x-ui/v3/web/service"
|
||||||
"github.com/mhsanaei/3x-ui/v3/xray"
|
"github.com/saeederamy/3x-ui/v3/xray"
|
||||||
)
|
)
|
||||||
|
|
||||||
type SubClashService struct {
|
type SubClashService struct {
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ import (
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/service"
|
"github.com/saeederamy/3x-ui/v3/web/service"
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -7,12 +7,12 @@ import (
|
||||||
"maps"
|
"maps"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/database/model"
|
"github.com/saeederamy/3x-ui/v3/database/model"
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
"github.com/mhsanaei/3x-ui/v3/util/json_util"
|
"github.com/saeederamy/3x-ui/v3/util/json_util"
|
||||||
"github.com/mhsanaei/3x-ui/v3/util/random"
|
"github.com/saeederamy/3x-ui/v3/util/random"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/service"
|
"github.com/saeederamy/3x-ui/v3/web/service"
|
||||||
"github.com/mhsanaei/3x-ui/v3/xray"
|
"github.com/saeederamy/3x-ui/v3/xray"
|
||||||
)
|
)
|
||||||
|
|
||||||
//go:embed default.json
|
//go:embed default.json
|
||||||
|
|
|
||||||
|
|
@ -13,13 +13,13 @@ import (
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"github.com/goccy/go-json"
|
"github.com/goccy/go-json"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/database"
|
"github.com/saeederamy/3x-ui/v3/database"
|
||||||
"github.com/mhsanaei/3x-ui/v3/database/model"
|
"github.com/saeederamy/3x-ui/v3/database/model"
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
"github.com/mhsanaei/3x-ui/v3/util/common"
|
"github.com/saeederamy/3x-ui/v3/util/common"
|
||||||
"github.com/mhsanaei/3x-ui/v3/util/random"
|
"github.com/saeederamy/3x-ui/v3/util/random"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/service"
|
"github.com/saeederamy/3x-ui/v3/web/service"
|
||||||
"github.com/mhsanaei/3x-ui/v3/xray"
|
"github.com/saeederamy/3x-ui/v3/xray"
|
||||||
)
|
)
|
||||||
|
|
||||||
// SubService provides business logic for generating subscription links and managing subscription data.
|
// SubService provides business logic for generating subscription links and managing subscription data.
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ import (
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
)
|
)
|
||||||
|
|
||||||
// NewErrorf creates a new error with formatted message.
|
// NewErrorf creates a new error with formatted message.
|
||||||
|
|
|
||||||
|
|
@ -4,9 +4,9 @@ import (
|
||||||
"net/http"
|
"net/http"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/middleware"
|
"github.com/saeederamy/3x-ui/v3/web/middleware"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/service"
|
"github.com/saeederamy/3x-ui/v3/web/service"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/session"
|
"github.com/saeederamy/3x-ui/v3/web/session"
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -5,9 +5,9 @@ package controller
|
||||||
import (
|
import (
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/locale"
|
"github.com/saeederamy/3x-ui/v3/web/locale"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/session"
|
"github.com/saeederamy/3x-ui/v3/web/session"
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -5,10 +5,10 @@ import (
|
||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/database/model"
|
"github.com/saeederamy/3x-ui/v3/database/model"
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/entity"
|
"github.com/saeederamy/3x-ui/v3/web/entity"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/service"
|
"github.com/saeederamy/3x-ui/v3/web/service"
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -10,9 +10,9 @@ import (
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/config"
|
"github.com/saeederamy/3x-ui/v3/config"
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/session"
|
"github.com/saeederamy/3x-ui/v3/web/session"
|
||||||
)
|
)
|
||||||
|
|
||||||
var distFS embed.FS
|
var distFS embed.FS
|
||||||
|
|
|
||||||
|
|
@ -8,10 +8,10 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/database/model"
|
"github.com/saeederamy/3x-ui/v3/database/model"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/service"
|
"github.com/saeederamy/3x-ui/v3/web/service"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/session"
|
"github.com/saeederamy/3x-ui/v3/web/session"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/websocket"
|
"github.com/saeederamy/3x-ui/v3/web/websocket"
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -5,10 +5,10 @@ import (
|
||||||
"text/template"
|
"text/template"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/middleware"
|
"github.com/saeederamy/3x-ui/v3/web/middleware"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/service"
|
"github.com/saeederamy/3x-ui/v3/web/service"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/session"
|
"github.com/saeederamy/3x-ui/v3/web/session"
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -7,8 +7,8 @@ import (
|
||||||
"strconv"
|
"strconv"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/database/model"
|
"github.com/saeederamy/3x-ui/v3/database/model"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/service"
|
"github.com/saeederamy/3x-ui/v3/web/service"
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@ import (
|
||||||
"strconv"
|
"strconv"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/entity"
|
"github.com/saeederamy/3x-ui/v3/web/entity"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/global"
|
"github.com/saeederamy/3x-ui/v3/web/global"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/service"
|
"github.com/saeederamy/3x-ui/v3/web/service"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/websocket"
|
"github.com/saeederamy/3x-ui/v3/web/websocket"
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -4,10 +4,10 @@ import (
|
||||||
"errors"
|
"errors"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/util/crypto"
|
"github.com/saeederamy/3x-ui/v3/util/crypto"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/entity"
|
"github.com/saeederamy/3x-ui/v3/web/entity"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/service"
|
"github.com/saeederamy/3x-ui/v3/web/service"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/session"
|
"github.com/saeederamy/3x-ui/v3/web/session"
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -7,8 +7,8 @@ import (
|
||||||
"net/netip"
|
"net/netip"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/entity"
|
"github.com/saeederamy/3x-ui/v3/web/entity"
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -6,9 +6,9 @@ import (
|
||||||
"net/url"
|
"net/url"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/service"
|
"github.com/saeederamy/3x-ui/v3/web/service"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/session"
|
"github.com/saeederamy/3x-ui/v3/web/session"
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
ws "github.com/gorilla/websocket"
|
ws "github.com/gorilla/websocket"
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,8 @@ package controller
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/util/common"
|
"github.com/saeederamy/3x-ui/v3/util/common"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/service"
|
"github.com/saeederamy/3x-ui/v3/web/service"
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -3,9 +3,9 @@ package controller
|
||||||
import (
|
import (
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/entity"
|
"github.com/saeederamy/3x-ui/v3/web/entity"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/middleware"
|
"github.com/saeederamy/3x-ui/v3/web/middleware"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/session"
|
"github.com/saeederamy/3x-ui/v3/web/session"
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/util/common"
|
"github.com/saeederamy/3x-ui/v3/util/common"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Msg represents a standard API response message with success status, message text, and optional data object.
|
// Msg represents a standard API response message with success status, message text, and optional data object.
|
||||||
|
|
|
||||||
|
|
@ -13,10 +13,10 @@ import (
|
||||||
"sort"
|
"sort"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/database"
|
"github.com/saeederamy/3x-ui/v3/database"
|
||||||
"github.com/mhsanaei/3x-ui/v3/database/model"
|
"github.com/saeederamy/3x-ui/v3/database/model"
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
"github.com/mhsanaei/3x-ui/v3/xray"
|
"github.com/saeederamy/3x-ui/v3/xray"
|
||||||
)
|
)
|
||||||
|
|
||||||
// IPWithTimestamp tracks an IP address with its last seen timestamp
|
// IPWithTimestamp tracks an IP address with its last seen timestamp
|
||||||
|
|
|
||||||
|
|
@ -9,9 +9,9 @@ import (
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/database"
|
"github.com/saeederamy/3x-ui/v3/database"
|
||||||
"github.com/mhsanaei/3x-ui/v3/database/model"
|
"github.com/saeederamy/3x-ui/v3/database/model"
|
||||||
xuilogger "github.com/mhsanaei/3x-ui/v3/logger"
|
xuilogger "github.com/saeederamy/3x-ui/v3/logger"
|
||||||
"github.com/op/go-logging"
|
"github.com/op/go-logging"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import (
|
||||||
"strconv"
|
"strconv"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/service"
|
"github.com/saeederamy/3x-ui/v3/web/service"
|
||||||
|
|
||||||
"github.com/shirou/gopsutil/v4/cpu"
|
"github.com/shirou/gopsutil/v4/cpu"
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package job
|
package job
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/service"
|
"github.com/saeederamy/3x-ui/v3/web/service"
|
||||||
)
|
)
|
||||||
|
|
||||||
// CheckHashStorageJob periodically cleans up expired hash entries from the Telegram bot's hash storage.
|
// CheckHashStorageJob periodically cleans up expired hash entries from the Telegram bot's hash storage.
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,8 @@
|
||||||
package job
|
package job
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/service"
|
"github.com/saeederamy/3x-ui/v3/web/service"
|
||||||
)
|
)
|
||||||
|
|
||||||
// CheckXrayRunningJob monitors Xray process health and restarts it if it crashes.
|
// CheckXrayRunningJob monitors Xray process health and restarts it if it crashes.
|
||||||
|
|
|
||||||
|
|
@ -5,8 +5,8 @@ import (
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
"github.com/mhsanaei/3x-ui/v3/xray"
|
"github.com/saeederamy/3x-ui/v3/xray"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ClearLogsJob clears old log files to prevent disk space issues.
|
// ClearLogsJob clears old log files to prevent disk space issues.
|
||||||
|
|
|
||||||
|
|
@ -5,10 +5,10 @@ import (
|
||||||
|
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/database/model"
|
"github.com/saeederamy/3x-ui/v3/database/model"
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
ldaputil "github.com/mhsanaei/3x-ui/v3/util/ldap"
|
ldaputil "github.com/saeederamy/3x-ui/v3/util/ldap"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/service"
|
"github.com/saeederamy/3x-ui/v3/web/service"
|
||||||
|
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,10 +5,10 @@ import (
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/database/model"
|
"github.com/saeederamy/3x-ui/v3/database/model"
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/service"
|
"github.com/saeederamy/3x-ui/v3/web/service"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/websocket"
|
"github.com/saeederamy/3x-ui/v3/web/websocket"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
|
|
||||||
|
|
@ -5,11 +5,11 @@ import (
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/database/model"
|
"github.com/saeederamy/3x-ui/v3/database/model"
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/runtime"
|
"github.com/saeederamy/3x-ui/v3/web/runtime"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/service"
|
"github.com/saeederamy/3x-ui/v3/web/service"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/websocket"
|
"github.com/saeederamy/3x-ui/v3/web/websocket"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
package job
|
package job
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/service"
|
"github.com/saeederamy/3x-ui/v3/web/service"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Period represents the time period for traffic resets.
|
// Period represents the time period for traffic resets.
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package job
|
package job
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/service"
|
"github.com/saeederamy/3x-ui/v3/web/service"
|
||||||
)
|
)
|
||||||
|
|
||||||
// LoginStatus represents the status of a login attempt.
|
// LoginStatus represents the status of a login attempt.
|
||||||
|
|
|
||||||
|
|
@ -3,10 +3,10 @@ package job
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/service"
|
"github.com/saeederamy/3x-ui/v3/web/service"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/websocket"
|
"github.com/saeederamy/3x-ui/v3/web/websocket"
|
||||||
"github.com/mhsanaei/3x-ui/v3/xray"
|
"github.com/saeederamy/3x-ui/v3/xray"
|
||||||
|
|
||||||
"github.com/valyala/fasthttp"
|
"github.com/valyala/fasthttp"
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ import (
|
||||||
"os"
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"github.com/nicksnyder/go-i18n/v2/i18n"
|
"github.com/nicksnyder/go-i18n/v2/i18n"
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package middleware
|
||||||
import (
|
import (
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/session"
|
"github.com/saeederamy/3x-ui/v3/web/session"
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ import (
|
||||||
"net/http/httptest"
|
"net/http/httptest"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/session"
|
"github.com/saeederamy/3x-ui/v3/web/session"
|
||||||
|
|
||||||
"github.com/gin-contrib/sessions"
|
"github.com/gin-contrib/sessions"
|
||||||
"github.com/gin-contrib/sessions/cookie"
|
"github.com/gin-contrib/sessions/cookie"
|
||||||
|
|
|
||||||
|
|
@ -6,8 +6,8 @@ import (
|
||||||
"errors"
|
"errors"
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/database/model"
|
"github.com/saeederamy/3x-ui/v3/database/model"
|
||||||
"github.com/mhsanaei/3x-ui/v3/xray"
|
"github.com/saeederamy/3x-ui/v3/xray"
|
||||||
)
|
)
|
||||||
|
|
||||||
type LocalDeps struct {
|
type LocalDeps struct {
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,8 @@ import (
|
||||||
"errors"
|
"errors"
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/database"
|
"github.com/saeederamy/3x-ui/v3/database"
|
||||||
"github.com/mhsanaei/3x-ui/v3/database/model"
|
"github.com/saeederamy/3x-ui/v3/database/model"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Manager struct {
|
type Manager struct {
|
||||||
|
|
|
||||||
|
|
@ -14,8 +14,8 @@ import (
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/database/model"
|
"github.com/saeederamy/3x-ui/v3/database/model"
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
)
|
)
|
||||||
|
|
||||||
const remoteHTTPTimeout = 10 * time.Second
|
const remoteHTTPTimeout = 10 * time.Second
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package runtime
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/database/model"
|
"github.com/saeederamy/3x-ui/v3/database/model"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Runtime interface {
|
type Runtime interface {
|
||||||
|
|
|
||||||
|
|
@ -14,10 +14,10 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/config"
|
"github.com/saeederamy/3x-ui/v3/config"
|
||||||
"github.com/mhsanaei/3x-ui/v3/database"
|
"github.com/saeederamy/3x-ui/v3/database"
|
||||||
"github.com/mhsanaei/3x-ui/v3/database/model"
|
"github.com/saeederamy/3x-ui/v3/database/model"
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ import (
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/database/model"
|
"github.com/saeederamy/3x-ui/v3/database/model"
|
||||||
)
|
)
|
||||||
|
|
||||||
// disableSSRFCheck disables the SSRF guard for the duration of a test,
|
// disableSSRFCheck disables the SSRF guard for the duration of a test,
|
||||||
|
|
|
||||||
|
|
@ -12,12 +12,12 @@ import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/google/uuid"
|
"github.com/google/uuid"
|
||||||
"github.com/mhsanaei/3x-ui/v3/database"
|
"github.com/saeederamy/3x-ui/v3/database"
|
||||||
"github.com/mhsanaei/3x-ui/v3/database/model"
|
"github.com/saeederamy/3x-ui/v3/database/model"
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
"github.com/mhsanaei/3x-ui/v3/util/common"
|
"github.com/saeederamy/3x-ui/v3/util/common"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/runtime"
|
"github.com/saeederamy/3x-ui/v3/web/runtime"
|
||||||
"github.com/mhsanaei/3x-ui/v3/xray"
|
"github.com/saeederamy/3x-ui/v3/xray"
|
||||||
|
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
"gorm.io/gorm/clause"
|
"gorm.io/gorm/clause"
|
||||||
|
|
|
||||||
|
|
@ -10,10 +10,10 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/database"
|
"github.com/saeederamy/3x-ui/v3/database"
|
||||||
"github.com/mhsanaei/3x-ui/v3/database/model"
|
"github.com/saeederamy/3x-ui/v3/database/model"
|
||||||
"github.com/mhsanaei/3x-ui/v3/util/common"
|
"github.com/saeederamy/3x-ui/v3/util/common"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/runtime"
|
"github.com/saeederamy/3x-ui/v3/web/runtime"
|
||||||
)
|
)
|
||||||
|
|
||||||
type HeartbeatPatch struct {
|
type HeartbeatPatch struct {
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ import (
|
||||||
"net/http"
|
"net/http"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/util/common"
|
"github.com/saeederamy/3x-ui/v3/util/common"
|
||||||
)
|
)
|
||||||
|
|
||||||
type NordService struct {
|
type NordService struct {
|
||||||
|
|
|
||||||
|
|
@ -15,12 +15,12 @@ import (
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/config"
|
"github.com/saeederamy/3x-ui/v3/config"
|
||||||
"github.com/mhsanaei/3x-ui/v3/database"
|
"github.com/saeederamy/3x-ui/v3/database"
|
||||||
"github.com/mhsanaei/3x-ui/v3/database/model"
|
"github.com/saeederamy/3x-ui/v3/database/model"
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
"github.com/mhsanaei/3x-ui/v3/util/json_util"
|
"github.com/saeederamy/3x-ui/v3/util/json_util"
|
||||||
"github.com/mhsanaei/3x-ui/v3/xray"
|
"github.com/saeederamy/3x-ui/v3/xray"
|
||||||
|
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -13,8 +13,8 @@ import (
|
||||||
"syscall"
|
"syscall"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/config"
|
"github.com/saeederamy/3x-ui/v3/config"
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
)
|
)
|
||||||
|
|
||||||
// PanelService provides business logic for panel management operations.
|
// PanelService provides business logic for panel management operations.
|
||||||
|
|
|
||||||
|
|
@ -5,9 +5,9 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/database"
|
"github.com/saeederamy/3x-ui/v3/database"
|
||||||
"github.com/mhsanaei/3x-ui/v3/database/model"
|
"github.com/saeederamy/3x-ui/v3/database/model"
|
||||||
"github.com/mhsanaei/3x-ui/v3/util/common"
|
"github.com/saeederamy/3x-ui/v3/util/common"
|
||||||
)
|
)
|
||||||
|
|
||||||
// transportBits is a bitmask of L4 transports an inbound listens on.
|
// transportBits is a bitmask of L4 transports an inbound listens on.
|
||||||
|
|
|
||||||
|
|
@ -5,9 +5,9 @@ import (
|
||||||
"sync"
|
"sync"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/database"
|
"github.com/saeederamy/3x-ui/v3/database"
|
||||||
"github.com/mhsanaei/3x-ui/v3/database/model"
|
"github.com/saeederamy/3x-ui/v3/database/model"
|
||||||
xuilogger "github.com/mhsanaei/3x-ui/v3/logger"
|
xuilogger "github.com/saeederamy/3x-ui/v3/logger"
|
||||||
"github.com/op/go-logging"
|
"github.com/op/go-logging"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,12 +19,12 @@ import (
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/config"
|
"github.com/saeederamy/3x-ui/v3/config"
|
||||||
"github.com/mhsanaei/3x-ui/v3/database"
|
"github.com/saeederamy/3x-ui/v3/database"
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
"github.com/mhsanaei/3x-ui/v3/util/common"
|
"github.com/saeederamy/3x-ui/v3/util/common"
|
||||||
"github.com/mhsanaei/3x-ui/v3/util/sys"
|
"github.com/saeederamy/3x-ui/v3/util/sys"
|
||||||
"github.com/mhsanaei/3x-ui/v3/xray"
|
"github.com/saeederamy/3x-ui/v3/xray"
|
||||||
|
|
||||||
"github.com/google/uuid"
|
"github.com/google/uuid"
|
||||||
"github.com/shirou/gopsutil/v4/cpu"
|
"github.com/shirou/gopsutil/v4/cpu"
|
||||||
|
|
|
||||||
|
|
@ -12,14 +12,14 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/database"
|
"github.com/saeederamy/3x-ui/v3/database"
|
||||||
"github.com/mhsanaei/3x-ui/v3/database/model"
|
"github.com/saeederamy/3x-ui/v3/database/model"
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
"github.com/mhsanaei/3x-ui/v3/util/common"
|
"github.com/saeederamy/3x-ui/v3/util/common"
|
||||||
"github.com/mhsanaei/3x-ui/v3/util/random"
|
"github.com/saeederamy/3x-ui/v3/util/random"
|
||||||
"github.com/mhsanaei/3x-ui/v3/util/reflect_util"
|
"github.com/saeederamy/3x-ui/v3/util/reflect_util"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/entity"
|
"github.com/saeederamy/3x-ui/v3/web/entity"
|
||||||
"github.com/mhsanaei/3x-ui/v3/xray"
|
"github.com/saeederamy/3x-ui/v3/xray"
|
||||||
)
|
)
|
||||||
|
|
||||||
//go:embed config.json
|
//go:embed config.json
|
||||||
|
|
|
||||||
|
|
@ -22,14 +22,14 @@ import (
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/config"
|
"github.com/saeederamy/3x-ui/v3/config"
|
||||||
"github.com/mhsanaei/3x-ui/v3/database"
|
"github.com/saeederamy/3x-ui/v3/database"
|
||||||
"github.com/mhsanaei/3x-ui/v3/database/model"
|
"github.com/saeederamy/3x-ui/v3/database/model"
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
"github.com/mhsanaei/3x-ui/v3/util/common"
|
"github.com/saeederamy/3x-ui/v3/util/common"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/global"
|
"github.com/saeederamy/3x-ui/v3/web/global"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/locale"
|
"github.com/saeederamy/3x-ui/v3/web/locale"
|
||||||
"github.com/mhsanaei/3x-ui/v3/xray"
|
"github.com/saeederamy/3x-ui/v3/xray"
|
||||||
|
|
||||||
"github.com/google/uuid"
|
"github.com/google/uuid"
|
||||||
"github.com/mymmrac/telego"
|
"github.com/mymmrac/telego"
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ import (
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
|
|
||||||
|
|
@ -3,11 +3,11 @@ package service
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/database"
|
"github.com/saeederamy/3x-ui/v3/database"
|
||||||
"github.com/mhsanaei/3x-ui/v3/database/model"
|
"github.com/saeederamy/3x-ui/v3/database/model"
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
"github.com/mhsanaei/3x-ui/v3/util/crypto"
|
"github.com/saeederamy/3x-ui/v3/util/crypto"
|
||||||
ldaputil "github.com/mhsanaei/3x-ui/v3/util/ldap"
|
ldaputil "github.com/saeederamy/3x-ui/v3/util/ldap"
|
||||||
"github.com/xlzd/gotp"
|
"github.com/xlzd/gotp"
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ import (
|
||||||
"os"
|
"os"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/util/common"
|
"github.com/saeederamy/3x-ui/v3/util/common"
|
||||||
)
|
)
|
||||||
|
|
||||||
// WarpService provides business logic for Cloudflare WARP integration.
|
// WarpService provides business logic for Cloudflare WARP integration.
|
||||||
|
|
|
||||||
|
|
@ -7,9 +7,9 @@ package service
|
||||||
import (
|
import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
"github.com/mhsanaei/3x-ui/v3/util/common"
|
"github.com/saeederamy/3x-ui/v3/util/common"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/websocket"
|
"github.com/saeederamy/3x-ui/v3/web/websocket"
|
||||||
|
|
||||||
"github.com/google/uuid"
|
"github.com/google/uuid"
|
||||||
ws "github.com/gorilla/websocket"
|
ws "github.com/gorilla/websocket"
|
||||||
|
|
|
||||||
|
|
@ -6,8 +6,8 @@ import (
|
||||||
"runtime"
|
"runtime"
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
"github.com/mhsanaei/3x-ui/v3/xray"
|
"github.com/saeederamy/3x-ui/v3/xray"
|
||||||
|
|
||||||
"go.uber.org/atomic"
|
"go.uber.org/atomic"
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ import (
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
)
|
)
|
||||||
|
|
||||||
type xrayMetricsState struct {
|
type xrayMetricsState struct {
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,8 @@ import (
|
||||||
_ "embed"
|
_ "embed"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/util/common"
|
"github.com/saeederamy/3x-ui/v3/util/common"
|
||||||
"github.com/mhsanaei/3x-ui/v3/xray"
|
"github.com/saeederamy/3x-ui/v3/xray"
|
||||||
)
|
)
|
||||||
|
|
||||||
// XraySettingService provides business logic for Xray configuration management.
|
// XraySettingService provides business logic for Xray configuration management.
|
||||||
|
|
|
||||||
|
|
@ -5,8 +5,8 @@ import (
|
||||||
"net/http"
|
"net/http"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/database/model"
|
"github.com/saeederamy/3x-ui/v3/database/model"
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
|
|
||||||
"github.com/gin-contrib/sessions"
|
"github.com/gin-contrib/sessions"
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
|
|
|
||||||
22
web/web.go
22
web/web.go
|
|
@ -15,17 +15,17 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/config"
|
"github.com/saeederamy/3x-ui/v3/config"
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
"github.com/mhsanaei/3x-ui/v3/util/common"
|
"github.com/saeederamy/3x-ui/v3/util/common"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/controller"
|
"github.com/saeederamy/3x-ui/v3/web/controller"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/job"
|
"github.com/saeederamy/3x-ui/v3/web/job"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/locale"
|
"github.com/saeederamy/3x-ui/v3/web/locale"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/middleware"
|
"github.com/saeederamy/3x-ui/v3/web/middleware"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/network"
|
"github.com/saeederamy/3x-ui/v3/web/network"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/runtime"
|
"github.com/saeederamy/3x-ui/v3/web/runtime"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/service"
|
"github.com/saeederamy/3x-ui/v3/web/service"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/websocket"
|
"github.com/saeederamy/3x-ui/v3/web/websocket"
|
||||||
|
|
||||||
"github.com/gin-contrib/gzip"
|
"github.com/gin-contrib/gzip"
|
||||||
"github.com/gin-contrib/sessions"
|
"github.com/gin-contrib/sessions"
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ import (
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
)
|
)
|
||||||
|
|
||||||
// MessageType identifies the kind of WebSocket message.
|
// MessageType identifies the kind of WebSocket message.
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,8 @@
|
||||||
package websocket
|
package websocket
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
"github.com/mhsanaei/3x-ui/v3/web/global"
|
"github.com/saeederamy/3x-ui/v3/web/global"
|
||||||
)
|
)
|
||||||
|
|
||||||
// GetHub returns the global WebSocket hub instance.
|
// GetHub returns the global WebSocket hub instance.
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,8 @@ import (
|
||||||
"regexp"
|
"regexp"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
"github.com/mhsanaei/3x-ui/v3/util/common"
|
"github.com/saeederamy/3x-ui/v3/util/common"
|
||||||
|
|
||||||
"github.com/xtls/xray-core/app/proxyman/command"
|
"github.com/xtls/xray-core/app/proxyman/command"
|
||||||
statsService "github.com/xtls/xray-core/app/stats/command"
|
statsService "github.com/xtls/xray-core/app/stats/command"
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package xray
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/util/json_util"
|
"github.com/saeederamy/3x-ui/v3/util/json_util"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Config represents the complete Xray configuration structure.
|
// Config represents the complete Xray configuration structure.
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package xray
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/util/json_util"
|
"github.com/saeederamy/3x-ui/v3/util/json_util"
|
||||||
)
|
)
|
||||||
|
|
||||||
// InboundConfig represents an Xray inbound configuration.
|
// InboundConfig represents an Xray inbound configuration.
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ import (
|
||||||
"runtime"
|
"runtime"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
)
|
)
|
||||||
|
|
||||||
// NewLogWriter returns a new LogWriter for processing Xray log output.
|
// NewLogWriter returns a new LogWriter for processing Xray log output.
|
||||||
|
|
|
||||||
|
|
@ -14,9 +14,9 @@ import (
|
||||||
"syscall"
|
"syscall"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/mhsanaei/3x-ui/v3/config"
|
"github.com/saeederamy/3x-ui/v3/config"
|
||||||
"github.com/mhsanaei/3x-ui/v3/logger"
|
"github.com/saeederamy/3x-ui/v3/logger"
|
||||||
"github.com/mhsanaei/3x-ui/v3/util/common"
|
"github.com/saeederamy/3x-ui/v3/util/common"
|
||||||
)
|
)
|
||||||
|
|
||||||
// GetBinaryName returns the Xray binary filename for the current OS and architecture.
|
// GetBinaryName returns the Xray binary filename for the current OS and architecture.
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ import (
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
xuilogger "github.com/mhsanaei/3x-ui/v3/logger"
|
xuilogger "github.com/saeederamy/3x-ui/v3/logger"
|
||||||
"github.com/op/go-logging"
|
"github.com/op/go-logging"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue