chore: prepare v2.0.0-beta.37

This commit is contained in:
Jacky 2024-10-26 13:00:52 +08:00
parent 6dc6092bfc
commit c8c0446308
No known key found for this signature in database
GPG key ID: 215C21B10DF38B4D
15 changed files with 75 additions and 54 deletions

View file

@ -2,7 +2,7 @@ package system
import (
"github.com/0xJacky/Nginx-UI/api"
"github.com/0xJacky/Nginx-UI/internal/kernal"
"github.com/0xJacky/Nginx-UI/internal/kernel"
"github.com/0xJacky/Nginx-UI/model"
"github.com/0xJacky/Nginx-UI/query"
"github.com/0xJacky/Nginx-UI/settings"
@ -58,7 +58,7 @@ func InstallNginxUI(c *gin.Context) {
}
// Init model
kernal.InitDatabase()
kernel.InitDatabase()
pwd, _ := bcrypt.GenerateFromPassword([]byte(json.Password), bcrypt.DefaultCost)

2
app/components.d.ts vendored
View file

@ -49,8 +49,6 @@ declare module 'vue' {
APopconfirm: typeof import('ant-design-vue/es')['Popconfirm']
APopover: typeof import('ant-design-vue/es')['Popover']
AProgress: typeof import('ant-design-vue/es')['Progress']
ARadioButton: typeof import('ant-design-vue/es')['RadioButton']
ARadioGroup: typeof import('ant-design-vue/es')['RadioGroup']
AResult: typeof import('ant-design-vue/es')['Result']
ARow: typeof import('ant-design-vue/es')['Row']
ASelect: typeof import('ant-design-vue/es')['Select']

View file

@ -1,7 +1,7 @@
{
"name": "nginx-ui-app-next",
"type": "module",
"version": "2.0.0-beta.36",
"version": "2.0.0-beta.37",
"packageManager": "pnpm@9.12.2",
"scripts": {
"dev": "vite --host",
@ -54,10 +54,10 @@
"@antfu/eslint-config": "^3.8.0",
"@iconify-json/fa": "1.1.5",
"@iconify-json/tabler": "1.1.95",
"@iconify/tools": "3.0.5",
"@iconify/tools": "^4.0.7",
"@iconify/types": "^2.0.0",
"@iconify/utils": "^2.1.33",
"@iconify/vue": "4.1.1",
"@iconify/vue": "^4.1.2",
"@simplewebauthn/types": "^11.0.0",
"@types/lodash": "^4.17.12",
"@types/nprogress": "^0.2.3",

39
app/pnpm-lock.yaml generated
View file

@ -127,8 +127,8 @@ importers:
specifier: 1.1.95
version: 1.1.95
'@iconify/tools':
specifier: 3.0.5
version: 3.0.5
specifier: ^4.0.7
version: 4.0.7
'@iconify/types':
specifier: ^2.0.0
version: 2.0.0
@ -136,8 +136,8 @@ importers:
specifier: ^2.1.33
version: 2.1.33
'@iconify/vue':
specifier: 4.1.1
version: 4.1.1(vue@3.5.12(typescript@5.6.3))
specifier: ^4.1.2
version: 4.1.2(vue@3.5.12(typescript@5.6.3))
'@simplewebauthn/types':
specifier: ^11.0.0
version: 11.0.0
@ -1329,8 +1329,8 @@ packages:
'@iconify-json/tabler@1.1.95':
resolution: {integrity: sha512-Qg+VpKgSImpA9g2ger17cWIBvirlixUplTXshu/miegBCfaicYEyyX2pCilCJEuujeNVh47+ySD7CoBJS2f6pQ==}
'@iconify/tools@3.0.5':
resolution: {integrity: sha512-NYhdaOK/pPTInlNRQHP1iaOMQtu6XfIjhYh8KBUqAiKlmSWwjWYT4bm8RpNgtgEmYAYrm2PY28A2OGBP35pA1w==}
'@iconify/tools@4.0.7':
resolution: {integrity: sha512-zOJxKIfZn96ZRGGvIWzDRLD9vb2CsxjcLuM+QIdvwWbv6SWhm49gECzUnd4d2P0sq9sfodT7yCNobWK8nvavxQ==}
'@iconify/types@2.0.0':
resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
@ -1338,8 +1338,8 @@ packages:
'@iconify/utils@2.1.33':
resolution: {integrity: sha512-jP9h6v/g0BIZx0p7XGJJVtkVnydtbgTgt9mVNcGDYwaa7UhdHdI9dvoq+gKj9sijMSJKxUPEG2JyjsgXjxL7Kw==}
'@iconify/vue@4.1.1':
resolution: {integrity: sha512-RL85Bm/DAe8y6rT6pux7D2FJSiUEM/TPfyK7GrbAOfTSwrhvwJW+S5yijdGcmtXouA8MtuH9C7l4hiSE4mLMjg==}
'@iconify/vue@4.1.2':
resolution: {integrity: sha512-CQnYqLiQD5LOAaXhBrmj1mdL2/NCJvwcC4jtW2Z8ukhThiFkLDkutarTOV2trfc9EXqUqRs0KqXOL9pZ/IyysA==}
peerDependencies:
vue: '>=3'
@ -1514,9 +1514,6 @@ packages:
resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==}
engines: {node: '>=10.13.0'}
'@types/cheerio@0.22.35':
resolution: {integrity: sha512-yD57BchKRvTV+JD53UZ6PD8KWY5g5rvvMLRnZR3EQBCZXiDT/HR+pKpMzFGlWNhFrXlo7VPZXtKvIEwZkAWOIA==}
'@types/cookie@0.6.0':
resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==}
@ -3384,10 +3381,6 @@ packages:
resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
local-pkg@0.4.3:
resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==}
engines: {node: '>=14'}
local-pkg@0.5.0:
resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==}
engines: {node: '>=14'}
@ -6080,19 +6073,21 @@ snapshots:
dependencies:
'@iconify/types': 2.0.0
'@iconify/tools@3.0.5':
'@iconify/tools@4.0.7':
dependencies:
'@iconify/types': 2.0.0
'@iconify/utils': 2.1.33
'@types/cheerio': 0.22.35
'@types/tar': 6.1.13
axios: 1.7.7
cheerio: 1.0.0
domhandler: 5.0.3
extract-zip: 2.0.1
local-pkg: 0.4.3
local-pkg: 0.5.0
pathe: 1.1.2
svgo: 3.3.2
tar: 6.2.1
transitivePeerDependencies:
- debug
- supports-color
'@iconify/types@2.0.0': {}
@ -6109,7 +6104,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@iconify/vue@4.1.1(vue@3.5.12(typescript@5.6.3))':
'@iconify/vue@4.1.2(vue@3.5.12(typescript@5.6.3))':
dependencies:
'@iconify/types': 2.0.0
vue: 3.5.12(typescript@5.6.3)
@ -6295,10 +6290,6 @@ snapshots:
'@trysound/sax@0.2.0': {}
'@types/cheerio@0.22.35':
dependencies:
'@types/node': 22.7.9
'@types/cookie@0.6.0': {}
'@types/debug@4.1.12':
@ -8637,8 +8628,6 @@ snapshots:
load-tsconfig@0.2.5: {}
local-pkg@0.4.3: {}
local-pkg@0.5.0:
dependencies:
mlly: 1.7.2

