Skip to content

Commit

Permalink
更新大量功能
Browse files Browse the repository at this point in the history
  • Loading branch information
vaxilu committed May 28, 2021
1 parent 3cd25ce commit a66dff6
Show file tree
Hide file tree
Showing 41 changed files with 1,229 additions and 1,007 deletions.
Empty file added a.s
Empty file.
11 changes: 9 additions & 2 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,22 @@ require (
github.com/gin-contrib/sessions v0.0.3
github.com/gin-gonic/gin v1.7.1
github.com/go-ole/go-ole v1.2.5 // indirect
github.com/golang/protobuf v1.5.2 // indirect
github.com/kr/pretty v0.1.0 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.1 // indirect
github.com/nicksnyder/go-i18n/v2 v2.1.2
github.com/op/go-logging v0.0.0-20160315200505-970db520ece7
github.com/pelletier/go-toml v1.9.1 // indirect
github.com/robfig/cron/v3 v3.0.1
github.com/shirou/gopsutil v3.21.3+incompatible
github.com/tklauser/go-sysconf v0.3.5 // indirect
github.com/xtls/xray-core v1.4.2
go.uber.org/atomic v1.7.0
golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2 // indirect
golang.org/x/sys v0.0.0-20210511113859-b0526f3d8744 // indirect
golang.org/x/text v0.3.6
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c // indirect
gorm.io/driver/sqlite v1.1.4
gorm.io/gorm v1.21.9
)
265 changes: 4 additions & 261 deletions go.sum

Large diffs are not rendered by default.

54 changes: 50 additions & 4 deletions main.go
Original file line number Diff line number Diff line change
@@ -1,18 +1,25 @@
package main

import (
"flag"
"fmt"
"github.com/op/go-logging"
"log"
"os"
"os/signal"
"syscall"
_ "unsafe"
"x-ui/config"
"x-ui/database"
"x-ui/logger"
"x-ui/web"
"x-ui/web/global"
)

func main() {
// this function call global.setWebServer
func setWebServer(server global.WebServer)

func runWebServer() {
log.Printf("%v %v", config.GetName(), config.GetVersion())

switch config.GetLogLevel() {
Expand All @@ -36,7 +43,11 @@ func main() {
var server *web.Server

server = web.NewServer()
go server.Run()
setWebServer(server)
err = server.Start()
if err != nil {
panic(err)
}

sigCh := make(chan os.Signal, 1)
signal.Notify(sigCh, syscall.SIGHUP)
Expand All @@ -46,10 +57,45 @@ func main() {
if sig == syscall.SIGHUP {
server.Stop()
server = web.NewServer()
go server.Run()
setWebServer(server)
err = server.Start()
if err != nil {
panic(err)
}
} else {
return
continue
}
}
}

func v2ui(dbPath string) {
// migrate from v2-ui
}

func main() {
if len(os.Args) < 2 {
runWebServer()
return
}

runCmd := flag.NewFlagSet("run", flag.ExitOnError)

v2uiCmd := flag.NewFlagSet("v2-ui", flag.ExitOnError)
var dbPath string
v2uiCmd.StringVar(&dbPath, "db", "/etc/v2-ui/v2-ui.db", "set v2-ui db file path")

switch flag.Arg(0) {
case "run":
runCmd.Parse(os.Args[2:])
runWebServer()
case "v2-ui":
v2uiCmd.Parse(os.Args[2:])
v2ui(dbPath)
default:
fmt.Println("excepted 'run' or 'v2-ui' subcommands")
fmt.Println()
runCmd.Usage()
fmt.Println()
v2uiCmd.Usage()
}
}
2 changes: 1 addition & 1 deletion web/assets/ant-design-vue@1.7.2/antd-with-locales.min.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion web/assets/ant-design-vue@1.7.2/antd.min.js

Large diffs are not rendered by default.

49 changes: 47 additions & 2 deletions web/assets/js/model/models.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,10 @@ class DBInbound {
userId = 0;
up = 0;
down = 0;
remark = 0;
enable = false;
remark = "";
enable = true;
expiryTime = 0;

listen = "";
port = 0;
protocol = "";
Expand All @@ -43,4 +44,48 @@ class DBInbound {
}
ObjectUtil.cloneProps(this, data);
}

toInbound() {
let settings = {};
if (!ObjectUtil.isEmpty(this.settings)) {
settings = JSON.parse(this.settings);
}

let streamSettings = {};
if (!ObjectUtil.isEmpty(this.streamSettings)) {
streamSettings = JSON.parse(this.streamSettings);
}

let sniffing = {};
if (!ObjectUtil.isEmpty(this.sniffing)) {
sniffing = JSON.parse(this.sniffing);
}
const config = {
port: this.port,
listen: this.listen,
protocol: this.protocol,
settings: settings,
streamSettings: streamSettings,
tag: this.tag,
sniffing: sniffing,
};
return Inbound.fromJson(config);
}

hasLink() {
switch (this.protocol) {
case Protocols.VMESS:
case Protocols.VLESS:
case Protocols.TROJAN:
case Protocols.SHADOWSOCKS:
return true;
default:
return false;
}
}

genLink(address="") {
const inbound = this.toInbound();
return inbound.genLink(address, this.remark);
}
}
Loading

0 comments on commit a66dff6

Please sign in to comment.