1. Komma igång

AniRena är ett torrentindex fokuserat på anime, manga, ljud och relaterade medier. Du kan bläddra och ladda ned torrents utan ett konto. Ett konto krävs för att ladda upp torrents, posta i grupper eller använda API:et.

Navigationsraden längst upp ger åtkomst till webbplatsens huvudområden:

  • Hem — torrentlistnings- och söksidan.
  • Ladda upp — skicka in en ny torrent (kräver inloggning).
  • Guide — den här sidan.
  • Statistik — webbplatsövergripande statistik (torrents, peers, uppladdningar över tid).
  • Grupper — katalog över utgivningsgrupper.
  • RSS — RSS-flöde med senaste uppladdningar, filtrerbart efter kategori.

Din kontomeny (övre högra hörnet när du är inloggad) öppnar en profilpanel där du kan justera inställningar, hantera säkerhetsalternativ och komma åt din API-nyckel.

2. Bläddra och sök

Startsidan listar alla torrents sorterade efter uppladdningsdatum. Använd sökfältet längst upp för att filtrera resultat.

Grundläggande sökning

Skriv ord i sökfältet och tryck Enter (eller klicka på sökikonen). Resultat rankas efter relevans när en sökning är aktiv.

Sökoperatorer

Följande operatorer kan kombineras med en vanlig sökning:

OperatorExempelEffekt
user:"name"user:"SubsPlease"Visa bara torrents uppladdade av den användaren.

Klicka på ett uplodarnamn i torrentlistan kör automatiskt en användarsökning.

Kategorier och underkategorier

Använd kategoriväljaren (rutnätikonen bredvid sökfältet) för att begränsa resultat till en kategori. Tillgängliga kategorier:

  • Anime
  • Manga/Manhwa/Serietidning
  • Ljud
  • Litteratur
  • Live Action
  • Bilder
  • Programvara
  • Hentai
  • Övrigt

Varje kategori har underkategorier (t.ex. Anime till RAW, Sub/Ljud, Musikvideo) valbara inuti kategoridialogen.

Sortering och filter

Kolumnrubrikerna i torrentlistan är klickbara för att sortera efter den kolumnen (stigande eller fallande). Tillgängliga sorteringskolumner: datum, namn, storlek, slutförda nedladdningar. Obs: seeders och leechers är livevärden från Redis och kan inte användas för sortering.

Språkfilter

Använd språkväljaren (flaggikon) för att bara visa torrents märkta med ett specifikt språk.

RSS-flöde

RSS-flödet på /rss innehåller de senaste uppladdningarna. Lägg till ?category=anime (eller annan kategori-slug) för att filtrera flödet. De flesta torrent-klienter stöder RSS-automatisk nedladdning direkt från denna URL.

3. Ladda ned torrents

Klicka på ett torrentnamn för att öppna detaljpanelen. Därifrån kan du:

  • Ladda ned .torrent — sparar .torrent-filen direkt. Den direkta URL:en är /torrents/{id}.torrent
  • Magnetlänk — öppnas direkt i din torrent-klient via magnet-URI-protokollet. URL:en är /torrents/{id}/magnet

Detaljpanelen visar också torrentbeskrivningen, fillistan, trackerlistan och seeder-/leecherantal.

Äldre nedladdningslänkar

Gamla AniRena-nedladdningslänkar stöds fortfarande och omdirigerar automatiskt till rätt .torrent-fil med hjälp av det äldre ID:t: /dl/{old_id}

Rekommenderade BitTorrent-klienter

Vilken modern BitTorrent-klient som helst fungerar. Klienterna nedan rekommenderas och stöder fullt ut BitTorrent v2 / hybridtorrents:

qBittorrent På nedladdningssidan, klicka på Ytterligare nedladdningsalternativ och välj bygget märkt lt20 (libtorrent 2.0). Standardinstallationsprogrammet använder libtorrent 1.2 som inte stöder rena v2-torrents.v2 stöds
PicoTorrent Lättvikts Windows-klient med inbyggt BitTorrent v2-stöd direkt ur förpackningen.v2 stöds
BiglyBT Funktionsrik plattformsoberoende klient baserad på Azureus/Vuze med fullt v2-stöd.v2 stöds

4. Skapa ett konto

Registrering

Klicka på Registrera dig i navigationsraden. Välj ett användarnamn, ange en e-postadress och ange ett lösenord (minimilängd krävs). Du måste läsa och acceptera webbplatsens villkor innan ditt konto skapas.

E-postaktivering

Efter registrering skickas ett verifieringsmejl till din adress. Klicka på länken i mejlet för att aktivera ditt konto. Om du inte fick det, använd länken Aktivera ditt konto på inloggningssidan för att begära en ny kod.

Lösenordsåterställning

Om du glömmer ditt lösenord klickar du på Glömt lösenord på inloggningssidan och anger din e-postadress. En återställningslänk skickas till dig. Länken är engångsbruk och löper ut efter kort tid.

5. Ladda upp torrents

Navigera till Ladda upp i navigationsraden. Du måste vara inloggad med ett aktivt, icke-avstängt konto. Uppladdningssidan har två flikar:

Uppladdningsflik — skicka in en befintlig .torrent-fil

Dra och släpp eller välj en .torrent-fil. När den är laddad fyller du i fälten:

