1. เริ่มต้น

AniRena เป็นดัชนีทอร์เรนต์ที่เน้นอนิเมะ มังงะ เสียง และสื่อที่เกี่ยวข้อง คุณสามารถเรียกดูและดาวน์โหลดทอร์เรนต์โดยไม่ต้องมีบัญชี บัญชีจำเป็นสำหรับการอัปโหลดทอร์เรนต์ โพสต์ในกลุ่ม หรือใช้ API

แถบนำทางด้านบนให้เข้าถึงพื้นที่หลักของเว็บไซต์:

  • หน้าแรก — หน้ารายการและค้นหาทอร์เรนต์
  • อัปโหลด — ส่งทอร์เรนต์ใหม่ (ต้องเข้าสู่ระบบ)
  • คู่มือ — หน้านี้
  • สถิติ — สถิติทั่วเว็บไซต์
  • กลุ่ม — ไดเรกทอรีกลุ่มปล่อย
  • RSS — ฟีด RSS ของการอัปโหลดล่าสุด

เมนูบัญชีของคุณ (มุมขวาบนเมื่อเข้าสู่ระบบ) เปิดแผงโปรไฟล์สำหรับปรับการตั้งค่าและจัดการตัวเลือกความปลอดภัย

2. การเรียกดูและค้นหา

หน้าแรกแสดงทอร์เรนต์ทั้งหมดเรียงตามวันที่อัปโหลด ใช้แถบค้นหาด้านบนเพื่อกรองผลลัพธ์

การค้นหาขั้นพื้นฐาน

พิมพ์คำใดก็ได้ในแถบค้นหาแล้วกด Enter (หรือคลิกไอคอนค้นหา)

ตัวดำเนินการค้นหา

ตัวดำเนินการต่อไปนี้สามารถใช้ร่วมกับคำค้นหาปกติ:

ตัวดำเนินการตัวอย่างผล
user:"name"user:"SubsPlease"แสดงเฉพาะทอร์เรนต์ที่อัปโหลดโดยผู้ใช้นั้น

การคลิกชื่อผู้อัปโหลดในรายการทอร์เรนต์จะค้นหาผู้ใช้นั้นโดยอัตโนมัติ

หมวดหมู่และหมวดหมู่ย่อย

ใช้ตัวเลือกหมวดหมู่เพื่อจำกัดผลลัพธ์เป็นหมวดหมู่เดียว

  • อนิเมะ
  • มังงะ/มันฮวา/การ์ตูน
  • เสียง
  • วรรณกรรม
  • Live Action
  • รูปภาพ
  • ซอฟต์แวร์
  • Hentai
  • อื่นๆ

แต่ละหมวดหมู่มีหมวดหมู่ย่อย

การเรียงและกรอง

ส่วนหัวคอลัมน์สามารถคลิกเพื่อเรียงตามคอลัมน์นั้น หมายเหตุ: จำนวน seeders และ leechers มาจาก Redis แบบเรียลไทม์ ไม่สามารถใช้ในการเรียงลำดับได้

ตัวกรองภาษา

ใช้ตัวเลือกภาษาเพื่อแสดงเฉพาะทอร์เรนต์ที่ติดแท็กด้วยภาษาที่ระบุ

ฟีด RSS

ฟีด RSS ที่ /rss ให้การอัปโหลดล่าสุด ต่อท้าย ?category=anime เพื่อกรองฟีด

3. การดาวน์โหลดทอร์เรนต์

คลิกชื่อทอร์เรนต์เพื่อเปิดแผงรายละเอียด จากที่นั้นคุณสามารถ:

  • ดาวน์โหลด .torrent — บันทึกไฟล์ .torrent โดยตรง URL โดยตรงคือ /torrents/{id}.torrent
  • ลิงก์แม่เหล็ก — เปิดโดยตรงในโปรแกรมทอร์เรนต์ผ่านโปรโตคอล magnet URI URL คือ /torrents/{id}/magnet

แผงรายละเอียดยังแสดงคำอธิบาย รายการไฟล์ รายการตัวติดตาม และจำนวนซีดเดอร์/ลีชเชอร์

ลิงก์ดาวน์โหลดเดิม

ลิงก์ดาวน์โหลด AniRena เดิมยังคงรองรับและเปลี่ยนเส้นทางอัตโนมัติ /dl/{old_id}

ไคลเอนต์ BitTorrent ที่แนะนำ

ไคลเอนต์ BitTorrent สมัยใหม่ใดก็ได้ใช้งานได้ ไคลเอนต์ด้านล่างนี้แนะนำและรองรับ BitTorrent v2 / ทอร์เรนต์แบบไฮบริดอย่างสมบูรณ์:

qBittorrent ในหน้าดาวน์โหลด คลิก ตัวเลือกดาวน์โหลดเพิ่มเติม และเลือกบิลด์ที่มีป้ายกำกับ lt20 (libtorrent 2.0) โปรแกรมติดตั้งเริ่มต้นใช้ libtorrent 1.2 ซึ่งไม่รองรับทอร์เรนต์ v2 บริสุทธิ์รองรับ v2
PicoTorrent ไคลเอนต์ Windows แบบเบาพร้อมรองรับ BitTorrent v2 แบบเนทีฟตั้งแต่เริ่มต้นรองรับ v2
BiglyBT ไคลเอนต์ข้ามแพลตฟอร์มที่มีคุณสมบัติครบครันบน Azureus/Vuze พร้อมรองรับ v2 อย่างสมบูรณ์รองรับ v2

