המדריך המקוצר – Usenet

תמיד שמעתם בפורומים שונים על רשת ה-Usenet ולא ידעתם איך נכנסים לעניינים?PAR2, NZB, Retention, Headers ועוד המון מושגים - מדריך ...
7:00
  /  
16.10.2007
  
כתב: dragonflyXXL, ערך: זיו רוזנפלד.

ראשית, קצת רקע…

לפני שנכנס לעומק הטכנולוגיה, האפשרויות, התוכנות ומה עושים עם כל זה, משפט או שניים (או שלושה… זה התארך קצת יותר ממה שחשבתי אבל שווה לקרוא) על רשת ה-Usenet (או בכינוי הפחות רשמי שלה Newsgroups). אם היסטוריה לא ממש בראש שלכם אפשר לדלג לחלק "איך מתחילים?".

Usenet היא רשת מבוזרת (Decentralized Network) שפותחה והוקמה הרבה לפני שרובנו הכרנו את המושג "אינטרנט" (או ליתר דיוק ב-1979) ע"י שני סטודנטים מאוניברסיטת דיוק כשמטרתה העיקרית, בדורות שלפני פריצת ה-World Wide Web, לשמש כתשתית או פלטפורמה לדיוניים בנושאים אקדמיים שונים בסגנון זהה למדי לדואר אלקטרוני – עם כותרת (Header שמקביל ל-Subject באימייל), וגוף (Article המקביל ל-Body). ההבדל העיקרי – בניגוד למשלוח הודעה לאדם בודד, הודעות נשלחו לשרת והפכו לזמינים לכל המעוניין.

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

דיונים שונים רוכזו תחת קבוצות שונות (groups או newsgroups, ומכאן גם מקור השם) כמו: sci.math, comp.graphics.apps.photoshop לדוגמה והוגבלו (מסיבות טכניות ברורות, כדי למנוע הצפה של השרתים) לתכנים טקסטואליים בלבד של עד 60 אלף תווים (כ-58K, מצומצם למדי במושגים של היום אבל בזמנו נחשב כהמון).

כמו היום גם אז די מהר נמצאו מספיק אנשים סקרנים שניסו לעקוף את המגבלות באמצעים שונים: פיצול ושרשור הודעות ארוכות, המרת תכנים בינאריים לפורמטים מבוססי טקסט ובעיקר – שיפור אמצעי הדחיסה הקיימים על מנת לאפשר משלוח תכנים גדולים יותר מעבר למגבלות התשתית.

בנוסף, כדי לא לערבב דיונים ותוכן הוקמו קבוצות המיועדות ספציפית להעלאת תכנים מהסוג האפור ו"הפחות אקדמי" תחת מטרייה כוללת בשם: alt.binaries ובתוכה תתי-קבוצות לסוגי תכנים שונים (ומי לא הכיר בזמנו קבוצות כמו alt.binaries.multimedia או alt.binaries.pictures.erotica).

היות ומדובר בתקופה כמעט פרה-היסטורית כשאף אחד אפילו לא חשב על דברים כמו דפדפנים, כדי לגשת לשרת ה-Usenet נדרשה תוכנת news reader שהתקשרה עם השרת וניהלה את תהליך המשיכה וקריאת ההודעות. בתקופות מאוחרות יותר נוספו לתוכנות אלה אפשרויות נוספות כמו תירגום תכנים בינאריים שהוצפנו חזרה לצורה שבה נשלחו באופן אוטומטי.

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

מוקדי הפעילות המרכזיים והוותיקים – קבוצות הדיונים הסוערות – נדדו ומצאו את מקומן אמנם במקומות אחרים באינטרנט, אך על רקע צמיחתן של רשתות ה-P2P הראשונות תפסו את מקומן קבוצות ה-alt.binaries והפכו כר נרחב להעלאת והורדת תכנים כמו משחקים, מוזיקה ותמונות. מאוחר יותר, כשאמצעי פס רחב הפכו לזמינים יותר לכל דורש, הצטרפו אליהם גם סרטים, סדרות טלויזיה והלהיט הגדול בשנים האחרונות – תכני HD.

PAR2 ו-NZB: מהפכה!

