Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions opensteamtool.example.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ level = "debug"
[manifest]
# Which upstream API to query for depot manifest request codes.
# "opensteamtool" → https://manifest.opensteamtool.com/{gid} (default)
# "manifestdex" → https://manifest.manifestdex.com/{gid}
# "wudrm" → http://gmrc.wudrm.com/manifest/{gid} (recommended for China users)
# "steamrun" → https://manifest.steam.run/api/manifest/{gid}
# If <Steam>/config/lua/manifest.lua defines fetch_manifest_code(gid) or
Expand Down
10 changes: 7 additions & 3 deletions src/Utils/SteamMetadata/ManifestClient.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -42,14 +42,18 @@ namespace ManifestClient {
std::string_view name; // matches [manifest] url = "..."
const char* urlTemplate; // full literal with one %llu — for log & path
Parser parse;
const wchar_t* headers;
};

consteval Provider Make(std::string_view name, const char* url, Parser parse) {
return {name, url, parse};
consteval Provider Make(std::string_view name, const char* url, Parser parse,
const wchar_t* headers = nullptr) {
return {name, url, parse, headers};
}

static constexpr Provider kProviders[] = {
Make("opensteamtool", "https://manifest.opensteamtool.com/%llu", ParsePlainUint),
Make("manifestdex", "https://manifest.manifestdex.com/%llu", ParsePlainUint,
L"User-Agent: ManifestDeX/1.0\r\n"),
Make("wudrm", "http://gmrc.wudrm.com/manifest/%llu", ParsePlainUint),
Make("steamrun", "https://manifest.steam.run/api/manifest/%llu", ParseSteamRunJson),
};
Expand Down Expand Up @@ -92,7 +96,7 @@ namespace ManifestClient {
urlLog,
nullptr,
0,
nullptr,
p.headers,
timeouts.resolve,
timeouts.connect,
timeouts.send,
Expand Down