4. การสร้างบัญชี

การลงทะเบียน

คลิก สมัครสมาชิก ในแถบนำทาง เลือกชื่อผู้ใช้ ป้อนอีเมล และตั้งรหัสผ่าน

การเปิดใช้งานอีเมล

หลังสมัคร อีเมลยืนยันจะถูกส่งไปยังที่อยู่ของคุณ คลิกลิงก์ในอีเมลเพื่อเปิดใช้งานบัญชี

การกู้คืนรหัสผ่าน

หากลืมรหัสผ่าน คลิก ลืมรหัสผ่าน ในหน้าเข้าสู่ระบบและป้อนอีเมล

5. การอัปโหลดทอร์เรนต์

ไปที่ อัปโหลด ในแถบนำทาง คุณต้องเข้าสู่ระบบด้วยบัญชีที่ใช้งานได้

แท็บอัปโหลด — ส่งไฟล์ .torrent ที่มีอยู่

ลากและวางหรือเลือกไฟล์ .torrent

ช่องจำเป็นคำอธิบาย
ไฟล์ทอร์เรนต์ใช่ไฟล์ .torrent ที่จะอัปโหลด
ชื่อไม่แทนที่ชื่อแสดงผลของทอร์เรนต์
หมวดหมู่ใช่หมวดหมู่เนื้อหา (อนิเมะ มังงะ เสียง ฯลฯ)
หมวดหมู่ย่อยไม่ประเภทเฉพาะเจาะจงภายในหมวดหมู่
ภาษาไม่แท็กภาษาหนึ่งหรือมากกว่า
กลุ่มไม่เชื่อมโยงการปล่อยนี้กับกลุ่มที่คุณเป็นสมาชิก
คำอธิบายไม่คำอธิบายรูปแบบ Markdown (สูงสุด 65535 ตัวอักษร)
ส่วนตัวไม่ตั้งแฟล็กส่วนตัวในทอร์เรนต์ ปิดใช้ DHT/PEX
URL ประกาศไม่แทนที่หรือเพิ่ม URL ประกาศตัวติดตามหลัก
ตัวติดตามเพิ่มเติมไม่อ่านจากไฟล์ทอร์เรนต์ ไม่สามารถแก้ไขได้ระหว่างการอัปโหลด — ใช้แท็บสร้างหากต้องการปรับแต่งรายการทราคเกอร์
ความคิดเห็นไม่แทนที่ช่องความคิดเห็นที่ฝังในไฟล์
ข้อกำหนดทราคเกอร์ AniRena

ทอร์เรนต์ของคุณต้องมี URL ทราคเกอร์ AniRena อย่างน้อยหนึ่งรายการในรายการประกาศ (tier ใดก็ได้) เว็บไซต์จะตรวจสอบสิ่งนี้เมื่ออัปโหลดและจะปฏิเสธทอร์เรนต์ที่ไม่มีทราคเกอร์ AniRena หากคุณสร้างทอร์เรนต์โดยไม่ได้เพิ่มทราคเกอร์ AniRena ก่อน ให้อัปโหลดและดาวน์โหลดใหม่จากเว็บไซต์ — ไฟล์ที่ดาวน์โหลดจะมีทราคเกอร์ที่ถูกต้องโดยอัตโนมัติ

แท็บสร้าง — สร้างทอร์เรนต์ใหม่

แท็บสร้างช่วยให้คุณสร้าง .torrent ใหม่จากศูนย์

การกลั่นกรอง

การอัปโหลดจะถูกตรวจสอบกับรูปแบบเนื้อหาต้องห้าม ทอร์เรนต์ซ้ำก็จะถูกปฏิเสธด้วย

6. บัญชีของคุณ

คลิกชื่อผู้ใช้ที่มุมขวาบนเพื่อเปิดแผงโปรไฟล์

การตั้งค่า

เปลี่ยนธีม UI ขนาดตัวอักษร ชุดสี ภาษาอินเทอร์เฟส และการตั้งค่าการแสดงผล

รหัสผ่าน

ป้อนรหัสผ่านปัจจุบันและรหัสผ่านใหม่สองครั้ง รหัสยืนยันจะถูกส่งไปยังอีเมลที่ลงทะเบียน

การยืนยันสองขั้นตอน (2FA)

เปิดใช้การยืนยันสองขั้นตอนผ่าน TOTP โดยใช้แอปยืนยันใดก็ได้

  1. สแกน QR code (หรือป้อนรหัสลับด้วยตนเอง) ในแอปยืนยัน
  2. ป้อนรหัส 6 หลักที่แสดงในแอปเพื่อยืนยันการตั้งค่า
  3. บันทึกรหัสกู้คืนที่แสดง — รหัสเหล่านี้ใช้ครั้งเดียวเพื่อกู้คืนการเข้าถึง

ในการปิดใช้ 2FA ให้ป้อนรหัส TOTP ปัจจุบันและยืนยัน

