Skip to content

Fix sample loading: Apollo preflight headers + Windows Cloudflare 403#35

Open
Exorsky wants to merge 1 commit into
Robert-K:mainfrom
Exorsky:fix/windows-cloudflare-403
Open

Fix sample loading: Apollo preflight headers + Windows Cloudflare 403#35
Exorsky wants to merge 1 commit into
Robert-K:mainfrom
Exorsky:fix/windows-cloudflare-403

Conversation

@Exorsky

@Exorsky Exorsky commented Jun 3, 2026

Copy link
Copy Markdown

Two issues broke sample loading:

  1. Splice's GraphQL API now requires the Apollo preflight headers (apollo-require-preflight, x-apollo-operation-name); without them requests fail with "something went wrong". Fix by @6faw

  2. On Windows, tauri-plugin-http injects Origin: http://tauri.localhost into outgoing requests, and Splice's Cloudflare protection blocks that exact Origin value with a 403 (macOS is unaffected, its webview origin differs). The plugin forces its own Origin, so overriding it from JS doesn't help.

Send the GraphQL request from a small Rust command (splice_graphql) using reqwest directly: it sets the required Apollo headers and sends no localhost Origin, so Cloudflare accepts it on all platforms. Audio/S3 fetches stay on the http plugin (not behind Cloudflare, so unaffected).

@6faw

6faw commented Jun 3, 2026

Copy link
Copy Markdown

yeah cloudflare may have caught on i'll look into it

@6faw

6faw commented Jun 3, 2026

Copy link
Copy Markdown

I'll make a fork when its done.

@6faw

6faw commented Jun 3, 2026

Copy link
Copy Markdown

…uest

Sample loading is currently broken; a few Splice/Cloudflare changes stack up:

1. The GraphQL API requires the Apollo preflight headers
   (apollo-require-preflight, x-apollo-operation-name).

2. On Windows, tauri-plugin-http injects Origin: http://tauri.localhost, which
   Splice's Cloudflare blocks with a 403 (macOS is unaffected, its webview
   origin differs). The plugin forces its own Origin, so overriding it from JS
   does not help.

3. A spoofed Chrome User-Agent combined with a non-browser TLS fingerprint
   trips Cloudflare's bot challenge, so we send no User-Agent at all.

Send the request from a small Rust command (splice_graphql) using reqwest
directly: it sets the Apollo headers, sends no localhost Origin and no browser
User-Agent, so Cloudflare accepts it on every platform. Audio/S3 fetches stay
on the http plugin (not behind Cloudflare, so unaffected).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@Exorsky Exorsky force-pushed the fix/windows-cloudflare-403 branch from 73ee0f7 to 20abbfd Compare June 4, 2026 21:21
@senumajo

senumajo commented Jun 5, 2026

Copy link
Copy Markdown

@6faw man, what about Mac OS on silicon?

@witherwithme

witherwithme commented Jun 7, 2026

Copy link
Copy Markdown

https://github.com/6faw/Splicerr-2/releases/tag/v2.0.1

please try this

Screenshot_1

This version actually worked for me at first! I literally went to make some tea, and when I came back...

@Exorsky

Exorsky commented Jun 7, 2026

Copy link
Copy Markdown
Author

@witherwithme While Robert didn't pushed new version with fix, you can use this version.
https://github.com/Exorsky/splicerr/releases/tag/v1.0.11

@amigyutubersky-crypto

Copy link
Copy Markdown

The app works perfectly now, but when specifying "Most popular" the search crashes, or "most popular" is combined with the "most relevant" data.

@6faw

6faw commented Jun 13, 2026

Copy link
Copy Markdown

@6faw man, what about Mac OS on silicon?

Never built for mac before sadly

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants