UUENCODE,
MIME ו-MULTIPART.
מלהתחילה USENET תוכננה רק לדיונים, בדומה לדואר אלקטרוני.
הבעיה היא שמאמרים יכולים להכיל רק 7 BIT chars בזמן
שקבצים בינאריים משתמשים ב- 8 BIT chars. מאחר שחלק ממחשבים היותר ישנים מאפשרים רק 6 BIT chars, פותחו שתי טכניקות שהופכות שלוש 8 BIT chars לתוך ארבעה 6 BIT chars, מה שיגדיל את הגודל של הקובץ בערך ב-33% אחוז.
הגידול כזה של קובץ לממדים ענקיים מראה מדוע USENET היא לא הדרך הכי טובה לשליחת קבצים הבינאריים שלך.
UUENCODE.
טכניקה הראשונה ויותר ישנה
היאUUENCODE . הנתונים מוצפנים ונכנסים ישירות לתוך הגוף של המאמר.
אם עכשיו אנשים מורידים את המאמר הזה, Client USENET שלהם יפענח את הקובץ ואו שיציג אותו או שיאפשר לך
לאחסן אתו על הדיסק. כל USENET Client
צריך לתמוך ב-UUENCODE. במקרה ו- UUENCODE לא בר תוקף ב-client שלך, אתה יכול לפענח את הקובץ
עם מפענח חיצוני. קובץ מוצפן תמיד מתחיל כך
begin 666 test.jpg
ומסתיים כך :
`
end
הכל מה שיש באמצע זה הקובץ
המוצפן..כדי לפענח אותו עם מפענח חיצוני, העתק את כל הנתונים
המוצפנים ( כולל שורות של התחלה והסוף ) ללוח גזירים שלך (clipboard), צור קובץ UUE חדש ( לשם אין שום
תפקיד, מאחר ש-UUENCODE
שומר את השם של הקובץ המקורי ), הדבק את תוכן של לוח הגזירים שם ושמור
הכל על הדיסק. עכשיו אתה יכול לאפשר פענוח (UUDECODER ) על הקובץ הזה. משתמשים של
חלונות יכולים להשתמש ב-WINZIP למטרה הזאת. הקובץ יפתח כמו קובץ דחוס של ZIP ואתה
תוכל להוציא את הנתונים המוצפנים כרגיל ( בדוגמה שלנו "TEST.JPG
"
).
MIME.
הפתרון היותר חדשני נקרא
MIME(חקיין) וזה אותו פתרון שנבחר לדואר אלקטרוני. יתרון של MIME הוא
שהקובץ המצורף (attachment) נפרד מהטקסט של המסר ומכל attachment אחר ( במקרה שיש כמה קבצים
מצורפים בתוך מסר אחד ). חסרון גדול של MIME זה שהרבה USENET Clients עדיין לא תומכים בו ואנשים
צריכים להשתמש ב- MIME decoders חיצונים במקרה הזה. קובץ מוצפן תמיד
מתחיל כך :
------=_NextPart_000_0009_01BFD33D.191D9C60
Content-Type: image/jpg;
name="test.jpg"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="test.jpg"
ומסתיים כך :
------=_NextPart_000_0009_01BFD33D.191D9C60--
הגבולות ( במקרה שלנו "
_NEXTPART_ " ומספר מקרי ) כנראה
יהיו שונים במקרה שלך, כי Clients USENET יכולים לבחור כל גבול שהם רוצים. כפי שאתה יכול לראות
בדוגמה מעל, MIME
מספק הרבה מידע על הקובץ המוצפן. השורה המעניינת "Content-Transfer-Encoding", שאומרת לנו זה שנעשה שימוש ב-BASE64
בשביל הצפנה. BASE64 עובד בצורה דומה ל-UUENCODE אבל זה לא המקודד היחידי ש-MIME תומך
בו, אבל זה האחד שבדרך כלל משתמשים בו להצפנה בינארית ב-USENET
ובדואר האלקטרוני. קובצי טקסט לא מוצפנים עם BASE64 אלא עם Quoted-Printable
(שם
תווי טקסט נשארים כמעט ללא שינוי ורק כמה תווים ספציפיים מוצפנים ).
קבצים בינאריים גם יכולים להיות מוצפנים עם Quoted-Printable, אבל זה יגדיל את הגודל שלהם במעל מ-100%. הצפנות אחרות בדרך
כלל לא נתמכות על ידי USENET Clients
.
.במקרה ש-client שלך לא תומך ב-MIME, אבל
אתה רוצה לפענח קובץ MIME, העתק את הקובץ המוצפן ללוח גזירים ( כולל כל המידע
שמוצגת למעלה), צור קובץ .MIM חדש
( שוב, שם לא משחק תפקיד ), תדביק את תוכן של לוח הגזירים שם ושמור
הכל על הדיסק. עכשיו אתה יכול להפנות MIME DECODER לקובץ
הזה. משתמשים של חלונות יכולים גם להשתמש ב-WINZIP במקרה הזה, בגלל שהוא תומך בUENCODE ו-MIME. פתח את הקובץ עם WINZIP ותעשה extract כרגיל.
MULTIPART.
בגלל שמאמרים גדולים לא מופצים
טוב ויש אפילו שרתים שמסננים מאמרים יותר גדולים מגודל מסוים ( הגודל
הממוצע המקסימלי הוא בסביבות 4 MB, אבל לפעמים יש סינון על הקובץ יותר גדול מ600 KB ),אז
המערכת שנקראת "
Multipart Message
" הומצאה. במקרה ומאמר עם קובץ בינארי מצורף יעבור גודל מסוים,
הוא יתחלק לחתיכות יותר קטנות. החתיכות האלו יכולות אז לעבור ב-USENET בלי בעיות גדולות.
רוב Usenet clients
יכולים לאחד מחדש את החתיכות האלו שוב ( וזה הכרחי אחרת אתה לא יכול
לפענח את הנתונים הבינאריים ) וחלקם אפילו מזהים messages MULTIPART ומאחדים אותם מחדש באופן אוטומטי
(למשל Agent עושה את זה באופן אוטומטי ). בכל מקרה, אם אתה רוצה
לקבל את הקובץ, אתה חייב להוריד כל חלקים של message MULTIPART. בגלל ש-USENET לא אמינה, לפעמים
אתה לא תוכל לפענח קובץ,רק כי פספסת חלק אחד, זה מאוד מטריד
אבל קורה לפעמים.
לזהות
Multipart Message מאוד קל. לכל חלקים תמיד יש
את אותה שורת הנושא (subject), שמסתיימים ב-.[xx/yy] וזה אומר שזהו חלק "xx"
מתוך "yy" חלקים. זאת אומרת שאם אתה רואה מאמר שמסתיים ב-[ 04/13
], אתה יודע שהמסר הזה הוא חלק של Multipart Message, אתה יודע שזה חלק מספר ארבעה ואתה יודע שיש שלושה עשר חלקים סך
הכל.
במקרה ו-client שלך לא יכול לאחד מחדש Multipart Message ,אז
אתה יכול לעשות זאת בעצמך. ראשית תבדוק אם הקובץ הוצפן עם MIME או עם UUENCODE ( על אף שזה Multipart Message עדיין חייבת להיות הצפנה! ). הדרך הכי טובה לבדוק
זאת היא הורדה (downloading) של החלק הראשון, שחייב או להכיל
כותרת של MIME או UUENCODE..לאחר מכן אתה יוצר קובץ ובוחר
סיומת בהתאמה (.MIM
or .UUE)
ומדביק את התוכן של המאמר הראשון לקובץ הזה. עכשיו אתה מוריד את החלק
השני, העתק את התוכן שלו והוסף אתו לחלק הראשון. זהירות, אם החלק הראשון
מסתיים באמצע של שורה, אתה חייב להוסיף את החלק השני בדיוק במקום הזה
ולא בשורה החדשה. אתה ממשיך עם הפרוצדורה הזאת, עד שכל חלקים אוחדו
מחדש ואז אתה שומר את הקובץ שלך בדיסק. עכשיו אתה יכול לפענח אותו
כמו שתואר לפני כן.זה דורש הרבה עבודה, אבל בסוף זה יעבוד.
דרך הגב, לפעמים אתה גם
רואה [ 00/13 ], וזה לא אומר שזה חלק 0 ( החלק הראשון הוא בעל מספר
אחד ). המאמרים כאלה הם בדרך כלל מאמרי טקסט, למשל מאמר מפרש למאמרים
בינאריים. כאשר אתה מפענח קובץ ידני, אל תכלול את החלק הזה, בגלל שזה
לא חלק של הקובץ הבינארי.