FältKrävsBeskrivning
Torrent-filJa.torrent-filen som ska laddas upp.
NamnNejÅsidosätt torrentens visningsnamn. Om det lämnas tomt används det namn som är inbäddat i torrent-filen.
KategoriJaInnehållskategori (Anime, Manga, Ljud, etc.).
UnderkategoriNejEn mer specifik typ inom kategorin (t.ex. RAW, Sub/Ljud).
SpråkNejEn eller flera språktaggar som beskriver innehållets språk.
GruppNejAssociera den här utgåvan med en grupp du är medlem i.
BeskrivningNejMarkdown-formaterad beskrivning visad på torrentdetaljsidan (max 65535 tecken).
PrivatNejSätter privatflaggan i torrenten, inaktiverar DHT/PEX. Användbart för tracker-only torrents.
AnnonseringsadressNejÅsidosätt eller lägg till den primära tracker announce URL.
Extra trackersNejLäses från torrentfilen. Kan inte ändras vid uppladdning — använd fliken Skapa om du vill anpassa trackerlistan.
KommentarNejÅsidosätt torrentkommentarfältet inbäddat i filen.
AniRena tracker-krav

Din torrent måste innehålla minst en AniRena tracker-URL i sin announce-lista (i vilket tier som helst). Sidan kontrollerar detta vid uppladdning och avvisar torrents som inte inkluderar en AniRena tracker. Om du skapade torrenten utan att lägga till AniRena trackern först, ladda upp den och ladda sedan ner den igen från webbplatsen — den nedladdade filen kommer automatiskt att ha rätt trackrar.

Skapaflik — bygg en ny torrent

Skapaflikar låter dig generera en ny .torrent från grunden genom att ange filsökvägar, tracker-URL:er och andra torrentparametrar direkt i webbläsaren. Den resulterande torrenten skickas in med samma metadatafält som ovan.

Moderering

Uppladdningar kontrolleras automatiskt mot en lista med förbjudna innehållsmönster (namn, filnamn, beskrivningar). Torrents som matchar ett förbjudet mönster avvisas. Duplikattorrents (samma info-hash) avvisas också.

6. Ditt konto

Klicka på ditt användarnamn i det övre högra hörnet för att öppna profilpanelen. Den är organiserad i hopfällbara sektioner:

Inställningar

Ändra UI-tema, textstorlek, färgschema, gränssnittsspråk och torrentrelaterade visningsinställningar. Ändringar sparas automatiskt.

Lösenord

Ange ditt nuvarande lösenord och det nya lösenordet två gånger. En verifieringskod skickas till din registrerade e-postadress och måste anges för att bekräfta ändringen. Om tvåfaktorsautentisering är aktiverat krävs din TOTP-kod också.

Tvåfaktorsautentisering (2FA)

Aktivera TOTP-baserad tvåfaktorsautentisering med valfri autentiseringsapp (t.ex. Google Authenticator, Aegis, Bitwarden). När du aktiverar 2FA:

  1. Skanna QR-koden (eller ange hemligheten manuellt) i din autentiseringsapp.
  2. Ange den 6-siffriga koden som visas i appen för att bekräfta inställningen.
  3. Spara de visade återställningskoderna — dessa är engångskoder för att återfå åtkomst om du förlorar din enhet.

För att inaktivera 2FA, ange din nuvarande TOTP-kod och bekräfta.

Aktiva sessioner

Visa alla nuvarande aktiva inloggningssessioner inklusive webbläsare, OS, IP-adress och tid för senaste aktivitet. Klicka på Återkalla på valfri session du inte känner igen. Du kan också återkalla alla sessioner på en gång för att logga ut från alla enheter.

API-nyckel

Generera en personlig API-nyckel som används för att programmatiskt ladda upp torrents via AniRena API. Klicka på Generera nyckel för att skapa en — den fullständiga nyckeln visas en gång direkt efter generering. Förvara den säkert; den visas inte i sin helhet igen. Använd Återkalla för att permanent ogiltigförklara nyckeln.

Radera konto

Begäran om kontoborttagning startar en 30-dagars avkylningstid. Ditt konto inaktiveras omedelbart och raderas permanent efter 30 dagar. Du kan avbryta raderingen när som helst inom det fönstret genom att logga in och klicka på Avbryt radering.

7. AniRena API

AniRena tillhandahåller ett JSON API som låter dig programmatiskt ladda upp torrents med en personlig API-nyckel. API:et tillämpar samma regler som webbgränssnittet: kontroller för blockeringar, hastighetsgränser och webbplatslägesbegränsningar gäller alla. Varje API-uppladdning registreras i granskningsloggen.

Autentisering

API:et använder ett autentiseringsflöde i två steg. Byt först din permanenta API-nyckel mot en kortlivad bearer-token, och skicka sedan den token i Authorization-headern för varje API-förfrågan.

Din API-nyckel finns under Ditt konto > API-nyckel. Håll den hemlig — vem som helst med nyckeln kan skaffa bearer-tokens och ladda upp i ditt namn. Om den komprometteras, återkalla den omedelbart och generera en ny.

Steg 1 — Skaffa en bearer-token
POST/api/v1/auth/token

Skicka en POST-begäran till token-endpointen med din API-nyckel i Authorization-headern. Ingen begärandekropp krävs.

Authorization: ApiKey <your-api-key>
Token-svar
{
  "token":      "<bearer-token>",
  "token_type": "Bearer",
  "expires_in": 3600
}
Tokenens livslängd

Bearer-tokens förblir giltiga i upp till 3600 sekunder från det att de utfärdades och kan återanvändas för varje anrop tills de upphör att gälla. När en token upphör att gälla, skapa en ny via POST /api/v1/auth/token. Varje svar returnerar fortfarande den aktuella token i X-New-Token-headern för bakåtkompatibilitet.

