model

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 23, 2026 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CheckRecord

type CheckRecord struct {
	ProxyURL       string   `json:"proxy_url"`
	CheckedAtUTC   string   `json:"checked_at_utc"`
	Mode           string   `json:"mode"`
	AttemptRounds  int      `json:"attempt_rounds"`
	PassCount      int      `json:"pass_count"`
	ChecksTotal    int      `json:"checks_total"`
	AvgLatencyMS   float64  `json:"avg_latency_ms"`
	P95LatencyMS   float64  `json:"p95_latency_ms"`
	SuccessTargets []string `json:"success_targets"`
	FailedTargets  []string `json:"failed_targets"`
	ExitIP         string   `json:"exit_ip"`
	LocalIP        string   `json:"local_ip"`
	Anonymous      bool     `json:"anonymous"`
	HeaderLeaks    []string `json:"header_leaks"`
	Stable         bool     `json:"stable"`
	Score          float64  `json:"score"`
	Tier           string   `json:"tier"`
	Status         string   `json:"status"`
	StatusReason   string   `json:"status_reason,omitempty"`
	RejectionStage string   `json:"rejection_stage,omitempty"`
	SourceHits     int      `json:"source_hits"`
}

type CheckReport

type CheckReport struct {
	StartedAtUTC         string         `json:"started_at_utc"`
	FinishedAtUTC        string         `json:"finished_at_utc"`
	DurationSeconds      float64        `json:"duration_seconds"`
	Mode                 string         `json:"mode"`
	AdaptiveTriggered    bool           `json:"adaptive_triggered"`
	InputCount           int            `json:"input_count"`
	EvaluatedCount       int            `json:"evaluated_count"`
	HealthyCount         int            `json:"healthy_count"`
	RejectedCount        int            `json:"rejected_count"`
	StrictHealthyCount   int            `json:"strict_healthy_count"`
	AdaptiveHealthyCount int            `json:"adaptive_healthy_count"`
	StatusBreakdown      map[string]int `json:"status_breakdown"`
	ReasonsBreakdown     map[string]int `json:"reasons_breakdown"`
	TierBreakdown        map[string]int `json:"tier_breakdown"`
	ProtocolBreakdown    map[string]int `json:"protocol_breakdown"`
	LocalIP              string         `json:"local_ip"`
}

type HarvestReport

type HarvestReport struct {
	StartedAtUTC      string                  `json:"started_at_utc"`
	FinishedAtUTC     string                  `json:"finished_at_utc"`
	DurationSeconds   float64                 `json:"duration_seconds"`
	TotalSources      int                     `json:"total_sources"`
	SuccessfulSources int                     `json:"successful_sources"`
	FetchedLines      int                     `json:"fetched_lines"`
	UniqueProxies     int                     `json:"unique_proxies"`
	PrefilterPassed   int                     `json:"prefilter_passed"`
	UsedCacheFallback bool                    `json:"used_cache_fallback"`
	ProtocolCounts    map[string]int          `json:"protocol_counts"`
	SourceHealth      map[string]SourceHealth `json:"source_health"`
}

type ProxyRecord

type ProxyRecord struct {
	ProxyURL             string   `json:"proxy_url"`
	Scheme               string   `json:"scheme"`
	Host                 string   `json:"host"`
	Port                 int      `json:"port"`
	Sources              []string `json:"sources"`
	SourceHits           int      `json:"source_hits"`
	SourceScore          float64  `json:"source_score"`
	FirstSeenUTC         string   `json:"first_seen_utc"`
	LastSeenUTC          string   `json:"last_seen_utc"`
	PrefilterOK          bool     `json:"prefilter_ok"`
	PrefilterLatency     float64  `json:"prefilter_latency_ms"`
	PrefilterPassCount   int      `json:"prefilter_pass_count"`
	PrefilterChecksTotal int      `json:"prefilter_checks_total"`
	PrefilterReason      string   `json:"prefilter_reason,omitempty"`
}

type SourceHealth

type SourceHealth struct {
	SourceURL            string    `json:"source_url"`
	SourceName           string    `json:"source_name,omitempty"`
	Provider             string    `json:"provider,omitempty"`
	SuccessRate          float64   `json:"success_rate"`
	LastSuccessUTC       string    `json:"last_success_utc,omitempty"`
	ConsecutiveFailures  int       `json:"consecutive_failures"`
	AvgFetchMS           float64   `json:"avg_fetch_ms"`
	Weight               float64   `json:"weight"`
	Attempts             int       `json:"attempts"`
	SuccessfulFetchCount int       `json:"successful_fetch_count"`
	UpdatedAtUTC         string    `json:"updated_at_utc"`
	UpdatedAt            time.Time `json:"-"`
}

type SourceSpec

type SourceSpec struct {
	Name     string `json:"name"`
	Protocol string `json:"protocol"`
	URL      string `json:"url"`
	Provider string `json:"provider"`
}

type Target

type Target struct {
	Name string `json:"name"`
	URL  string `json:"url"`
	Kind string `json:"kind"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL