Files
archived-MoviePilot-Plugins/plugins.v2/clashruleprovider/models/proxy/hysteria2proxy.py
wumode 8a738b7684 refactor: ClashRuleProvider
- 优化插件目录结构和数据结构, 解耦API层和服务层
- 添加了一些Pydantic模型, 用于校验配置
- 支持独立的订阅链接配置
- 新增覆写代理组和出站代理操作
- 支持 smart 组和代理集合
- 代理组回环检测
- 使用异步调度器
- 显示规则更改日期
- 完善了对嵌套逻辑规则和子规则的配置和验证
2025-09-30 00:54:24 +08:00

27 lines
1.1 KiB
Python

from typing import Optional, Literal
from pydantic import Field
from .proxybase import ProxyBase
class Hysteria2Proxy(ProxyBase):
type: Literal['hysteria2'] = 'hysteria2'
password: Optional[str] = None
obfs: Optional[Literal['salamander']] = None
obfs_password: Optional[str] = Field(None, alias='obfs-password')
up: Optional[str] = None
down: Optional[str] = None
hop_interval: Optional[int] = Field(None, alias='hop-interval')
ca: Optional[str] = None
ca_str: Optional[str] = Field(None, alias='ca-str')
cwnd: Optional[int] = None
udp_mtu: Optional[int] = Field(None, alias='udp-mtu')
ports: Optional[str] = None
# QUIC-GO 特殊配置
initial_stream_receive_window: Optional[int] = Field(None, alias='initial-stream-receive-window')
max_stream_receive_window: Optional[int] = Field(None, alias='max-stream-receive-window')
initial_connection_receive_window: Optional[int] = Field(None, alias='initial-connection-receive-window')
max_connection_receive_window: Optional[int] = Field(None, alias='max-connection-receive-window')