X-New-Token: <next-bearer-token>
Inloggning med en enda begäran (med 2FA)
POST/api/v1/auth/login

Autentisera med ditt användarnamn eller din e-post och ditt lösenord i en enda begäran och få ett bearer-token direkt. Om ditt konto har 2FA aktiverat, inkludera din aktuella autentiseringskod i totp_code (eller en återställningskod i recovery_code). Sätt eventuellt new_api_key till true för att även skapa en helt ny permanent API-nyckel i samma svar.

Förfrågningskropp
{
  "login":         "username or email",
  "password":      "your-password",
  "totp_code":     "123456",   // krävs om 2FA är aktiverat (6 siffror)
  "recovery_code": "",         // alternativ till totp_code
  "new_api_key":   false       // sätt till true för att även skapa en ny API-nyckel
}
Token-svar
{
  "ok":         true,
  "token":      "<bearer-token>",
  "token_type": "Bearer",
  "expires_in": 3600,
  "api_key":    "<new-api-key>"   // finns endast när new_api_key var true
}

Bearer-token fungerar precis som ett från ‎/api/v1/auth/token. Fältet api_key returneras endast när new_api_key är true — spara det omedelbart eftersom det bara visas en gång och ersätter eventuell tidigare nyckel.

Exempel — logga in och (valfritt) hämta en ny API-nyckel
# pip install requests
import requests

BASE_URL = "https://www.anirena.com"

# One request: authenticate (with 2FA if enabled) and get a bearer token.
# Set new_api_key=True to also receive a brand-new permanent API key.
resp = requests.post(
    f"{BASE_URL}/api/v1/auth/login",
    json={
        "login":       "your-username",  # username or email
        "password":    "your-password",
        "totp_code":   "123456",         # omit if 2FA is not enabled
        "new_api_key": True,             # optional
    },
)
resp.raise_for_status()
data  = resp.json()
token = data["token"]  # use as: Authorization: Bearer <token>
if "api_key" in data:
    print("New API key — store it now:", data["api_key"])

Steg 2 — Ladda upp en torrent

POST/api/v1/torrents

Skicka en enkel JSON POST-begäran med bearer-token i Authorization-headern.

Förfrågningskropp
FältTypKrävsBeskrivning
torrentstringJaBase64-kodat innehåll i .torrent-filen.
categorystringJaKategori-slug: anime, manga, audio, literature, live, pictures, software, hentai, other.
namestringNejÅsidosätt torrentens visningsnamn.
sub_categorystringNejUnderkategori-slug (t.ex. raw, sub-audio). Måste tillhöra den valda kategorin.
languagesstring[]NejArray av BCP 47-språkkoder (t.ex. en, ja).
group_idstringNejUUID för en grupp du är medlem i för att associera med den här utgåvan.
descriptionstringNejMarkdown-formaterad utgåvabeskrivning (max 65535 tecken).
commentstringNejÅsidosätt det inbäddade torrentkommentarfältet.
is_privatebooleanNejAnge true för att aktivera privatflaggan i torrenten.
comments_enabledbooleanNejTillåt kommentarer på denna torrent. Standard är true (aktiverat).
anime_idstringNejUUID för ett anime-inlägg att länka till denna torrent. Hämta UUID via GET /api/v1/anime/search. Returnerar 400 om UUID inte matchar något känt inlägg.
announcestringNejÅsidosätt eller lägg till den primära announce URL.
trackersstringNejNyradsseparerad lista med ytterligare tracker-URL:er. En tom rad mellan URL:er skapar en ny trackernivå.
testbooleanNejAnge true för en testkörning: begäran valideras fullt ut men torrenten sparas inte. Använd detta för att verifiera att din nyttolast är korrekt innan en verklig inlämning.
Testkörning / testläge Lägg till "test": true i valfri uppladdningsbegäran för att kontrollera om den skulle lyckas utan att faktiskt lägga till torrenten. Alla valideringsregler gäller — autentisering, kategorisökning, dubblettidentifiering, förbjudna mönster, trackerkrav — så svaret speglar exakt vad en riktig inlämning skulle returnera. Token roteras fortfarande vid framgång.
Testkörning framgångssvar — 200 OK
{
  "ok":           true,
  "test":         true,
  "name":         "My Torrent Title",
  "info_hash_v1": "aabbccddeeff...",
  "info_hash_v2": null
}
Tillgängliga språkkoder
ababAbkhazian
aaaaAfar
afafAfrikaans
akakAkan
sqsqAlbanian
amamAmharic
ararArabic
ar-001ar-001Arabic (Modern Standard)
ananAragonese
hyhyArmenian
asasAssamese
avavAvaric
aeaeAvestan
ayayAymara
azazAzerbaijani
bmbmBambara
babaBashkir
eueuBasque
bebeBelarusian
bnbnBengali
bhbhBihari
bibiBislama
bsbsBosnian
brbrBreton
bgbgBulgarian
mymyBurmese
yueyueCantonese
cacaCatalan
chchChamorro
ceceChechen
nynyChichewa
zhzhChinese
zh-HKzh-HKChinese (Hong Kong)
zh-Hanszh-HansChinese (Simplified)
zh-SGzh-SGChinese (Singapore)
zh-TWzh-TWChinese Traditional
cucuChurch Slavic
cvcvChuvash
kwkwCornish
cocoCorsican
crcrCree
hrhrCroatian
cscsCzech
dadaDanish
dvdvDivehi
nlnlDutch
nl-BEnl-BEDutch (Belgian)
dzdzDzongkha
enenEnglish
en-USen-USEnglish (US)
eoeoEsperanto
etetEstonian
eeeeEwe
fofoFaroese
fjfjFijian
filfilFilipino
fifiFinnish
frfrFrench
fr-CAfr-CAFrench (Canadian)
ffffFula
glglGalician
lglgGanda
kakaGeorgian
dedeGerman
de-ATde-ATGerman (Austrian)
elelGreek
gngnGuarani
guguGujarati
hthtHaitian Creole
hahaHausa
heheHebrew
hzhzHerero
hihiHindi
hohoHiri Motu
huhuHungarian
isisIcelandic
ioioIdo
igigIgbo
ididIndonesian
iaiaInterlingua
ieieInterlingue
iuiuInuktitut
ikikInupiaq
gagaIrish
ititItalian
jajaJapanese
jvjvJavanese
klklKalaallisut
knknKannada
krkrKanuri
ksksKashmiri
kkkkKazakh
kmkmKhmer
kikiKikuyu
rwrwKinyarwanda
rnrnKirundi
kvkvKomi
kgkgKongo
kokoKorean
kjkjKuanyama
kukuKurdish
kykyKyrgyz
loloLao
lalaLatin
lvlvLatvian
liliLimburgish
lnlnLingala
ltltLithuanian
luluLuba-Katanga
lblbLuxembourgish
mkmkMacedonian
mgmgMalagasy
msmsMalay
mlmlMalayalam
mtmtMaltese
gvgvManx
mimiMaori
mrmrMarathi
mhmhMarshallese
mnmnMongolian
nanaNauru
nvnvNavajo
ngngNdonga
neneNepali
ndndNorth Ndebele
seseNorthern Sami
nonoNorwegian
nbnbNorwegian Bokmål
nnnnNorwegian Nynorsk
ococOccitan
ororOdia
ojojOjibwe
omomOromo
ososOssetic
pipiPali
pspsPashto
fafaPersian
plplPolish
ptptPortuguese
pt-BRpt-BRPortuguese (Brazil)
papaPunjabi
ququQuechua
roroRomanian
rmrmRomansh
ruruRussian
smsmSamoan
sgsgSango
sasaSanskrit
scscSardinian
gdgdScottish Gaelic
srsrSerbian
sr-Latnsr-LatnSerbian (Latin)
snsnShona
iiiiSichuan Yi
sdsdSindhi
sisiSinhala
skskSlovak
slslSlovenian
sosoSomali
nrnrSouth Ndebele
ststSouthern Sotho
esesSpanish
es-419es-419Spanish (Latin America)
es-MXes-MXSpanish (Mexico)
susuSundanese
swswSwahili
ssssSwati
svsvSwedish
tltlTagalog
tytyTahitian
tgtgTajik
tataTamil
ttttTatar
teteTelugu
ththThai
boboTibetan
titiTigrinya
totoTongan
tstsTsonga
tntnTswana
trtrTurkish
tktkTurkmen
twtwTwi
ukukUkrainian
ururUrdu
ugugUyghur
uzuzUzbek
veveVenda
viviVietnamese
vovoVolapük
wawaWalloon
cycyWelsh
fyfyWestern Frisian
wowoWolof
xhxhXhosa
yiyiYiddish
yoyoYoruba
zazaZhuang
zuzuZulu
Exempelförfrågan
# pip install requests
import base64, pathlib, requests

