SYMBOL INDEX (504 symbols across 71 files) FILE: api/apiHandler.go type APIHandler (line 11) | type APIHandler struct method initRouter (line 23) | func (a *APIHandler) initRouter(g *gin.RouterGroup) { method postHandler (line 34) | func (a *APIHandler) postHandler(c *gin.Context) { method getHandler (line 66) | func (a *APIHandler) getHandler(c *gin.Context) { function NewAPIHandler (line 16) | func NewAPIHandler(g *gin.RouterGroup, a2 *APIv2Handler) { FILE: api/apiService.go type ApiService (line 16) | type ApiService struct method LoadData (line 31) | func (a *ApiService) LoadData(c *gin.Context) { method getData (line 40) | func (a *ApiService) getData(c *gin.Context) (interface{}, error) { method LoadPartialData (line 114) | func (a *ApiService) LoadPartialData(c *gin.Context, objs []string) er... method GetUsers (line 175) | func (a *ApiService) GetUsers(c *gin.Context) { method GetSettings (line 184) | func (a *ApiService) GetSettings(c *gin.Context) { method GetStats (line 193) | func (a *ApiService) GetStats(c *gin.Context) { method GetStatus (line 208) | func (a *ApiService) GetStatus(c *gin.Context) { method GetOnlines (line 214) | func (a *ApiService) GetOnlines(c *gin.Context) { method GetLogs (line 219) | func (a *ApiService) GetLogs(c *gin.Context) { method CheckChanges (line 226) | func (a *ApiService) CheckChanges(c *gin.Context) { method GetKeypairs (line 234) | func (a *ApiService) GetKeypairs(c *gin.Context) { method GetDb (line 241) | func (a *ApiService) GetDb(c *gin.Context) { method postActions (line 253) | func (a *ApiService) postActions(c *gin.Context) (string, json.RawMess... method Login (line 262) | func (a *ApiService) Login(c *gin.Context) { method ChangePass (line 285) | func (a *ApiService) ChangePass(c *gin.Context) { method Save (line 300) | func (a *ApiService) Save(c *gin.Context, loginUser string) { method RestartApp (line 317) | func (a *ApiService) RestartApp(c *gin.Context) { method RestartSb (line 322) | func (a *ApiService) RestartSb(c *gin.Context) { method LinkConvert (line 327) | func (a *ApiService) LinkConvert(c *gin.Context) { method SubConvert (line 333) | func (a *ApiService) SubConvert(c *gin.Context) { method ImportDb (line 339) | func (a *ApiService) ImportDb(c *gin.Context) { method Logout (line 350) | func (a *ApiService) Logout(c *gin.Context) { method LoadTokens (line 359) | func (a *ApiService) LoadTokens() ([]byte, error) { method GetTokens (line 363) | func (a *ApiService) GetTokens(c *gin.Context) { method AddToken (line 369) | func (a *ApiService) AddToken(c *gin.Context) { method DeleteToken (line 382) | func (a *ApiService) DeleteToken(c *gin.Context) { method GetSingboxConfig (line 388) | func (a *ApiService) GetSingboxConfig(c *gin.Context) { method GetCheckOutbound (line 400) | func (a *ApiService) GetCheckOutbound(c *gin.Context) { FILE: api/apiV2Handler.go type TokenInMemory (line 13) | type TokenInMemory struct type APIv2Handler (line 19) | type APIv2Handler struct method initRouter (line 31) | func (a *APIv2Handler) initRouter(g *gin.RouterGroup) { method postHandler (line 39) | func (a *APIv2Handler) postHandler(c *gin.Context) { method getHandler (line 61) | func (a *APIv2Handler) getHandler(c *gin.Context) { method findUsername (line 98) | func (a *APIv2Handler) findUsername(c *gin.Context) string { method checkToken (line 112) | func (a *APIv2Handler) checkToken(c *gin.Context) { method ReloadTokens (line 122) | func (a *APIv2Handler) ReloadTokens() { function NewAPIv2Handler (line 24) | func NewAPIv2Handler(g *gin.RouterGroup) *APIv2Handler { FILE: api/session.go constant loginUser (line 13) | loginUser = "LOGIN_USER" function init (line 16) | func init() { function SetLoginUser (line 20) | func SetLoginUser(c *gin.Context, userName string, maxAge int) error { function SetMaxAge (line 36) | func SetMaxAge(c *gin.Context) error { function GetLoginUser (line 44) | func GetLoginUser(c *gin.Context) string { function IsLogin (line 57) | func IsLogin(c *gin.Context) bool { function ClearSession (line 61) | func ClearSession(c *gin.Context) { FILE: api/utils.go type Msg (line 13) | type Msg struct function getRemoteIp (line 19) | func getRemoteIp(c *gin.Context) string { function getHostname (line 31) | func getHostname(c *gin.Context) string { function jsonMsg (line 42) | func jsonMsg(c *gin.Context, msg string, err error) { function jsonObj (line 46) | func jsonObj(c *gin.Context, obj interface{}, err error) { function jsonMsgObj (line 50) | func jsonMsgObj(c *gin.Context, msg string, obj interface{}, err error) { function pureJsonMsg (line 67) | func pureJsonMsg(c *gin.Context, success bool, msg string) { function checkLogin (line 81) | func checkLogin(c *gin.Context) { FILE: app/app.go type APP (line 18) | type APP struct method Init (line 32) | func (a *APP) Init() error { method Start (line 56) | func (a *APP) Start() error { method Stop (line 90) | func (a *APP) Stop() { method initLog (line 106) | func (a *APP) initLog() { method RestartApp (line 121) | func (a *APP) RestartApp() { method GetCore (line 126) | func (a *APP) GetCore() *core.Core { function NewApp (line 28) | func NewApp() *APP { FILE: cmd/admin.go function resetAdmin (line 11) | func resetAdmin() { function updateAdmin (line 27) | func updateAdmin(username string, password string) { function showAdmin (line 45) | func showAdmin() { FILE: cmd/cmd.go function ParseCmd (line 13) | func ParseCmd() { FILE: cmd/migration/1_1.go function migrateClientSchema (line 13) | func migrateClientSchema(db *gorm.DB) error { function deleteOldWebSecret (line 66) | func deleteOldWebSecret(db *gorm.DB) error { function changesObj (line 70) | func changesObj(db *gorm.DB) error { function to1_1 (line 74) | func to1_1(db *gorm.DB) error { FILE: cmd/migration/1_2.go type InboundData (line 14) | type InboundData struct function moveJsonToDb (line 21) | func moveJsonToDb(db *gorm.DB) error { function migrateTls (line 231) | func migrateTls(db *gorm.DB) error { function dropInboundData (line 265) | func dropInboundData(db *gorm.DB) error { function migrateClients (line 272) | func migrateClients(db *gorm.DB) error { function migrateChanges (line 295) | func migrateChanges(db *gorm.DB) error { function to1_2 (line 299) | func to1_2(db *gorm.DB) error { FILE: cmd/migration/1_3.go function migrate_dns (line 14) | func migrate_dns(db *gorm.DB) error { function remove_outbound_strategy (line 98) | func remove_outbound_strategy(db *gorm.DB) error { function anytls_user_config (line 116) | func anytls_user_config(db *gorm.DB) error { function to1_3 (line 141) | func to1_3(db *gorm.DB) error { FILE: cmd/migration/main.go function MigrateDb (line 14) | func MigrateDb() { FILE: cmd/setting.go function resetSetting (line 18) | func resetSetting() { function updateSetting (line 34) | func updateSetting(port int, path string, subPort int, subPath string) { function showSetting (line 77) | func showSetting() { function getPublicIP (line 115) | func getPublicIP() string { function getPanelURI (line 163) | func getPanelURI() { FILE: config/config.go type LogLevel (line 18) | type LogLevel constant Debug (line 21) | Debug LogLevel = "debug" constant Info (line 22) | Info LogLevel = "info" constant Warn (line 23) | Warn LogLevel = "warn" constant Error (line 24) | Error LogLevel = "error" function GetVersion (line 27) | func GetVersion() string { function GetName (line 31) | func GetName() string { function GetLogLevel (line 35) | func GetLogLevel() LogLevel { function IsDebug (line 46) | func IsDebug() bool { function GetDBFolderPath (line 50) | func GetDBFolderPath() string { function GetDBPath (line 66) | func GetDBPath() string { FILE: core/box.go type Box (line 38) | type Box struct method PreStart (line 402) | func (s *Box) PreStart() error { method Start (line 420) | func (s *Box) Start() error { method preStart (line 429) | func (s *Box) preStart() error { method start (line 452) | func (s *Box) start() error { method Close (line 484) | func (s *Box) Close() error { method Uptime (line 560) | func (s *Box) Uptime() uint32 { method Network (line 564) | func (s *Box) Network() adapter.NetworkManager { method Router (line 568) | func (s *Box) Router() adapter.Router { method Inbound (line 572) | func (s *Box) Inbound() adapter.InboundManager { method Outbound (line 576) | func (s *Box) Outbound() adapter.OutboundManager { method Endpoint (line 580) | func (s *Box) Endpoint() adapter.EndpointManager { method StatsTracker (line 584) | func (s *Box) StatsTracker() *StatsTracker { method ConnTracker (line 588) | func (s *Box) ConnTracker() *ConnTracker { type Options (line 57) | type Options struct function Context (line 62) | func Context( function NewBox (line 96) | func NewBox(options Options) (*Box, error) { FILE: core/endpoint.go method AddInbound (line 11) | func (c *Core) AddInbound(config []byte) error { method RemoveInbound (line 36) | func (c *Core) RemoveInbound(tag string) error { method AddOutbound (line 44) | func (c *Core) AddOutbound(config []byte) error { method RemoveOutbound (line 74) | func (c *Core) RemoveOutbound(tag string) error { method AddEndpoint (line 82) | func (c *Core) AddEndpoint(config []byte) error { method RemoveEndpoint (line 108) | func (c *Core) RemoveEndpoint(tag string) error { method AddService (line 116) | func (c *Core) AddService(config []byte) error { method RemoveService (line 141) | func (c *Core) RemoveService(tag string) error { FILE: core/log.go type PlatformWriter (line 18) | type PlatformWriter struct method DisableColors (line 20) | func (p PlatformWriter) DisableColors() bool { method WriteMessage (line 23) | func (p PlatformWriter) WriteMessage(level log.Level, message string) { function NewFactory (line 38) | func NewFactory(options log.Options) (log.Factory, error) { type defaultFactory (line 88) | type defaultFactory struct method Start (line 116) | func (f *defaultFactory) Start() error { method Close (line 128) | func (f *defaultFactory) Close() error { method Level (line 135) | func (f *defaultFactory) Level() log.Level { method SetLevel (line 139) | func (f *defaultFactory) SetLevel(level log.Level) { method Logger (line 143) | func (f *defaultFactory) Logger() log.ContextLogger { method NewLogger (line 147) | func (f *defaultFactory) NewLogger(tag string) log.ContextLogger { method Subscribe (line 151) | func (f *defaultFactory) Subscribe() (subscription observable.Subscrip... method UnSubscribe (line 155) | func (f *defaultFactory) UnSubscribe(sub observable.Subscription[log.E... function NewDefaultFactory (line 99) | func NewDefaultFactory( type observableLogger (line 159) | type observableLogger struct method Log (line 164) | func (l *observableLogger) Log(ctx context.Context, level log.Level, a... method Trace (line 188) | func (l *observableLogger) Trace(args ...any) { method Debug (line 192) | func (l *observableLogger) Debug(args ...any) { method Info (line 196) | func (l *observableLogger) Info(args ...any) { method Warn (line 200) | func (l *observableLogger) Warn(args ...any) { method Error (line 204) | func (l *observableLogger) Error(args ...any) { method Fatal (line 208) | func (l *observableLogger) Fatal(args ...any) { method Panic (line 212) | func (l *observableLogger) Panic(args ...any) { method TraceContext (line 216) | func (l *observableLogger) TraceContext(ctx context.Context, args ...a... method DebugContext (line 220) | func (l *observableLogger) DebugContext(ctx context.Context, args ...a... method InfoContext (line 224) | func (l *observableLogger) InfoContext(ctx context.Context, args ...an... method WarnContext (line 228) | func (l *observableLogger) WarnContext(ctx context.Context, args ...an... method ErrorContext (line 232) | func (l *observableLogger) ErrorContext(ctx context.Context, args ...a... method FatalContext (line 236) | func (l *observableLogger) FatalContext(ctx context.Context, args ...a... method PanicContext (line 240) | func (l *observableLogger) PanicContext(ctx context.Context, args ...a... FILE: core/main.go type Core (line 30) | type Core struct method GetCtx (line 44) | func (c *Core) GetCtx() context.Context { method GetInstance (line 48) | func (c *Core) GetInstance() *Box { method Start (line 52) | func (c *Core) Start(sbConfig []byte) error { method Stop (line 85) | func (c *Core) Stop() error { method IsRunning (line 95) | func (c *Core) IsRunning() bool { function NewCore (line 35) | func NewCore() *Core { FILE: core/outbound_check.go constant checkTimeout (line 10) | checkTimeout = 15 * time.Second type CheckOutboundResult (line 12) | type CheckOutboundResult struct function CheckOutbound (line 18) | func CheckOutbound(ctx context.Context, tag string, link string) (result... FILE: core/register.go function InboundRegistry (line 46) | func InboundRegistry() *inbound.Registry { function OutboundRegistry (line 73) | func OutboundRegistry() *outbound.Registry { function EndpointRegistry (line 102) | func EndpointRegistry() *endpoint.Registry { function DNSTransportRegistry (line 111) | func DNSTransportRegistry() *dns.TransportRegistry { function ServiceRegistry (line 130) | func ServiceRegistry() *service.Registry { FILE: core/register_naive.go function registerNaiveOutbound (line 10) | func registerNaiveOutbound(registry *outbound.Registry) { FILE: core/register_naive_stub.go function registerNaiveOutbound (line 10) | func registerNaiveOutbound(registry *outbound.Registry) { FILE: core/tracker_conn.go type ConnectionInfo (line 13) | type ConnectionInfo struct type ConnTracker (line 21) | type ConnTracker struct method generateConnectionID (line 32) | func (c *ConnTracker) generateConnectionID() string { method RoutedConnection (line 36) | func (c *ConnTracker) RoutedConnection(ctx context.Context, conn net.C... method RoutedPacketConnection (line 50) | func (c *ConnTracker) RoutedPacketConnection(ctx context.Context, conn... method CloseConnByInbound (line 64) | func (c *ConnTracker) CloseConnByInbound(inbound string) int { method trackConnection (line 84) | func (c *ConnTracker) trackConnection(connID string, connInfo *Connect... method untrackConnection (line 90) | func (c *ConnTracker) untrackConnection(connID string) { method createWrappedConn (line 96) | func (c *ConnTracker) createWrappedConn(conn net.Conn, connID string) ... method createWrappedPacketConn (line 103) | func (c *ConnTracker) createWrappedPacketConn(conn network.PacketConn,... function NewConnTracker (line 26) | func NewConnTracker() *ConnTracker { type wrappedConn (line 110) | type wrappedConn struct method Close (line 115) | func (w *wrappedConn) Close() error { method Upstream (line 120) | func (w *wrappedConn) Upstream() any { type wrappedPacketConn (line 124) | type wrappedPacketConn struct method Close (line 129) | func (w *wrappedPacketConn) Close() error { method Upstream (line 134) | func (w *wrappedPacketConn) Upstream() any { FILE: core/tracker_stats.go type Counter (line 17) | type Counter struct type StatsTracker (line 22) | type StatsTracker struct method getReadCounters (line 37) | func (c *StatsTracker) getReadCounters(inbound string, outbound string... method loadOrCreateCounter (line 58) | func (c *StatsTracker) loadOrCreateCounter(obj *map[string]Counter, na... method RoutedConnection (line 68) | func (c *StatsTracker) RoutedConnection(ctx context.Context, conn net.... method RoutedPacketConnection (line 73) | func (c *StatsTracker) RoutedPacketConnection(ctx context.Context, con... method GetStats (line 78) | func (c *StatsTracker) GetStats() *[]model.Stats { function NewStatsTracker (line 29) | func NewStatsTracker() *StatsTracker { FILE: cronjob/WALCheckpointJob.go type WALCheckpointJob (line 8) | type WALCheckpointJob struct method Run (line 14) | func (s *WALCheckpointJob) Run() { function NewWALCheckpointJob (line 10) | func NewWALCheckpointJob() *WALCheckpointJob { FILE: cronjob/checkCoreJob.go type CheckCoreJob (line 7) | type CheckCoreJob struct method Run (line 15) | func (s *CheckCoreJob) Run() { function NewCheckCoreJob (line 11) | func NewCheckCoreJob() *CheckCoreJob { FILE: cronjob/cronJob.go type CronJob (line 9) | type CronJob struct method Start (line 17) | func (c *CronJob) Start(loc *time.Location, trafficAge int) error { method Stop (line 39) | func (c *CronJob) Stop() { function NewCronJob (line 13) | func NewCronJob() *CronJob { FILE: cronjob/delStatsJob.go type DelStatsJob (line 8) | type DelStatsJob struct method Run (line 19) | func (s *DelStatsJob) Run() { function NewDelStatsJob (line 13) | func NewDelStatsJob(ta int) *DelStatsJob { FILE: cronjob/depleteJob.go type DepleteJob (line 9) | type DepleteJob struct method Run (line 18) | func (s *DepleteJob) Run() { function NewDepleteJob (line 14) | func NewDepleteJob() *DepleteJob { FILE: cronjob/statsJob.go type StatsJob (line 8) | type StatsJob struct method Run (line 19) | func (s *StatsJob) Run() { function NewStatsJob (line 13) | func NewStatsJob(saveTraffic bool) *StatsJob { FILE: database/backup.go function GetDb (line 25) | func GetDb(exclude string) ([]byte, error) { function ImportDB (line 169) | func ImportDB(file multipart.File) error { function IsSQLiteDB (line 272) | func IsSQLiteDB(file io.Reader) (bool, error) { function SendSighup (line 282) | func SendSighup() error { FILE: database/db.go function initUser (line 19) | func initUser() error { function OpenDB (line 35) | func OpenDB(dbPath string) error { function InitDB (line 66) | func InitDB(dbPath string) error { function GetDB (line 105) | func GetDB() *gorm.DB { function IsNotFound (line 109) | func IsNotFound(err error) bool { FILE: database/model/endpoints.go type Endpoint (line 7) | type Endpoint struct method UnmarshalJSON (line 15) | func (o *Endpoint) UnmarshalJSON(data []byte) error { method MarshalJSON (line 40) | func (o Endpoint) MarshalJSON() ([]byte, error) { FILE: database/model/inbounds.go type Inbound (line 7) | type Inbound struct method UnmarshalJSON (line 21) | func (i *Inbound) UnmarshalJSON(data []byte) error { method MarshalJSON (line 60) | func (i Inbound) MarshalJSON() ([]byte, error) { method MarshalFull (line 83) | func (i Inbound) MarshalFull() (*map[string]interface{}, error) { FILE: database/model/model.go type Setting (line 5) | type Setting struct type Tls (line 11) | type Tls struct type User (line 18) | type User struct type Client (line 25) | type Client struct type Stats (line 48) | type Stats struct type Changes (line 57) | type Changes struct type Tokens (line 66) | type Tokens struct FILE: database/model/outbounds.go type Outbound (line 5) | type Outbound struct method UnmarshalJSON (line 12) | func (o *Outbound) UnmarshalJSON(data []byte) error { method MarshalJSON (line 35) | func (o Outbound) MarshalJSON() ([]byte, error) { FILE: database/model/services.go type Service (line 7) | type Service struct method UnmarshalJSON (line 19) | func (i *Service) UnmarshalJSON(data []byte) error { method MarshalJSON (line 49) | func (i Service) MarshalJSON() ([]byte, error) { method MarshalFull (line 72) | func (i Service) MarshalFull() (*map[string]interface{}, error) { FILE: logger/logger.go function InitLogger (line 20) | func InitLogger(level logging.Level) { function GetLogger (line 56) | func GetLogger() *logging.Logger { function Debug (line 60) | func Debug(args ...interface{}) { function Debugf (line 65) | func Debugf(format string, args ...interface{}) { function Info (line 70) | func Info(args ...interface{}) { function Infof (line 75) | func Infof(format string, args ...interface{}) { function Warning (line 80) | func Warning(args ...interface{}) { function Warningf (line 85) | func Warningf(format string, args ...interface{}) { function Error (line 90) | func Error(args ...interface{}) { function Errorf (line 95) | func Errorf(format string, args ...interface{}) { function addToBuffer (line 100) | func addToBuffer(level string, newLog string) { function GetLogs (line 118) | func GetLogs(c int, level string) []string { FILE: main.go function runApp (line 13) | func runApp() { function main (line 42) | func main() { FILE: middleware/domainValidator.go function DomainValidator (line 11) | func DomainValidator(domain string) gin.HandlerFunc { FILE: network/auto_https_conn.go type AutoHttpsConn (line 12) | type AutoHttpsConn struct method readRequest (line 27) | func (c *AutoHttpsConn) readRequest() bool { method Read (line 52) | func (c *AutoHttpsConn) Read(buf []byte) (int, error) { function NewAutoHttpsConn (line 21) | func NewAutoHttpsConn(conn net.Conn) net.Conn { FILE: network/auto_https_listener.go type AutoHttpsListener (line 5) | type AutoHttpsListener struct method Accept (line 15) | func (l *AutoHttpsListener) Accept() (net.Conn, error) { function NewAutoHttpsListener (line 9) | func NewAutoHttpsListener(listener net.Listener) net.Listener { FILE: service/client.go type ClientService (line 18) | type ClientService struct method Get (line 20) | func (s *ClientService) Get(id string) (*[]model.Client, error) { method getById (line 27) | func (s *ClientService) getById(id string) (*[]model.Client, error) { method GetAll (line 38) | func (s *ClientService) GetAll() (*[]model.Client, error) { method Save (line 50) | func (s *ClientService) Save(tx *gorm.DB, act string, data json.RawMes... method updateLinksWithFixedInbounds (line 173) | func (s *ClientService) updateLinksWithFixedInbounds(tx *gorm.DB, clie... method UpdateClientsOnInboundAdd (line 224) | func (s *ClientService) UpdateClientsOnInboundAdd(tx *gorm.DB, initIds... method UpdateClientsOnInboundDelete (line 274) | func (s *ClientService) UpdateClientsOnInboundDelete(tx *gorm.DB, id u... method UpdateLinksByInboundChange (line 321) | func (s *ClientService) UpdateLinksByInboundChange(tx *gorm.DB, inboun... method DepleteClients (line 367) | func (s *ClientService) DepleteClients() ([]uint, error) { method ResetClients (line 434) | func (s *ClientService) ResetClients(tx *gorm.DB, dt int64) ([]uint, e... method findInboundsChanges (line 517) | func (s *ClientService) findInboundsChanges(tx *gorm.DB, client *model... FILE: service/config.go type ConfigService (line 25) | type ConfigService struct method GetConfig (line 52) | func (s *ConfigService) GetConfig(data string) (*[]byte, error) { method StartCore (line 89) | func (s *ConfigService) StartCore() error { method RestartCore (line 128) | func (s *ConfigService) RestartCore() error { method restartCoreWithConfig (line 136) | func (s *ConfigService) restartCoreWithConfig(config json.RawMessage) ... method StopCore (line 169) | func (s *ConfigService) StopCore() error { method CheckOutbound (line 178) | func (s *ConfigService) CheckOutbound(tag string, link string) core.Ch... method Save (line 188) | func (s *ConfigService) Save(obj string, act string, data json.RawMess... method CheckChanges (line 263) | func (s *ConfigService) CheckChanges(lu string) (bool, error) { method GetChanges (line 281) | func (s *ConfigService) GetChanges(actor string, chngKey string, count... type SingBoxConfig (line 35) | type SingBoxConfig struct function NewConfigService (line 47) | func NewConfigService(core *core.Core) *ConfigService { FILE: service/endpoints.go type EndpointService (line 14) | type EndpointService struct method GetAll (line 18) | func (o *EndpointService) GetAll() (*[]map[string]interface{}, error) { method GetAllConfig (line 47) | func (o *EndpointService) GetAllConfig(db *gorm.DB) ([]json.RawMessage... method Save (line 64) | func (s *EndpointService) Save(tx *gorm.DB, act string, data json.RawM... FILE: service/inbounds.go type InboundService (line 17) | type InboundService struct method Get (line 21) | func (s *InboundService) Get(ids string) (*[]map[string]interface{}, e... method getById (line 28) | func (s *InboundService) getById(ids string) (*[]map[string]interface{... method GetAll (line 46) | func (s *InboundService) GetAll() (*[]map[string]interface{}, error) { method FromIds (line 93) | func (s *InboundService) FromIds(ids []uint) ([]*model.Inbound, error) { method Save (line 103) | func (s *InboundService) Save(tx *gorm.DB, act string, data json.RawMe... method UpdateOutJsons (line 204) | func (s *InboundService) UpdateOutJsons(tx *gorm.DB, inboundIds []uint... method GetAllConfig (line 224) | func (s *InboundService) GetAllConfig(db *gorm.DB) ([]json.RawMessage,... method hasUser (line 245) | func (s *InboundService) hasUser(inboundType string) bool { method fetchUsers (line 253) | func (s *InboundService) fetchUsers(db *gorm.DB, inboundType string, c... method addUsers (line 286) | func (s *InboundService) addUsers(db *gorm.DB, inboundJson []byte, inb... method initUsers (line 306) | func (s *InboundService) initUsers(db *gorm.DB, inboundJson []byte, cl... method RestartInbounds (line 331) | func (s *InboundService) RestartInbounds(tx *gorm.DB, ids []uint) error { FILE: service/outbounds.go type OutboundService (line 14) | type OutboundService struct method GetAll (line 16) | func (o *OutboundService) GetAll() (*[]map[string]interface{}, error) { method GetAllConfig (line 44) | func (o *OutboundService) GetAllConfig(db *gorm.DB) ([]json.RawMessage... method Save (line 61) | func (s *OutboundService) Save(tx *gorm.DB, act string, data json.RawM... FILE: service/panel.go type PanelService (line 12) | type PanelService struct method RestartPanel (line 15) | func (s *PanelService) RestartPanel(delay time.Duration) error { FILE: service/server.go type ServerService (line 25) | type ServerService struct method GetStatus (line 27) | func (s *ServerService) GetStatus(request string) *map[string]interfac... method GetCpuPercent (line 55) | func (s *ServerService) GetCpuPercent() float64 { method GetMemInfo (line 65) | func (s *ServerService) GetMemInfo() map[string]interface{} { method GetDiskInfo (line 77) | func (s *ServerService) GetDiskInfo() map[string]interface{} { method GetDiskIO (line 89) | func (s *ServerService) GetDiskIO() map[string]interface{} { method GetSwapInfo (line 108) | func (s *ServerService) GetSwapInfo() map[string]interface{} { method GetNetInfo (line 120) | func (s *ServerService) GetNetInfo() map[string]interface{} { method GetSingboxInfo (line 137) | func (s *ServerService) GetSingboxInfo() map[string]interface{} { method GetSystemInfo (line 155) | func (s *ServerService) GetSystemInfo() map[string]interface{} { method GetLogs (line 193) | func (s *ServerService) GetLogs(count string, level string) []string { method GenKeypair (line 201) | func (s *ServerService) GenKeypair(keyType string, options string) []s... method generateECHKeyPair (line 220) | func (s *ServerService) generateECHKeyPair(serverName string) []string { method generateTLSKeyPair (line 228) | func (s *ServerService) generateTLSKeyPair(serverName string) []string { method generateRealityKeyPair (line 236) | func (s *ServerService) generateRealityKeyPair() []string { method generateWireGuardKey (line 245) | func (s *ServerService) generateWireGuardKey(pk string) []string { method GetDatabaseInfo (line 257) | func (s *ServerService) GetDatabaseInfo() map[string]int64 { FILE: service/services.go type ServicesService (line 14) | type ServicesService struct method GetAll (line 16) | func (s *ServicesService) GetAll() (*[]map[string]interface{}, error) { method GetAllConfig (line 46) | func (s *ServicesService) GetAllConfig(db *gorm.DB) ([]json.RawMessage... method Save (line 63) | func (s *ServicesService) Save(tx *gorm.DB, act string, data json.RawM... method RestartServices (line 129) | func (s *ServicesService) RestartServices(tx *gorm.DB, ids []uint) err... FILE: service/setting.go type SettingService (line 72) | type SettingService struct method GetAllSetting (line 75) | func (s *SettingService) GetAllSetting() (*map[string]string, error) { method ResetSettings (line 106) | func (s *SettingService) ResetSettings() error { method getSetting (line 111) | func (s *SettingService) getSetting(key string) (*model.Setting, error) { method getString (line 121) | func (s *SettingService) getString(key string) (string, error) { method saveSetting (line 135) | func (s *SettingService) saveSetting(key string, value string) error { method setString (line 151) | func (s *SettingService) setString(key string, value string) error { method getBool (line 155) | func (s *SettingService) getBool(key string) (bool, error) { method getInt (line 167) | func (s *SettingService) getInt(key string) (int, error) { method setInt (line 175) | func (s *SettingService) setInt(key string, value int) error { method GetListen (line 178) | func (s *SettingService) GetListen() (string, error) { method GetWebDomain (line 182) | func (s *SettingService) GetWebDomain() (string, error) { method GetPort (line 186) | func (s *SettingService) GetPort() (int, error) { method SetPort (line 190) | func (s *SettingService) SetPort(port int) error { method GetCertFile (line 194) | func (s *SettingService) GetCertFile() (string, error) { method GetKeyFile (line 198) | func (s *SettingService) GetKeyFile() (string, error) { method GetWebPath (line 202) | func (s *SettingService) GetWebPath() (string, error) { method SetWebPath (line 216) | func (s *SettingService) SetWebPath(webPath string) error { method GetSecret (line 226) | func (s *SettingService) GetSecret() ([]byte, error) { method GetSessionMaxAge (line 237) | func (s *SettingService) GetSessionMaxAge() (int, error) { method GetTrafficAge (line 241) | func (s *SettingService) GetTrafficAge() (int, error) { method GetTimeLocation (line 245) | func (s *SettingService) GetTimeLocation() (*time.Location, error) { method GetSubListen (line 262) | func (s *SettingService) GetSubListen() (string, error) { method GetSubPort (line 266) | func (s *SettingService) GetSubPort() (int, error) { method SetSubPort (line 270) | func (s *SettingService) SetSubPort(subPort int) error { method GetSubPath (line 274) | func (s *SettingService) GetSubPath() (string, error) { method SetSubPath (line 288) | func (s *SettingService) SetSubPath(subPath string) error { method GetSubDomain (line 298) | func (s *SettingService) GetSubDomain() (string, error) { method GetSubCertFile (line 302) | func (s *SettingService) GetSubCertFile() (string, error) { method GetSubKeyFile (line 306) | func (s *SettingService) GetSubKeyFile() (string, error) { method GetSubUpdates (line 310) | func (s *SettingService) GetSubUpdates() (int, error) { method GetSubEncode (line 314) | func (s *SettingService) GetSubEncode() (bool, error) { method GetSubShowInfo (line 318) | func (s *SettingService) GetSubShowInfo() (bool, error) { method GetSubURI (line 322) | func (s *SettingService) GetSubURI() (string, error) { method GetFinalSubURI (line 326) | func (s *SettingService) GetFinalSubURI(host string) (string, error) { method GetConfig (line 349) | func (s *SettingService) GetConfig() (string, error) { method SetConfig (line 353) | func (s *SettingService) SetConfig(config string) error { method SaveConfig (line 357) | func (s *SettingService) SaveConfig(tx *gorm.DB, config json.RawMessag... method Save (line 365) | func (s *SettingService) Save(tx *gorm.DB, data json.RawMessage) error { method GetSubJsonExt (line 410) | func (s *SettingService) GetSubJsonExt() (string, error) { method GetSubClashExt (line 414) | func (s *SettingService) GetSubClashExt() (string, error) { method fileExists (line 418) | func (s *SettingService) fileExists(path string) error { FILE: service/stats.go type onlines (line 13) | type onlines struct type StatsService (line 21) | type StatsService struct method SaveStats (line 24) | func (s *StatsService) SaveStats(enableTraffic bool) error { method GetStats (line 81) | func (s *StatsService) GetStats(resource string, tag string, limit int... method downsampleStats (line 104) | func (s *StatsService) downsampleStats(stats []model.Stats, maxRows in... method GetOnlines (line 147) | func (s *StatsService) GetOnlines() (onlines, error) { method DelOldStats (line 150) | func (s *StatsService) DelOldStats(days int) error { FILE: service/tls.go type TlsService (line 13) | type TlsService struct method GetAll (line 18) | func (s *TlsService) GetAll() ([]model.Tls, error) { method Save (line 29) | func (s *TlsService) Save(tx *gorm.DB, action string, data json.RawMes... FILE: service/user.go type UserService (line 13) | type UserService struct method GetFirstUser (line 16) | func (s *UserService) GetFirstUser() (*model.User, error) { method UpdateFirstUser (line 29) | func (s *UserService) UpdateFirstUser(username string, password string... method Login (line 50) | func (s *UserService) Login(username string, password string, remoteIP... method CheckUser (line 58) | func (s *UserService) CheckUser(username string, password string, remo... method GetUsers (line 83) | func (s *UserService) GetUsers() (*[]model.User, error) { method ChangePass (line 93) | func (s *UserService) ChangePass(id string, oldPass string, newUser st... method LoadTokens (line 105) | func (s *UserService) LoadTokens() ([]byte, error) { method GetUserTokens (line 124) | func (s *UserService) GetUserTokens(username string) (*[]model.Tokens,... method AddToken (line 135) | func (s *UserService) AddToken(username string, expiry int64, desc str... method DeleteToken (line 158) | func (s *UserService) DeleteToken(id string) error { FILE: service/warp.go type WarpService (line 21) | type WarpService struct method getWarpInfo (line 23) | func (s *WarpService) getWarpInfo(deviceId string, accessToken string)... method RegisterWarp (line 48) | func (s *WarpService) RegisterWarp(ep *model.Endpoint) error { method getReserved (line 154) | func (s *WarpService) getReserved(clientID string) []int { method SetWarpLicense (line 179) | func (s *WarpService) SetWarpLicense(old_license string, ep *model.End... FILE: sub/clashService.go type ClashService (line 13) | type ClashService struct method GetClash (line 64) | func (s *ClashService) GetClash(subId string) (*string, []string, erro... method getClashConfig (line 106) | func (s *ClashService) getClashConfig() (string, error) { method ConvertToClashMeta (line 115) | func (s *ClashService) ConvertToClashMeta(outbounds *[]map[string]inte... constant basicClashConfig (line 19) | basicClashConfig = `mixed-port: 7890 constant ProxyGroups (line 53) | ProxyGroups = `- name: Proxy FILE: sub/jsonService.go constant defaultJson (line 14) | defaultJson = ` type JsonService (line 46) | type JsonService struct method GetJson (line 51) | func (j *JsonService) GetJson(subId string, format string) (*string, [... method getData (line 98) | func (j *JsonService) getData(subId string) (*model.Client, []*model.I... method getOutbounds (line 118) | func (j *JsonService) getOutbounds(clientConfig json.RawMessage, inbou... method addDefaultOutbounds (line 224) | func (j *JsonService) addDefaultOutbounds(outbounds *[]map[string]inte... method addOthers (line 247) | func (j *JsonService) addOthers(jsonConfig *map[string]interface{}) er... method pushMixed (line 311) | func (j *JsonService) pushMixed(outbounds *[]map[string]interface{}, o... FILE: sub/linkService.go type Link (line 11) | type Link struct type LinkService (line 17) | type LinkService struct method GetLinks (line 20) | func (s *LinkService) GetLinks(linkJson *json.RawMessage, types string... method addClientInfo (line 43) | func (s *LinkService) addClientInfo(uri string, clientInfo string) str... FILE: sub/sub.go type Server (line 20) | type Server struct method initRouter (line 37) | func (s *Server) initRouter() (*gin.Engine, error) { method Start (line 68) | func (s *Server) Start() (err error) { method Stop (line 135) | func (s *Server) Stop() error { method GetCtx (line 153) | func (s *Server) GetCtx() context.Context { function NewServer (line 29) | func NewServer() *Server { FILE: sub/subHandler.go type SubHandler (line 10) | type SubHandler struct method initRouter (line 22) | func (s *SubHandler) initRouter(g *gin.RouterGroup) { method subs (line 27) | func (s *SubHandler) subs(c *gin.Context) { method subHeaders (line 59) | func (s *SubHandler) subHeaders(c *gin.Context) { method addHeaders (line 74) | func (s *SubHandler) addHeaders(c *gin.Context, headers []string) { function NewSubHandler (line 17) | func NewSubHandler(g *gin.RouterGroup) { FILE: sub/subService.go type SubService (line 15) | type SubService struct method GetSubs (line 20) | func (s *SubService) GetSubs(subId string) (*string, []string, error) { method getClientBySubId (line 47) | func (j *SubService) getClientBySubId(subId string) (*model.Client, er... method getClientHeaders (line 57) | func (s *SubService) getClientHeaders(client *model.Client) []string { method getClientInfo (line 62) | func (s *SubService) getClientInfo(c *model.Client) string { method formatTraffic (line 79) | func (s *SubService) formatTraffic(trafficBytes int64) string { FILE: util/base64.go function StrOrBase64Encoded (line 6) | func StrOrBase64Encoded(str string) string { function B64StrToByte (line 14) | func B64StrToByte(str string) ([]byte, error) { function ByteToB64Str (line 18) | func ByteToB64Str(b []byte) string { FILE: util/common/array.go function UnionUintArray (line 4) | func UnionUintArray(a []uint, b []uint) []uint { function DiffUintArray (line 21) | func DiffUintArray(a []uint, b []uint) []uint { FILE: util/common/err.go function NewErrorf (line 10) | func NewErrorf(format string, a ...interface{}) error { function NewError (line 15) | func NewError(a ...interface{}) error { function Recover (line 20) | func Recover(msg string) interface{} { FILE: util/common/random.go function Random (line 22) | func Random(n int) string { function RandomInt (line 42) | func RandomInt(n int) int { FILE: util/genLink.go type LinkParam (line 16) | type LinkParam struct function LinkGenerator (line 21) | func LinkGenerator(clientConfig json.RawMessage, i *model.Inbound, hostn... function prepareTls (line 104) | func prepareTls(t *model.Tls) map[string]interface{} { function socksLink (line 130) | func socksLink(userConfig map[string]interface{}, addrs []map[string]int... function httpLink (line 138) | func httpLink(userConfig map[string]interface{}, addrs []map[string]inte... function shadowsocksLink (line 150) | func shadowsocksLink( function naiveLink (line 179) | func naiveLink( function hysteriaLink (line 221) | func hysteriaLink( function hysteria2Link (line 271) | func hysteria2Link( function anytlsLink (line 324) | func anytlsLink( function tuicLink (line 346) | func tuicLink( function vlessLink (line 373) | func vlessLink( function trojanLink (line 400) | func trojanLink( function vmessLink (line 423) | func vmessLink( function populateVmessTlsParams (line 488) | func populateVmessTlsParams(obj map[string]interface{}, tlsConfig interf... function toBase64 (line 512) | func toBase64(d []byte) string { function addParams (line 516) | func addParams(uri string, params []LinkParam, remark string) string { function getTransportParams (line 532) | func getTransportParams(t interface{}) []LinkParam { function getTlsParams (line 582) | func getTlsParams(params *[]LinkParam, tls map[string]interface{}, insec... FILE: util/linkToJson.go function GetOutbound (line 14) | func GetOutbound(uri string, i int) (*map[string]interface{}, string, er... function vmess (line 41) | func vmess(data string, i int) (*map[string]interface{}, string, error) { function vless (line 138) | func vless(u *url.URL, i int) (*map[string]interface{}, string, error) { function trojan (line 168) | func trojan(u *url.URL, i int) (*map[string]interface{}, string, error) { function hy (line 197) | func hy(u *url.URL, i int) (*map[string]interface{}, string, error) { function hy2 (line 242) | func hy2(u *url.URL, i int) (*map[string]interface{}, string, error) { function anytls (line 293) | func anytls(u *url.URL, i int) (*map[string]interface{}, string, error) { function tuic (line 321) | func tuic(u *url.URL, i int) (*map[string]interface{}, string, error) { function ss (line 353) | func ss(u *url.URL, i int) (*map[string]interface{}, string, error) { function parseNaiveLink (line 413) | func parseNaiveLink(u *url.URL, i int) (*map[string]interface{}, string,... function getTransport (line 494) | func getTransport(tp_type string, q *url.Values) map[string]interface{} { function getTls (line 534) | func getTls(security string, q *url.Values) map[string]interface{} { FILE: util/outJson.go function FillOutJson (line 12) | func FillOutJson(i *model.Inbound, hostname string) error { function addTls (line 78) | func addTls(out *map[string]interface{}, tls *model.Tls) { function naiveOut (line 129) | func naiveOut(out *map[string]interface{}, inbound map[string]interface{... function shadowsocksOut (line 144) | func shadowsocksOut(out *map[string]interface{}, inbound map[string]inte... function shadowTlsOut (line 150) | func shadowTlsOut(out *map[string]interface{}, inbound map[string]interf... function hysteriaOut (line 161) | func hysteriaOut(out *map[string]interface{}, inbound map[string]interfa... function hysteria2Out (line 185) | func hysteria2Out(out *map[string]interface{}, inbound map[string]interf... function tuicOut (line 201) | func tuicOut(out *map[string]interface{}, inbound map[string]interface{}) { function vlessOut (line 217) | func vlessOut(out *map[string]interface{}, inbound map[string]interface{... function trojanOut (line 224) | func trojanOut(out *map[string]interface{}, inbound map[string]interface... function vmessOut (line 231) | func vmessOut(out *map[string]interface{}, inbound map[string]interface{... FILE: util/subInfo.go function GetHeaders (line 9) | func GetHeaders(client *model.Client, updateInterval int) []string { FILE: util/subToJson.go function GetExternalLink (line 14) | func GetExternalLink(url string) string { function GetExternalSub (line 38) | func GetExternalSub(url string) ([]map[string]interface{}, error) { FILE: web/web.go type Server (line 31) | type Server struct method initRouter (line 47) | func (s *Server) initRouter() (*gin.Engine, error) { method Start (line 137) | func (s *Server) Start() (err error) { method Stop (line 202) | func (s *Server) Stop() error { method GetCtx (line 220) | func (s *Server) GetCtx() context.Context { function NewServer (line 39) | func NewServer() *Server {