TL2RSS – הגרסא הידידותית

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

החלטתי ועשיתי.

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

כדי שהדבר הזה יעבוד, TL2RSS צריך להתחזות למשתמש רגיל שמתחבר לטורנטליץ'. מכיוון שהדפדפן של המשתמש לא מתחבר לטורנטליץ' אלא לTL2RSS צריך לזייף את הReferrer ואת שדה הHost בבקשת הHTTP שנשלחת לטורנטליץ'.

עד כאן הכל טוב ויפה.  אבל הקפצ'ה סירבה לעבוד בטענה שהאתר לא מאושר לגשת אליה.
כמובן – הקפצ'ה באה מאתר אחר, api.recaptcha.com, והדפדפן של המשתמש מלשין שהמשתמש לא הגיע מטורנטליץ', הנבלה.

אז מה עושים?
משכתבים.
בכל מקום בדף הHTML של הלוגין החלפתי את api.recaptcha.com בlocalhost:8080/external:api.recaptcha.com  (כאשר localhost:port הם הפרטים הנכונים של השרת שעליו רצה TL2RSS).

ברגע שהפרקוסי של TL2RSS זיהה URL שהקובץ בו מתחיל בexternal:, הוא מתייחס אליו כאל פקודה לבצע פרוקסי אל הכתובת שאחרי הexternal, תוך שהוא מזייף את הreferrer לזה של טורנטליץ'.
זה פתר את הבעיה הראשונה, והקפצ'ה הופיעה – אבל זה לא הספיק: התמונה בתוך הקפצ'ה לא הגיעה.
מסתבר שריקפצ'ה שולחים גם איזה ג'אווהסקריפט קטן שפונה אליהם חזרה, וגם בו הייתי צריך לשכתב את הכתובת שת השרת שלהם בכתובת של הפרוקסי.

מה שבלבל אותי זה שכשעבדתי מול localhost הקפצ'ה תיפקדה, וברגע ששמתי את TL2RSS על מכונה אחרת וניסיתי לגשת פתאום לא הצלחתי.
הניחוש שלי הוא שמסיבות של פיתוח החבר'ה של טורנטליץ' אישרו גם את localhost כשרת מורשה, אבל רציתי שזה יעבוד וזהו, בלי תנאים ודרישות.

אחרי תכמונים רבים, הכל עובד בדיוק כמו שאני רוצה.
הוספתי גם כמה שיפורי שמישות, למשל – לא צריך להעתיק יותר את הדוגמא של קובץ הקונפיגורציה לפני ההפעלה הראשונה, התוכנה עושה את זה בעצמה.
בנוסף, היא שומרת את הקוקיז בקובץ cookies.txt, מה שאומר שאחרי לוגין אחד, בתאוריה אין צורך לעשות עוד אחד לתקופה די ארוכה.

שחררתי את כל השיפורים בגרסא 1.2.

הRSS של טורנטליץ' מעולם לא היה יציב כל כך.

Facebook Comments