API_KEY  = "YOUR_API_KEY"
BASE_URL = "https://www.anirena.com"

# Step 1: exchange API key for a short-lived bearer token
auth = requests.post(
    f"{BASE_URL}/api/v1/auth/token",
    headers={"Authorization": f"ApiKey {API_KEY}"},
)
auth.raise_for_status()
token = auth.json()["token"]

# Step 2: upload — plain JSON with the bearer token
torrent_b64 = base64.b64encode(pathlib.Path("file.torrent").read_bytes()).decode()
resp = requests.post(
    f"{BASE_URL}/api/v1/torrents",
    json={
        "torrent":      torrent_b64,
        "category":     "anime",
        "sub_category": "raw",
        "languages":    ["ja"],
        "description":  "# My Release\n\nRelease notes here.",
        "is_private":   False,
    },
    headers={"Authorization": f"Bearer {token}"},
)
resp.raise_for_status()
data  = resp.json()
token = resp.headers.get("X-New-Token", token)  # save for next request
print(data["id"], data["name"])  # torrent UUID and title
Framgångsrikt svar — 200 OK
{
  "ok":           true,
  "id":           "550e8400-e29b-41d4-a716-446655440000",
  "name":         "My Torrent Title",
  "info_hash_v1": "aabbccddeeff...",
  "info_hash_v2": null
}
Felsvar
HTTP-statusBetydelse
400Ogiltig förfrågningskropp eller saknat obligatoriskt fält.
401Saknad, utgången eller redan roterad bearer-token. Autentisera om via POST /api/v1/auth/token.
403Konto avstängt, inaktiverat eller IP blockerad.
409Duplikattorrent — torrent med samma info-hash finns redan.
422Torrent-filen kunde inte tolkas eller misslyckades med validering (förbjudet mönster, ogiltig struktur).
429Hastighetsgräns överskriden. Försök igen när fönstret återställts.
503Webbplatsen är i underhålls- eller skrivskyddat läge.

Hastighetsbegränsning

API-uppladdningar är föremål för en konfigurerbar hastighetsgräns separat från webbgränssnittet. Gränsen och fönstret ställs in av webbplatsadministratören. När hastighetsgränsen överskrids returnerar API:et 429 Too Many Requests. Gränsen är per API-nyckel.

