mirror of
https://github.com/nezhahq/nezha.git
synced 2025-01-22 04:38:14 -05:00
feat: disable nat
Some checks are pending
CodeQL / Analyze (go) (push) Waiting to run
CodeQL / Analyze (javascript) (push) Waiting to run
Contributors / contributors (push) Waiting to run
Sync / sync-to-jihulab (push) Waiting to run
Run Tests / tests (macos) (push) Waiting to run
Run Tests / tests (ubuntu) (push) Waiting to run
Run Tests / tests (windows) (push) Waiting to run
Some checks are pending
CodeQL / Analyze (go) (push) Waiting to run
CodeQL / Analyze (javascript) (push) Waiting to run
Contributors / contributors (push) Waiting to run
Sync / sync-to-jihulab (push) Waiting to run
Run Tests / tests (macos) (push) Waiting to run
Run Tests / tests (ubuntu) (push) Waiting to run
Run Tests / tests (windows) (push) Waiting to run
This commit is contained in:
parent
9791c81a03
commit
7831e2d1f8
@ -64,6 +64,7 @@ func createNAT(c *gin.Context) (uint64, error) {
|
||||
uid := getUid(c)
|
||||
|
||||
n.UserID = uid
|
||||
n.Enabled = nf.Enabled
|
||||
n.Name = nf.Name
|
||||
n.Domain = nf.Domain
|
||||
n.Host = nf.Host
|
||||
@ -121,6 +122,7 @@ func updateNAT(c *gin.Context) (any, error) {
|
||||
return nil, singleton.Localizer.ErrorT("permission denied")
|
||||
}
|
||||
|
||||
n.Enabled = nf.Enabled
|
||||
n.Name = nf.Name
|
||||
n.Domain = nf.Domain
|
||||
n.Host = nf.Host
|
||||
|
@ -13,12 +13,14 @@ import (
|
||||
"time"
|
||||
_ "time/tzdata"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/ory/graceful"
|
||||
"golang.org/x/crypto/bcrypt"
|
||||
"golang.org/x/net/http2"
|
||||
"golang.org/x/net/http2/h2c"
|
||||
|
||||
"github.com/nezhahq/nezha/cmd/dashboard/controller"
|
||||
"github.com/nezhahq/nezha/cmd/dashboard/controller/waf"
|
||||
"github.com/nezhahq/nezha/cmd/dashboard/rpc"
|
||||
"github.com/nezhahq/nezha/model"
|
||||
"github.com/nezhahq/nezha/proto"
|
||||
@ -147,6 +149,11 @@ func newHTTPandGRPCMux(httpHandler http.Handler, grpcHandler http.Handler) http.
|
||||
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
natConfig := singleton.GetNATConfigByDomain(r.Host)
|
||||
if natConfig != nil {
|
||||
if !natConfig.Enabled {
|
||||
c, _ := gin.CreateTestContext(w)
|
||||
waf.ShowBlockPage(c, fmt.Errorf("nat host %s is disabled", natConfig.Domain))
|
||||
return
|
||||
}
|
||||
rpc.ServeNAT(w, r, natConfig)
|
||||
return
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package model
|
||||
|
||||
type NAT struct {
|
||||
Common
|
||||
Enabled bool `json:"enabled"`
|
||||
Name string `json:"name"`
|
||||
ServerID uint64 `json:"server_id"`
|
||||
Host string `json:"host"`
|
||||
|
@ -2,6 +2,7 @@ package model
|
||||
|
||||
type NATForm struct {
|
||||
Name string `json:"name,omitempty" minLength:"1"`
|
||||
Enabled bool `json:"enabled,omitempty"`
|
||||
ServerID uint64 `json:"server_id,omitempty"`
|
||||
Host string `json:"host,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
|
@ -2,7 +2,7 @@
|
||||
name: "OfficialAdmin"
|
||||
repository: "https://github.com/nezhahq/admin-frontend"
|
||||
author: "nezhahq"
|
||||
version: "v1.6.1"
|
||||
version: "v1.6.2"
|
||||
isadmin: true
|
||||
isofficial: true
|
||||
- path: "user-dist"
|
||||
|
Loading…
Reference in New Issue
Block a user