From d202fd07d2a0a244fa43941fd80ec9aa4fa05476 Mon Sep 17 00:00:00 2001 From: JosJuice Date: Mon, 22 Jun 2026 08:24:24 +0200 Subject: Use redump.info instead of redump.org All the staff of Redump (except the absentee sysadmin) have decided to start a new version of the website at redump.info. It has every disc from the old site, it has HTTPS, it isn't buckling under the load of AI scrapers, and moving forward, all adding and verifying of discs is going to be happening on the new website only. Let's move over. I've taken the unusual step of updating the translation files manually. This is because we're very close to a release and because the change is simple enough that I feel confident about making the change to languages I don't speak. (I double checked that the Korean translation doesn't ever follow "Redump.org" by a particle that has a different form depending on whether there's a final consonant.) --- Source/Core/DiscIO/VolumeVerifier.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'Source/Core/DiscIO/VolumeVerifier.cpp') diff --git a/Source/Core/DiscIO/VolumeVerifier.cpp b/Source/Core/DiscIO/VolumeVerifier.cpp index 29bd38c665..d7956fb617 100644 --- a/Source/Core/DiscIO/VolumeVerifier.cpp +++ b/Source/Core/DiscIO/VolumeVerifier.cpp @@ -96,7 +96,7 @@ void RedumpVerifier::Start(const Volume& volume) switch (download_state->status) { case DownloadStatus::FailButOldCacheAvailable: - ERROR_LOG_FMT(DISCIO, "Failed to fetch data from Redump.org, using old cached data instead"); + ERROR_LOG_FMT(DISCIO, "Failed to fetch data from Redump.info, using old cached data instead"); [[fallthrough]]; case DownloadStatus::Success: return ScanDatfile(ReadDatfile(system), system); @@ -107,7 +107,7 @@ void RedumpVerifier::Start(const Volume& volume) case DownloadStatus::Fail: default: - m_result = {Status::Error, Common::GetStringT("Failed to connect to Redump.org")}; + m_result = {Status::Error, Common::GetStringT("Failed to connect to Redump.info")}; return {}; } }); @@ -127,7 +127,7 @@ RedumpVerifier::DownloadStatus RedumpVerifier::DownloadDatfile(const std::string Common::HttpRequest request; const std::optional> result = - request.Get("http://redump.org/datfile/" + system + "/serial,version", + request.Get("https://redump.info/datfile/" + system + "/serial,version", {{"User-Agent", Common::GetScmRevStr()}}); const std::string output_path = GetPathForSystem(system); @@ -219,7 +219,7 @@ std::vector RedumpVerifier::ScanDatfile(std::spa pugi::xml_document doc; if (!doc.load_buffer(data.data(), data.size())) { - m_result = {Status::Error, Common::GetStringT("Failed to parse Redump.org data")}; + m_result = {Status::Error, Common::GetStringT("Failed to parse Redump.info data")}; return {}; } @@ -317,8 +317,8 @@ std::vector RedumpVerifier::ScanDatfile(std::spa "Serial and/or version data is missing from {0}\n" "Please append \"{1}\" (without the quotes) to the datfile URL when downloading\n" "Example: {2}", - GetPathForSystem(system), "serial,version", "http://redump.org/datfile/gc/serial,version"); - m_result = {Status::Error, Common::GetStringT("Failed to parse Redump.org data")}; + GetPathForSystem(system), "serial,version", "http://redump.info/datfile/gc/serial,version"); + m_result = {Status::Error, Common::GetStringT("Failed to parse Redump.info data")}; return {}; } @@ -1389,7 +1389,7 @@ void VolumeVerifier::Finish() else { m_result.summary_text = - Common::GetStringT("This is a good dump according to Redump.org, but Dolphin has found " + Common::GetStringT("This is a good dump according to Redump.info, but Dolphin has found " "problems. This might be a bug in Dolphin."); } return; -- cgit v1.2.3 From 47040a183428e8e6e2a5c8c28d8aa0b4d632d1cd Mon Sep 17 00:00:00 2001 From: JosJuice Date: Mon, 22 Jun 2026 08:29:56 +0200 Subject: Don't send Dolphin version in user agent to Redump When we added the RetroAchievements integration, we had a discussion about whether sending version information in the user agent was fine from a privacy standpoint. We reached the conclusion that it was okay, but it was conditional on the website having a privacy policy. Neither incarnation of Redump has that, and Redump also never asked us to send version information like RetroAchievements did, so let's use a user agent that just says "Dolphin" when connecting to Redump. --- Source/Core/DiscIO/VolumeVerifier.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Source/Core/DiscIO/VolumeVerifier.cpp') diff --git a/Source/Core/DiscIO/VolumeVerifier.cpp b/Source/Core/DiscIO/VolumeVerifier.cpp index d7956fb617..2944c31272 100644 --- a/Source/Core/DiscIO/VolumeVerifier.cpp +++ b/Source/Core/DiscIO/VolumeVerifier.cpp @@ -128,7 +128,7 @@ RedumpVerifier::DownloadStatus RedumpVerifier::DownloadDatfile(const std::string const std::optional> result = request.Get("https://redump.info/datfile/" + system + "/serial,version", - {{"User-Agent", Common::GetScmRevStr()}}); + {{"User-Agent", Common::GetEmulatorName()}}); const std::string output_path = GetPathForSystem(system); -- cgit v1.2.3 From 53dad6f23012babf65a52764715cdf7fc5f0638c Mon Sep 17 00:00:00 2001 From: JosJuice Date: Mon, 22 Jun 2026 08:34:04 +0200 Subject: VolumeVerifier: Remove SystemNotAvailable We had some code in VolumeVerifier to catch the error message that Redump.org used to show when trying to access the Wii datfile without logging in. This restriction was removed from Redump.org around the start of 2022, and the code has been unnecessary ever since. --- Source/Core/DiscIO/VolumeVerifier.cpp | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) (limited to 'Source/Core/DiscIO/VolumeVerifier.cpp') diff --git a/Source/Core/DiscIO/VolumeVerifier.cpp b/Source/Core/DiscIO/VolumeVerifier.cpp index 2944c31272..3031f14a0f 100644 --- a/Source/Core/DiscIO/VolumeVerifier.cpp +++ b/Source/Core/DiscIO/VolumeVerifier.cpp @@ -101,10 +101,6 @@ void RedumpVerifier::Start(const Volume& volume) case DownloadStatus::Success: return ScanDatfile(ReadDatfile(system), system); - case DownloadStatus::SystemNotAvailable: - m_result = {Status::Error, Common::GetStringT("Wii data is not public yet")}; - return {}; - case DownloadStatus::Fail: default: m_result = {Status::Error, Common::GetStringT("Failed to connect to Redump.info")}; @@ -121,7 +117,7 @@ static std::string GetPathForSystem(const std::string& system) RedumpVerifier::DownloadStatus RedumpVerifier::DownloadDatfile(const std::string& system, DownloadStatus old_status) { - if (old_status == DownloadStatus::Success || old_status == DownloadStatus::SystemNotAvailable) + if (old_status == DownloadStatus::Success) return old_status; Common::HttpRequest request; @@ -141,13 +137,8 @@ RedumpVerifier::DownloadStatus RedumpVerifier::DownloadDatfile(const std::string if (result->size() > 1 && (*result)[0] == '<' && (*result)[1] == '!') { // This is an HTML page, not a zip file like we want - - if (File::Exists(output_path)) - return DownloadStatus::FailButOldCacheAvailable; - - const bool system_not_available_match = - Common::ContainsSubrange(*result, "System \"" + system + "\" doesn't exist."); - return system_not_available_match ? DownloadStatus::SystemNotAvailable : DownloadStatus::Fail; + return File::Exists(output_path) ? DownloadStatus::FailButOldCacheAvailable : + DownloadStatus::Fail; } File::CreateFullPath(output_path); -- cgit v1.2.3