Command Palette

Search for a command to run...

alvitosr/fenix-animes-wasmer
Public
wasmer run alvitosr/fenix-animes-wasmer

Fenix Plugin — hospedado no Wasmer Edge (modo plugin client-side)

O Wasmer agora serve o manifest do Fenix Plugin no formato plugin (igual o Cloudflare Pages servia): o Nuvio baixa /manifest.json, resolve os filename relativos (/providers/{id}.js) e roda cada provider no aparelho do usuário — IP residencial, sem bloqueio de datacenter.

Isso é a arquitetura do Chole Bhature na direção certa: um host de manifest que compartilha os providers, mas sem expor o código (o repo Fenix-Plugin é privado; o que vai pro Wasmer é só o build, e o scraping roda no celular de quem usa, não num servidor de terceiros).

Por que mudou do addon server-side pra plugin

O modo addon (rota /addon.json, scraping no servidor) funciona, mas o IP do datacenter do Wasmer leva 403 do Cloudflare em alguns sites (animefire, animesonlinecc, betteranime). No modo plugin, o scraping roda no aparelho de cada usuário → todos os sites funcionam, e a cota free do Wasmer quase não é gasta (só serve arquivos estáticos + os proxies de metadados).

Endpoints

RotaO que faz
/manifest.jsonManifest plugin (formato scrapers + filename) — é o link pro Nuvio
/providers/{id}.jsArquivo do provider client-side (o Nuvio baixa e executa)
/api/tmdb-proxyProxy da chave TMDB (matching de títulos/temporadas)
/api/metadata-proxyMatching TMDB + AniList + Kitsu (gate de anime, cross-IDs)
/api/cacheCache em memória (substitui o KV do Cloudflare)
/addon.json(opcional) Manifest do modo addon server-side — quem quiser o scraping no servidor

Dois modos, dois manifest

ModoRotaOnde roda o scrapingProviders
Plugin (Nuvio)/manifest.jsonNo aparelho de cada usuário (IP residencial)17 providers, todos — sem bloqueio
Addon (Stremio/Nuvio)/addon.jsonNo servidor do Wasmer (IP datacenter)8 providers (medidos no edge)

Validado ao vivo (2026-08)

Modo plugin (simulando o Nuvio: baixa manifest + provider do Wasmer e roda no sandbox, IP residencial):

ProviderFrieren S1E1Obs
goyabu4 streamsT2E1 One Piece = ep global 62 ✓
animefire5 streamsdesbloqueado (era 403 no datacenter)
animesonlinecc2 streamsdesbloqueado (era 403 no datacenter)
betteranime4 streamsdesbloqueado
isekai4 streams
amyflix1 stream

Modo addon (no IP do Wasmer, medido via /_probe por provider):

ProviderStatus no edgeDetalhe
betteranime✅ 4 streamsFrieren S1E1
goyabu✅ 4 streamsFrieren S1E1
isekai✅ 4 streamsFrieren S1E1
animesonlinecloud✅ 2 streamsinstável (site dá 504 às vezes)
nettv✅ 1 streamfilme
vetela✅ 1 streamfilme
cinevs-tv✅ 1-2 streamssérie + filme
saraflix✅ 1-2 streamssérie + filme
animefire❌ 403Cloudflare bloqueia IP de datacenter
animesonlinecc❌ 403Cloudflare bloqueia IP de datacenter
topanimes❌ 0player não resolve no edge
amyflix / doramasonline / onetouchtv / novelacurta❌ timeoutlentos/instáveis no edge
corenatela❌ 0busca não acha no edge
fenix❌ 0precisa do bridge local (não roda no addon)

Estrutura

ArquivoPapel
src/index.jsWorker WinterCG: manifest plugin + addon + providers + proxies
src/metadata.jsMatching direto: TMDB + AniList + Kitsu (sem Cloudflare)
src/plugin-files.jsGerado pelo build: manifest + conteúdo dos providers client-side
src/providers/*.jsProviders server-side (modo addon, opcional)
build.jsPasso 0: gera plugin-files.js do repo. Passo 1: providers. Passo 2: dist/index.js
wasmer.toml / app.yamlDeploy no Wasmer (WinterJS)
_test_nuvio_sim.jsSimula o Nuvio de ponta a ponta contra o deploy

Build + teste local

cd "C:\Users\Alvaro\Meu plugin\wasmer-addon-js"
NODE_PATH="C:\Users\Alvaro\Meu plugin\node_modules" node build.js
node _test_local.js          # golden set do modo addon (server-side)
node _test_nuvio_sim.js      # simula o Nuvio (manifest + providers do deploy)

Deploy

./deploy.sh   # build + deploy no Wasmer (owner alvitosr)

Link pro Nuvio: https://fenix-animes-wasmer.wasmer.app/manifest.json

Compartilhamento (fonte única = Fenix-Plugin repo, privado)

  • O build.js puxa manifest.json + providers/*.js do repo local (clone do Fenix-Plugin.git, privado) — o código nunca sai do seu PC.
  • O Wasmer só serve o build: quem usa o plugin não vê o repo, e os providers sem token são os únicos expostos (os de token ficam fora do manifest).
  • Atualização: edite em ../srcnode build.js./deploy.sh.
  • (Opcional) workflow no GitHub Actions do repo privado pra auto-deploy no push, igual o Cloudflare fazia — com secret WASMER_TOKEN.

Limites honestos

  • Wasmer free (Hobby): ~100k requests/mês, 3 apps. No modo plugin o Wasmer só serve estáticos + proxies → a cota aguenta muito mais gente do que no modo addon (que raspava os sites a cada stream).
  • O código dos providers client-side é público pra quem instala (igual era no Cloudflare Pages) — por isso os providers de token ficam fora do manifest.
  • Animes Online Cloud deu 504 pontual num teste (instabilidade do site, não do addon).

Addon de animes PT-BR server-side no Wasmer Edge (WinterJS, sem Cloudflare)