เซสชันที่ใช้งานอยู่

ดูเซสชันเข้าสู่ระบบที่ใช้งานอยู่ทั้งหมด รวมถึงเบราว์เซอร์ ระบบปฏิบัติการ ที่อยู่ IP และเวลาที่เห็นล่าสุด

คีย์ API

สร้างคีย์ API ส่วนตัวสำหรับอัปโหลดทอร์เรนต์ผ่านโปรแกรม

ลบบัญชี

การขอลบบัญชีเริ่มต้นระยะเวลา 30 วัน บัญชีของคุณจะถูกปิดใช้งานทันทีและถูกลบอย่างถาวรหลังจาก 30 วัน

7. API ของ AniRena

AniRena มี JSON API สำหรับอัปโหลดทอร์เรนต์ผ่านโปรแกรมโดยใช้คีย์ API ส่วนตัว

การยืนยันตัวตน

API ใช้กระบวนการยืนยันตัวตนสองขั้นตอน ขั้นแรกแลก API key ถาวรของคุณกับ bearer token อายุสั้น จากนั้นส่ง token นั้นในส่วนหัว Authorization ของทุก API request

API key ของคุณอยู่ที่บัญชีของคุณ > API key เก็บเป็นความลับ — ใครก็ตามที่มี key สามารถรับ bearer token และอัปโหลดในนามคุณได้ หากถูกเปิดเผย ให้ยกเลิกทันทีและสร้างใหม่

ขั้นตอนที่ 1 — รับ bearer token
POST/api/v1/auth/token

ส่ง POST request ไปยัง token endpoint พร้อม API key ของคุณในส่วนหัว Authorization ไม่ต้องการ request body

Authorization: ApiKey <your-api-key>
การตอบกลับ token
{
  "token":      "<bearer-token>",
  "token_type": "Bearer",
  "expires_in": 3600
}
อายุของโทเค็น

โทเค็น Bearer ยังคงใช้งานได้นานสูงสุด 3600 วินาทีนับจากเวลาที่ออก และสามารถนำกลับมาใช้ในทุกการเรียกใช้จนกว่าจะหมดอายุ เมื่อโทเค็นหมดอายุ ให้สร้างโทเค็นใหม่ผ่าน POST /api/v1/auth/token แต่ละการตอบกลับยังคงคืนค่าโทเค็นปัจจุบันในส่วนหัว X-New-Token เพื่อความเข้ากันได้กับเวอร์ชันก่อนหน้า

X-New-Token: <next-bearer-token>
เข้าสู่ระบบในคำขอเดียว (รองรับ 2FA)
POST/api/v1/auth/login

ยืนยันตัวตนด้วยชื่อผู้ใช้หรืออีเมลและรหัสผ่านในคำขอเดียวและรับ bearer token โดยตรง หากบัญชีของคุณเปิดใช้ 2FA ให้ใส่รหัสจากแอป Authenticator ปัจจุบันใน totp_code (หรือรหัสกู้คืนใน recovery_code) คุณสามารถตั้งค่า new_api_key เป็น true เพื่อสร้างคีย์ API ถาวรใหม่ในคำตอบเดียวกันได้

เนื้อหาคำขอ
{
  "login":         "username or email",
  "password":      "your-password",
  "totp_code":     "123456",   // จำเป็นหากเปิดใช้ 2FA (6 หลัก)
  "recovery_code": "",         // ทางเลือกแทน totp_code
  "new_api_key":   false       // ตั้งเป็น true เพื่อสร้างคีย์ API ใหม่ด้วย
}
การตอบกลับ token
{
  "ok":         true,
  "token":      "<bearer-token>",
  "token_type": "Bearer",
  "expires_in": 3600,
  "api_key":    "<new-api-key>"   // มีอยู่เฉพาะเมื่อ new_api_key เป็น true
}

bearer token ทำงานเหมือนกับที่ได้จาก ‎/api/v1/auth/token ทุกประการ ฟิลด์ api_key จะถูกส่งกลับเฉพาะเมื่อ new_api_key เป็น true — โปรดบันทึกทันที เพราะจะแสดงเพียงครั้งเดียวและจะแทนที่คีย์เดิมทั้งหมด

ตัวอย่าง — เข้าสู่ระบบและ (ทางเลือก) รับคีย์ API ใหม่
# 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"])

ขั้นตอนที่ 2 — อัปโหลด torrent

POST/api/v1/torrents

ส่ง JSON POST request ธรรมดาพร้อม bearer token ในส่วนหัว Authorization