אם נתעלם לרגע משינויים טכנולוגיים שונים ששיפרו את התשתית שעליה הייתה מבוססת (בין השאר משלוח הודעות בגדלים משמעותיים יותר אך עדיין מוגבלים), העניינים ברשת המשיכו כרגיל ופחות או יותר בלי מהפכות גדולות. היות וטכנולוגיות חדשות ומתקדמות היו פופולריות הרבה יותר והציעו לרבים פתרונות בלחיצת כפתור משתמשי אינטרנט רבים התעלמו ממנה (אם בכלל היו מודעים לקיומה…), ובאופן כללי הרשת נתפסה כמסובכת מדי, מיועדת ל"אנשים שמבינים", ודורשת מאמץ גדול כדי למצוא בה משהו. למרות זאת המשיכה הרשת לגדול ובסיוע דורות חדשים וסקרנים של משתמשים שמאסו ברשתות השיתוף אך עדיין חיפשו מקורות חדשים להשגת תכנים ולא נבהלו מקצת old-school-style, החלה לאט לאט לשנות את פניה בסיוע יוזמות חדשות – PAR2 ו-NZB – שהבטיחו להקל על מלאכת האיתור וההורדה.

שתי הבעיות הטכניות המרכזיות שאפיינו את הרשת מאז תחילתה היו ששרתי usenet הוגבלו מראש להודעות עד גדלים מסויימים, ואופן ההתקשרות העיקרי בין שרתי הרשת היה סבוך למדי והתבסס על שרתים שלא תמיד העבירו הכול בצורה מושלמת. בעייה עיקרית נוספת הייתה איתור התוכן שאותו מבקשים להוריד בתוך הכמות העצומה של מידע שזרם ברשת. השיטה העיקרית לאיתור תוכן הייתה מאז ומתמיד די פשוטה (אם כי גם די פרימיטיבית): מתחברים לשרת ה-Usenet, בוחרים קבוצה, מורידים את כל כותרות ההודעות בקבוצה שנמצאות על השרת, עוברים על הרשימה, מוצאים משהו מעניין ומתחילים בהורדה. אבל העניינים הולכים ומסתבכים כשמעוניינים בתכנים גדולים מאוד…

על מנת לשלוח תוכן כמו סרט למשל נדרש פיצול של התוכן לחלקים רבים, דחיסתו והמרתו לפורמט שהשרתים יכולים לקבל, והרבה תקווה שהמשתמשים בצד השני אכן יקבלו את כל החלקים – אחרת לא ניתן להרכיב את הכל חזרה לקובץ אחד שלם. בנוסף – תמיד היה קיים הסיכוי שמשהו השתבש איפשהו באמצע והתוכן הגיע לצד השני פגום. גם במקרה כזה, גם אם כל החלקים הגיעו ליעדם הסופי, לא ניתן היה להרכיב את הכל חזרה ליחידה אחת. בלי להכנס ליותר מדי פרטים טכניים, PAR2 מנסה לפתור את בעיית הקבצים הפגומים בצורה פשוטה למדי: לכל סדרת קבצים ייצורף מידע נוסף (בצורה של קבצי PAR2) שמאפשר באמצעות אלגוריתם מסויים (וכלים מסויימים שעליהם נדבר מאוחר יותר), לשחזר חלקים פגומים באותה סדרת קבצים. את קבצי ה-PAR2 יוצר שולח התוכן ע"י סריקה של התוכן הספציפי שהוא שולח, ומצרף למשלוח. ככל שיהיו בידינו בצד השני קבצי PAR2 רבים יותר מאותה סדרת קבצים כך יהיה קל יותר לשחזר חלקים פגומים, במידה וקיימים כאלה.

