Add admin panel, manager, node_manager, bandwidth limiter, connection limiter, bonding, failover, vless encryption, mkcp transport

This commit is contained in:
Shtorm
2026-02-26 22:44:31 +03:00
parent 0f38dbba4c
commit ded1eb9635
115 changed files with 12582 additions and 301 deletions

View File

@@ -0,0 +1,18 @@
package constant
import (
"github.com/sagernet/sing-box/adapter"
C "github.com/sagernet/sing-box/service/manager/constant"
)
type BandwidthLimiterManager interface {
AddBandwidthLimiterStrategyManager(outbound adapter.Outbound) error
GetBandwidthLimiterStrategyManager(tag string) (BandwidthLimiterStrategyManager, bool)
GetBandwidthLimiterStrategyManagerTags() []string
}
type BandwidthLimiterStrategyManager interface {
UpdateBandwidthLimiter(limiter C.BandwidthLimiter)
UpdateBandwidthLimiters(limiter []C.BandwidthLimiter)
DeleteBandwidthLimiter(username string)
}

View File

@@ -0,0 +1,18 @@
package constant
import (
"github.com/sagernet/sing-box/adapter"
C "github.com/sagernet/sing-box/service/manager/constant"
)
type ConnectionLimiterManager interface {
AddConnectionLimiterStrategyManager(outbound adapter.Outbound) error
GetConnectionLimiterStrategyManager(tag string) (ConnectionLimiterStrategyManager, bool)
GetConnectionLimiterStrategyManagerTags() []string
}
type ConnectionLimiterStrategyManager interface {
UpdateConnectionLimiter(limiter C.ConnectionLimiter)
UpdateConnectionLimiters(limiter []C.ConnectionLimiter)
DeleteConnectionLimiter(username string)
}

View File

@@ -0,0 +1,18 @@
package constant
import (
"github.com/sagernet/sing-box/adapter"
C "github.com/sagernet/sing-box/service/manager/constant"
)
type InboundManager interface {
AddUserManager(inbound adapter.Inbound) error
GetUserManager(tag string) (UserManager, bool)
GetUserManagerTags() []string
}
type UserManager interface {
UpdateUser(user C.User)
UpdateUsers(users []C.User)
DeleteUser(username string)
}