เนื้อหาคำขอ
ช่องประเภทจำเป็นคำอธิบาย
torrentstringใช่เนื้อหาไฟล์ .torrent เข้ารหัส Base64
categorystringใช่slug หมวดหมู่: anime, manga, audio, literature, live, pictures, software, hentai, other
namestringไม่แทนที่ชื่อแสดงผลของทอร์เรนต์
sub_categorystringไม่slug หมวดหมู่ย่อย (เช่น raw, sub-audio)
languagesstring[]ไม่อาร์เรย์รหัสภาษา BCP 47 (เช่น en, ja)
group_idstringไม่UUID ของกลุ่มที่คุณเป็นสมาชิก
descriptionstringไม่คำอธิบายรูปแบบ Markdown (สูงสุด 65535 ตัวอักษร)
commentstringไม่แทนที่ช่องความคิดเห็นที่ฝังในทอร์เรนต์
is_privatebooleanไม่ตั้งเป็น true เพื่อเปิดใช้แฟล็กส่วนตัว
comments_enabledbooleanไม่อนุญาตให้แสดงความคิดเห็นบนทอร์เรนต์นี้ ค่าเริ่มต้นคือ true (เปิดใช้งาน)
anime_idstringไม่UUID ของรายการอนิเมะที่จะเชื่อมโยงกับทอร์เรนต์นี้ รับ UUID ผ่าน GET /api/v1/anime/search คืนค่า 400 หาก UUID ไม่ตรงกับรายการที่รู้จัก
announcestringไม่แทนที่หรือเพิ่ม URL ประกาศหลัก
trackersstringไม่รายการ URL ตัวติดตามเพิ่มเติมคั่นด้วยบรรทัดใหม่
testbooleanไม่ตั้งค่าเป็น true เพื่อทำการทดสอบแบบไม่บันทึก: คำขอจะถูกตรวจสอบอย่างสมบูรณ์แต่ไม่มีการบันทึกทอร์เรนต์ ใช้สิ่งนี้เพื่อตรวจสอบว่าข้อมูลของคุณถูกต้องก่อนส่งจริง
ทดสอบแบบไม่บันทึก / โหมดทดสอบ เพิ่ม "test": true ลงในคำขออัปโหลดใดๆ เพื่อตรวจสอบว่าจะสำเร็จหรือไม่โดยไม่ต้องเพิ่มทอร์เรนต์จริงๆ กฎการตรวจสอบทั้งหมดใช้บังคับ — การยืนยันตัวตน การค้นหาหมวดหมู่ การตรวจจับรายการซ้ำ รูปแบบที่ถูกแบน ข้อกำหนดของทราคเกอร์ — ดังนั้นการตอบกลับจึงสะท้อนอย่างชัดเจนว่าการส่งจริงจะส่งคืนอะไร โทเค็นยังคงหมุนเวียนเมื่อสำเร็จ
การตอบสนองความสำเร็จแบบไม่บันทึก — 200 OK
{
  "ok":           true,
  "test":         true,
  "name":         "My Torrent Title",
  "info_hash_v1": "aabbccddeeff...",
  "info_hash_v2": null
}
รหัสภาษาที่ใช้ได้
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
ตัวอย่างคำขอ
# 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
การตอบกลับสำเร็จ — 200 OK
{
  "ok":           true,
  "id":           "550e8400-e29b-41d4-a716-446655440000",
  "name":         "My Torrent Title",
  "info_hash_v1": "aabbccddeeff...",
  "info_hash_v2": null
}
การตอบกลับข้อผิดพลาด
สถานะ HTTPความหมาย
400เนื้อหาคำขอไม่ถูกต้องหรือขาดช่องที่จำเป็น
401Bearer token หายไป หมดอายุ หรือหมุนเวียนแล้ว ยืนยันตัวตนใหม่ผ่าน POST /api/v1/auth/token
403บัญชีถูกแบน ปิดใช้งาน หรือ IP ถูกบล็อก
409ทอร์เรนต์ซ้ำ — info hash เดียวกันมีอยู่แล้ว
422ไม่สามารถแยกวิเคราะห์ไฟล์ทอร์เรนต์หรือผ่านการตรวจสอบล้มเหลว
429เกินขีดจำกัด ลองใหม่หลังหน้าต่างรีเซ็ต
503เว็บไซต์อยู่ในโหมดบำรุงรักษาหรืออ่านอย่างเดียว

การจำกัดอัตรา

การอัปโหลด API อยู่ภายใต้การจำกัดอัตราที่ตั้งค่าได้แยกจากอินเทอร์เฟซเว็บ

รักษาความลับคีย์ API ของคุณ มันให้สิทธิ์อัปโหลดเต็มรูปแบบภายใต้บัญชีของคุณ เพิกถอนและสร้างใหม่ทันทีหากสงสัยว่าถูกเปิดเผย

สร้างไฟล์ทอร์เรนต์ด้วย torrent-builder

torrent-builder เป็นเครื่องมือ CLI โอเพนซอร์สที่สร้างบน libtorrent-rasterbar ช่วยให้คุณสร้างไฟล์ .torrent แบบ BitTorrent v1, v2 และ hybrid จากบรรทัดคำสั่ง เข้ากันได้อย่างสมบูรณ์แบบกับ AniRena upload API — สร้างไฟล์ในเครื่องแล้ว POST ตรงไปยัง tracker cantalupo555/torrent-builder.

สร้างจากซอร์สโค้ด

