Commit graph

42 commits

Author SHA1 Message Date
Shekhar
ea83c22f9f
Merge pull request #10 from starkSV/feat/cf-worker-proxy
fix(backend): allow non-numeric SKU IDs for legacy Windows products
2026-05-18 12:46:27 +05:30
Shekhar Vaidya
106e2e2b31 fix(backend): allow non-numeric SKU IDs for legacy Windows products
Replaced strconv.Atoi on sku_id with a permissive allowlist regex
(alphanumeric, hyphens, underscores). Older products like Windows 8.1
(#48, #52) return non-integer SKU IDs from Microsoft API, causing the
Get Download Links button to fail with 'sku_id must be a numeric value'.

Closes #9
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18 12:45:27 +05:30
Shekhar
2e2f9c5c48
Merge pull request #8 from starkSV/feat/cf-worker-proxy
fix(frontend): fix TypeScript error in Back button navigate call
2026-05-18 12:12:28 +05:30
Shekhar Vaidya
e7b0fea94b fix(frontend): fix TypeScript error in Back button navigate call
Split ternary into two separate navigate() calls to satisfy TypeScript
overload resolution — navigate(delta: number) and navigate(to: To)
are distinct overloads that cannot share a ternary return type.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18 12:11:35 +05:30
Shekhar
2e05348a97
Merge pull request #7 from starkSV/feat/cf-worker-proxy
feat: Cloudflare Worker proxy for Microsoft API + Back button fix + favicon
2026-05-18 12:07:42 +05:30
Shekhar Vaidya
8b036e94ba feat: route Microsoft API calls through Cloudflare Worker to avoid IP blocks
- Add cloudflare-worker/worker.js: edge proxy forwarding requests to allowed
  Microsoft hosts from Cloudflare distributed IPs. Set CF_WORKER_URL env var
  to activate; omit to keep direct-to-Microsoft behaviour (self-hosters unaffected).
- Wrap all outbound Microsoft URLs in proxyURL() in main.go so the Worker
  sits transparently in front of every session and download-link request.
- Fix Back button navigating to external referrer when user lands directly
  on a product URL (#5) — use window.history.state?.idx to detect whether
  there is prior in-app history before calling navigate(-1).

Closes #5, Closes #6

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18 12:01:03 +05:30
Shekhar Vaidya
a8f9ba1da1 feat(frontend): add Google Search Console verification meta tag
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-12 20:51:28 +05:30
Shekhar
72dd3eedde
Merge pull request #4 from starkSV/feat/seo-improvements
feat(frontend): add per-page SEO, 404 page, OG tags, and sitemap updates
2026-05-12 20:40:23 +05:30
Shekhar Vaidya
86da27cb8c feat(frontend): add per-page SEO, 404 page, OG tags, and sitemap updates
- Replace react-helmet-async (React 19 incompatible) with native React 19
  document metadata hoisting across all pages
- Add per-page <title>, <meta name="description">, <link rel="canonical">,
  og:title, og:description, og:url to HomePage, ProductsPage, ProductDetailPage,
  AboutPage, DisclaimerPage, PrivacyPolicyPage
- Add JSON-LD SoftwareApplication schema to HomePage and BreadcrumbList to
  ProductDetailPage
- Add 404 NotFoundPage with noindex meta and canonical to home
- Add og:site_name, og:image, og:type, twitter:card/title/description/image
  to index.html as static fallback; remove duplicate static canonical
- Update sitemap.xml with product IDs 3321, 3324 and lastmod dates
- Add product screenshots to README and update description
- Add og-image.png placeholder

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-12 20:35:48 +05:30
Shekhar
d0a70496da
Merge pull request #3 from starkSV/fix-aria2-disable-ipv6
fix(frontend): add --disable-ipv6=true to generated aria2 command
2026-05-12 19:46:28 +05:30
Shekhar Vaidya
79e21bb487 fix(frontend): add --disable-ipv6=true to generated aria2 command
IPv6 failures (broken routing, disabled IPv6, VPN/Pi-hole setups) cause
aria2 to abort instead of falling back to IPv4. The flag is a safe
default on all network configurations.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-12 19:37:17 +05:30
Shekhar
462b31a650
Merge pull request #2 from starkSV/improve-backend-url-encoding
refactor(backend): validate numeric IDs and use url.Values for upstream URLs
2026-05-12 19:09:32 +05:30
Shekhar Vaidya
37f947cb32 refactor(backend): validate numeric IDs and use url.Values for upstream URLs
- Reject non-numeric product_id and sku_id with HTTP 400 before any
  upstream request is made, preventing parameter injection into
  Microsoft API query strings.
- Replace all fmt.Sprintf URL construction with url.Values.Set +
  .Encode() across handleSkuInfo, handleProxy, and setupSession,
  ensuring values are always percent-encoded correctly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-12 19:00:09 +05:30
Shekhar
10ad222dde
Merge pull request #1 from starkSV/fix-inactive-product-requests-6753598370478744190
Fix inactive products triggering backend requests and improve validation
2026-05-12 18:30:02 +05:30
google-labs-jules[bot]
fc60a9f37b fix: prevent inactive products from triggering backend requests
- Update ProductDetailPage.tsx to only set isValidated(true) for active products.
- Add regex validation to ensure productId is numeric.
- Initialize meta.active to false.
- Add loading state for catalog fetch.
- Fix minor lint issue in ProductsPage.tsx.

Co-authored-by: starkSV <21262426+starkSV@users.noreply.github.com>
2026-05-12 09:47:48 +00:00
Shekhar Vaidya
79450e4b35 Prevent skuinfo API calls when product is marked inactive 2026-04-11 13:11:01 +05:30
Shekhar
7c651d3b4e docs: update issue draft for inactive product fetches 2026-04-11 13:09:46 +05:30
Shekhar Vaidya
2d688ae7e8 Implement inactive product state, restore backend tracker limits, and add dedicated catalog error UI panel 2026-04-11 13:01:56 +05:30
Shekhar
1910ce621a docs: clarify manual catalog maintenance note 2026-04-11 12:55:13 +05:30
Shekhar
6a36d9ee05 docs: refresh issue drafts for catalog branch 2026-04-11 12:47:45 +05:30
Shekhar Vaidya
aac8f5d990 Modernize UI, unify product catalog, and backend optimization
- Migrated products.json to structured metadata format.

- Refactored ProductDetailPage to eagerly reset state and validate product IDs against local catalog.

- Dynamic data fetching in HomePage and StatsBar for total release counts.

- Adjusted UI layout in App.tsx and UX states (404/Loading) for missing dependencies.

- Shortened backend tracking HTTP timeouts to prevent local Pi-Hole hangs.
2026-04-11 11:17:54 +05:30
Shekhar
085f6b5a25 docs: add prevention guidance to issue drafts 2026-04-11 10:44:57 +05:30
Shekhar Vaidya
1f9b3493c0 Create msdls_v3.py 2026-04-11 10:41:59 +05:30
Shekhar
64d9557dcd docs: add issue drafts from project review 2026-04-11 10:32:01 +05:30
Shekhar
f43a0e2dfa perf: replace heavy blur-3xl filter with css radial gradient to maximize mobile lighthouse score 2026-04-10 23:18:22 +05:30
Shekhar
4c0539517c fix: remove unused useNavigate hook causing TS6133 build error 2026-04-10 23:04:29 +05:30
Shekhar
a1ef9a6baa feat: improve accessibility and structural SEO logic 2026-04-10 22:59:16 +05:30
Shekhar
1e63d3e5ff feat: implement dynamic SEO metadata for static pages 2026-04-10 22:58:27 +05:30
Shekhar
089662d1f3 feat: setup dynamic document metadata bindings for SEO SPA crawling 2026-04-10 22:56:34 +05:30
Shekhar
f7052ee539 feat: add robots.txt and sitemap.xml for SEO 2026-04-10 22:47:31 +05:30
Shekhar
41bee3b7d1 chore: remove incorrect business product IDs and patch referer proxy logic 2026-04-10 22:38:48 +05:30
Shekhar Vaidya
2b89aa3647 debug: add detailed MS API error logging 2026-04-10 22:03:02 +05:30
Shekhar Vaidya
ed87d0cb0e feat: add 404 fallback and update products 2026-04-10 21:58:57 +05:30
Shekhar Vaidya
9c5cb88f19 feat: add Windows 10 Business Edition ID 2026-04-10 21:39:59 +05:30
Shekhar Vaidya
bd99cd777e Added Windows 10 Multi-Edition (Includes Business/Enterprise) 2026-04-10 21:36:54 +05:30
Shekhar Vaidya
f6cab53b77 fix: remove public folder copy from Dockerfile 2026-04-10 20:56:08 +05:30
Shekhar Vaidya
3b18b08c0a security: restrict CORS and remove test UI from root 2026-04-10 20:52:56 +05:30
Shekhar Vaidya
722d211197 chore: remove test UI and static file server for production 2026-04-10 20:50:05 +05:30
Shekhar Vaidya
74c06b0a8e fix: downgrade go version to 1.22 and ensure go.sum is tracked 2026-04-10 20:40:01 +05:30
Shekhar Vaidya
acd9f94e5f fix: remove go.sum from ignore list 2026-04-10 20:33:36 +05:30
Shekhar Vaidya
56a43b2ff0 feat: v3 release with Coolify support and UI polish 2026-04-10 20:23:59 +05:30
Shekhar Vaidya
7d847f8dd1 feat: initial release — Windows ISO Downloader v3 2026-04-10 20:15:46 +05:30