opt
This commit is contained in:
@@ -19,12 +19,13 @@ class SourceConfig(BaseModel):
|
||||
|
||||
|
||||
class RuleConfig(BaseModel):
|
||||
file: str
|
||||
file: str | None = None
|
||||
behavior: Literal["domain", "ipcidr", "classical"] = "domain"
|
||||
format: Literal["yaml", "text", "mrs"] = "yaml"
|
||||
interval: int = 86400
|
||||
policy: str
|
||||
no_resolve: bool = False
|
||||
payload: list[str] = Field(default_factory=list)
|
||||
|
||||
|
||||
class RegionConfig(BaseModel):
|
||||
@@ -33,13 +34,23 @@ class RegionConfig(BaseModel):
|
||||
tolerance: int = 50
|
||||
|
||||
|
||||
class ProxyGroupConfig(BaseModel):
|
||||
name: str
|
||||
type: Literal["select", "url-test"] = "select"
|
||||
proxies: list[str] = Field(default_factory=list)
|
||||
filter: str | None = None
|
||||
tolerance: int | None = None
|
||||
url: HttpUrl | None = None
|
||||
interval: int | None = None
|
||||
|
||||
|
||||
class ClientConfig(BaseModel):
|
||||
title: str
|
||||
provider_interval: int = 21600
|
||||
rule_interval: int = 86400
|
||||
test_url: HttpUrl = "https://www.gstatic.com/generate_204"
|
||||
test_interval: int = 300
|
||||
main_policy: str = "节点选择"
|
||||
main_policy: str = "🚀 节点选择"
|
||||
source_policy: str = "☁️ 机场选择"
|
||||
mixed_auto_policy: str = "♻️ 自动选择"
|
||||
manual_policy: str = "🚀 手动切换"
|
||||
@@ -58,6 +69,8 @@ class AppConfig(BaseModel):
|
||||
rules: dict[str, RuleConfig] = Field(default_factory=dict)
|
||||
clients: dict[str, ClientConfig] = Field(default_factory=dict)
|
||||
regions: dict[str, RegionConfig] = Field(default_factory=dict)
|
||||
selector_groups: list[ProxyGroupConfig] = Field(default_factory=list)
|
||||
policy_groups: list[ProxyGroupConfig] = Field(default_factory=list)
|
||||
|
||||
|
||||
class FetchResult(BaseModel):
|
||||
|
||||
Reference in New Issue
Block a user