View file

@ -1 +1 @@
{"version":"2.0.0-beta.36","build_id":1,"total_build":365}
{"version":"2.0.0-beta.37","build_id":1,"total_build":366}

2
go.mod
View file

@ -35,7 +35,7 @@ require (
github.com/spf13/cast v1.7.0
github.com/stretchr/testify v1.9.0
github.com/tufanbarisyildirim/gonginx v0.0.0-20241013191809-e73b7dd454e8
github.com/uozi-tech/cosy v1.9.8
github.com/uozi-tech/cosy v1.9.9
github.com/uozi-tech/cosy-driver-sqlite v0.2.0
go.uber.org/zap v1.27.0
golang.org/x/crypto v0.28.0

4
go.sum
View file

@ -39,6 +39,7 @@ cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRY
cloud.google.com/go v0.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFOKM=
cloud.google.com/go v0.107.0/go.mod h1:wpc2eNrD7hXUTy8EKS10jkxpZBjASrORK7goS+3YX2I=
cloud.google.com/go v0.110.0/go.mod h1:SJnCLqQ0FCFGSZMUNUf84MV3Aia54kn7pi8st7tMzaY=
cloud.google.com/go v0.116.0 h1:B3fRrSDkLRt5qSHWe40ERJvhvnQwdZiHu0bJOpldweE=
cloud.google.com/go/accessapproval v1.4.0/go.mod h1:zybIuC3KpDOvotz59lFe5qxRZx6C75OtwbisN56xYB4=
cloud.google.com/go/accessapproval v1.5.0/go.mod h1:HFy3tuiGvMdcd/u+Cu5b9NkO1pEICJ46IR82PoUdplw=
cloud.google.com/go/accessapproval v1.6.0/go.mod h1:R0EiYnwV5fsRFiKZkPHr6mwyk2wxUJ30nL4j2pcFY2E=
@ -760,6 +761,7 @@ github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyY
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw=
github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko=
github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
@ -1674,6 +1676,8 @@ github.com/uozi-tech/cosy v1.9.4 h1:oG5TbrS8XUpZnQ++9gxI5if0++uJ7h9nMPZPNeDgly0=
github.com/uozi-tech/cosy v1.9.4/go.mod h1:aQI/OU3EVF125K5ECgSg3+CTfG4cp5XOkr++DEP/Fas=
github.com/uozi-tech/cosy v1.9.8 h1:c3xKdG9Pa3PqRVjxr2teDjAGe0PNcFs1X5/fCiROkbY=
github.com/uozi-tech/cosy v1.9.8/go.mod h1:aQI/OU3EVF125K5ECgSg3+CTfG4cp5XOkr++DEP/Fas=
github.com/uozi-tech/cosy v1.9.9 h1:hA8R9Q0JuykDG1G6WO62cgi2oxJyONrjdg525Xu7AG0=
github.com/uozi-tech/cosy v1.9.9/go.mod h1:aQI/OU3EVF125K5ECgSg3+CTfG4cp5XOkr++DEP/Fas=
github.com/uozi-tech/cosy-driver-mysql v0.2.2 h1:22S/XNIvuaKGqxQPsYPXN8TZ8hHjCQdcJKVQ83Vzxoo=
github.com/uozi-tech/cosy-driver-mysql v0.2.2/go.mod h1:EZnRIbSj1V5U0gEeTobrXai/d1SV11lkl4zP9NFEmyE=
github.com/uozi-tech/cosy-driver-postgres v0.2.1 h1:OICakGuT+omva6QOJCxTJ5Lfr7CGXLmk/zD+aS51Z2o=

BIN
img.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

View file

@ -1,4 +1,4 @@
package kernal
package kernel
import (
"crypto/rand"
@ -27,7 +27,6 @@ func Boot() {
defer recovery()
async := []func(){
settings.Init,
InitJsExtensionType,
InitDatabase,
InitNodeSecret,

View file

@ -1,4 +1,4 @@
package kernal
package kernel
import (
"github.com/0xJacky/Nginx-UI/query"

View file

@ -1,4 +1,4 @@
package kernal
package kernel
import (
"github.com/0xJacky/Nginx-UI/model"

44
main.go
View file

@ -3,34 +3,57 @@ package main
import (
"flag"
"fmt"
"github.com/0xJacky/Nginx-UI/internal/kernal"
"github.com/0xJacky/Nginx-UI/internal/nginx"
"github.com/0xJacky/Nginx-UI/internal/kernel"
"github.com/0xJacky/Nginx-UI/model"
"github.com/0xJacky/Nginx-UI/router"
"github.com/0xJacky/Nginx-UI/settings"
"github.com/gin-gonic/gin"
"github.com/jpillora/overseer"
"github.com/pkg/errors"
"github.com/uozi-tech/cosy"
cKernel "github.com/uozi-tech/cosy/kernel"
"github.com/uozi-tech/cosy/logger"
cRouter "github.com/uozi-tech/cosy/router"
cSettings "github.com/uozi-tech/cosy/settings"
"net/http"
"time"
)
func Program(confPath string) func(state overseer.State) {
return func(state overseer.State) {
defer logger.Sync()
defer logger.Info("Server exited")
cosy.RegisterModels(model.GenerateAllModel()...)
cosy.RegisterAsyncFunc(kernal.Boot, router.InitRouter)
cosy.RegisterAsyncFunc(kernel.Boot, router.InitRouter)
if state.Listener != nil {
cosy.SetListener(state.Listener)
// Initialize settings package
settings.Init(confPath)
cosy.Boot(confPath)
// Set gin mode
gin.SetMode(cSettings.ServerSettings.RunMode)
logger.Infof("Nginx configuration directory: %s", nginx.GetConfPath())
// Initialize logger package
logger.Init(cSettings.ServerSettings.RunMode)
defer logger.Sync()
if state.Listener == nil {
return
}
// Gin router initialization
cRouter.Init()
// Kernel boot
cKernel.Boot()
addr := fmt.Sprintf("%s:%d", cSettings.ServerSettings.Host, cSettings.ServerSettings.Port)
srv := &http.Server{
Addr: addr,
Handler: cRouter.GetEngine(),
}
if err := srv.Serve(state.Listener); err != nil && !errors.Is(err, http.ErrServerClosed) {
logger.Fatalf("listen: %s\n", err)
}
logger.Info("Server exited")
}
}
@ -39,8 +62,7 @@ func main() {
flag.StringVar(&confPath, "config", "app.ini", "Specify the configuration file")
flag.Parse()
settings.Migrate(confPath)
cSettings.Init(confPath)
settings.Init(confPath)
overseer.Run(overseer.Config{
Program: Program(confPath),

View file

@ -100,7 +100,7 @@ func mergeStructs(src, dst interface{}) {
return
}
func Migrate(confPath string) {
func migrate(confPath string) {
logger.Init("debug")
Conf, err := ini.LoadSources(ini.LoadOptions{
Loose: true,
@ -160,7 +160,7 @@ func Migrate(confPath string) {
for name, ptr := range migrated.Iterator() {
err = Conf.Section(name).MapTo(ptr)
if err != nil {
logger.Error("Migrate.MapTo %s err: %v", name, err)
logger.Error("migrate.MapTo %s err: %v", name, err)
}
}
@ -187,7 +187,7 @@ func Migrate(confPath string) {
for section, ptr := range migrated.Iterator() {
err = Conf.Section(section).ReflectFrom(ptr)
if err != nil {
logger.Fatalf("Migrate.ReflectFrom %s err: %v", section, err)
logger.Fatalf("migrate.ReflectFrom %s err: %v", section, err)
}
}

View file

@ -121,5 +121,5 @@ RPOrigins = http://localhost:3002,http://127.0.0.1:3002`
t.Fatalf("Failed to write config to file: %v", err)
}
Migrate(confName)
migrate(confName)
}

View file

@ -64,7 +64,16 @@ func init() {
settings.WithoutSonyflake()
}
func Init() {
func Init(confPath string) {
migrate(confPath)
settings.Init(confPath)
// Set Default Port
if settings.ServerSettings.Port == 0 {
settings.ServerSettings.Port = 9000
}
for prefix, ptr := range envPrefixMap {
parseEnv(ptr, prefix+"_")
}