diff --git a/internal/handlers/home.go b/internal/handlers/home.go
index 37271d7..900437f 100644
--- a/internal/handlers/home.go
+++ b/internal/handlers/home.go
@@ -541,6 +541,7 @@ func (zr *Handlers) handleHome(resp http.ResponseWriter, req *http.Request) {
+ // add more utilities here
diff --git a/pkg/http/ip.go b/pkg/http/ip.go
index b55f34a..eb6b72a 100644
--- a/pkg/http/ip.go
+++ b/pkg/http/ip.go
@@ -110,49 +110,82 @@ func (r *IPRepository) runLatencyTest() {
for {
lastDomainsWorked := false
for i := start; i <= limit; i++ {
- domain := fmt.Sprintf("%d.download.real-debrid.com", i)
- ips, err := net.LookupIP(domain)
+ // EU servers
+ ipv4Domain := fmt.Sprintf("%d-4.download.real-debrid.com", i)
+ ipv6Domain := fmt.Sprintf("%d-6.download.real-debrid.com", i)
+
+ ips, err := net.LookupIP(ipv4Domain)
if err != nil || len(ips) == 0 {
continue
}
- latency, err := r.testDomainLatency(r.ipv4client, domain)
+ latency, err := r.testDomainLatency(r.ipv4client, ipv4Domain)
if err == nil {
- r.ipv4latencyMap[domain] = latency
- r.log.Debugf("Latency from ipv4 %s: %.5f seconds", domain, latency)
+ r.ipv4latencyMap[ipv4Domain] = latency
+ r.log.Debugf("Latency from ipv4 %s: %.5f seconds", ipv4Domain, latency)
if i >= limit-2 {
lastDomainsWorked = true
}
}
- latency, err = r.testDomainLatency(r.ipv6client, domain)
+ latency, err = r.testDomainLatency(r.ipv6client, ipv6Domain)
if err == nil {
- r.ipv6latencyMap[domain] = latency
- r.log.Debugf("Latency from ipv6 %s: %.5f seconds", domain, latency)
+ r.ipv6latencyMap[ipv6Domain] = latency
+ r.log.Debugf("Latency from ipv6 %s: %.5f seconds", ipv6Domain, latency)
if i >= limit-2 {
lastDomainsWorked = true
}
}
- domain = fmt.Sprintf("%d.download.real-debrid.cloud", i)
- ips, err = net.LookupIP(domain)
+ // EU servers (old)
+ ipv4Domain = fmt.Sprintf("%d.download.real-debrid.com", i)
+ ipv6Domain = fmt.Sprintf("%d.download.real-debrid.com", i)
+
+ ips, err = net.LookupIP(ipv4Domain)
if err != nil || len(ips) == 0 {
continue
}
- latency, err = r.testDomainLatency(r.ipv4client, domain)
+ latency, err = r.testDomainLatency(r.ipv4client, ipv4Domain)
if err == nil {
- r.ipv4latencyMap[domain] = latency
- r.log.Debugf("Latency from ipv4 %s: %.5f seconds", domain, latency)
+ r.ipv4latencyMap[ipv4Domain] = latency
+ r.log.Debugf("Latency from ipv4 %s: %.5f seconds", ipv4Domain, latency)
if i >= limit-2 {
lastDomainsWorked = true
}
}
- latency, err = r.testDomainLatency(r.ipv6client, domain)
+ latency, err = r.testDomainLatency(r.ipv6client, ipv6Domain)
if err == nil {
- r.ipv6latencyMap[domain] = latency
- r.log.Debugf("Latency from ipv6 %s: %.5f seconds", domain, latency)
+ r.ipv6latencyMap[ipv6Domain] = latency
+ r.log.Debugf("Latency from ipv6 %s: %.5f seconds", ipv6Domain, latency)
+ if i >= limit-2 {
+ lastDomainsWorked = true
+ }
+ }
+
+ // Cloudflare servers
+ ipv4Domain = fmt.Sprintf("%d.download.real-debrid.cloud", i)
+ ipv6Domain = fmt.Sprintf("%d.download.real-debrid.cloud", i)
+
+ ips, err = net.LookupIP(ipv4Domain)
+ if err != nil || len(ips) == 0 {
+ continue
+ }
+
+ latency, err = r.testDomainLatency(r.ipv4client, ipv4Domain)
+ if err == nil {
+ r.ipv4latencyMap[ipv4Domain] = latency
+ r.log.Debugf("Latency from ipv4 %s: %.5f seconds", ipv4Domain, latency)
+ if i >= limit-2 {
+ lastDomainsWorked = true
+ }
+ }
+
+ latency, err = r.testDomainLatency(r.ipv6client, ipv6Domain)
+ if err == nil {
+ r.ipv6latencyMap[ipv6Domain] = latency
+ r.log.Debugf("Latency from ipv6 %s: %.5f seconds", ipv6Domain, latency)
if i >= limit-2 {
lastDomainsWorked = true
}