עכשיו נשאר רק לוודא שאנחנו באמת מורידים את כל החלקים שאנחנו צריכים, וכאן בא לעזרתנו קובץ ה-NZB. במקור פורמט מבוסס XML שפותח ע"י צוות האתר Newzbin ואומץ ע"י כלל הרשת, ובאופן עקרוני מיועד להכיל רשימות ציינים (pointers) או קישורים לרשימה כלשהי של הודעות. הפורמט עצמו איננו מחייב איזושהי לוגיקה מסויימת שמוודאת מהו התוכן שאליו הוא מקשר, אבל עם קצת תיחכום רשימה כזו בעצם מאפשרת להכיל סדרת קישורים מלאה לכל ההודעות ששייכות לקובץ מסויים – דיסק מוזיקה, קטע וידאו, פרק בסדרה או אפילו סרט מלא. היות וקובץ ה-NZB מכיל את כל הקישורים הנדרשים להורדת קובץ מסויים, שימוש בו יחסוך לנו את הצורך בהורדת כל הכותרות שבשרת ואיתור הקבצים המבוקשים באופן ידני – תהליך שכמו שכבר ציינתי הוא די פרמיטיבי ומייגע. מרבית תוכנות ה-News readers יידעו לקבל את קובץ ה-NZB, לקרוא אותו ולאתר בעזרתו את כל ההודעות המופיעות בו, וכך בעצם לחסוך לנו את הצורך לחפש כל חלק וחלק בסדרת הקבצים באופן עצמאי.
אנחנו עוד נחזור לקבצים האלה בהמשך…

עוד שתי הבהרות לפני שנכנסים לברזלים:
שימוש רציני ב-Usenet עולה כסף. אם אתם מחפשים תחליף חינמי לטורנטים, אימיול ושאר P2P אתם לא במקום הנכון. על מרבית השירותים, התוכנות והעזרים שתצטרכו תאלצו לשלם. למה? כדי להבטיח רמת שירות, מהירות, עדכניות התוכן ושמירה של כל מה שזורם ברשת במשך 50, 100 או אפילו 200 ימים אחורה יש צורך במאגרים ענקיים ושרתים חזקים במיוחד ותקציב תפעול לא קטן בכלל. כל זה בא מדמי המנוי שאותם תשלמו. אמנם לרוב האמצעים (כמו תוכנות news readers, שירותי חיפוש ואינדוקס ואפילו שרתי usenet שמחזיקים alt.binaries ללא הגבלה) יש אלטרנטיבות חופשיות, אבל הן ברובן לא מומלצות או שאינן באותה רמה כמו השירותים בתשלום.
בנוסף – כיום כמעט כל ספק חיבוריות לאינטרנט (ISP) מספק שירות Usenet בעצמו ובחינם. הבעייה העיקרית בשירות זה היא Period retention (אורך הזמן שתוכן נשאר על השרת) נמוך מאוד (בקושי מספר ימים), Completion ratio (יחס בין כמות התוכן שנשלח לבין כמות התוכן שניתן להוריד בשלמותו) נמוך למדי, ומספר מוגבל מאוד של קבוצות (ספקים רבים אפילו לא מעבירים alt.binaries), ולכן שימוש בשירות כזה תביא לתוצאות מאכזבות למדי.