Håll din API-nyckel privat. Den ger full uppladdningsåtkomst under ditt konto. Återkalla och regenerera den omedelbart om du misstänker att den har exponerats.

Generera torrent-filer med torrent-builder

torrent-builder är ett CLI-verktyg med öppen källkod byggt ovanpå libtorrent-rasterbar som låter dig skapa BitTorrent v1, v2 och hybrid .torrent-filer från kommandoraden. Det passar perfekt ihop med AniRena upload API — generera filen lokalt och POST den sedan direkt till trackern. cantalupo555/torrent-builder.

Bygg från källkod

Kräver CMake >= 3.28.3 och libtorrent-rasterbar >= 2.0.11. Klona repositoriet och bygg med CMake:

# Install system dependencies
sudo apt-get install build-essential cmake libtorrent-rasterbar-dev

# Clone & build
git clone https://github.com/cantalupo555/torrent-builder.git
cd torrent-builder
mkdir build && cd build
cmake .. && cmake --build .
Viktiga flaggor
FältBeskrivning
--pathSökväg till filen eller katalogen som ska paketeras (obligatorisk).
--outputNamn på utdata-.torrent-filen (obligatorisk).
--versionBitTorrent-format — 1 = v1, 2 = v2, 3 = hybrid (standard: 3).
--trackerLägg till en tracker-announce-URL. Upprepa flaggan för att lägga till flera trackers.
--commentBädda in en metadatakommentarssträng i torrenten.
--privateSätt privatflaggan för att begränsa distributionen till enbart de listade trackerna.
--piece-sizeDelstorlek i KB (16-32768). Lämna oinställd för automatiskt val.
-iStarta stegvis interaktivt konfigurationsläge.
Komplett arbetsflöde: bygg -> ladda upp

Exemplen nedan bygger en hybrid-torrent med torrent-builder, autentiserar sedan med AniRena API och laddar upp resultatet i ett enda skript.

# pip install requests
import base64, subprocess, requests

API_KEY  = "YOUR_API_KEY"
BASE_URL = "https://www.anirena.com"

# Step 1: build the torrent with torrent-builder
# --version 1=v1  2=v2  3=hybrid (default)
subprocess.run([
    "./torrent-builder/build/torrent_builder",
    "--path",    "/data/my_release",
    "--output",  "my_release.torrent",
    "--version", "3",                      # hybrid
    "--tracker", "udp://open.tracker.gg:6969/announce",
    "--comment", "My Release",
    "--creator", "--creation-date",
], check=True)

# Step 2: authenticate
token = requests.post(
    f"{BASE_URL}/api/v1/auth/token",
    headers={"Authorization": f"ApiKey {API_KEY}"},
).json()["token"]

# Step 3: upload
torrent_b64 = base64.b64encode(open("my_release.torrent", "rb").read()).decode()
resp = requests.post(
    f"{BASE_URL}/api/v1/torrents",
    json={
        "torrent":          torrent_b64,
        "category":         "anime",
        "sub_category":     "raw",
        "languages":        ["ja"],
        "comments_enabled": True,
    },
    headers={"Authorization": f"Bearer {token}"},
)
resp.raise_for_status()
data = resp.json()
print(data["id"], data["name"])

Söka i torrent-metadata

POST/api/v1/torrents/search

Skicka en enkel JSON POST-begäran för att hämta torrentlistningar med samma sök- och filtreringsalternativ som finns på webbplatsen. .torrent-filen returneras inte — använd den normala nedladdningsvägen för det.

# pip install requests  (token already obtained — see upload example)
resp = requests.post(
    f"{BASE_URL}/api/v1/torrents/search",
    json={"q": "Sword Art Online", "category": "anime", "per_page": 25},
    headers={"Authorization": f"Bearer {token}"},
)
resp.raise_for_status()
data  = resp.json()
token = resp.headers.get("X-New-Token", token)  # save for next request
for t in data["torrents"]:
    print(t["title"], "-", t["magnet"])
Sökparametrar
FältTypKrävsBeskrivning
qstringNejFritextsökning. Stöder group:slug, group:"Name", user:name prefix.
categorystringNejKategori-slug (t.ex. "anime").
sub_categorystringNejUnderkategori-slug (t.ex. "raw").
languagesstring[]NejArray av BCP 47-språkkoder (t.ex. en, ja).
sortstringNejSorteringsfält: date (standard), size, seeders, leechers, completed, title.
orderstringNejSorteringsriktning: desc (standard) eller asc.
pageintegerNejSidnummer, börjar vid 1 (standard 1).
per_pageintegerNejResultat per sida, 1–250 (standard 50).
hide_adultbooleanNejUteslut torrents i vuxenkategorin. Standard true för vanliga användare.
show_deadbooleanNejNär false (standard) exkluderas torrents äldre än dead-torrent-anståndsperioden utan aktiva seedare. Sätt till true för att inkludera dem.
Svar
{
  "total":       1234,
  "page":        1,
  "per_page":    50,
  "total_pages": 25,
  "from":        1,
  "to":          50,
  "torrents": [
    {
      "id":            "550e8400-e29b-41d4-a716-446655440000",
      "title":         "My Release Title",
      "info_hash_v1":  "aabbccddeeff...",
      "info_hash_v2":  null,
      "size_fmt":      "1.4 GB",
      "completed":     42,
      "seeders":       10,
      "leechers":      3,
      "languages":     ["ja", "en"],
      "comment_count": 7,
      "created_at":    "2024-01-15 12:34",
      "cat_slug":      "anime",
      "sub_slug":      "raw",
      "group_name":    null,
      "uploader":      "username",
      "magnet":        "magnet:?xt=urn:btih:..."
    }
  ]
}

comment_count — Antal icke-raderade kommentarer på denna torrent.

Sökhastighetsbegränsning

Sökförfrågningar är föremål för en separat konfigurerbar hastighetsgräns (standard 60 förfrågningar per 60 sekunder per API-nyckel). Att överskrida gränsen returnerar 429 Too Many Requests. Personalkonton är undantagna.

Hämta torrentdetaljer

GET/api/v1/torrent/{id}

Hämtar fullständig metadata för en enskild torrent — inklusive fält som sök-endpointen utelämnar, såsom Markdown-beskrivningen, den inbäddade .torrent-kommentaren, fillistan med storlek per fil och hela tracker-tier-layouten. När de är tillgängliga läses livesiffror för seeders och leechers från trackern.

Svar
{
  "id":                "550e8400-e29b-41d4-a716-446655440000",
  "title":             "My Release Title",
  "info_hash_v1":      "aabbccddeeff...",
  "info_hash_v2":      null,
  "size_fmt":          "1.4 GB",
  "completed":         42,
  "seeders":           10,
  "leechers":          3,
  "ext_seeders":       128,
  "ext_leechers":      14,
  "created_at":        "2024-01-15 12:34",
  "torrent_created":   "2024-01-15 12:30",
  "created_by_client": "mktorrent 1.1",
  "cat_name":          "Anime",
  "cat_slug":          "anime",
  "sub_name":          "Raw",
  "sub_slug":          "raw",
  "group_name":        null,
  "group_slug":        null,
  "uploader":          "username",
  "uploader_id":       "...",
  "description":       "# My Release\n\nRelease notes here.",
  "comment":           "",
  "is_private":        false,
  "magnet":            "magnet:?xt=urn:btih:...",
  "languages": [
    { "code": "ja", "name": "Japanese", "country_code": "jp" }
  ],
  "tracker_tiers": [
    { "tier": 0, "urls": ["udp://tracker.example.org:6969/announce"] }
  ],
  "files": [
    { "path": "My Release/episode-01.mkv", "size": 1503238553 }
  ],
  "comments_enabled":  true,
  "comments_locked":   false,
  "comment_count":     7
}

seeders, leechers — Livesiffror från den interna trackern; båda rapporterar 0 när tracker-lagret saknar post för denna info hash eller är onåbart.

ext_seeders, ext_leechers — Högsta antal seeders och leechers som rapporterats av en enskild extern tracker scrapad för denna torrent. Trackers som följer samma svärm överlappar, så max används istället för summan; båda rapporterar 0 när ingen tracker har scrape-data för denna info hash.

Felsvar
HTTP-statusBetydelse
400Torrent-id:t måste vara antingen ett UUID på 36 tecken med bindestreck eller en 32 tecken lång ren hex-sträng.
401Saknad, utgången eller redan roterad bearer-token. Autentisera om via POST /api/v1/auth/token.
404Torrent hittades inte.
429Hastighetsgräns överskriden. Försök igen när fönstret återställts.
503Webbplatsen är i underhålls- eller skrivskyddat läge.

Hämta torrent-kommentarer

GET/api/v1/torrents/{id}/comments

Hämta sidnumrerade kommentarer för en torrent. Antalet kommentarer per sida styrs av COMMENT_PER_PAGE-inställningen i serverns .env-fil (standard 20). Bara torrents med aktiverade kommentarer returnerar resultat — alla andra returnerar 403.

Frågeparametrar
FältTypKrävsBeskrivning
pageintegerNejSidnummer, börjar vid 1 (standard 1).
# pip install requests  (token already obtained — see upload example)
TORRENT_ID = "550e8400-e29b-41d4-a716-446655440000"
resp = requests.get(
    f"{BASE_URL}/api/v1/torrents/{TORRENT_ID}/comments",
    params={"page": 1},
    headers={"Authorization": f"Bearer {token}"},
)
resp.raise_for_status()
data  = resp.json()
token = resp.headers.get("X-New-Token", token)  # save for next request
for c in data["comments"]:
    print(c["username"], "-", c["body"])
Svar
{
  "torrent_id":  "550e8400-e29b-41d4-a716-446655440000",
  "page":        1,
  "per_page":    20,
  "total":       45,
  "total_pages": 3,
  "comments": [
    {
      "id":                 "...",
      "user_id":            "...",
      "username":           "uploader",
      "role":               "user",
      "author_banned":      false,
      "body":               "Great release!",
      "created_at":         "2024-01-15 12:34:00",
      "edited_at":          null,
      "edited_by_username": null,
      "deleted_at":         null
    }
  ]
}

Fältet body är en tom sträng när kommentarförfattaren är avstängd eller kommentaren har tagits bort. Flaggan author_banned anger vilket fall som gäller.

Felsvar
HTTP-statusBetydelse
401Saknad, utgången eller redan roterad bearer-token. Autentisera om via POST /api/v1/auth/token.
403Kommentarer är inaktiverade för denna torrent.
404Torrenten hittades inte.
503Webbplatsen är i underhålls- eller skrivskyddat läge.

Söker efter animeposter

GET/api/v1/anime/search?q=<query>

Sök efter anime-inlägg via titel för att hämta deras UUID. UUID kan skickas som anime_id i uppladdningskroppen för att länka en torrent till ett anime-inlägg vid uppladdningstillfället, eller användas med PUT /api/torrents/{id}/anime efter uppladdning. Ingen autentisering krävs. Underkastat samma hastighetsgräns som torrent-sökning (standard 60 förfrågningar per 60 sekunder per IP).

