הורדה של טורנט מסוים מטראקר א' ושיתוף של אותו המידע (seed) בטראקר ב' ואם רוצים גם טראקר ג' וד' וכו'. חשוב להדגיש שמדובר על שיתוף אותו המידע ולא את אותו הקובץ טורנט בין טראקרים שונים. בכל טראקר שאני מכיר אסור בתכלית האיסור להעלות קבצי טורנט של טראקרים אחרים ואסור להעלות טורנטים של הטראקר לטראקרים אחרים.
אפשר כמובן גם להביא את המידע מחבר או בכל דרך אחרת (לאוו דווקא דרך הורדה שלו מטראקר אחר), מה שכן חייבים שהמידע יהיה תואם במדיוק ובמקרים מסויימים לא תצליחו לעשות cross-seeding בגלל חוסר התאמה. פרטים על מתי אפשר ואי אפשר לעשות cross-seeding בהמשך.
עיקר המדריך יעסוק באיך לעשות cross-seeding בצורה בטוחה.
לדוגמא אפשר לראות סיד ל-3 טראקרים שונים מאותה ספריה, תצטרכו להאמין לי שהורדתי את המידע רק פעם אחת מטראקר אחד:[imgbig]https://images2.imgbox.com/a0/49/bmtATlUJ_o.png[/imgbig](לגבי זה שהשם של השורה השלישית קצת שונה אפרט בסעיף 8 )
2. איזה עוד שמות יש ל-cross-seeding?
ב-TL הם קוראים לזה "outside seeding" (למי שיש חשבון שם, תחפשו Outside Seeding בעמוד הראשי של ה-wiki).
נתקלתי גם במושג "ריסיד" שלמיטב הבנתי דובר על מה שאני קורא לו cross-seeding. אני פחות אוהב להשתמש במושג "ריסיד" בשביל cross-seeding בגלל שבהרבה טראקרים המושג reseed מתייחס להחייאת טורנט "מת" (כלומר טורנט שיש לו אפס seeders, מבקשים reseed ואז אנשים או מביאים אותו חזרה מגיבוי בצד או עושים לו cross-seeding אבל המושג reseed מתייחס לפעולה של "החייאת" הטורנט).
כהערת אגב אציין שלפחות הבנה בסיסית של הטכניקות שאפרט במדריך זה שימושית גם בשביל טורנט שהורדנו פעם, מחקנו והבאנו חזרה מגיבוי ועכשיו רוצים לעשות לו reseed (על אף שלא הייתי קורא לזה cross-seeding).
אם אתם מכירים עוד שמות אשמח לשמוע ולעדכן.
3. למה לעשות cross-seeding?
היתרון שככה אפשר ל"שלם" על ההורדה רק בטראקר אחד ולעשות לו סיד במספר טראקרים.
בעזרת cross-seeding אפשר לשפר רטיו בצורה יותר בטוחה וזריזה מאשר בלעדיו, וזה במיוחד שימושי במקרים שאין seedbox או upload סביר (שלצערי בזמן כתיבת שורות אילו עדיין נדיר ללקוחות פרטיים בארץ).
אדגיש ואפרט מה אני מתכוון בלשפr רטיו בצורה בטוחה: אם הרטיו שלכם נמוך, ברב הטראקרים זה אומר שאתם בסכנה שתורחקו מהטראקר. הפתרון הכי פשוט הוא להוריד משהו ולקוות שתעלו מספיק בשביל לשפר את הרטיו אבל לפחות בשלב ראשון זה פוגע ברטיו ומקרב אותכם להרחקה. אפילו אם לטווח הארוך בסוף תצאו עם רטיו "חיובי" על טורנט מסויים קשה להגיד כמה זמן זה יקח ובמיוחד עם upload צנוע סביר זה לא מומלץ אם אתם על סף הרחקה. cross-seeding פותר את הבעיה כי אתם לא משלמים (או משלמים משהו זניח) מבחינת הורדה ולכן הרטיו יכול רק להשתפר.
למען הסר ספק, במדריך זה כשאני אומר טראקר אני מתכוון לטראקר פרטי (בניגוד לטראקר פומבי, שם אין רטיו ואין שום סיבה להתעסק עם cross-seeding; אולי במקרים מסויימים אפשר לעשות cross-seeding מטראקר פומבי אל טראקר פרטי).
3. האם מותר לעשות cross-seeding?
למיטב ידעתי לא רק מותר אלא שבטראקרים היותר קשים מצפים שמשתמשים חדשים או משתמשים עם בעיית רטיו יעשו cross-seeding בשביל לבנות באפר התחלתי או לשפר את הרטיו. לדוגמא ב-TL, כמו שכבר ציינתי, יש ב-wiki מדריך של outside seeding (שזה אותו הדבר).
ליתר ביטחון גם עשיתי חיפוש בגוגל בנושא ומצאתי לדוגמא:
https://www.reddit.com/r/trackers/comme ... re_against
בהשראת הלינק לעיל, אדגיש שיש הבדל בין cross-seeding להעלאת טורנטים: במקרים מסוימים אפשר להעלות מידע שהורד מטראקר א' כטורנט חדש בטראקר ב' אבל זה נקרא upload ולא cross-seeding. העלאת טורנט חדש כמובן תלויה בחוקים של הטראקר ולפעמים יש תוכן "ייחודי" שאסור להעלות לטראקרים אחרים (נתקלתי רק בטראקרים ישראליים...). המדריך הזה עוסק ב-cross-seeding ולא ב-upload (על אף שהרבה מהמידע כאן רלוונטי וחשוב גם למי שרוצה להעלות טורנטים).
אם מישהו מכיר טראקרים שאוסרים על cross-seeding אשמח לשמוע ולעדכן (בנוסף, למיטב הבנתי, זה ממש לא טריוויאלי ומאד בעייתי מבחינה טכנית בשביל טראקר למנוע cross-seeding).
4. איך עושים cross-seeding?
בכל הקליינטים שאני מכיר פשוט שומרים את הטורנט למקום שכבר יש בו את המידע, והקליינט יבדוק האם המידע תואם ויוריד רק את ה"חתיכות" החסרות/לא תואמות.
בתקווה דוגמא תוכל להבהיר את הנושא:
א. מורידים מטראקר א' טורנט עם הקובץ movie.mkv ושומרים אותו בספריה C:\Movies. מחכים שההורדה תסתיים.
ב. מורידים מטראקר ב' טורנט אחר גם הוא עם הקובץ movie.mkv שיש לנו סיבה טובה להאמין שזה בדיוק אותו ה-movie.mkv שהורדנו מטראקר א'. כעת אם נבחר להוריד טורנט זה גם לספריה C:\Movies אז הקליינט יראה שהקובץ כבר קיים ודבר ראשון יעשה בדיקה (recheck) למידע ובתקווה שהמידע מתאים בול הטורנט יעבור ישר למצב של seed ללא כל הורדה מטראקר ב'!
פרטים על המקרה שהמידע לא מתאים בול בסעיף הבא.
ג. אם רוצים אפשר לחזור על סעיף ב' עבור הורדה של movie.mkv מטראקר ג' וד' וכו'.
במקרה אמיתי, בתקווה, השם של הקובץ יהיה יותר דומה ל- Real.Movie.Name.1977.REPACK.720p.BluRay.DTS-ES.x264-ABC.mkv ואז אם מצאנו טורנט בטראקר אחר עם קובץ בדיוק באותו השם אז סביר להניח שגם התוכן שלו יהיה זהה.
אציין בקצרה גם את המקרה של שיחרורים שמופעים מקובצים ב-rar בטראקרים מסוימים ופתוחים בטראקרים אחרים. אפשרי להוריד את ה-rarים מטראקר עם rarים ולעשות cross-seeding לטראקרים אחרים שגם מכילים rar ו/או לפתוח את ה-rar לספריה אחרת ולעשות cross-seeding לקבצים הפתוחים בטראקרים שמכילים את הקבצים הפתוחים. אין אפשרות להוריד את הקובץ הפתוח ולקבץ אותו מחדש ל-rar ולעשות cross-seeding לטראקר שמכיל את rar (אלא אם יש לכם מידע נוסף כגון קובץ SRR, נושא שמעבר למדריך זה).
אותו הדבר רק "בקטנה" לגבי כתוביות idx/sub שבטראקר אחד מקובצים ב-rar ובאחר פתוחים (אפשר להוריד את ה-rar ולפתוח ולעשות cross-seeding, אי אפשר להיפך). "בקטנה" כי הגודל של כתוביות ממש זניח ועדיין שווה ביותר לעשות cross-seeding לסרט ולהוריד רק את הכתוביות מחדש - עוד פרטים בסעיף 7.
5. איך עושים cross-seeding בצורה בטוחה?
הערה: החלק הזה תלוי בקליינט, אני משתמש ב-qbittorrent וממליץ עליו בחום גם בגלל "יכולות" ה-cross-seeding שאפרט כאן ובהמשך. יתכן וקליינטים אחרים מתנהגים אחרת. בסוף סעיף זה גם אציין את הניסיון (המוגבל) שלי עם cross-seeding ב-utorrent (ספויילר הוא לא חיובי). אנסה לעדכן כאן בצורה מסודרת אם תשתפו מידע רלוונטי על קליינטים אחרים.
דבר ראשון, מה אני מתכוון בצורה "בטוחה"? נגיד שאני מנסה לעשות cross-seeding לפי ההוראות של סעיף 4 והקובץ movie.mkv שבטורנט מטראקר ב' שונה מהקובץ movie.mkv שהורדתי מטראקר א'. מה שיקרה הוא שהקליינט יראה שהקובץ אינו מתאים ויוריד חלקים או את כל הקובץ ה"מעודכן" מטראקר ב' וידרוס את הקובץ המקורי שהורדנו מטראקר א'. עכשיו יתכן שטראקר א' ירצה לעשות סיד לקובץ המקורי ויראה שהקובץ לא מתאים ואז תלוי בקליינט: במקרה הטוב הטורנט מטראקר א' פשוט יעבור למצב שגיאה ויעצר (למיטב הבנתי ככה מתנהג qbittorrent). במקרה הרע יתכן שעכשיו הקובץ ידרס שוב ע"י הורדת הקובץ מחדש מטראקר א' ואז הקובץ לא מתאים לטורנט של טראקר ב' וחוזר חלילה.
חוץ ממקרים מאד מסוימים שאפרט בסעיפים 7 ו-8, אם הקובץ או קבצים שמנסים לעשות להם cross-seeding אינם מתאימים בול זה יעשה בלאגן אטומי ויהיה קשה לצאת מזה. מטרת סעיף זה להסביר איך אפשר בביטחון של 100% להמנע מלהגיע למקרים כאלה.
לפחות ב-qbittorrent, פעולת ה-recheck על טורנט עצור (paused) הינה לא הרסנית (כלומר לא תשנה את המידע שכבר קיים בדיסק). למיטב הבנתי זו התנהגות של libtorrent שה-qbittorrent מבוסס עליו וקליינטים אחרים שמשתמשים ב-libtorrent עדכני גם הם יתנהגו כך.
איך ננצל התנהגות זו לעשות cross-seeding בטוח?
א. מורידים מטראקר א' טורנט עם הקובץ movie.mkv ושומרים אותו בספריה C:\Movies. מחכים שההורדה תסתיים.
ב. מורידים מטראקר ב' טורנט אחר גם עם הקובץ movie.mkv, שומרים אותו גם לספריה C:\Movies אבל לא מפעילים את הטורנט (ב-qbittorrent פשוט מנקים את האופציה "start torrent"): [imgbig]https://images2.imgbox.com/a7/4f/yPYDBqcq_o.png[/imgbig]
ג. בגיסאות עדכניות של qbittorrent הוא אמור אוטומטית להתחיל recheck אבל אם צריך אפשר להכריח אותו לבצע recheck ע"י כפתור ימני על הטורנט החדש ובוחרים "force recheck". הקליינט יבצע בדיקה של המידע בדיסק ובסיום הבדיקה האחוז של ההורדה יתעדכן לפי כמה מה"חתיכות" תואמות (זה בעצם מתעדכן גם במהלך הבדיקה רק צריך לשם לב איפה בתצוגה האחוזים הם כמה מהמידע של הטורנט עבר בדיקה ואיפה כמה מהמידע נבדק ותואם).
אם בסוף הבדיקה הטורנט ב-100% אפשר בביטחון מלא לעשות resume לטורנט והוא יעבור ישר לסיד. אם ה-recheck הסתיים מיידית והטורנט נשאר על 0% הכי סביר שטעיתם בנתיב השמירה או שהשם של הקובץ/קבצים/ספריה בטורנט שונה (יתכן ואפשר לתקן - ראו סעיף 8 ).
בכל מקרה שאחרי ה-recheck הטורנט לא נמצא על 100%, ברגע שתעשו resume הקליינט ישנה את המידע על הדיסק (בעקבות הורדת המידע החסר/שונה מהטראקר החדש). לכן חשוב מאד להבין מה קרה לפני שבוחרים לעשות resume. בזה עוסקים הסעיפים הבאים.
האופציה הכי פשוטה במקרה שה-recheck נכשל (כלומר לא סיים על 100%) היא לוותר על ה-cross-seeding ולמחוק את הטורנט של טראקר ב'. חשוב להקפיד לא לסמן למחוק את הקבצים מהדיסק, כי מבחינת הקליינט ה-movie.mkv שייך גם לטורנט השני ומחיקת המידע תמחוק את הקובץ שהורד מטראקר א'.
שימו לך, שמניסיוני ב-utorrent ה-recheck כן הרסני (לפחות בגירסאות ישנות של utorrent, לפחות במקרה שהקובץ מטראקר ב' יותר קטן, ה-utorrent פשוט חותך את הקובץ ללא בושה בפעולת recheck על טורנט עצור!). בזמנו כשהשתמשתי ב-utorrent, נכוותי בנושא כמה פעמים ופשוט הפסקתי לנסות לעשות cross-seeding כי זה לא שווה את הסיכון ש-utorrent יקלקל/יזרוק מידע ששהורד מהטראקר הראשון. אני ממליץ בחום פשוט לעבור ל-qbittorrent.
6. איך בדיוק עובד ה-recheck, למה אני כל הזמן מזכיר "חתיכות" ומה קורה עם טורנטים מרובי קבצים?
דבר ראשון קצת רקע על איך עובד ביטורנט: פרוטוקול הביטורנט מחלק את המידע של הטורנט ל"חתיכות" (pieces) בגודל מסוים. זה הבסיס של כל החוכמה של הביטורנט: הוא יודע להוריד חתיכות אקראיות מ-seeds ו-peers אחרים ובסיכוי מאד גדול ל-peers שונים יהיו חתיכות שונות ולכן גם peers יוכלו לשתף ביניהם מידע ולא רק להוריד מידע מה-seeders (פחות רלוונטי במקרה שיש 1001 seeders ומוריד בודד, מאד חשוב במקרה שיש seed בודד והרבה מורידים; לכן qbittorrent/libtorrent מרשים לעצמם להוריד sequential אוטומטית אם יש מספיק seeders).
מה הקשר ל-recheck? הקשר שהקובץ טורנט מכיל checksum של כל אחת מהחתיכות בנפרד. ה-recheck פשוט קורא את כל החתיכות מהדיסק (כלומר את כל המידע של הטורנט) ועבור כל חתיכה בודק את ה-checksum. חתיכה שה-checksum מתאים תחשב כ-completed וחתיכה שלא תחשב שכל המידע שלה לא תקין (בהינתן המידע שיש בקובץ טורנט אין שום דרך לדעת האם חלק מהמידע בחתיכה הוא תקין ואיזה חלק ולכן חייבים להוריד מחדש את כל החתיכה עבור כל חתיכה שה-checksum אינו תואם). בסוף ה-recheck הטורנט יהיה ב-100% אך ורק עם ה-checksum של כל אחת מהחתיכות התאים בול. אם לא, אז ה-% של הטורנט יהיה לפי כמה מהחתיכות מתאימות (לדוגמא טורנט עם 10 חתיכות יהיה ב-90% גם אם רק byte אחד שונה; כרגיל יהיו הרבה יותר מ-10 חתיכות בטורנט).
מה לגבי טורנטים מרובי קבצים? פרוטוקול הביטורנט לא מתייחס יותר מידי לקבצים ובעת יצירת הטורנט נקבע סדר מסוים שלפיו משרשרים את המידע מכל הקבצים ואז מחלקים לחתיכות את המידע המאוחד (הסדר נבחר ע"י התוכנה שיצרה את הטורנט, לפעמים הוא יהיה אלפביתי ולפעמים יראה "אקראי", לא נדיר למצוא טורנטים עם אותם קצבים אבל בסדר אחר).
אנסה להבהיר את הנושא בעזרת דוגמא, ניקח טורנט שמכיל 3 קבצים "שחוברו" בסדר הבא:
a-sample.mkv (7 megabyte)
a.mkv (192 megabyte)
a.nfo (327 byte)
ונגיד שגודל כל חתיכה הוא 2 מגה. במקרה הזה יהיו 100 חתיכות:
חתיכות 1-3 בשביל ה-6 מגה הראשונים של a-sample.mkv
חתיכה 4 בשביל המגה האחרון של a-sample.mkv והמגה הראשון של a.mkv
חתיכות 5-99 בשביל ה-190 מגה האמצעיים של a.mkv
חתיכה 100 בשביל המגה האחרון של a.mkv וה-327 בייט של a.nfo
למה זה חשוב לנו? כי זה מסביר למה אנחנו מקבלים תוצאות recheck כגון:[imgbig]https://images2.imgbox.com/b4/e0/enpXIDsq_o.png[/imgbig](שימו לב שלפחות ב-qbittorent הקבצים מסודרים לפי אחת העמודות ואין אופציה לסדר את הקבצים לפי הסדר שהם מופיעים בטורנט; עבור קבצים גדולים מספיק אפשר לראות את הסדר של הקבצים בזמן ה-recheck לפי ההתקדמות שלו)
בטורנט הזה גודל כל חתיכה הינו 8 מגה (מופיע במידע הכללי על הטורנט תחת "pieces"). דבר ראשון "חובר" הקובץ mkv שכל החתיכות שלו חוץ מהאחרונה מתאימות ולכן הוא ב-99%. החתיכה האחרונה של ה-mkv כוללת לא רק את סוף ה-mkv אלא גם את כל ה-nfo, כל ה-srt ואת ה-58.5% הראשונים של screens. החתיכה האחרונה היא ה-41.5% הנותרים של screens שבמקרה הזה תואמת (במקרה הזה screens היא ספרייה ואפשר לפתוח ולראות את האחוזים על כל קובץ, למען פשטות ההסבר כאן בחרתי להשאיר את screens "מקובצת").
מספיק שלדוגמא ה-nfo לא מתאים או שה-srt חסר לגמרי שכל החתיכה (הלפני אחרונה) נפסלת ונקבל את התמונה לעיל.
7. cross-seeding למתקדמים או מתי בכל זאת אפשר לעשות cross-seeding בלי 100% התאמה?
בתקווה, אחרי סעיף 6 לעיל, אנחנו יודעים להבין את התוצאות של ה-recheck. עכשיו צריך להפעיל קצת שכל ישר ואולי קצת ניסיון בשביל להבין באילו מקרים בכל זאת נוכל לעשות cross-seeding על אף שלא קיבלנו 100% התאמה.
המקרה הכי פשוט שאפשר לעשות cross-seeding בביטחון הוא חוסר בקובץ או קבצים מסוימיים, לדוגמא קובץ nfo שאינו קיים: נגיד הורדנו טורנט מטראקר א' עם movie.mkv בלבד. כעת אנחנו מורידים טורנט מטראקר ב' המכיל גם את movie.mkv וגם את movie.nfo. אם עקבתם אחרי ההסבר בסעיף 6, אז אתם מבינים למה נקבל בסוף ה-recheck כ-99% על הקובץ movie.mkv וכמובן 0% על ה-movie.nfo שלא קיים. לכן אפשר בביטחון יחסי לעשות resume לטורנט מטראקר ב', הוא ישלים את קובץ ה-nfo החסר ובתקווה הסוף של ה-movie.mkv בדיוק אותו הדבר (ולכן לא ישתנה). מניסיוני, לפחות qbittorrent מסתדר יפה עם זה שהטורנט הראשון פעיל ועושה סיד במקביל להשלמת ההורדה מהטראקר השני (כלומר אפילו אין צורך לעצור את הטורנט הראשון).
אם רוצים להיות 1000% בטוחים אפשר: לעצור את הטורנט הראשון, לעשות resume לשני שישלים את ה-nfo ויגיע למצב של 100% ואז לבצע שוב force recheck על הראשון ולוודא שהוא באמת נשאר ב-100%. בפעמים הראשונות שאתם עושים cross-seeding כזה, מומלץ באמת לבצע את זה וקבל קצת ניסיון וביטחון לפני שמסתמכים על "ביטחון יחסי".
קצבים נוספים שנפוץ שיהיו חסרים הם כתוביות נפרדות (כגון srt או idx/sub/rar כרגיל תחת ספריית subs), samples, תמונות מסך (screens) וכו'. קבצים כאלה הרבה פעמים יהיו קיימים בטורנט מטראקר אחד וחסרים בטורנט של טראקר אחר (או אולי ב-rar בטראקר אחד ופתוחים בשני). כל עוד הקבצים פשוט חסרים ההסבר לעיל (לגבי המקרה שחסר ה-nfo) עדיין תופס ואפשר בביטחון יחסי פשוט לעשות resume (או בביטחון מלא: לעצור את הטורנט המקורי ולעשות לו recheck אחרי שהטורנט השני השלים את ההורדה).
עוד מקרה ששימושי לעשות cross-seeding לחלק מהקבצים הם season packs שכבר הורדנו חלק או את כל הפרקים קודם או repack של עונה שבעצם עשו repack רק לחלק מפרקים. זה אפילו יכול להיות "cross-seeding" לשני טורנטים מאותו הטראקר: נגיד הורדנו דבר ראשון season pack הכולל 10 פרקים ואז יוצא repack שמכיל repack ל-3 מהפרקים ו-7 הפרקים הנותרים ללא שינוי. נוכל בקלות לעשות "cross-seeding" ל-7 הפרקים ללא שינוי (או לפחות ל-99.8% מהם) ולהוריד רק את ה-3 שעברו repack.
במקרה שהשם של הקובץ מתאים והקובץ עבר recheck ועדיין על 0% כנראה שלפחות לקובץ הזה לא יהיה אפשר לעשות cross-seeding. דוגמא למקרה כזה, היא נגיד טראקר ישראלי שלוקח שיחרור של קבוצה ידועה, נגיד "movie-abc.mkv", ועושה remux לקובץ עם כתוביות מובנות בעיברית ולא משנה את השם של הקובץ (עדיין "movie-abc.mkv" אבל התוכן של הקובץ שונה). במקרה כזה, בגלל איך שהביטורנט עובד, לא נוכל לעשות cross-seeding אפילו לחלקים מהסרט (במובן מסוים חלקים מהקובץ mkv עדיין בעלי אותו תוכן - לדוגמא אם נעשה demux - אבל מנגון החתיכות של הביטורנט לא מתאים בשביל לזהות ולנצל דברים כאלה).
8. איך אפשר לפתור התנגשות בשמות של הקבצים או קבצים בשם שונה?
בהמשך לסעיף הקודם, נמשיך עם דוגמת ה-nfo אבל עם טוויסט:
נגיד שהורדנו מטראקר א' טורנט המכיל גם את movie.mkv וגם movie.nfo ואנחנו מנסים לעשות cross-seeding לטורנט דומה מטראקר ב' שגם מכיל בדיוק את אותם 2 קבצים. אבל אבוי, קיבלנו אחרי ה-recheck תוצאה דומה של 99% על קובץ ה-mkv ו-0% על קובץ ה-nfo. במקרה הזה ה-nfo קיים אז זה לא בגלל שהוא חסר אלא בגלל שהתוכן שלו קצת שונה. במקרה של קבצי nfo זה די נפוץ לקבל חוסר התאמה: לפעמים בגלל שזה קובץ text ויש הבדל ב-line endings (למי שיש את הידע, בשביל nfo של שיחרורי scene, אפשר לנסות לתקן את חוסר ההתאמה בעזרת פקודות כגון dos2unix ו-unix2dos). לשיחרורי p2p כרגיל אין בכלל nfo ובאתרים מסוימים פשוט "ממציאים" nfo ולכן הוא ספיציפי לאתר הזה ובאתר אחר "ימציאו" nfo אחר לגמרי.
ככה או ככה יש את הבעיה שפירטתי בסעיף 5: אם פשוט נעשה resume ה-nfo ידרס ע"י הגירסה של טראקר ב' ואז הטורנט מטראקר א' נדפק (במקרה שיש הבדל רק ב-nfo יתכן והטורנט מטראקר א' ימשיך לעשות סיד באופן כאילו תקין לזמן ארוך כי באופן סטטיסטי רב ה-seeding יהיה מה-mkv שמתאים אבל בשלב מסוים הוא ינסה לקרוא גם את ה-nfo ויגלה שהוא שונה).
שני הפתרונות שאני מכיר:
א. בתקווה בקליינט שבחרתם יש אופציה נוחה לעשות rename לקבצים/ספריות בודדים. לדוגמא ב-qbittorrent אפשר לעשות זאת ע"י כפתור ימני על הקובץ ב-content tab:[imgbig]https://images2.imgbox.com/10/83/wWyG0NRD_o.png[/imgbig]ב-qbittorrent גם אפשר לעשות זאת בזמן הוספת הטורנט באופן דומה:[imgbig]https://images2.imgbox.com/d0/f1/Ziyrc7Vn_o.png[/imgbig](אני מנצל תמונת מסך זו להראות מקרה אחר שבו השם של הספריה קצת שונה מהטורנט המקורי שהורדנו אבל השמות והתוכן של כל הקבצים בספריה כן מתאימים; פתרון פשוט לזה הוא לשנות את השם של הספריה כשמוסיפים את הטורנט או אחרי זה דרך ה-content tab).
ב-utorrent גם אפשר לעשות rename: אחרי שהטורנט כבר הוסף, אפשר להכנס ל-files tab, לעשות כפתור ימני על הקובץ/ספריה ולבחור "Relocate" ואז לבחור שם אחר. למיטב זיכרוני אף פעם לא השתמשתי באופציה הזו אז אני לא יכול להגיד הרבה על זה (כאמור אני לא ממליץ על utorrent ובמיוחד לא על cross-seeding עם utorrent).
שימו לב, שלפחות ב-qbittorrent, כשעושים rename, אם הקובץ קיים בדיסק הוא משנה את השם של הקובץ בדיסק (וכשעושים set location, אם הקבצים קיימים דיסק הוא מזיז אותם). אם נמשיך בדוגמא של ה-nfo, אז צריך או לשנות את השם של ה-nfo בטורנט מטראקר ב' בזמן ההוספה שלו (ואז הוא לא משנה את השם של ה-nfo מטראקר א' שכבר קיים בדיסק) או לשנות את השם של ה-nfo בטורנט הפעיל מטראקר א' לפני שמפעילים את הטורנט מטראקר ב' (זה ישנה בדיסק את השם של ה-nfo מטראקר א' וה-nfo מטראקר ב' יתפוס את השם המקורי).
כמעט תמיד אני משתמש באופציית ה-rename הזו אבל למען השלמות אציין גם אופציה נוספת:
ב. אפשר לשמור את הטורנטים ל-2 ספריות שונות ולהעתיק או לעשות "לינק" לקובץ/קבצים מתאימים לספריה החדשה:
בדוגמא שלנו לעיל עם movie.mkv ו-movie.nfo, אפשר לדוגמא לשמור את הטורנט הראשון ל-C:\Movies\TrackerA ואחרי שהוא סיים להעתיק את ה-mkv ל-C:\Movies\TrackerB ולשמור לשם את הטורנט מהטראקר השני. בגלל שזה ספריות שונות מן הסתם אין סיכוי שההורדה של הטורנט השני תקלקל משהו בטורנט הראשון.
מה שכן אנחנו מבזבזים מקום בדיסק, כי עכשיו ה-mkv מופיע פעמים בשתי ספריות שונות. יש מנגון של "לינקים" שיכול לפתור את הבעיה הזו. המנגון קצת שונה בין מערכות הפעלה שונות, אפרט ממש בקצרה לגבי יצירת לינקים ב-windows (משתמשי מערכות unixיות כרגיל יודעים מה זה לינקים ואיך ליצור אותם): ב-windows אפשר ליצור לינקים בעזרת פקודת mklink /H (מה שנקרא hardlink ב-windows), צריך שהמקור והיעד יהיו על אותו הכונן ושהכונן יהיה NTFS.
בדוגמא שלנו לעיל, נעשה לינק אך ורק לקובץ mkv לספריה של TrackerB. למקרה שזה לא ברור הלינק מקשר את אותו הקובץ משתי ספריות או שמות שונים - אם משנים אחד השני גם משתנה! בעצם יש רק עותק אחד של הקבוץ על הדיסק. לכן אם נעשה לינק גם ל-nfo אז כשהטורנט השני ישנה אותו הוא ידפוק את הקובץ ה-nfo של הטורנט הראשון. אם עושים לינק רק ל-mkv, אז יווצר קובץ nfo חדש ואחר על הדיסק (שיתפוס 327 בייט נוספים מהדיסק, אבוי).
כרגיל אנחנו עושים cross-seeding רק בשביל הרטיו ולכן לא ממש איכפת לנו להוריד קבצים קטנים מחדש, לכן אפשר להעתיק/לעשות לינק רק לקבצים הגדולים (המתאימים) ולתת לקליינט ליצור "עותקים שונים" של הקבצים הקטנים (אולי עם אותו תוכן בינארי ואולי שונים).
-
בעזרת הטכניקות לעיל אפשר לפתור את כל המקרים שקבצים מסוימים בטורנט הם באיזור ה-99% ואנחנו רוצים לעשות cross-seeding לקבצים האילו. אם יש קבצים אחרים עם תוכן לא תואם אז בדיוק כמו במקרה של ה-nfo שתיארנו לעיל אפשר לעשות להם rename או לשמור לספריה אחרת ולעשות לינק רק לקבצים שכן מתאימים. אם יש קבצים שפשוט חסרים אז אין בעיה כי בין כה וכה כשנשלים את ההורדה שלהם שום דבר לא ידרס.
מקרה נוסף שאפשר לפתור בעזרת טכניקות אלה, הוא כאשר הקובץ/קבצים/ספרייה מופיעים בשם קצת אחר ויש לנו סיבה להאמין שבכל זאת התוכן שלהם בדיוק אותו הדבר. תמונת המסך השניה שהבאתי לעיל (של rename בזמן הוספת טורנט חדש) מדגימה את זה במקרה שהשם של הספריה קצת שונה. בצורה דומה אפשר גם לעשות rename לקובץ שהשם שלו שונה אבל התוכן זהה (יש טראקר, שלא אציין את שמו, שאוהב לקחת שיחרורים של קבוצות ידועות ולהעלות אותם אותם בשם מאד דומה אבל ללא השם של הקבוצה שהכינה את השיחרור - תחפשו שיחרור מתאים של הקבוצה הידועה ותראו שהתוכן של ה-mkv מתאים בול).
אפשר גם לעשות rename בעזרת לינקים: לינק לא חייב להיות לספריה אחרת ויכול להיות באותה הספריה לשם אחר (לדעתי זה פחות נקי מ-rename בקליינט או לפחות שמירה/לינק לספריה אחרת אבל אפשרי).
בתקווה הבאתי מספיק דוגמאות שתוכלו להבין בכל מקרה שתתקלו האם אפשר לעשות cross-seeding ואיך.
9. האם תמיד חייב לקרות recheck? (או cross-seeding לבעלי לב חזק)
לפחות ב-qbittorrent ו-utorrent יש אופציה של "skip hash check" כשמוסיפים טורנט. מה שזה בעצם אומר לקליינט שיניח שה-recheck הצליח ב-100% בלי לעשות כלום.
מתי זה טוב? אם יש טורנט גדול שאנחנו בטוחים שמתאים ורוצים לחסוך את ה-recheck (דבר שדי כואב על טורנטים גדולים).
למה זה מסוכן? בגלל סיבות דומות למה שהסברתי בסעיף 5 לגבי cross-seeding בלי לוודא קודם שה-recheck מתאים ב-100%.
אין לי הרבה ניסיון עם שימושים "מסוכנים" באופציה הזו אבל אם אני לא טועה qbittorrent מתנהג יפה יחסית: אם הטורנט לא 100% מתאים במקודם או מאוחר ה-qbittorrent מגלה את זה, מודיע על שגיאה, מעביר את הטורנט למצב של שגיאה (errored) ועוצר את הטורנט. כך שזה בעצם פחות מסוכן מ-cross-seeding רגיל ללא force recheck קודם (כי בניגוד למקרה ההוא, בתקווה, לא ידרס המידע של הטורנט המקורי).
10. למה אני מקבל הודעת שגיאה Torrent already present?
דבר ראשון ב-qbittorrent, ההודעה המלאה נראית ככה:
הבעיה שלכל טורנט יש hash יחודי (אפשר לראות אותו במידע הכללי של הטורנט תחת torrent hash) וכל הקליינטים שאני מכיר מניחים שאם לשני קבצי טורנט יש את אותו ה-hash זה אותו הטורנט וירצו לאחד את ה-tracker urls (זו התנהגות שימושית לטראקרים פומביים שם אם יש בדיוק את אותם "חתיכות" ל-2 טורנטים כאלה, אפשר ורצוי לאחד את ה-seeds/peers שלהם - מעשית זה אומר פשוט להוסיף את ה-tracker urls מהטורנט החדש לטורנט שכבר פעיל בקליינט, וההודעה לעיל אומרת שהקליינט מסרב לעשות זאת בשביל טראקר פרטי - תודה לאל!).אופציה אחת שפשוט טעיתם וניסיתם להוסיף עוד פעם טורנט שבאמת כבר קיים (ניסיתם לעשות "cross-seeding" ע"י הורדת הטורנט מטראקר א' ואז הורדה של בדיוק אותו הטורנט מאותו הטראקר).
אופציה אחרת היא שבאמת טורנטים בטראקרים שונים בעלי אותו ה-hash. ה-tracker url אינו חלק מה-hash. לדוגמא ב-qbittorrent אם תייצרו קובץ טורנט עם אותם קבצים (ואותו ה-piece size) אבל עם tracker url שונה תקבלו שני קבצי טורנט שיש להם בדיוק את אותו ה-hash !!
הדרך המומלצת לעקוף את זה הינה ע"י שדה ה-source בתחתית דף יצירת ה-torrent ב-qbittorrent (ובתקווה יש שדה מקביל בכל קליינט אחר). למיטב הבנתי הערך ששמים בשדה ה-source אינו משנה רק תשתמשו במשהו ייחודי כמו לדוגמא ראשי התיבות של הטראקר. שימו לב ששינוי שדות אחרים כגון ה-comments לא משנה את ה-hash אבל ה-source כן. בנוסף אפשר לשנות את ה-piece size שכמובן גם משנה את ה-hash אבל זאת דרך פחות גמישה ופחות מומלצת.
עוד מידע לגבי מה נכלל ב-hash כאן (באופן מוזר לא נכלל שם שום דבר שיכול להיות ה-source שהזכרתי לעיל):
https://stackoverflo...t-file/28601408
בבקשה, אם אתם מעלים טורנטים תשתמשו בתוכן ייחודי בשדה source (או איך שזה נקרא בקליינט שלכם)!
---
כל המידע במדריך זה אך ורק למטרות הורדת ושיתוף תוכן בהתאם לחוק.
הערות ותיקונים יתקבלו בברכה.