ההסברים במדריך מבוססים בעיקר על תוכנת NewsLeecher. זו אמנם לא התוכנה היחידה בשוק אך מניסיון של מספר שנים גיליתי שהיא המוצלחת ביותר לצרכים שלי. משתמשים ותיקים בתוכנות אחרות (כמו NewsBin Pro, Ninan וכו') מוזמנים לכתוב מדריכים מקבילים לשימוש בתוכנות שלהם במידה והם רואים צורך, אבל בכל אופן אני השתדלתי להתמקד יותר בטכניקה ופחות בתוכנה עצמה.

איך מתחילים? מה המינימום שחייבים כדי להתחבר?

  1. ספק Usenet – חשוב לבחור ספק שמציע Retention ו-Completion ratio גבוהים (או מה שנקרא Premium Usenet Providers), ומספק גישה גדולה ככל האפשר לקבוצות שבהן תמצאו את התוכן שאותו אתם מחפשים. ברוב המקרים ספק פרמיום גם יאפשר לכם גישה במלוא רוחב הפס לשרת שלו, באופן רצוף ויציב לכל משך ההורדה (ועם חיבור מהיר במיוחד – להוריד תוכן בפחות זמן מאשר ייקח לכם לצפות בו).
    רשימת ספקי פרמיום פוטנציאליים ניתן למצוא כאן: http://www.slyck.com/ng.php?page=2
  2. תוכנת news reader – כמו שכבר ציינתי יש מספר תוכנות טובות למדי בשוק ואנחנו נתמקד ב-NewsLeecher. מחיר התוכנה הוא כ-20$ לשנה וניתן למצוא אותה כאן: http://www.newsleecher.com/
    ישנם גם אלטרנטיבות חינמיות כמו Ninan אבל היא יותר מסובכת ודורשת יותר מאמץ לשימוש.

מה כדאי שיהיה אבל לא חייבים? (אני מדלג על חשמל, מחשב, וחיבור מהיר לאינטרנט כמובן…)

  1. תוכנה לשיחזור חלקים (כמו QuickPar או AutoUnpack).
    http://www.quickpar.org.uk/
    http://www.see-and-be.com/AutoUnpack/index.php
  2. תוכנת דחיסה ופריסה (כמו WinRar או 7-Zip).
    http://www.rarlab.com/
    http://www.7-zip.org/
  3. כונן קשיח גדול – היות ומהירות ההורדה די אינטנסיבית, מהר מאוד תגלו שהצלחתם לפוצץ את הדיסק שלכם. תתחילו לתכנן קניית דיסק גדול במיוחד או למחוק מיד כל דבר שהורדתם לאחר הצפייה.

מה אופציונלי וממש לא חייבים?

  1. מנוי בשירות חיפוש או אינדוקס בתשלום (כמו Newzbin למשל) או שירותי חיפוש (כמו SuperSearch או GrabIt Search) כתוספת ל-Newsreader – יש אלטרנטיבות חינמיות מצויינות.
  2. חיבור ע"ג תשתית SSL – מאפשר הצפנה של התוכן שיורד כך שגם ספק האינטרנט שלכם לא יוכל לדעת מה אתם מורידים. מסופק בתוספת תשלום ע"י ספקי פרמיום.
  3. לא חייבים מחשב סופר משוכלל – אפשר להשתמש גם במחשב קצת ישן שמריץ XP שכבר איננו בשימוש.

התחברות ראשונית

1. לאחר שבחרנו ספק Usenet, נרשמנו וקיבלנו את פרטי ההתחברות לשרת (כתובת הרשת, Port להתחברות, שם משתמש וסיסמא, ומספר החיבורים שמאפשר לנו השרת בו-זמנית) נפתח את התוכנה:

2. לפני שמתחברים מספר הגדרות שמומלץ לבצע בתפריט ה-Options:

יש לקבוע את מיקום התיקייה לתוכה יישמרו הקבצים.

מומלץ לקבוע מספר גבוה יותר ממס' הימים שמאפשר ספק השירות.

כאן יש לבחור את מס' החיבורים המקסימלי שמאפשר ספק השירות.

בשני המסכים הקודמים אלה בעיקר הגדרות גרפיות של הממשק והן העדפות אישיות שלי.

3. לאחר שסיימנו עם ההגדרות הכלליות לתוכנה, נגדיר את השרת לפי הפרטים שקיבלנו מהספק: נבחר בטאב Manager ובאפשרות Add.

4. לאחר שהגדרנו את השרת והחיבור, נצטרך לבצע משיכה ראשונית של שמות הקבוצות שניתן לגשת אליהן. Subscribe to Groups ו-Fetch Entire Group List כדי לקבל רשימה עדכנית.

הפעולה הנ"ל גם מאפשרת לנו לקבל אינדיקציה עדכנית שפרטי החיבור שהגדרנו נכונים וההתחברות לשרת הצליחה.

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

הורדה בעזרת Headers
1. לאחר קבלת הרשימה ניתן לחפש ולבחור קבוצות ספציפיות שבהם אנחנו מעוניינים בעזרת חיפוש. לדוגמא: hdtv.
שימו לב לטור ה-"Popularity": מספר גבוה יותר מצביע על כמות גדולה יותר של הודעות ולכן מרבית הסיכויים שאלה יהיו הקבוצות שבהן תמצאו את מה שאתה מחפשים.

מתוך הרשימה האפשרית ניתן לבחור בעזרת לחיצה על הכפתור הימני ו-"Subscribe".

בסיום נלחץ על "Back" ונקבל את רשימת הקבוצות שבחרנו.

2. "קבוצה וירטואלית" מאפשרת לנו לאחד מספר רב של קבוצות בשרת ובהמשך תאפשר לנו הורדה באופן יעיל יותר (הודעות רבות מופיעות בו זמנית בקבוצות שונות. שימוש בקבוצה וירטואלית תאפשר הורדה ללא כפילויות ובחירה מדוייקת יותר של הודעות).
נסמן את כל הקבוצות שבחרנו, כפתור ימני ו-"Selected: Attach to Virtual Group". ניתן שם לקבוצה: HDTV.

3. נעבור לטאב Articles, נצביע על הקבוצה שיצרנו: HDTV ונלחץ על הכפתור "Update".
בשלב זה התוכנה תנסה להתחבר לשרת ולהתחיל למשוך את כל כותרות ההודעות שנמצאות בו בקבוצות שציינו. ברוב המקרים זהו תהליך שלוקח די הרבה זמן בפעם הראשונה.
בפעמים הבאות בהן תעדכנו את רשימת הכותרות התהליך יהיה הרבה יותר קצר ויביא רק את ההודעות החדשות שנוספו מאז הפעם האחרונה, כך שלא צריך להבהל מכמות הזמן שלוקח העידכון הראשוני.
כמו כן מומלץ לא להגזים בכמות הקבוצות שאיתן מתחילים – בשרת ישנם עשרות אלפי קבוצות לבחור מתוכן, אך די מהר תגלו שמרבית התכנים שאותם אתם מחפשים מרוכזים במספר די מצומצם של קבוצות ובהן כדאי להתרכז. בהמשך תוכלו להוסיף ולשנות את הקבוצות שבחרתם אבל לצורך ההתנסות הראשונית מספיק להתחיל מ-2-3 קבוצות.

4. לאחר ש(סוף סוף…) הסתיימה הורדת ה-Headers אפשר להתחיל בהורדה.
סידור ההודעות לפי שם (לחיצה על כותרת הטור Subject) תאפשר סידור ההודעות בצורה שמאפשרת זיהוי מהיר של תוכן.
מתוך הרשימה ניתן לבחור סדרה של הודעות או לבצע חיפוש מהיר בעזרת ה-quick search שמופיע מעל הרשימה.

העברה לתור ההורדה בעזרת Ctrl+D (להורדה מיידית) או Ctrl+P (במצב pause).
וזה פחות או יותר מסכם את ההורדה בעזרת headers.

הורדה בעזרת NZB

קובץ NZB מקצר את תהליך החיפוש בכך שהוא מקבץ עבורנו את כל הקישורים והכותרות לכל סדרת ההודעות שמרכיבות קובץ מסויים וחוסך מאיתנו את הצורך בחיפוש אחר כל חלקי הקובץ מתוך מאות אלפי ה-headers שנמצאים בשרת.
לכל אתר אינדוקס וחיפוש תהליך שונה מעט לאיתור ומציאת ה-NZB שלנו, אך בכולם בסופו של דבר מסתיים תהליך החיפוש בהורדת קובץ NZB.

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

תור ההורדה (Queue)
אין הרבה מה להסביר על המסך הזה. כל ההודעות שבחרנו (אם דרך headers ואם דרך nzb) יופיעו ברשימה. טור ה-status יציג אם ההודעה במצב פעיל או בהמתנה וכן אם היא שלמה או חלקית/פגומה.
ניתן לשנות את סדר ההורדה לפי גיל ההודעה, הכותרת או הקבוצה ממנה היא מגיעה.
הודעות זהות המגיעות מקבוצות שונות יופיעו רק פעם אחת כך שלא תצטרכו להוריד את אותו חלק מספר פעמים ממקומות שונים.

בדיקת החלקים ופריסת הקובץ

בסיום הורדת כל סדרת ההודעות הן יופיעו לנו בתוך התיקייה שבחרנו בתפריט האפשרויות:

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

בתוך התוכנה ניתן לבחור באפשרות Auto Repair לתיקון אוטומטי או ללחוץ באופן עצמאי על הכפתור "Repair" במידה ומופיעים חלקים בעייתיים. בסיום התיקון תופיע ההודעה "Repair not needed" או הודעה שמודיעה על בעיה שלא מאפשרת שיחזור מלא.

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

אתר זה אינו תומך בהורדות תכנים בלתי חוקיות. Usenet כולל תכנים חוקיים וכן בלתי חוקיים. מטרת המאמר היא לאפשר הורדת תכנים חוקיים בלבד. אין האתר אחראי בכל דרך שהיא לשימוש בלתי הולם או בלתי חוקי בתוכן המאמר לשם הורדת תכנים בלתי חוקיים.

להמשך דיון בנושא המדריך לחץ כאן.


7:00
  /  
16.10.2007
  
כתב: dragonflyXXL, ערך: זיו רוזנפלד.

1