# pip install requests  (no authentication required)
resp = requests.get(
    f"{BASE_URL}/api/v1/anime/search",
    params={"q": "Sword Art Online", "page": 1, "per_page": 10},
)
resp.raise_for_status()
for item in resp.json()["results"]:
    print(item["id"], "-", item["title"])
Frågeparametrar
FältTypKrävsBeskrivning
qstringJaTitelsöksträng (obligatorisk). Matchas mot titel och synonymer.
pageintegerNejSidnummer, börjar vid 1 (standard 1).
per_pageintegerNejResultat per sida, 1–50 (standard 10).
Svar
{
  "total":       42,
  "page":        1,
  "per_page":    10,
  "total_pages": 5,
  "results": [
    {
      "id":           "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "title":        "Sword Art Online",
      "anime_type":   "TV",
      "episodes":     25,
      "status":       "FINISHED",
      "season":       "FALL",
      "season_year":  2012,
      "picture":      "https://cdn.myanimelist.net/images/anime/...",
      "thumbnail":    "https://cdn.myanimelist.net/images/anime/...",
      "duration_secs": 1440
    }
  ]
}

Lista och hämta grupper

GET/api/v1/groups

Returnerar en paginerad lista med offentliga grupper (aktiverade och olåsta). Kräver Bearer-tokenautentisering.

GET/api/v1/groups/{id_or_slug}

Returnerar en enskild offentlig grupp efter numeriskt ID eller slug. Returnerar 404 om gruppen är inaktiverad eller låst.

Frågeparametrar (endast lista)
FältTypKrävsBeskrivning
qstringNejFiltrera efter gruppnamn (valfritt, delmatchning).
pageintegerNejSidnummer (standard 1).
per_pageintegerNejResultat per sida, 1–100 (standard 20).
sortstringNejSorteringskolumn: name | slug | members | torrents | created (standard name).
orderstringNejSorteringsriktning: asc eller desc (standard asc).
Svar (lista)
{
  "total":       12,
  "page":        1,
  "per_page":    20,
  "total_pages": 1,
  "groups": [
    {
      "id":             1,
      "name":           "SubsPlease",
      "slug":           "subsplease",
      "subdomain_slug": "subsplease",
      "description":    "Weekly simulcast batches.",
      "owner":          "admin",
      "member_count":   42,
      "torrent_count":  1337,
      "created_at":     "2024-01-15 12:34"
    }
  ]
}
Svar (enskild)
{
  "id":             1,
  "name":           "SubsPlease",
  "slug":           "subsplease",
  "subdomain_slug": "subsplease",
  "description":    "Weekly simulcast batches.",
  "owner":          "admin",
  "member_count":   42,
  "torrent_count":  1337,
  "created_at":     "2024-01-15 12:34"
}
Felsvar
HTTP-statusBetydelse
401Saknad, utgången eller redan roterad bearer-token. Autentisera om via POST /api/v1/auth/token.
404Grupp hittades inte eller är inte offentligt tillgänglig.
429Hastighetsgräns överskriden. Försök igen när fönstret återställts.
503Webbplatsen är i underhålls- eller skrivskyddat läge.

8. Donationer

Om du vill stödja AniRena och hjälpa till att täcka kostnaderna för att vara värd för våra servrar och tjänster, är du välkommen att skicka en donation till en av följande kryptovaluta-plånböcker:

Bitcoinbc1qy2h3ddq6ak5damvnf4r5vu3ydehhxrcq8gllwn
Ethereum0xCbaFe03832F95F86AF2536d52710e78C63b62Cd3
Solana3ucetj2XDGHQg9PVRPMxerNi7c6kX7GJkjQNg9yjwGeg
LitecoinLbpt61yX3RjGtB1Ef8vgVz6Hr6baQsTjVk

Varje donation, stor eller liten, är mycket uppskattad och går direkt till att hålla AniRena igång. Tack för ditt stöd!

9. Programvara

AniRena Player är en kostnadsfri skrivbordsapp som låter dig strömma video direkt från torrents som indexeras på den här webbplatsen — utan att behöva vänta på att hela nedladdningen ska bli klar. Klistra bara in en magnetlänk eller öppna en .torrent-fil, så börjar uppspelningen så snart tillräckligt med data finns tillgängligt.

Båda versionerna är helt fristående — alla beroenden är paketerade inuti den körbara filen. Ingen installerare, ingen körningsmiljö att konfigurera — ladda bara ner och kör.

Windows auto-uppdatering
  • v0.3.2 latest AniRena-Player_0.3.2_x64-setup.exe · 43.4 MB (33 nedladdningar)
Äldre versioner
  • v0.3.1 AniRena-Player_0.3.1_x64-setup.exe · 43.9 MB (64 nedladdningar)
  • v0.3.0 AniRena-Player_0.3.0_x64-setup.exe · 43.7 MB (8 nedladdningar)
  • v0.2.9 AniRena-Player_0.2.9_x64-setup.exe · 43.5 MB (6 nedladdningar)
  • v0.2.8 AniRena-Player_0.2.8_x64-setup.exe · 43.5 MB (17 nedladdningar)
  • v0.2.7 AniRena-Player_0.2.7_x64-setup.exe · 43.5 MB (19 nedladdningar)
  • v0.2.6 AniRena-Player_0.2.6_x64-setup.exe · 43.4 MB (3 nedladdningar)
  • v0.2.5 AniRena-Player_0.2.5_x64-setup.exe · 43.4 MB (8 nedladdningar)

Installationsprogram (.exe). Uppdaterar sig själv i appen.