ต้องการ CMake >= 3.28.3 และ libtorrent-rasterbar >= 2.0.11 โคลน repository แล้วสร้างด้วย 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 .
ค่าสถานะหลัก
ช่องคำอธิบาย
--pathเส้นทางไปยังไฟล์หรือไดเรกทอรีที่จะบรรจุ (จำเป็น)
--outputชื่อไฟล์ .torrent ที่ส่งออก (จำเป็น)
--versionรูปแบบ BitTorrent — 1 = v1, 2 = v2, 3 = hybrid (ค่าเริ่มต้น: 3)
--trackerเพิ่ม URL ประกาศ tracker ทำซ้ำค่าสถานะเพื่อเพิ่มหลาย tracker
--commentฝังสตริงความคิดเห็นเมทาดาทาลงในทอร์เรนต์
--privateตั้งค่าสถานะส่วนตัวเพื่อจำกัดการแจกจ่ายเฉพาะ tracker ที่ระบุไว้เท่านั้น
--piece-sizeขนาดชิ้นส่วนเป็น KB (16-32768) เว้นไว้โดยไม่ตั้งค่าสำหรับการเลือกอัตโนมัติ
-iเปิดโหมดการตั้งค่าแบบโต้ตอบทีละขั้นตอน
เวิร์กโฟลว์แบบครบวงจร: สร้าง -> อัปโหลด

ตัวอย่างด้านล่างสร้างทอร์เรนต์ hybrid ด้วย torrent-builder จากนั้นยืนยันตัวตนกับ AniRena API และอัปโหลดผลลัพธ์ในสคริปต์เดียว

# 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"])

การค้นหาข้อมูลเมตาทอร์เรนต์

POST/api/v1/torrents/search

ส่ง JSON POST request ธรรมดาเพื่อดึงรายการ torrent ด้วยตัวเลือกการค้นหาและกรองเดียวกันกับที่มีอยู่ในเว็บไซต์ ไฟล์ .torrent เองจะไม่ถูกส่งกลับ — ใช้ route ดาวน์โหลดปกติสำหรับสิ่งนั้น

# 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"])
พารามิเตอร์การค้นหา
ช่องประเภทจำเป็นคำอธิบาย
qstringไม่การค้นหาข้อความอิสระ รองรับ group:slug, group:"Name", user:name
categorystringไม่slug หมวดหมู่ (เช่น "anime")
sub_categorystringไม่slug หมวดหมู่ย่อย (เช่น "raw")
languagesstring[]ไม่อาร์เรย์รหัสภาษา BCP 47 (เช่น en, ja)
sortstringไม่ช่องเรียง: date (ค่าเริ่มต้น), size, seeders, leechers, completed, title
orderstringไม่ทิศทางเรียง: desc (ค่าเริ่มต้น) หรือ asc
pageintegerไม่หมายเลขหน้า เริ่มที่ 1
per_pageintegerไม่ผลลัพธ์ต่อหน้า 1–250
hide_adultbooleanไม่ยกเว้นทอร์เรนต์หมวดผู้ใหญ่
show_deadbooleanไม่เมื่อเป็น false (ค่าเริ่มต้น) ทอร์เรนต์ที่เก่ากว่าระยะผ่อนผันสำหรับทอร์เรนต์ที่ตายแล้วและไม่มี seeder ที่ใช้งานอยู่จะถูกตัดออก ตั้งเป็น true เพื่อรวมไว้
การตอบกลับ
{
  "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 — จำนวนความคิดเห็นที่ยังไม่ถูกลบในทอร์เรนต์นี้

การจำกัดอัตราการค้นหา

คำขอค้นหาอยู่ภายใต้การจำกัดอัตราที่ตั้งค่าได้แยกต่างหาก (ค่าเริ่มต้น 60 คำขอต่อ 60 วินาทีต่อคีย์ API)

รับรายละเอียดทอร์เรนต์

GET/api/v1/torrent/{id}

ดึงข้อมูลเมตาฉบับสมบูรณ์ของทอร์เรนต์เดี่ยว — รวมถึงฟิลด์ที่จุดสิ้นสุดการค้นหาไม่ส่งคืน เช่น คำอธิบาย Markdown ความคิดเห็น .torrent ที่ฝังอยู่ รายการไฟล์พร้อมขนาดต่อไฟล์ และเลย์เอาต์ระดับแทร็กเกอร์ทั้งหมด เมื่อมีข้อมูลจะอ่านจำนวน seeder และ leecher แบบสดจากแทร็กเกอร์

การตอบกลับ
{
  "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 — จำนวนแบบสดจากแทร็กเกอร์ภายใน ทั้งสองรายงานเป็น 0 เมื่อที่เก็บแทร็กเกอร์ไม่มีรายการสำหรับ info hash นี้หรือเข้าถึงไม่ได้

ext_seeders, ext_leechers — จำนวน seeder และ leecher สูงสุดที่รายงานโดยแทร็กเกอร์ภายนอกใด ๆ ที่ scrape สำหรับทอร์เรนต์นี้ แทร็กเกอร์ที่ติดตาม swarm เดียวกันจะซ้อนทับกัน จึงใช้ค่าสูงสุดแทนผลรวม ทั้งสองรายงานเป็น 0 เมื่อไม่มีแทร็กเกอร์ใดมีข้อมูล scrape สำหรับ info hash นี้

การตอบกลับข้อผิดพลาด
สถานะ HTTPความหมาย
400รหัสทอร์เรนต์ต้องเป็น UUID 36 ตัวอักษรพร้อมเครื่องหมายขีดกลาง หรือสตริงเลขฐานสิบหก 32 ตัวอักษร
401Bearer token หายไป หมดอายุ หรือหมุนเวียนแล้ว ยืนยันตัวตนใหม่ผ่าน POST /api/v1/auth/token
404ไม่พบทอร์เรนต์
429เกินขีดจำกัด ลองใหม่หลังหน้าต่างรีเซ็ต
503เว็บไซต์อยู่ในโหมดบำรุงรักษาหรืออ่านอย่างเดียว

ดึงความคิดเห็นทอร์เรนต์

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

ดึงความคิดเห็นแบบแบ่งหน้าสำหรับทอร์เรนต์ จำนวนความคิดเห็นต่อหน้าถูกควบคุมโดยการตั้งค่า COMMENT_PER_PAGE ในไฟล์ .env ของเซิร์ฟเวอร์ (ค่าเริ่มต้น 20) เฉพาะทอร์เรนต์ที่เปิดใช้งานความคิดเห็นเท่านั้นที่จะคืนผลลัพธ์ — ส่วนอื่นทั้งหมดคืน 403

พารามิเตอร์คิวรี
ช่องประเภทจำเป็นคำอธิบาย
pageintegerไม่หมายเลขหน้า เริ่มต้นที่ 1 (ค่าเริ่มต้น 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"])
การตอบกลับ
{
  "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
    }
  ]
}

ช่อง body เป็นสตริงว่างเมื่อผู้เขียนความคิดเห็นถูกแบนหรือความคิดเห็นถูกลบ ค่าสถานะ author_banned ระบุว่ากรณีใดใช้บังคับ

การตอบกลับข้อผิดพลาด
สถานะ HTTPความหมาย
401Bearer token หายไป หมดอายุ หรือหมุนเวียนแล้ว ยืนยันตัวตนใหม่ผ่าน POST /api/v1/auth/token
403ความคิดเห็นถูกปิดใช้งานสำหรับทอร์เรนต์นี้
404ไม่พบทอร์เรนต์
503เว็บไซต์อยู่ในโหมดบำรุงรักษาหรืออ่านอย่างเดียว

ค้นหารายการอนิเมะ

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

ค้นหารายการอนิเมะตามชื่อเรื่องเพื่อรับ UUID ของรายการนั้น UUID สามารถส่งเป็น anime_id ในเนื้อหาการอัปโหลดเพื่อเชื่อมโยงทอร์เรนต์กับรายการอนิเมะในขณะอัปโหลด หรือใช้กับ PUT /api/torrents/{id}/anime หลังการอัปโหลด ไม่จำเป็นต้องมีการตรวจสอบสิทธิ์ อยู่ภายใต้ขีดจำกัดอัตราเดียวกับการค้นหาทอร์เรนต์ (ค่าเริ่มต้น 60 คำขอต่อ 60 วินาทีต่อ 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"])
พารามิเตอร์คำค้นหา
ช่องประเภทจำเป็นคำอธิบาย
qstringใช่สตริงค้นหาชื่อเรื่อง (จำเป็น) จับคู่กับชื่อเรื่องและคำพ้องความหมาย
pageintegerไม่หมายเลขหน้า เริ่มที่ 1
per_pageintegerไม่ผลลัพธ์ต่อหน้า 1–50
การตอบสนอง
{
  "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
    }
  ]
}

