Versions in this module Expand all Collapse all v1 v1.0.0 Feb 3, 2026 Changes in this version + const DefaultTheme + const ThemeAuto + const ThemeDark + const ThemeLight + var EmbeddedFS embed.FS + var ErrInvalidToken = fmt.Errorf("invalid token format") + var ErrNoAccess = fmt.Errorf("no access to requested resource") + func Chain(h http.Handler, middlewares ...func(http.Handler) http.Handler) http.Handler + func CheckPIDFile(pidPath string) (bool, int, error) + func GetStaticFile(path string) ([]byte, error) + func GetTheme(r *http.Request) string + func GetThemeClass(theme string) string + func GetTokenFromContext(r *http.Request) string + func IsValidTheme(theme string) bool + func PathSecurityMiddleware(next http.Handler) http.Handler + func PrintBanner(info *BannerInfo) + func SetTheme(w http.ResponseWriter, theme string) + func StaticFileServer() http.Handler + func URLNormalizeMiddleware(next http.Handler) http.Handler + type Announcement struct + Dismissible bool + ID string + Message string + Title string + Type string + type AuthPageData struct + Email string + Error string + RequireEmail bool + SSOProviders []SSOProvider + Success string + Username string + type BannerInfo struct + AppName string + Debug bool + HTTPAddr string + HTTPPort int + HTTPSAddr string + HTTPSPort int + I2PAddr string + IsHTTPS bool + ListenAddr string + Mode string + TorAddr string + Version string + func BuildBannerInfo(cfg *config.Config, torAddr string) *BannerInfo + type BuildInfo struct + Commit string + Date string + type CSRFMiddleware struct + func NewCSRFMiddleware(cfg *config.Config) *CSRFMiddleware + func (c *CSRFMiddleware) GenerateToken() string + func (c *CSRFMiddleware) Protect(next http.Handler) http.Handler + func (c *CSRFMiddleware) SetLogManager(logMgr *logging.Manager) + func (c *CSRFMiddleware) ValidateToken(r *http.Request) bool + type ClusterInfo struct + Enabled bool + NodeCount int + Nodes []string + Primary string + Role string + Status string + type ContactPageData struct + CaptchaA int + CaptchaB int + CaptchaID string + ContactError string + ContactSent bool + type CookieConsentData struct + Enabled bool + Message string + PolicyURL string + type DirectAnswerPageData struct + Answer *direct.Answer + type ErrorPageData struct + ErrorCode int + ErrorDetails string + ErrorMessage string + ErrorTitle string + type FlashMessage struct + Message string + Type string + type HealthFeatures struct + GeoIP bool + Metrics bool + MultiUser bool + Organizations bool + Tor *TorFeature + type HealthInfo struct + Build *BuildInfo + Checks map[string]string + Cluster *ClusterInfo + Features *HealthFeatures + GoVersion string + Maintenance *MaintenanceInfo + Mode string + Node *NodeInfo + PendingRestart bool + Project *ProjectInfo + RestartReason []string + Stats *HealthStats + Status string + System *SystemInfo + Timestamp string + Uptime string + Version string + type HealthPageData struct + Health *HealthInfo + type HealthStats struct + ActiveConnections int + Requests24h int64 + RequestsTotal int64 + type LogEntry struct + Fields map[string]interface{} + File string + Level string + Line int + Message string + Timestamp time.Time + type LogLevel int + const LevelDebug + const LevelError + const LevelFatal + const LevelInfo + const LevelWarn + func ParseLogLevel(s string) LogLevel + func (l LogLevel) String() string + type Logger struct + func NewLogger(cfg *config.Config) *Logger + func (l *Logger) Close() error + func (l *Logger) Debug(msg string, args ...interface{}) + func (l *Logger) Error(msg string, args ...interface{}) + func (l *Logger) Fatal(msg string, args ...interface{}) + func (l *Logger) Info(msg string, args ...interface{}) + func (l *Logger) RequestLogger(method, path, ip string, status int, latency time.Duration) + func (l *Logger) Rotate() error + func (l *Logger) SetLevel(level LogLevel) + func (l *Logger) Warn(msg string, args ...interface{}) + func (l *Logger) WithField(key string, value interface{}) *Logger + func (l *Logger) WithFields(fields map[string]interface{}) *Logger + type MaintenanceHandler interface + GetMessage func() string + GetMode func() int + IsInMaintenance func() bool + type MaintenanceInfo struct + Message string + Reason string + Since string + type Metrics struct + func NewMetrics(cfg *config.Config) *Metrics + func (m *Metrics) AuthenticatedHandler() http.HandlerFunc + func (m *Metrics) GetActiveConnections() int64 + func (m *Metrics) GetTotalRequests() int64 + func (m *Metrics) Handler() http.Handler + func (m *Metrics) MetricsMiddleware(next http.Handler) http.Handler + func (m *Metrics) RecordAuthAttempt(method, status string) + func (m *Metrics) RecordCacheHit(cache string) + func (m *Metrics) RecordCacheMiss(cache string) + func (m *Metrics) RecordDBError(operation, errorType string) + func (m *Metrics) RecordDBQuery(operation, table string, duration time.Duration) + func (m *Metrics) RecordEngineError(engine string) + func (m *Metrics) RecordEngineRequest(engine string) + func (m *Metrics) RecordRequest(method, path string, statusCode int, duration time.Duration, ...) + func (m *Metrics) RecordSchedulerTask(task, status string, duration time.Duration) + func (m *Metrics) RecordSearch(category string, duration time.Duration) + func (m *Metrics) SetActiveRequests(n int) + func (m *Metrics) SetActiveSessions(n int) + func (m *Metrics) SetCacheStats(cache string, size int, bytes int64) + func (m *Metrics) SetDBConnections(open, inUse int) + func (m *Metrics) SetUserCounts(total, active int) + type Middleware struct + func NewMiddleware(cfg *config.Config, logMgr *logging.Manager) *Middleware + func (m *Middleware) CORS(next http.Handler) http.Handler + func (m *Middleware) Compress(next http.Handler) http.Handler + func (m *Middleware) ContextMiddleware(adminPath string) func(http.Handler) http.Handler + func (m *Middleware) DegradedMode(handler MaintenanceHandler) func(http.Handler) http.Handler + func (m *Middleware) GeoBlock(lookup *geoip.Lookup) func(http.Handler) http.Handler + func (m *Middleware) Logger(next http.Handler) http.Handler + func (m *Middleware) MaintenanceMode(handler MaintenanceHandler) func(http.Handler) http.Handler + func (m *Middleware) RateLimit(limiter *RateLimiter) func(http.Handler) http.Handler + func (m *Middleware) Recovery(next http.Handler) http.Handler + func (m *Middleware) RequestID(next http.Handler) http.Handler + func (m *Middleware) SecurityHeaders(next http.Handler) http.Handler + func (m *Middleware) TokenValidationMiddleware(adminPath string) func(http.Handler) http.Handler + type NodeInfo struct + Hostname string + ID string + type OpenSearchDescription struct + Contact string + Description string + Image *OpenSearchImage + InputEncoding string + LongName string + OutputEncoding string + ShortName string + Tags string + URLs []OpenSearchURL + XMLNS string + XMLName xml.Name + type OpenSearchImage struct + Height int + Type string + URL string + Width int + type OpenSearchURL struct + Method string + Rel string + Template string + Type string + type PageData struct + AdminPath string + Announcements []Announcement + BuildDate string + CSRF string + CSRFToken string + Category string + Config *config.Config + CookieConsent *CookieConsentData + Data interface{} + DefaultWidgets string + Description string + Dir string + Extra map[string]interface{} + Flash *FlashMessage + Lang string + Page string + Query string + Theme string + Title string + TorAddress string + TorEnabled bool + TorStatus string + User interface{} + WidgetsEnabled bool + func NewPageData(cfg *config.Config, title, page string) *PageData + type Pagination struct + CurrentPage int + HasNext bool + HasPrev bool + TotalPages int + type ProjectInfo struct + Description string + Name string + Tagline string + type RateLimiter struct + func NewRateLimiter(cfg *config.RateLimitConfig) *RateLimiter + func (rl *RateLimiter) Allow(ip string) bool + type RequestContext struct + Name string + Type TargetType + func GetRequestContext(r *http.Request) *RequestContext + type SSLManager struct + func NewSSLManager(cfg *config.Config) *SSLManager + func (m *SSLManager) GetCertificatePaths() (certFile, keyFile string) + func (m *SSLManager) GetTLSConfig() (*tls.Config, error) + func (m *SSLManager) HasValidCertificate() bool + func (m *SSLManager) LogSSLStatus() + type SSOProvider struct + ID string + IconURL string + Name string + URL string + type SearchPageData struct + Category string + Error string + InstantAnswer interface{} + Pagination *Pagination + Query string + Results interface{} + SearchTime float64 + TotalResults int + type Server struct + func New(cfg *config.Config) *Server + func (s *Server) GetSchedulerTasks() []*scheduler.TaskInfo + func (s *Server) RunSchedulerTask(taskID string) error + func (s *Server) Shutdown(ctx context.Context) error + func (s *Server) Start() error + func (s *Server) UpdateConfig(cfg *config.Config) + type Session struct + CreatedAt time.Time + Data map[string]interface{} + ExpiresAt time.Time + ID string + IP string + LastSeen time.Time + UserAgent string + UserID string + type SessionDisplay struct + CreatedAt string + DeviceName string + ID int64 + IPAddress string + IsCurrent bool + LastUsed string + type SessionManager struct + func NewSessionManager(cfg *config.Config) *SessionManager + func (sm *SessionManager) ClearCookie(w http.ResponseWriter) + func (sm *SessionManager) Count() int + func (sm *SessionManager) Create(userID, ip, userAgent string) *Session + func (sm *SessionManager) Destroy(id string) + func (sm *SessionManager) Get(id string) (*Session, bool) + func (sm *SessionManager) GetFromRequest(r *http.Request) (*Session, bool) + func (sm *SessionManager) Refresh(id string) bool + func (sm *SessionManager) SetCookie(w http.ResponseWriter, session *Session) + type SystemInfo struct + GoVersion string + MemAlloc string + NumCPU int + NumGoroutine int + type TargetType int + const TargetAdmin + const TargetAdminServer + const TargetAuth + const TargetCurrentUser + const TargetOrg + const TargetPublic + const TargetServerPages + const TargetUnknown + const TargetUser + func (t TargetType) String() string + type TaskNotFoundError struct + Name string + func (e *TaskNotFoundError) Error() string + type TemplateNotFoundError struct + Name string + func (e *TemplateNotFoundError) Error() string + type TemplateRenderer struct + func NewTemplateRenderer(cfg *config.Config, i18nFuncs template.FuncMap) *TemplateRenderer + func (tr *TemplateRenderer) Render(w io.Writer, name string, data interface{}) error + type ThemeInfo struct + ClassName string + Current string + IsAuto bool + IsDark bool + IsLight bool + func GetThemeInfo(r *http.Request) ThemeInfo + type TokenDisplay struct + Expired bool + ExpiresAt string + ID int64 + LastUsed string + Name string + Permissions []string + Prefix string + type TokenInfo struct + OrgSlug string + OwnerID int64 + Prefix string + Scope string + Type TokenType + Username string + type TokenType int + const TokenTypeAdmin + const TokenTypeAdminAgt + const TokenTypeOrg + const TokenTypeOrgAgt + const TokenTypeUnknown + const TokenTypeUser + const TokenTypeUserAgt + func GetTokenTypeFromContext(r *http.Request) TokenType + type TorFeature struct + Enabled bool + Hostname string + Running bool + Status string + type TwoFactorPageData struct + Error string + RemainingKeys int + SessionID string + UseRecoveryKey bool + type UserPageData struct + CurrentSession int64 + Error string + RecoveryKeys []string + RecoveryStats *userpkg.RecoveryKeyStats + Sessions []SessionDisplay + Success string + Tokens []TokenDisplay + TwoFAEnabled bool + TwoFASetup *userpkg.TOTPSetupResponse + User *userpkg.User