מ-NZB אל קובץ מאומת
לפני שאחרים מסיימים להוריד.

nzbfast הוא מוריד Usenet הבנוי סביב צינור עיבוד במעבר יחיד: כל בייט מפוענח, מאומת ומחולץ תוך כדי ההורדה. בלי מעבר הרכבה, בלי מעבר אימות, בלי מעבר פריקה. כשפס ההתקדמות מתמלא, הקובץ מוכן ותקינותו מוכחת.

8.31 Gbps על קו 10 GbE 190 GB → 4m33s לקובץ מאומת כרכי RAR לא נוגעים בדיסק חצי מהדיסק שהמתחרים צריכים מתוקצב RAM · 0 החלפות, לעולם
הורדה ראה את המספרים

macOS · Windows · Linux · Docker: קובץ הפעלה עצמאי אחד, כלי תיקון ופריקה מובנים.

לוח המחוונים של nzbfast באמצע הורדה ב-61 MB/s: תפוקה בשיא של 104 MB/s לאורך גרף היסטוריה מלא, גרפי משאבים ולכל ספק חיים, ושלבי צינור העיבוד הורדה/אימות/חילוץ חופפים

למה זה מהיר

שלושה רעיונות שהקליינטים המרכזיים לא מנצלים במלואם

לא מיקרו-אופטימיזציה, ארכיטקטורה. כל אחד נמדד ביומן בדיקות הביצועים עם פקודות הניתנות לשחזור.

🔁

NNTP בצנרת

כמה בקשות מאמרים נשארות במעוף בכל חיבור, כך שהלוך-ושוב לעולם לא משאיר את השקע בטל, ו-TCP לעולם לא מכווץ את חלון הגודש שלו בין מאמרים. נמדד ‎+12% עד ‎+270% מעל סדרתי בארבעה אתרים; קו מתרווה עם 8 חיבורים במקום 30–50.

🚿

צינור העיבוד במעבר יחיד

מאמרים מפוענחים ב-SIMD במקום, נכתבים פעם אחת בהיסטים הסופיים שלהם, מאומתים ב-PAR2 מתוך חוצצי הפענוח, ותוכן RAR במצב אחסון מחולץ תוך כדי ההורדה, הכרכים לעולם אינם קיימים כקבצים. כתיבות לדיסק = תוכן × 1.0.

🕸️

זמינות איחוד

מאמר "חסר" רק כאשר כל עמוד שדרה מוגדר סירב לו. חשבונאות מדויקת-בלוקים מכריעה שלם / ניתן לתיקון / בלתי אפשרי לפני בזבוז בייטים, מורידה את המינימום המדויק של בלוקי שחזור, ומבטלת הורדות חסרות סיכוי תוך שניות.

צינור העיבוד

נגיעה בכל בייט פעם אחת

המתחרים כותבים את כרכי הארכיון, קוראים אותם בחזרה לאימות, קוראים אותם שוב לחילוץ, ואז כותבים את הפלט, בערך פי 2 כתיבות ופי 2 קריאות. nzbfast עושה זאת במקום:

socket ──TLS──▶ rapidyenc SIMD decode (in place - 4.95 GB/s per core)
                   │
                   ├─▶ pwrite at final offset          (plain posts)
                   │      └─ or: RAR-map translate ─▶ pwrite straight into the
                   │         extracted file (store-mode posts - the rar
                   │         volumes never touch disk)
                   ├─▶ PAR2 block hasher - every block MD5-verified from the
                   │      decode buffer; verification finishes with the download
                   └─▶ availability ledger - block-exact health, live
פוסט פגום? בלוקים פגומים ידועים ברגע שהמאמרים שלהם נכשלים, המינימום המדויק של כרכי שחזור מורד תוך כדי ההורדה (22 בלוקים הורדו עבור 20 נדרשים, בסבב הבדיקות), והתיקון נוגע רק בטווחים הפגומים. פוסט בלתי אפשרי? הוא מתבטל תוך שניות לאחר שהוריד כמעט כלום, לפני שהמכסה שלך מבחינה.

תכונות מרכזיות

כל מה שהתקנה רצינית צריכה