แสดงรายการและดึงข้อมูลกลุ่ม

GET/api/v1/groups

ส่งคืนรายการกลุ่มสาธารณะแบบแบ่งหน้า (เปิดใช้งานและไม่ถูกล็อก) ต้องมีการยืนยันตัวตน Bearer token

GET/api/v1/groups/{id_or_slug}

ส่งคืนกลุ่มสาธารณะเดียวตาม ID ตัวเลขหรือ slug คืน 404 หากกลุ่มถูกปิดใช้งานหรือถูกล็อก

พารามิเตอร์คำค้นหา (รายการเท่านั้น)
ช่องประเภทจำเป็นคำอธิบาย
qstringไม่กรองตามชื่อกลุ่ม (ไม่บังคับ จับคู่สตริงย่อย)
pageintegerไม่หมายเลขหน้า (ค่าเริ่มต้น 1)
per_pageintegerไม่ผลลัพธ์ต่อหน้า 1–100 (ค่าเริ่มต้น 20)
sortstringไม่คอลัมน์การเรียงลำดับ: name | slug | members | torrents | created (ค่าเริ่มต้น name)
orderstringไม่ทิศทางการเรียงลำดับ: asc หรือ desc (ค่าเริ่มต้น asc)
การตอบสนอง (รายการ)
{
  "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"
    }
  ]
}
การตอบสนอง (เดี่ยว)
{
  "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"
}
การตอบกลับข้อผิดพลาด
สถานะ HTTPความหมาย
401Bearer token หายไป หมดอายุ หรือหมุนเวียนแล้ว ยืนยันตัวตนใหม่ผ่าน POST /api/v1/auth/token
404ไม่พบกลุ่มหรือไม่สามารถเข้าถึงได้สาธารณะ
429เกินขีดจำกัด ลองใหม่หลังหน้าต่างรีเซ็ต
503เว็บไซต์อยู่ในโหมดบำรุงรักษาหรืออ่านอย่างเดียว

