Spaces:
Paused
Paused
| from typing import Dict, Tuple, Optional | |
| import random | |
| from mediaflow_proxy.speedtest.models import UserInfo | |
| from mediaflow_proxy.speedtest.providers.base import BaseSpeedTestProvider, SpeedTestProviderConfig | |
| class RealDebridSpeedTest(BaseSpeedTestProvider): | |
| """RealDebrid speed test provider implementation.""" | |
| async def get_test_urls(self) -> Tuple[Dict[str, str], Optional[UserInfo]]: | |
| urls = { | |
| "AMS": "https://45.download.real-debrid.com/speedtest/testDefault.rar/", | |
| "RBX": "https://rbx.download.real-debrid.com/speedtest/test.rar/", | |
| "LON1": "https://lon1.download.real-debrid.com/speedtest/test.rar/", | |
| "HKG1": "https://hkg1.download.real-debrid.com/speedtest/test.rar/", | |
| "SGP1": "https://sgp1.download.real-debrid.com/speedtest/test.rar/", | |
| "SGPO1": "https://sgpo1.download.real-debrid.com/speedtest/test.rar/", | |
| "TYO1": "https://tyo1.download.real-debrid.com/speedtest/test.rar/", | |
| "LAX1": "https://lax1.download.real-debrid.com/speedtest/test.rar/", | |
| "TLV1": "https://tlv1.download.real-debrid.com/speedtest/test.rar/", | |
| "MUM1": "https://mum1.download.real-debrid.com/speedtest/test.rar/", | |
| "JKT1": "https://jkt1.download.real-debrid.com/speedtest/test.rar/", | |
| "Cloudflare": "https://45.download.real-debrid.cloud/speedtest/testCloudflare.rar/", | |
| } | |
| # Add random number to prevent caching | |
| urls = {location: f"{base_url}{random.uniform(0, 1):.16f}" for location, base_url in urls.items()} | |
| return urls, None | |
| async def get_config(self) -> SpeedTestProviderConfig: | |
| urls, _ = await self.get_test_urls() | |
| return SpeedTestProviderConfig(test_duration=10, test_urls=urls) | |