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

22 lines
650 B
Python

from typing import Optional, Literal
from pydantic import BaseModel, Field
from .proxybase import ProxyBase
from .tlsmixin import TLSMixin
from .networkmixin import NetworkMixin
class TrojanSSOption(BaseModel):
enabled: Optional[bool] = None
method: Optional[Literal['aes-128-gcm', 'aes-256-gcm', 'chacha20-ietf-poly1305']] = None
password: Optional[str] = None
class TrojanProxy(ProxyBase, TLSMixin, NetworkMixin):
type: Literal['trojan'] = 'trojan'
password: str
ss_opts: Optional[TrojanSSOption] = Field(None, alias='ss-opts')
network: Optional[Literal['tcp', 'grpc', 'ws']] = None
tls: Optional[bool] = True