fix(relay): proxy fallback for Yahoo/Crypto, isolate OREF proxy (#2627)

* fix(relay): proxy fallback for Yahoo/Crypto, isolate OREF proxy, fix Dockerfile

Yahoo Finance and CoinPaprika fail from Railway datacenter IPs (rate
limiting). Added PROXY_URL fallback to fetchYahooChartDirect (used by
5 seeders) and relay chart proxy endpoint. Added shared
_fetchCoinPaprikaTickers with proxy fallback + 5min cache (3 crypto
seeders share one fetch). Added CoinPaprika fallback to CryptoSectors
(previously had none).

Isolated OREF_PROXY_AUTH exclusively for OREF alerts. OpenSky,
seed-military-flights, and _proxy-utils now fall back to PROXY_URL
instead of the expensive IL-exit proxy.

Added seed-climate-news.mjs + _seed-utils.mjs COPY to Dockerfile.relay
(missing since PR #2532). Added pizzint bootstrap hydration to
cache-keys.ts, bootstrap.js, and src/services/pizzint.ts.

* fix(relay): address review — remove unused reverseMap, guard double proxy

- Remove dead reverseMap identity map in CryptoSectors Paprika fallback
- Add _proxied flag to handleYahooChartRequest._tryProxy to prevent
  double proxy call on timeout→destroy→error sequence
This commit is contained in:
Elie Habib
2026-04-03 00:08:37 +04:00
committed by GitHub
parent 7b6aae4670
commit d04852bf02
7 changed files with 137 additions and 59 deletions

View File

@@ -60,11 +60,11 @@ function resolveProxyConfig() {
}
/**
* Resolve proxy from PROXY_URL with fallback to OREF_PROXY_AUTH.
* Use this for general seeders (fear-greed, disease-outbreaks, etc.).
* Resolve proxy from PROXY_URL only.
* OREF_PROXY_AUTH is IL-exit and expensive — reserved exclusively for OREF alerts.
*/
function resolveProxyConfigWithFallback() {
return parseProxyConfig(process.env.PROXY_URL || process.env.OREF_PROXY_AUTH || '');
return parseProxyConfig(process.env.PROXY_URL || '');
}
/**