8. การบริจาค

หากคุณต้องการสนับสนุน AniRena และช่วยครอบคลุมค่าใช้จ่ายในการโฮสต์เซิร์ฟเวอร์และบริการของเรา คุณสามารถส่งการบริจาคไปยังกระเป๋าเงินคริปโตใดกระเป๋าหนึ่งต่อไปนี้:

Bitcoinbc1qy2h3ddq6ak5damvnf4r5vu3ydehhxrcq8gllwn
Ethereum0xCbaFe03832F95F86AF2536d52710e78C63b62Cd3
Solana3ucetj2XDGHQg9PVRPMxerNi7c6kX7GJkjQNg9yjwGeg
LitecoinLbpt61yX3RjGtB1Ef8vgVz6Hr6baQsTjVk

การบริจาคใดๆ ไม่ว่าจะมากหรือน้อย ล้วนได้รับการชื่นชมอย่างยิ่งและนำไปใช้โดยตรงในการดำเนินงาน AniRena ขอบคุณสำหรับการสนับสนุนของคุณ!

9. ซอฟต์แวร์

AniRena Player เป็นแอปเดสก์ท็อปฟรีที่ให้คุณสตรีมวิดีโอได้โดยตรงจากทอร์เรนต์ที่ถูกจัดทำดัชนีในเว็บไซต์นี้ — โดยไม่ต้องรอให้ดาวน์โหลดเสร็จสมบูรณ์ เพียงวางลิงก์ magnet หรือเปิดไฟล์ .torrent การเล่นจะเริ่มทันทีที่มีข้อมูลเพียงพอ

ทั้งสองรุ่นทำงานได้แบบสแตนด์อโลนอย่างสมบูรณ์ — การพึ่งพาทั้งหมดถูกรวมอยู่ในไฟล์ปฏิบัติการแล้ว ไม่ต้องติดตั้ง ไม่ต้องตั้งค่ารันไทม์ แค่ดาวน์โหลดและรัน

Windows อัปเดตอัตโนมัติ
  • v0.3.2 latest AniRena-Player_0.3.2_x64-setup.exe · 43.4 MB (35 ดาวน์โหลด)
เวอร์ชันเก่า
  • v0.3.1 AniRena-Player_0.3.1_x64-setup.exe · 43.9 MB (64 ดาวน์โหลด)
  • v0.3.0 AniRena-Player_0.3.0_x64-setup.exe · 43.7 MB (8 ดาวน์โหลด)
  • v0.2.9 AniRena-Player_0.2.9_x64-setup.exe · 43.5 MB (6 ดาวน์โหลด)
  • v0.2.8 AniRena-Player_0.2.8_x64-setup.exe · 43.5 MB (17 ดาวน์โหลด)
  • v0.2.7 AniRena-Player_0.2.7_x64-setup.exe · 43.5 MB (20 ดาวน์โหลด)
  • v0.2.6 AniRena-Player_0.2.6_x64-setup.exe · 43.4 MB (3 ดาวน์โหลด)
  • v0.2.5 AniRena-Player_0.2.5_x64-setup.exe · 43.4 MB (8 ดาวน์โหลด)

ตัวติดตั้ง (.exe) อัปเดตตัวเองภายในแอป

macOS · Apple Silicon อัปเดตอัตโนมัติ
  • v0.3.2 latest AniRena-Player_0.3.2_aarch64.dmg · 45.7 MB (2 ดาวน์โหลด)

ดิสก์อิมเมจ (.dmg) สำหรับ Mac ที่ใช้ Apple Silicon (M1 ขึ้นไป) อัปเดตตัวเองภายในแอป

macOS · Intel อัปเดตอัตโนมัติ
  • v0.3.2 latest AniRena-Player_0.3.2_x64.dmg · 45.8 MB (2 ดาวน์โหลด)

ดิสก์อิมเมจ (.dmg) สำหรับ Mac ที่ใช้ Intel อัปเดตตัวเองภายในแอป

Linux · AppImage อัปเดตอัตโนมัติ
  • v0.3.2 latest AniRena-Player_0.3.2_amd64.AppImage · 95.1 MB (8 ดาวน์โหลด)
เวอร์ชันเก่า
  • v0.3.1 AniRena-Player_0.3.1_amd64.AppImage · 138.1 MB (20 ดาวน์โหลด)
  • v0.3.0 AniRena-Player_0.3.0_amd64.AppImage · 138.0 MB (4 ดาวน์โหลด)
  • v0.2.9 AniRena-Player_0.2.9_amd64.AppImage · 137.7 MB (35 ดาวน์โหลด)
  • v0.2.8 AniRena-Player_0.2.8_amd64.AppImage · 137.6 MB (23 ดาวน์โหลด)
  • v0.2.7 AniRena-Player_0.2.7_amd64.AppImage · 137.6 MB (20 ดาวน์โหลด)
  • v0.2.5 AniRena-Player_0.2.5_amd64.AppImage · 137.6 MB (18 ดาวน์โหลด)

