v1.0.0

API 型別

最後更新

本頁列出套件 golangIPSentry 匯出的型別,區分呼叫端使用的主要型別與只供內部使用的型別。

主要型別

type IPGuardian struct {
    Context  context.Context
    Config   *Config
    Redis    *redis.Client
    Logger   *Logger
    GeoLite2 *GeoLite2
    Manager  *Manager
}

type IPGuardianResult struct {
    Success    bool   `json:"success"`
    StatusCode int    `json:"status_code"`
    Error      string `json:"error"`
}

type IPItem struct {
    IP      string `json:"ip"`
    Reason  string `json:"reason"`
    AddedAt int64  `json:"added_at"`
    Count   int    `json:"count,omitempty"`
    Last    int64  `json:"last,omitempty"`
}
型別 說明
Config、Redis、Filepath、EmailConfig 設定,見 設定
Parameter 門檻與分數,見 參數
Log goLogger.Log 的別名
Logger goLogger.Logger 的別名,IPGuardian.Logger 可直接用來寫日誌
IPItem 名單檔與 Redis 中每筆名單的格式;Count/Last 只在 Block 使用

內部使用的匯出型別

下列型別匯出但沒有任何公開函式回傳或接收,屬實作細節,版本間可能變動:

型別 用途
Device、IS、IP getDevice 解析出的裝置、名單狀態與 IP 資訊
ScoreItem 單次評分結果(IsBlock、IsSuspicious、IsDangerous、Flag、Score、Detail、Timestamp)
RiskScore 各維度累積的 Base 分數與 Detail
BasicItem calcBasic 的關聯集合設定(欄位皆未匯出)
ScoreTask、ScoreResult 目前未使用
GeoLite2 GeoLite2 讀取器與快取(IPGuardian.GeoLite2,停用時為 nil)
GeoLite2Config 目前未使用;路徑改由 Filepath 設定
Location GeoLite2 查詢結果(國家、城市、時區、經緯度、精度半徑)

函式與方法見 API 參考。

EN