| from typing import List
|
| from app.models import SourceConfig, SourceType
|
|
|
|
|
| class SourceRegistry:
|
| """
|
| Registry of auto-updated GitHub proxy list sources.
|
| These repositories auto-update daily/hourly with fresh proxies.
|
| """
|
|
|
| SOURCES: List[SourceConfig] = [
|
| SourceConfig(
|
| url="https://raw.githubusercontent.com/TheSpeedX/PROXY-List/master/http.txt",
|
| type=SourceType.GITHUB_RAW,
|
| enabled=True,
|
| ),
|
| SourceConfig(
|
| url="https://raw.githubusercontent.com/proxifly/free-proxy-list/main/proxies/protocols/http/data.txt",
|
| type=SourceType.GITHUB_RAW,
|
| enabled=True,
|
| ),
|
| SourceConfig(
|
| url="https://raw.githubusercontent.com/roosterkid/openproxylist/main/HTTPS_RAW.txt",
|
| type=SourceType.GITHUB_RAW,
|
| enabled=True,
|
| ),
|
| SourceConfig(
|
| url="https://raw.githubusercontent.com/mmpx12/proxy-list/master/http.txt",
|
| type=SourceType.GITHUB_RAW,
|
| enabled=True,
|
| ),
|
| SourceConfig(
|
| url="https://raw.githubusercontent.com/mmpx12/proxy-list/master/https.txt",
|
| type=SourceType.GITHUB_RAW,
|
| enabled=True,
|
| ),
|
|
|
| SourceConfig(
|
| url="https://raw.githubusercontent.com/vorz1k/v2box/main/supreme_vpns_1.txt",
|
| type=SourceType.SUBSCRIPTION_BASE64,
|
| enabled=True,
|
| ),
|
| SourceConfig(
|
| url="https://raw.githubusercontent.com/Sage-77/V2ray-configs/main/vmess.txt",
|
| type=SourceType.SUBSCRIPTION_BASE64,
|
| enabled=True,
|
| ),
|
| SourceConfig(
|
| url="https://raw.githubusercontent.com/Sage-77/V2ray-configs/main/vless.txt",
|
| type=SourceType.SUBSCRIPTION_BASE64,
|
| enabled=True,
|
| ),
|
| SourceConfig(
|
| url="https://raw.githubusercontent.com/Sage-77/V2ray-configs/main/trojan.txt",
|
| type=SourceType.SUBSCRIPTION_BASE64,
|
| enabled=True,
|
| ),
|
| SourceConfig(
|
| url="https://raw.githubusercontent.com/Sage-77/V2ray-configs/main/ss.txt",
|
| type=SourceType.SUBSCRIPTION_BASE64,
|
| enabled=True,
|
| ),
|
| SourceConfig(
|
| url="https://raw.githubusercontent.com/Sage-77/V2ray-configs/main/config.txt",
|
| type=SourceType.SUBSCRIPTION_BASE64,
|
| enabled=True,
|
| ),
|
| SourceConfig(
|
| url="https://raw.githubusercontent.com/Zaeem20/FREE_PROXIES_LIST/master/http.txt",
|
| type=SourceType.GITHUB_RAW,
|
| enabled=True,
|
| ),
|
| SourceConfig(
|
| url="https://raw.githubusercontent.com/TopChina/proxy-list/main/http.txt",
|
| type=SourceType.GITHUB_RAW,
|
| enabled=True,
|
| ),
|
| SourceConfig(
|
| url="https://raw.githubusercontent.com/officialputuid/KangProxy/KangProxy/http/http.txt",
|
| type=SourceType.GITHUB_RAW,
|
| enabled=True,
|
| ),
|
| SourceConfig(
|
| url="https://raw.githubusercontent.com/gfpcom/free-proxy-list/main/http.txt",
|
| type=SourceType.GITHUB_RAW,
|
| enabled=True,
|
| ),
|
| SourceConfig(
|
| url="https://raw.githubusercontent.com/monosans/proxy-list/main/proxies/http.txt",
|
| type=SourceType.GITHUB_RAW,
|
| enabled=True,
|
| ),
|
| SourceConfig(
|
| url="https://raw.githubusercontent.com/monosans/proxy-list/main/proxies_anonymous/http.txt",
|
| type=SourceType.GITHUB_RAW,
|
| enabled=True,
|
| ),
|
| SourceConfig(
|
| url="https://raw.githubusercontent.com/zloi-user/hideip.me/main/http.txt",
|
| type=SourceType.GITHUB_RAW,
|
| enabled=True,
|
| ),
|
| ]
|
|
|
| @classmethod
|
| def get_enabled_sources(cls) -> List[SourceConfig]:
|
| return [source for source in cls.SOURCES if source.enabled]
|
|
|
| @classmethod
|
| def get_all_sources(cls) -> List[SourceConfig]:
|
| return cls.SOURCES
|
|
|