macOS · Apple Silicon auto-uppdatering
  • v0.3.2 latest AniRena-Player_0.3.2_aarch64.dmg · 45.7 MB (2 nedladdningar)

Diskavbild (.dmg) för Apple Silicon-Mac (M1 och nyare). Uppdaterar sig själv i appen.

macOS · Intel auto-uppdatering

Diskavbild (.dmg) för Intel-Mac. Uppdaterar sig själv i appen.

Linux · AppImage auto-uppdatering
  • v0.3.2 latest AniRena-Player_0.3.2_amd64.AppImage · 95.1 MB (8 nedladdningar)
Äldre versioner
  • v0.3.1 AniRena-Player_0.3.1_amd64.AppImage · 138.1 MB (19 nedladdningar)
  • v0.3.0 AniRena-Player_0.3.0_amd64.AppImage · 138.0 MB (4 nedladdningar)
  • v0.2.9 AniRena-Player_0.2.9_amd64.AppImage · 137.7 MB (35 nedladdningar)
  • v0.2.8 AniRena-Player_0.2.8_amd64.AppImage · 137.6 MB (23 nedladdningar)
  • v0.2.7 AniRena-Player_0.2.7_amd64.AppImage · 137.6 MB (20 nedladdningar)
  • v0.2.5 AniRena-Player_0.2.5_amd64.AppImage · 137.6 MB (18 nedladdningar)

Bärbar enkelfil, ingen installation behövs. Det enda Linux-formatet med uppdatering i appen.

Debian / Ubuntu
Äldre versioner
  • v0.3.1 AniRena-Player_0.3.1_amd64.deb · 62.5 MB (4 nedladdningar)
  • v0.3.0 AniRena-Player_0.3.0_amd64.deb · 62.4 MB (3 nedladdningar)
  • v0.2.9 AniRena-Player_0.2.9_amd64.deb · 62.1 MB (4 nedladdningar)
  • v0.2.8 AniRena-Player_0.2.8_amd64.deb · 62.0 MB (26 nedladdningar)
  • v0.2.7 AniRena-Player_0.2.7_amd64.deb · 62.0 MB (12 nedladdningar)
  • v0.2.5 AniRena-Player_0.2.5_amd64.deb · 62.0 MB (11 nedladdningar)

Installation: sudo apt install ./<file>.deb — uppdateras via apt eller en ny nedladdning, inte i appen.

Fedora / RHEL
  • v0.3.2 latest AniRena-Player_0.3.2-1_x86_64.rpm · 14.2 MB (1 nedladdningar)
Äldre versioner
  • v0.3.1 AniRena-Player_0.3.1-1_x86_64.rpm · 62.5 MB (3 nedladdningar)
  • v0.3.0 AniRena-Player_0.3.0-1_x86_64.rpm · 62.4 MB (2 nedladdningar)
  • v0.2.9 AniRena-Player_0.2.9-1_x86_64.rpm · 62.1 MB (23 nedladdningar)
  • v0.2.8 AniRena-Player_0.2.8-1_x86_64.rpm · 62.0 MB (5 nedladdningar)
  • v0.2.7 AniRena-Player_0.2.7-1_x86_64.rpm · 62.0 MB (8 nedladdningar)
  • v0.2.5 AniRena-Player_0.2.5-1_x86_64.rpm · 62.0 MB (7 nedladdningar)

Installation: sudo dnf install ./<file>.rpm — uppdateras via dnf eller en ny nedladdning, inte i appen.

Android · arm64
  • v0.3.2 latest AniRena-Player_0.3.2_arm64.apk · 110.3 MB (71 nedladdningar)
Äldre versioner
  • v0.3.1 AniRena-Player_0.3.1_arm64.apk · 110.3 MB (62 nedladdningar)
  • v0.3.0 AniRena-Player_0.3.0_arm64.apk · 110.1 MB (8 nedladdningar)
  • v0.2.9 AniRena-Player_0.2.9_arm64.apk · 109.1 MB (12 nedladdningar)
  • v0.2.8 AniRena-Player_0.2.8_arm64.apk · 109.1 MB (22 nedladdningar)
  • v0.2.7 AniRena-Player_0.2.7_arm64.apk · 109.0 MB (17 nedladdningar)

Sideload på 64-bitars ARM Android-enheter (de flesta moderna telefoner / surfplattor). Uppdateras genom att ladda ner en ny APK.

Android · arm7
Äldre versioner
  • v0.3.1 AniRena-Player_0.3.1_arm7.apk · 97.8 MB (15 nedladdningar)

Sidladda på 32-bitars ARM Android-enheter (äldre telefoner / surfplattor). Uppdateras genom att ladda ner en ny APK.

Android · x86_64
  • v0.3.2 latest AniRena-Player_0.3.2_x86_64.apk · 114.3 MB (7 nedladdningar)
Äldre versioner
  • v0.3.1 AniRena-Player_0.3.1_x86_64.apk · 114.3 MB (12 nedladdningar)
  • v0.3.0 AniRena-Player_0.3.0_x86_64.apk · 114.1 MB (4 nedladdningar)
  • v0.2.9 AniRena-Player_0.2.9_x86_64.apk · 113.1 MB (4 nedladdningar)
  • v0.2.8 AniRena-Player_0.2.8_x86_64.apk · 113.0 MB (9 nedladdningar)
  • v0.2.7 AniRena-Player_0.2.7_x86_64.apk · 113.0 MB (11 nedladdningar)

Sideload på 64-bitars x86 Android-enheter eller emulatorer. Uppdateras genom att ladda ner en ny APK.