Add new ipv4 and ipv6 hostnames

This commit is contained in:
Ben Adrian Sarmiento
2024-08-17 13:07:55 +08:00
parent 7ce8a01a3b
commit 33cfdbbbea
2 changed files with 50 additions and 16 deletions

View File

@@ -541,6 +541,7 @@ func (zr *Handlers) handleHome(resp http.ResponseWriter, req *http.Request) {
<form method="post" action="/torrents/reset-repair-state"> <form method="post" action="/torrents/reset-repair-state">
<input type="submit" value="Reset repair state" /> Reset repair state of all torrents so they can be repaired again <input type="submit" value="Reset repair state" /> Reset repair state of all torrents so they can be repaired again
</form> </form>
// add more utilities here
</td> </td>
</tr> </tr>
<tr> <tr>

View File

@@ -110,49 +110,82 @@ func (r *IPRepository) runLatencyTest() {
for { for {
lastDomainsWorked := false lastDomainsWorked := false
for i := start; i <= limit; i++ { for i := start; i <= limit; i++ {
domain := fmt.Sprintf("%d.download.real-debrid.com", i) // EU servers
ips, err := net.LookupIP(domain) 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 { if err != nil || len(ips) == 0 {
continue continue
} }
latency, err := r.testDomainLatency(r.ipv4client, domain) latency, err := r.testDomainLatency(r.ipv4client, ipv4Domain)
if err == nil { if err == nil {
r.ipv4latencyMap[domain] = latency r.ipv4latencyMap[ipv4Domain] = latency
r.log.Debugf("Latency from ipv4 %s: %.5f seconds", domain, latency) r.log.Debugf("Latency from ipv4 %s: %.5f seconds", ipv4Domain, latency)
if i >= limit-2 { if i >= limit-2 {
lastDomainsWorked = true lastDomainsWorked = true
} }
} }
latency, err = r.testDomainLatency(r.ipv6client, domain) latency, err = r.testDomainLatency(r.ipv6client, ipv6Domain)
if err == nil { if err == nil {
r.ipv6latencyMap[domain] = latency r.ipv6latencyMap[ipv6Domain] = latency
r.log.Debugf("Latency from ipv6 %s: %.5f seconds", domain, latency) r.log.Debugf("Latency from ipv6 %s: %.5f seconds", ipv6Domain, latency)
if i >= limit-2 { if i >= limit-2 {
lastDomainsWorked = true lastDomainsWorked = true
} }
} }
domain = fmt.Sprintf("%d.download.real-debrid.cloud", i) // EU servers (old)
ips, err = net.LookupIP(domain) 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 { if err != nil || len(ips) == 0 {
continue continue
} }
latency, err = r.testDomainLatency(r.ipv4client, domain) latency, err = r.testDomainLatency(r.ipv4client, ipv4Domain)
if err == nil { if err == nil {
r.ipv4latencyMap[domain] = latency r.ipv4latencyMap[ipv4Domain] = latency
r.log.Debugf("Latency from ipv4 %s: %.5f seconds", domain, latency) r.log.Debugf("Latency from ipv4 %s: %.5f seconds", ipv4Domain, latency)
if i >= limit-2 { if i >= limit-2 {
lastDomainsWorked = true lastDomainsWorked = true
} }
} }
latency, err = r.testDomainLatency(r.ipv6client, domain) latency, err = r.testDomainLatency(r.ipv6client, ipv6Domain)
if err == nil { if err == nil {
r.ipv6latencyMap[domain] = latency r.ipv6latencyMap[ipv6Domain] = latency
r.log.Debugf("Latency from ipv6 %s: %.5f seconds", domain, 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 { if i >= limit-2 {
lastDomainsWorked = true lastDomainsWorked = true
} }