Unofficial Proxer.Me anime app for Android TV, Android phones and Linux: remote-friendly UI, your Proxer list, calendar, autoplay, self-update. Tauri v2 + Svelte 5.
  • HTML 74.8%
  • TypeScript 10.1%
  • Rust 7.9%
  • Svelte 5.7%
  • Kotlin 1.1%
  • Other 0.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Asteria Louven 1e707c6c02
Some checks are pending
build / linux (push) Blocked by required conditions
build / android (aarch64, aarch64-linux-android) (push) Blocked by required conditions
build / android (armv7, armv7-linux-androideabi) (push) Blocked by required conditions
build / android (x86_64, x86_64-linux-android) (push) Blocked by required conditions
build / release (push) Blocked by required conditions
build / meta (push) Successful in 13s
build / test (push) Waiting to run
ci: move build to Forgejo Actions, continue build numbering at run_number+10
2026-10-23 21:04:34 +02:00
.forgejo/workflows ci: move build to Forgejo Actions, continue build numbering at run_number+10 2026-10-23 21:04:34 +02:00
.svelte-check player: true fullscreen on mobile + Back exits the player 2026-10-23 11:46:02 +02:00
crates fix(android): select TLS protocol versions for the static root store; drop debug login logging 2026-10-23 10:31:54 +02:00
docs docs: README with features, downloads, build steps and screenshots; icon buttons for update and log out 2026-10-21 00:53:48 +02:00
fixtures docs: piece 3 spec and plan (Anime-Kalender), calendar fixture 2026-10-20 23:18:50 +02:00
scripts docs: android toolchain setup 2026-10-20 18:31:48 +02:00
src player: true fullscreen on mobile + Back exits the player 2026-10-23 11:46:02 +02:00
src-tauri player: true fullscreen on mobile + Back exits the player 2026-10-23 11:46:02 +02:00
.gitignore fix(android): select TLS protocol versions for the static root store; drop debug login logging 2026-10-23 10:31:54 +02:00
Cargo.lock fix(android): use static webpki-roots TLS instead of rustls-platform-verifier's JVM glue 2026-10-23 10:24:50 +02:00
Cargo.toml chore: address build warnings 2026-10-21 00:50:50 +02:00
index.html chore: scaffold Tauri v2 + Svelte workspace 2026-10-20 17:00:07 +02:00
package-lock.json chore: adapt check script to svelte-check's dual TypeScript 6/7 requirement 2026-10-23 09:43:10 +02:00
package.json chore: adapt check script to svelte-check's dual TypeScript 6/7 requirement 2026-10-23 09:43:10 +02:00
README.md docs: README with features, downloads, build steps and screenshots; icon buttons for update and log out 2026-10-21 00:53:48 +02:00
renovate.json Add renovate.json 2026-10-21 07:31:30 +00:00
svelte.config.js chore: scaffold Tauri v2 + Svelte workspace 2026-10-20 17:00:07 +02:00
tsconfig.app.json feat(ui): spatial navigation core 2026-10-20 18:32:01 +02:00
tsconfig.json chore: scaffold Tauri v2 + Svelte workspace 2026-10-20 17:00:07 +02:00
tsconfig.node.json chore: scaffold Tauri v2 + Svelte workspace 2026-10-20 17:00:07 +02:00
vite.config.ts chore: scaffold Tauri v2 + Svelte workspace 2026-10-20 17:00:07 +02:00

prox

An unofficial app for Proxer.Me anime streaming on Android TV, Android phones and Linux desktop. Built for the TV remote first (D-pad navigation, fullscreen player, Back button), and just as usable with touch or mouse.

Not affiliated with or endorsed by Proxer.Me. You sign in with your own Proxer account; the app talks to proxer.me directly from your device. There is no server in between and no API key.

Home on TV

Features

  • Home: Recent (what you played in the app), My list (Am Schauen first, then Wird noch geschaut, with progress), Airing now, Top rated
  • Search with cover grid and paging
  • Title page: Watch continues at the next unwatched episode, Save / Favorite / Finished, list status, language and page chips, watched episodes marked, a preview frame for airing episodes, Watchlist (this / next episode)
  • Player: Proxer's Normal and Airing streams, fullscreen (default on TV), seek with the remote, a Next-episode pop-up near the end, autoplay of the next episode, and the episode is marked watched in your Proxer list when it ends
  • Calendar: Proxer's Anime-Countdown for the next 7 days, one row per day
  • Remote control: spatial D-pad navigation, focus restored on Back, the on-screen keyboard opens only on Select
  • Self-update: the update button (top bar, or on the login screen) installs the latest build from this repo's releases
  • Saved login: OS keychain on desktop, an app-private file on Android
Title page (TV) Calendar (TV)
Title page Calendar
Search (desktop) Title (desktop)
Search Title
Phone: Home Phone: Title Login
Phone home Phone title Login

Screenshots use the built-in demo data, not a real account.

Download

Every push to master is built by GitHub Actions and published as a release (build-<N>). Latest build:

Device File
Android phones and most TVs (64-bit ARM) proxer-android-arm64.apk
Older Android TVs (32-bit ARM) proxer-android-armv7.apk
Android emulator (x86_64) proxer-android-x86_64.apk
Linux (any distribution) proxer-linux-x86_64.AppImage
Debian / Ubuntu proxer-linux-amd64.deb
  • Android: allow "Install unknown apps" for the app you open the APK with (browser, file manager). On a TV, a file manager or "Downloader" app does the job. Release APKs are signed with one fixed key, so later builds install over earlier ones; the in-app update button does that for you. A debug build installed earlier must be uninstalled once.
  • AppImage: chmod +x proxer-linux-x86_64.AppImage and run it. The update button replaces the AppImage and restarts.
  • The .deb does not update itself; install a newer one when the app reports an update.

Build from source

Requirements: Rust (stable), Node.js 24, and for Linux the WebKitGTK 4.1 development packages (libwebkit2gtk-4.1-dev libsoup-3.0-dev libdbus-1-dev). Android additionally needs JDK 21, the Android SDK and NDK 28.2; see docs/android-setup.md.

npm ci
npm run tauri dev                       # desktop app with hot reload
npm run tauri build                     # desktop release bundles
source scripts/android-env.sh
npm run tauri android build -- --apk --split-per-abi --target aarch64   # release APK (signing: docs/android-setup.md)

Tests and checks:

npm test               # frontend helpers (node --test)
npm run check          # svelte-check + TypeScript
cargo test --workspace # parsers, HTTP client, commands

UI work without a login: npm run dev, then open http://localhost:1420/?demo&screen=home (also screen=search&q=naruto, screen=title&id=53&pick=1, screen=calendar, screen=login, and &tv=1 for the TV layout). Demo data exists only in dev builds.

How it works

  • Tauri v2 app: a Rust core and a Svelte 5 UI in the system WebView.
  • crates/proxer-parse reads Proxer's HTML pages (search, lists, info, episodes, streams, calendar, your anime list) and the stream hosters' embed pages; crates/proxer-client is the logged-in HTTP client (cookie session, re-login, at most 2 requests at a time). The official Proxer API is not used (it issues no new keys).
  • Write actions (Save/Favorite/Finished, Watchlist, progress) use the same requests as the Proxer website, with the page token.
  • src-tauri holds the Tauri commands, credential storage and the updater; src the UI; fixtures saved, scrubbed pages for tests.
  • Design notes and implementation plans live in docs/superpowers.