הרשימה המלאה (כל מתג, כל אינטגרציה) נמצאת בעמוד התכונות.

  • הורדות בקצב הקו: NNTP בצנרת נמדד ב-8.31 Gbps על 10 GbE; הקליינט המהיר ביותר בכל מקטע בדיקה נקי, בכל גודל.
  • צינור עיבוד במעבר יחיד: פענוח, אימות וחילוץ חופפים; כרכי RAR במצב אחסון לא נוגעים בדיסק; ארכיונים מקוננים נפרקים באותו מעבר; צריך פי 1 דיסק היכן שאחרים צריכים ~פי 2.
  • זמינות איחוד מרובת ספקים: ניתוב מדויק-בלוקים על פני עמודי שדרה; פסקי דין מקדימים; תיקון בהתאמה מדויקת; ביטול מוקדם של פוסטים בלתי אפשריים.
  • תקציב זיכרון: תקציב RAM גלובלי אחד עם רמות גלישה מדורגות. הוא לעולם לא מבצע swap במכונה שלך: משימת 190 GB מסתיימת בתוך תקציב של 1 GB (~1.1 GB שיא RSS).
  • חידוש בטוח לקריסות: יומן ברמת המאמר פירושו שקריסה או kill −9 באמצע הורדה עולות כמעט כלום: הוא מתחדש, מוריד מחדש רק את מה שלא נשמר.
  • ממשקי API תואמים: API תואם-SABnzbd ו-NZBGet JSON-RPC: Sonarr, Radarr, nzb360 ו-LunaSea עובדים ללא שינוי. ייבוא בלחיצה אחת של תצורת ה-SAB/NZBGet שלך.
  • אינדקסר מובנה: סורק את קבוצות הדיון שלך לאינדקס מקומי הניתן לחיפוש, ומגיש Newznab כדי שגם מחסנית ה-*arr שלך תוכל לחפש בו.
  • קיר פוסטרים עם מטא-נתונים ללא מפתח: אמנות, דירוגים, שחקנים ותקצירים לכל מה שבאינדקס שלך, בלי אף מפתח API להירשם אליו.
  • אוטומציית רשימת מעקב: נקוב בשם סדרה או סרט (ששודר או לא); הם נתפסים ברגע שהם מופיעים, ואז משודרגים באיכות עד שהיעד שלך מושג.
  • קובץ הפעלה יחיד: תיקון (par2) ופריקה (RAR) רוכבים בתוך הבינארי. חלץ, הרץ, סיימת.

בדיקות ביצועים

190.6 GB → קובץ מאומת של 167.9 GB

אותה מכונה, אותם שישה ספקים, הרצות משולבות בזו אחר זו. הזמן עד שקיים קובץ שמיש ומחולץ, המדד היחיד שחשוב. כל מתחרה מכוונן למיטבו המתועד (כולל הפעלת הצנרת של SABnzbd למצב פעיל, מצב שבו הוא לא מגיע).

nzbfast4m 33s
NZBGet 26.27m 58s · +75%
SABnzbd 5.0.419m 32s · +329%
rustnzb 1.3.4אין קובץ שמיש

190.6 GB NZB → mkv יחיד של 167.9 GB, ‏M1 Ultra על 10 GbE, ‏6 ספקים × 8 חיבורים. אותה משימה מסתיימת בתוך תקציב זיכרון של 1 GB. טבלאות מלאות, כל שבעת התרחישים, והמקטעים שבהם איננו מנצחים (בתוספת איך לשחזר) בעמוד בדיקות הביצועים.

מתאים למחסנית שלך

כוון אליו את הכלים הקיימים שלך

Sonarr / Radarr

API מלא תואם-SABnzbd, הוסף את nzbfast כקליינט הורדות "SABnzbd" וזה פשוט עובד: תפיסות, קטגוריות, עדיפויות, ניסיונות חוזרים, סקריפטים לעיבוד לאחר הורדה (חוזה SAB_*), היסטוריה. חזית ה-Newznab גם מאפשרת ל-*arrs לחפש באינדקס המקומי שלך כאילו היה אינדקסר.

nzb360 / LunaSea

הדימון דובר גם את ה-JSON-RPC של NZBGet, שלטי הטלפון הפופולריים מפעילים את nzbfast ללא שינוי. ולוח המחוונים עצמו כולל פריסת טלפון מהמעלה הראשונה למקרים שאתה רחוק מהמסך הגדול.

מגיע מ-SAB או NZBGet?

לחיצה אחת מייבאת את השרתים שלך מהתקנת SABnzbd או NZBGet קיימת (הוא גם קורא את sabnzbd.ini ישירות). תיקיות מעקב, פידי RSS עם מסננים, תיקיות חכמות עם תיוק TV, וכללי ניקוי מגיעים יחד.

נסה אותו בשתי הדקות הקרובות

חלץ, לחץ פעמיים על המשגר, ענה על שלוש שאלות (או תן לו למצוא את תצורת ה-SABnzbd שלך), ולוח המחוונים נפתח. הורדה ראשונה תוך שתי דקות.