Files
archived-MoviePilot-Plugins/plugins.v2/clashruleprovider/models/proxy/__init__.py

49 lines
1.2 KiB
Python

from typing import Union
from pydantic import Field, RootModel
from .anytlsproxy import AnyTLSProxy
from .directproxy import DirectProxy
from .dnsproxy import DnsProxy
from .httpproxy import HttpProxy
from .hysteriaproxy import HysteriaProxy
from .hysteria2proxy import Hysteria2Proxy
from .mieruproxy import MieruProxy
from .networkmixin import NetworkMixin
from .proxybase import ProxyBase
from .shadowsocksproxy import ShadowsocksProxy
from .shadowsocksrproxy import ShadowsocksRProxy
from .snellproxy import SnellProxy
from .socks5proxy import Socks5Proxy
from .sshproxy import SshProxy
from .tlsmixin import TLSMixin
from .trojanproxy import TrojanProxy
from .tuicproxy import TuicProxy
from .vlessproxy import VlessProxy
from .vmessproxy import VmessProxy
from .wireguardproxy import WireGuardProxy
ProxyType = Union[
AnyTLSProxy,
DirectProxy,
DnsProxy,
HttpProxy,
HysteriaProxy,
Hysteria2Proxy,
MieruProxy,
ShadowsocksProxy,
ShadowsocksRProxy,
SnellProxy,
Socks5Proxy,
SshProxy,
TrojanProxy,
TuicProxy,
VlessProxy,
VmessProxy,
WireGuardProxy,
]
class Proxy(RootModel[ProxyType]):
root: ProxyType = Field(..., discriminator="type")