2
0
mirror of https://github.com/acepanel/panel.git synced 2026-02-05 04:30:13 +08:00
Files
panel/internal/http/request/firewall.go
2024-12-29 01:41:19 +08:00

32 lines
1.3 KiB
Go

package request
type FirewallStatus struct {
Status bool `json:"status" form:"status"`
}
type FirewallRule struct {
Type string `json:"type"`
Family string `json:"family" validate:"required|in:ipv4,ipv6"`
PortStart uint `json:"port_start" validate:"required|min:1|max:65535"`
PortEnd uint `json:"port_end" validate:"required|min:1|max:65535"`
Protocol string `json:"protocol" validate:"required|in:tcp,udp,tcp/udp"`
Address string `json:"address"`
Strategy string `json:"strategy" validate:"required|in:accept,drop,reject"`
Direction string `json:"direction" validate:"required|in:in,out"`
}
type FirewallIPRule struct {
Family string `json:"family" validate:"required|in:ipv4,ipv6"`
Protocol string `json:"protocol" validate:"required|in:tcp,udp,tcp/udp"`
Address string `json:"address"`
Strategy string `json:"strategy" validate:"required|in:accept,drop,reject"`
Direction string `json:"direction" validate:"required|in:in,out"`
}
type FirewallForward struct {
Protocol string `json:"protocol" validate:"required|in:tcp,udp,tcp/udp"`
Port uint `json:"port" validate:"required|min:1|max:65535"`
TargetIP string `json:"target_ip" validate:"required"`
TargetPort uint `json:"target_port" validate:"required|min:1|max:65535"`
}