@@ -13,6 +13,8 @@ import (
1313 "github.com/1Panel-dev/1Panel/backend/utils/cmd"
1414 "github.com/1Panel-dev/1Panel/backend/utils/common"
1515 "github.com/1Panel-dev/1Panel/backend/utils/encrypt"
16+ "github.com/1Panel-dev/1Panel/backend/utils/firewall"
17+ fireClient "github.com/1Panel-dev/1Panel/backend/utils/firewall/client"
1618 "github.com/spf13/cobra"
1719 "golang.org/x/term"
1820)
@@ -187,6 +189,7 @@ func port() {
187189 fmt .Printf ("错误:初始化数据库连接失败,%v\n " , err )
188190 return
189191 }
192+ oldPortStr := getSettingByKey (db , "ServerPort" )
190193 if err := setSettingByKey (db , "ServerPort" , newPortStr ); err != nil {
191194 fmt .Printf ("错误:面板端口修改失败,%v\n " , err )
192195 return
@@ -195,6 +198,18 @@ func port() {
195198 fmt .Printf ("修改成功!\n \n " )
196199 fmt .Printf ("面板端口:%s\n " , newPortStr )
197200
201+ if client , err := firewall .NewFirewallClient (); err == nil {
202+ if err := client .Port (fireClient.FireInfo {Port : newPortStr , Protocol : "tcp" , Strategy : "accept" }, "add" ); err != nil {
203+ fmt .Printf ("添加防火墙端口规则失败,%v,请您手动将 %s 端口添加至防火墙规则中。\n " , newPortStr , err )
204+ }
205+ if err := client .Port (fireClient.FireInfo {Port : oldPortStr , Protocol : "tcp" , Strategy : "accept" }, "remove" ); err != nil {
206+ fmt .Printf ("错误:防火墙端口删除失败,%v\n " , err )
207+ }
208+ if err := client .Reload (); err != nil {
209+ fmt .Printf ("防火墙重载失败,%v,请您手动重载防火墙。\n " , err )
210+ }
211+ }
212+
198213 std , err := cmd .Exec ("1pctl restart" )
199214 if err != nil {
200215 fmt .Println (std )
0 commit comments