speedtest/frontend/server-list.json
sstidl 3a7dc31ff2
Implement the new design from #649 (#694)
* Implement fromScratch design

* Add some documentation

* enable new design in docker (no alpine yet)

* merge fixed docker images

* alpine docker added new design

* fix #685

* Implement fromScratch design

* Add some documentation

* enable new design in docker (no alpine yet)

* alpine docker added new design

* fix #685

* fix database permissions alpine, remove baby

* hide serverselector on only one server

* Update frontend/styling/server-selector.css

Co-authored-by: qodo-merge-pro-for-open-source[bot] <189517486+qodo-merge-pro-for-open-source[bot]@users.noreply.github.com>

* fix alpine image again

* adjust settings.json in entrypoint

so env vars are honored

* Update frontend/javascript/index.js

Co-authored-by: qodo-merge-for-open-source[bot] <189517486+qodo-merge-for-open-source[bot]@users.noreply.github.com>

* Add feature switch for new design via config file, URL parameters, and Docker (#742)

* Initial plan

* Add feature switch for new design with config and URL parameter support

Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>

* Improve error handling and prevent infinite redirect loops

Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>

* Update Dockerfiles and entrypoint to support design feature switch

Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>

* Update design-switch.js

Co-authored-by: qodo-free-for-open-source-projects[bot] <189517486+qodo-free-for-open-source-projects[bot]@users.noreply.github.com>

* fix: copy actions in entrypoint

* Restructure design switch to place both designs at root level

Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>

* Flatten frontend assets in Docker to eliminate frontend directory

Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>

* fix: entrypoint settings & server-list

disable entrypoint bash debug

* add link to modern design

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
Co-authored-by: sstidl <sstidl@users.noreply.github.com>
Co-authored-by: qodo-free-for-open-source-projects[bot] <189517486+qodo-free-for-open-source-projects[bot]@users.noreply.github.com>

* add armv7

* reformat

* Add GDPR_EMAIL environment variable for Docker deployments (#743)

* Initial plan

* Add GDPR_EMAIL environment variable for Docker deployments

Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>

* Improve GDPR_EMAIL handling with proper escaping and loop

Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>

* Refine GDPR_EMAIL processing - skip index.html and improve escaping

Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>

* Optimize GDPR_EMAIL sed commands and improve escaping

Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>

* Clarify sed escaping comment for GDPR_EMAIL

Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>

* cleanup old EMAIL ENV Var

* fix: line break in html prevented sed replacement

* version 6.0.0pre1

* test: add mssql docker compose tests

* Update Speedtest screen recording link in README

* Filter unreachable servers from selector (newdesign UI) (#769)

* Filter unreachable servers from selector (newdesign UI)

* Apply suggestions from code review

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* keep // servers in list

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* fix misleading comment

---------

Co-authored-by: Lumi <lumi@openclaw.local>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Stefan Stidl <sti-github@stidl.com>

* fix: server.json handling

* Use server-list.json in classic frontend by default

* Add configurable server list URLs to frontend and Docker

---------

Co-authored-by: Timendus <mail@timendus.com>
Co-authored-by: Stefan Stidl <stefan.stidl@ffg.at>
Co-authored-by: qodo-merge-pro-for-open-source[bot] <189517486+qodo-merge-pro-for-open-source[bot]@users.noreply.github.com>
Co-authored-by: qodo-merge-for-open-source[bot] <189517486+qodo-merge-for-open-source[bot]@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
Co-authored-by: qodo-free-for-open-source-projects[bot] <189517486+qodo-free-for-open-source-projects[bot]@users.noreply.github.com>
Co-authored-by: Stefan Stidl <sti-github@stidl.com>
Co-authored-by: Lumi <lumi@openclaw.local>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-04-11 23:07:05 +02:00

409 lines
11 KiB
JSON

[
{
"name": "Amsterdam, Netherlands",
"server": "//ams.speedtest.clouvider.net/backend",
"id": 51,
"dlURL": "garbage.php",
"ulURL": "empty.php",
"pingURL": "empty.php",
"getIpURL": "getIP.php",
"sponsorName": "Clouvider",
"sponsorURL": "https://www.clouvider.co.uk/"
},
{
"name": "Amsterdam, Netherlands (Rust backend)",
"server": "https://librespeed-rs.ir/",
"id": 95,
"dlURL": "backend/garbage",
"ulURL": "backend/empty",
"pingURL": "backend/empty",
"getIpURL": "backend/getIP",
"sponsorName": "Sudo Dios",
"sponsorURL": "https://github.com/SudoDios"
},
{
"name": "Amsterdam, Netherlands",
"server": "https://amsspeed.sharktech.net",
"id": 94,
"dlURL": "backend/garbage.php",
"ulURL": "backend/empty.php",
"pingURL": "backend/empty.php",
"getIpURL": "backend/getIP.php",
"sponsorName": "Sharktech",
"sponsorURL": "https://sharktech.net"
},
{
"name": "Atlanta, United States",
"server": "//atl.speedtest.clouvider.net/backend",
"id": 53,
"dlURL": "garbage.php",
"ulURL": "empty.php",
"pingURL": "empty.php",
"getIpURL": "getIP.php",
"sponsorName": "Clouvider",
"sponsorURL": "https://www.clouvider.co.uk/"
},
{
"name": "Bangalore, India",
"server": "//in1.backend.librespeed.org/",
"id": 75,
"dlURL": "garbage.php",
"ulURL": "empty.php",
"pingURL": "empty.php",
"getIpURL": "getIP.php",
"sponsorName": "DigitalOcean",
"sponsorURL": "https://www.digitalocean.com"
},
{
"name": "Bari, Italy",
"server": "https://st-be-ba1.infra.garr.it",
"id": 33,
"dlURL": "garbage.php",
"ulURL": "empty.php",
"pingURL": "empty.php",
"getIpURL": "getIP.php",
"sponsorName": "Consortium GARR",
"sponsorURL": "//garr.it"
},
{
"name": "Bologna, Italy",
"server": "https://st-be-bo1.infra.garr.it",
"id": 34,
"dlURL": "garbage.php",
"ulURL": "empty.php",
"pingURL": "empty.php",
"getIpURL": "getIP.php",
"sponsorName": "Consortium GARR",
"sponsorURL": "//garr.it"
},
{
"name": "Chicago, USA",
"server": "https://chispeed.sharktech.net",
"id": 93,
"dlURL": "backend/garbage.php",
"ulURL": "backend/empty.php",
"pingURL": "backend/empty.php",
"getIpURL": "backend/getIP.php",
"sponsorName": "Sharktech",
"sponsorURL": "https://sharktech.net"
},
{
"name": "Denver, USA",
"server": "https://denspeed.sharktech.net",
"id": 92,
"dlURL": "backend/garbage.php",
"ulURL": "backend/empty.php",
"pingURL": "backend/empty.php",
"getIpURL": "backend/getIP.php",
"sponsorName": "Sharktech",
"sponsorURL": "https://sharktech.net"
},
{
"name": "Frankfurt, Germany",
"server": "//fra.speedtest.clouvider.net/backend",
"id": 50,
"dlURL": "garbage.php",
"ulURL": "empty.php",
"pingURL": "empty.php",
"getIpURL": "getIP.php",
"sponsorName": "Clouvider",
"sponsorURL": "https://www.clouvider.co.uk/"
},
{
"name": "Frankfurt, Germany (FRA01)",
"server": "https://speedtest.lumischvps.cloud/",
"id": 86,
"dlURL": "backend/garbage.php",
"ulURL": "backend/empty.php",
"pingURL": "backend/empty.php",
"getIpURL": "backend/getIP.php",
"sponsorName": "LumischVPS",
"sponsorURL": "https://discord.gg/GxYzPwJmA2"
},
{
"name": "Ghom, Iran (Amin IDC)",
"server": "https://fastme.ir/",
"id": 77,
"dlURL": "backend/garbage.php",
"ulURL": "backend/empty.php",
"pingURL": "backend/empty.php",
"getIpURL": "backend/getIP.php",
"sponsorName": "Bardia Moshiri",
"sponsorURL": "https://bardia.tech/"
},
{
"name": "Helsinki, Finland (3) (Hetzner)",
"server": "//finew.openspeed.org/",
"id": 22,
"dlURL": "backend437/garbage.php",
"ulURL": "backend437/empty.php",
"pingURL": "backend437/empty.php",
"getIpURL": "backend437/getIP.php",
"sponsorName": "Daily Health Insurance Group",
"sponsorURL": "//dhig.net/"
},
{
"name": "Helsinki, Finland (5) (Hetzner)",
"server": "//fast.kabi.tk/",
"id": 24,
"dlURL": "garbage.php",
"ulURL": "empty.php",
"pingURL": "empty.php",
"getIpURL": "getIP.php",
"sponsorName": "KABI.tk",
"sponsorURL": "//kabi.tk"
},
{
"name": "Johannesburg, South Africa",
"server": "//za1.backend.librespeed.org/",
"id": 70,
"dlURL": "garbage.php",
"ulURL": "empty.php",
"pingURL": "empty.php",
"getIpURL": "getIP.php",
"sponsorName": "HOSTAFRICA",
"sponsorURL": "https://www.hostafrica.co.za"
},
{
"name": "Las Vegas, USA",
"server": "https://lasspeed.sharktech.net",
"id": 90,
"dlURL": "backend/garbage.php",
"ulURL": "backend/empty.php",
"pingURL": "backend/empty.php",
"getIpURL": "backend/getIP.php",
"sponsorName": "Sharktech",
"sponsorURL": "https://sharktech.net"
},
{
"name": "London, England",
"server": "//lon.speedtest.clouvider.net/backend",
"id": 49,
"dlURL": "garbage.php",
"ulURL": "empty.php",
"pingURL": "empty.php",
"getIpURL": "getIP.php",
"sponsorName": "Clouvider",
"sponsorURL": "https://www.clouvider.co.uk/"
},
{
"name": "Los Angeles, United States (1)",
"server": "//la.speedtest.clouvider.net/backend",
"id": 54,
"dlURL": "garbage.php",
"ulURL": "empty.php",
"pingURL": "empty.php",
"getIpURL": "getIP.php",
"sponsorName": "Clouvider",
"sponsorURL": "https://www.clouvider.co.uk/"
},
{
"name": "Los Angeles, USA",
"server": "https://laxspeed.sharktech.net",
"id": 91,
"dlURL": "backend/garbage.php",
"ulURL": "backend/empty.php",
"pingURL": "backend/empty.php",
"getIpURL": "backend/getIP.php",
"sponsorName": "Sharktech",
"sponsorURL": "https://sharktech.net"
},
{
"name": "New York, United States (2)",
"server": "//nyc.speedtest.clouvider.net/backend",
"id": 52,
"dlURL": "garbage.php",
"ulURL": "empty.php",
"pingURL": "empty.php",
"getIpURL": "getIP.php",
"sponsorName": "Clouvider",
"sponsorURL": "https://www.clouvider.co.uk/"
},
{
"name": "Nottingham, England (LayerIP)",
"server": "https://uk1.backend.librespeed.org",
"id": 43,
"dlURL": "garbage.php",
"ulURL": "empty.php",
"pingURL": "empty.php",
"getIpURL": "getIP.php",
"sponsorName": "fosshost.org",
"sponsorURL": "https://fosshost.org"
},
{
"name": "Nuremberg, Germany (1) (Hetzner)",
"server": "//de1.backend.librespeed.org",
"id": 28,
"dlURL": "garbage.php",
"ulURL": "empty.php",
"pingURL": "empty.php",
"getIpURL": "getIP.php",
"sponsorName": "Snopyta",
"sponsorURL": "https://snopyta.org"
},
{
"name": "Nuremberg, Germany (2) (Hetzner)",
"server": "//de4.backend.librespeed.org",
"id": 27,
"dlURL": "garbage.php",
"ulURL": "empty.php",
"pingURL": "empty.php",
"getIpURL": "getIP.php",
"sponsorName": "LibreSpeed",
"sponsorURL": "https://librespeed.org"
},
{
"name": "Nuremberg, Germany (3) (Hetzner)",
"server": "//de3.backend.librespeed.org",
"id": 30,
"dlURL": "garbage.php",
"ulURL": "empty.php",
"pingURL": "empty.php",
"getIpURL": "getIP.php",
"sponsorName": "LibreSpeed",
"sponsorURL": "https://librespeed.org"
},
{
"name": "Nuremberg, Germany (4) (Hetzner)",
"server": "//de5.backend.librespeed.org",
"id": 31,
"dlURL": "garbage.php",
"ulURL": "empty.php",
"pingURL": "empty.php",
"getIpURL": "getIP.php",
"sponsorName": "LibreSpeed",
"sponsorURL": "https://librespeed.org"
},
{
"name": "Nuremberg, Germany (6) (Hetzner)",
"server": "//librespeed.lukas-heinrich.com/",
"id": 46,
"dlURL": "garbage.php",
"ulURL": "empty.php",
"pingURL": "empty.php",
"getIpURL": "getIP.php",
"sponsorName": "luki9100",
"sponsorURL": "https://lukas-heinrich.com/"
},
{
"name": "Poznan, Poland (INEA)",
"server": "https://speedtest.kamilszczepanski.com",
"id": 74,
"dlURL": "garbage.php",
"ulURL": "empty.php",
"pingURL": "empty.php",
"getIpURL": "getIP.php",
"sponsorName": "Kamil Szczepa\u0144ski",
"sponsorURL": "https://kamilszczepanski.com"
},
{
"name": "Prague, Czech Republic",
"server": "//speedtest.cesnet.cz",
"id": 79,
"dlURL": "backend/garbage.php",
"ulURL": "backend/empty.php",
"pingURL": "backend/empty.php",
"getIpURL": "backend/getIP.php",
"sponsorName": "CESNET",
"sponsorURL": "https://www.cesnet.cz"
},
{
"name": "Prague, Czech Republic",
"server": "//librespeed.turris.cz",
"id": 85,
"dlURL": "backend/garbage.php",
"ulURL": "backend/empty.php",
"pingURL": "backend/empty.php",
"getIpURL": "backend/getIP.php",
"sponsorName": "Turris",
"sponsorURL": "https://www.turris.com"
},
{
"name": "Roma, Italy",
"server": "https://st-be-rm2.infra.garr.it",
"id": 35,
"dlURL": "garbage.php",
"ulURL": "empty.php",
"pingURL": "empty.php",
"getIpURL": "getIP.php",
"sponsorName": "Consortium GARR",
"sponsorURL": "//garr.it"
},
{
"name": "Serbia",
"server": "https://speedtest2.sox.rs",
"id": 87,
"dlURL": "libre/backend/garbage.php",
"ulURL": "libre/backend/empty.php",
"pingURL": "libre/backend/empty.php",
"getIpURL": "libre/backend/getIP.php",
"sponsorName": "Serbian Open eXchange",
"sponsorURL": "https://sox.rs"
},
{
"name": "Singapore",
"server": "https://speedtest.dsgroupmedia.com",
"id": 68,
"dlURL": "backend/garbage.php",
"ulURL": "backend/empty.php",
"pingURL": "backend/empty.php",
"getIpURL": "backend/getIP.php",
"sponsorName": "Salvatore Cahyo",
"sponsorURL": "https://salvatorecahyo.my.id"
},
{
"name": "Tehran, Iran (Fanava)",
"server": "https://speedme.ir/",
"id": 76,
"dlURL": "backend/garbage.php",
"ulURL": "backend/empty.php",
"pingURL": "backend/empty.php",
"getIpURL": "backend/getIP.php",
"sponsorName": "Bardia Moshiri",
"sponsorURL": "https://bardia.tech"
},
{
"name": "Tehran, Iran (Faraso)",
"server": "https://st.bardia.tech",
"id": 80,
"dlURL": "backend/garbage.php",
"ulURL": "backend/empty.php",
"pingURL": "backend/empty.php",
"getIpURL": "backend/getIP.php",
"sponsorName": "Bardia Moshiri",
"sponsorURL": "https://bardia.tech/"
},
{
"name": "Tokyo, Japan",
"server": "https://librespeed.a573.net/",
"id": 82,
"dlURL": "backend/garbage.php",
"ulURL": "backend/empty.php",
"pingURL": "backend/empty.php",
"getIpURL": "backend/getIP.php",
"sponsorName": "A573",
"sponsorURL": "https://mirror.a573.net/"
},
{
"name": "Vilnius, Lithuania (RackRay)",
"server": "//lt1.backend.librespeed.org/",
"id": 69,
"dlURL": "garbage.php",
"ulURL": "empty.php",
"pingURL": "empty.php",
"getIpURL": "getIP.php",
"sponsorName": "Time4VPS",
"sponsorURL": "https://www.time4vps.com"
},
{
"name": "Virginia, United States, OVH",
"server": "https://speed.riverside.rocks/",
"id": 78,
"dlURL": "garbage.php",
"ulURL": "empty.php",
"pingURL": "empty.php",
"getIpURL": "getIP.php",
"sponsorName": "Riverside Rocks",
"sponsorURL": "https://riverside.rocks"
}
]