ไฟล์เดียวพกพาได้ ไม่ต้องติดตั้ง รูปแบบเดียวบน Linux ที่อัปเดตอัตโนมัติภายในแอปได้

Debian / Ubuntu
  • v0.3.2 latest AniRena-Player_0.3.2_amd64.deb · 14.2 MB (3 ดาวน์โหลด)
เวอร์ชันเก่า
  • v0.3.1 AniRena-Player_0.3.1_amd64.deb · 62.5 MB (4 ดาวน์โหลด)
  • v0.3.0 AniRena-Player_0.3.0_amd64.deb · 62.4 MB (3 ดาวน์โหลด)
  • v0.2.9 AniRena-Player_0.2.9_amd64.deb · 62.1 MB (4 ดาวน์โหลด)
  • v0.2.8 AniRena-Player_0.2.8_amd64.deb · 62.0 MB (27 ดาวน์โหลด)
  • v0.2.7 AniRena-Player_0.2.7_amd64.deb · 62.0 MB (13 ดาวน์โหลด)
  • v0.2.5 AniRena-Player_0.2.5_amd64.deb · 62.0 MB (11 ดาวน์โหลด)

ติดตั้ง: sudo apt install ./<file>.deb — อัปเดตผ่าน apt หรือดาวน์โหลดใหม่ ไม่ใช่ภายในแอป

Fedora / RHEL
  • v0.3.2 latest AniRena-Player_0.3.2-1_x86_64.rpm · 14.2 MB (1 ดาวน์โหลด)
เวอร์ชันเก่า
  • v0.3.1 AniRena-Player_0.3.1-1_x86_64.rpm · 62.5 MB (3 ดาวน์โหลด)
  • v0.3.0 AniRena-Player_0.3.0-1_x86_64.rpm · 62.4 MB (2 ดาวน์โหลด)
  • v0.2.9 AniRena-Player_0.2.9-1_x86_64.rpm · 62.1 MB (23 ดาวน์โหลด)
  • v0.2.8 AniRena-Player_0.2.8-1_x86_64.rpm · 62.0 MB (5 ดาวน์โหลด)
  • v0.2.7 AniRena-Player_0.2.7-1_x86_64.rpm · 62.0 MB (8 ดาวน์โหลด)
  • v0.2.5 AniRena-Player_0.2.5-1_x86_64.rpm · 62.0 MB (7 ดาวน์โหลด)

ติดตั้ง: sudo dnf install ./<file>.rpm — อัปเดตผ่าน dnf หรือดาวน์โหลดใหม่ ไม่ใช่ภายในแอป

Android · arm64
  • v0.3.2 latest AniRena-Player_0.3.2_arm64.apk · 110.3 MB (71 ดาวน์โหลด)
เวอร์ชันเก่า
  • v0.3.1 AniRena-Player_0.3.1_arm64.apk · 110.3 MB (62 ดาวน์โหลด)
  • v0.3.0 AniRena-Player_0.3.0_arm64.apk · 110.1 MB (8 ดาวน์โหลด)
  • v0.2.9 AniRena-Player_0.2.9_arm64.apk · 109.1 MB (12 ดาวน์โหลด)
  • v0.2.8 AniRena-Player_0.2.8_arm64.apk · 109.1 MB (22 ดาวน์โหลด)
  • v0.2.7 AniRena-Player_0.2.7_arm64.apk · 109.0 MB (17 ดาวน์โหลด)

ติดตั้งด้วยตนเองบนอุปกรณ์ Android ARM 64 บิต (โทรศัพท์ / แท็บเล็ตรุ่นใหม่ส่วนใหญ่) อัปเดตโดยดาวน์โหลด APK ใหม่

Android · arm7
  • v0.3.2 latest AniRena-Player_0.3.2_arm7.apk · 97.9 MB (5 ดาวน์โหลด)
เวอร์ชันเก่า
  • v0.3.1 AniRena-Player_0.3.1_arm7.apk · 97.8 MB (15 ดาวน์โหลด)

ติดตั้งด้วยตนเองบนอุปกรณ์ Android ARM 32 บิต (โทรศัพท์ / แท็บเล็ตรุ่นเก่า) อัปเดตโดยดาวน์โหลด APK ใหม่

Android · x86_64
  • v0.3.2 latest AniRena-Player_0.3.2_x86_64.apk · 114.3 MB (7 ดาวน์โหลด)
เวอร์ชันเก่า
  • v0.3.1 AniRena-Player_0.3.1_x86_64.apk · 114.3 MB (12 ดาวน์โหลด)
  • v0.3.0 AniRena-Player_0.3.0_x86_64.apk · 114.1 MB (4 ดาวน์โหลด)
  • v0.2.9 AniRena-Player_0.2.9_x86_64.apk · 113.1 MB (4 ดาวน์โหลด)
  • v0.2.8 AniRena-Player_0.2.8_x86_64.apk · 113.0 MB (9 ดาวน์โหลด)
  • v0.2.7 AniRena-Player_0.2.7_x86_64.apk · 113.0 MB (11 ดาวน์โหลด)

ติดตั้งด้วยตนเองบนอุปกรณ์ Android x86 64 บิตหรือโปรแกรมจำลอง อัปเดตโดยดาวน์โหลด APK ใหม่