כיצד להסיר פרסומות עם Pixelserv על DD-WRT
ישנן דרכים רבות לחסום פרסומות בדפדפן שלך, אבל מה אם אתה יכול לחסום אותם על הנתב? כך תוכל להשתמש בקושחת DD-WRT וב"הרעלת DNS "בכוונה כדי לחסום מודעות עבור כל מכשיר ברשת שלך.
סקירה כללית
עדכון: המדריך עודכן כדי לשקף את המשוב שסופק על ידי המגיבים ועדכן את חבילת המודעות למודעות עם קובץ ההפעלה החדש יותר של פיקסלים ו- changelog.
השאלה הראשונה על המוח של כולם עכשיו היא "למה לא פשוט להשתמש בלוק?"
עבור הרבה אנשים פשוט אין סיבה, במיוחד עם יכולת חדשה של כרום לשכפל את הרחבות אתה משתמש בכל מחשב שאתה מפעיל כרום ב.
התשובה נמצאת אי שם בין תקורה מופחתת של לא צריך ללמד את כל המשתמשים ברשת שלך על בלוק מודעות (אני מדבר איתך אמא, אחותי, סבתא ומזכיר המשרד) ואת הנוחות של לא להיות מוטרד עם זה על כל מחשב אתה ההתקנה. זה בהנחה כי יהיו כמה מחשבים ברשת שלך כי אתה לא הולך להגדיר את הסביבה האישית שלך (למשל "שרתים הליבה" או של VM).
הערה: למרות שאני משתמש בשיטה הבאה על הנתב הבית שלי, מצאתי בלוק המודעה להיות תוספת מצוינת זה, ואני ממליץ להשתמש בשתי השיטות יחד. גם אם אין לך DD-WRT נתב באמצעות בלוק המודעה הוא יותר מהם מספיק. למעשה, אני אוהב את התוכנית כל כך הרבה, תרמתי ליזם שלה ואני מעודד את כולם לעשות זאת, כדי לשמור על זה הולך.
איך זה עובד?
למעשה זה עובד על ידי הרעלת בכוונה DNS שלנו כדי להחזיר IP ספציפי עבור תחומים ברשימה לא מאושר. רשימה לא מאושרת זו תכיל שמות דומיינים של אתרים שאחראים באופן בלעדי להצגת תוכן פרסומי, כך שלא נחמיץ אותם הרבה.
אנו ניצור שרת HTTP משני בנתב כדי להציג תמונה שקופה של פיקסל אחד, כתשובה עבור כל בקשת כתובת אתר. יחד עם פתרון ה- DNS "הלא נכון", הדבר יגרום ללקוחות הרשת לבקש את התוכן משרת הפיקסלים הפנימי שלנו ולקבל תמונה ריקה בתגובה.
כדי ליצור רשימה לא מאושרת, ניצור רשימה אישית אחת לשתי רשימות שהורדו באופן דינמי. הרשימות הדינמיות הן קובץ המארח של MVPS ורשימת התחומים של Yoyo, יחד הן מחזיקות רשימה מקיפה מאוד של אתרי פרסומות. על ידי מינוף רשימות אלה, אנחנו נשארים עם האחריות של הוספת רק דלתא של אתרים שאינם נמצאים כבר אחד מהם, ברשימה האישית שלנו.
אנחנו גם הגדרת "רשימת היתרים" עבור דומיינים שאנחנו לא רוצים להיות חסומים מכל סיבה שהיא.
תנאים מוקדמים והנחות
- סבלנות אחת צעירה, זה לקרוא הרבה.
- הליך זה נוצר ונבדק על DD-WRT (v24pre-sp2 10/12/10 מיני r15437), ככזה אתה צריך כבר גירסה זו או מאוחרת יותר מותקן על הנתב שלך להשתמש בו. מידע נוסף הסתיים באתר DD-WRT.
- כדי להקל על הסברים סאקה, ההנחה היא כי הנתב שוחזר זה "ברירת המחדל במפעל" או כי ההגדרות בשימוש לא השתנו מן "מחוץ לקופסה" presets מאז.
- מחשב הלקוח משתמש בנתב כשרת DNS (זוהי ברירת המחדל).
- שטח JFFS (כאשר יש ספק, אני ממליץ להשתמש מיני גירסה של DD-WRT).
- ההנחה היא שהרשת שלך כבר הוגדרה וכי היא מחלקה C (אחת שיש לה תת רשת של 255.255.255.0) ככתובת ה- IP האחרונה באותה רשת C (x.y.z.254) יוקצו לתוכנית שרת הפיקסלים.
- הנכונות להתקין WinSCP.
* התסריט לא יוכל לשנות את רשימות הבלוק לאחר ההפעלה הראשונה עד למחזור הרענון הבא (3 ימים).
נקודות זכות
עדכון: תודה מיוחדת ל "mstombs" עבור היצירה הגדולה של קוד C ללא עבודתו כל זה לא יהיה אפשרי, "אוקי" עבור עריכת הגרסה תואמת Atheros ציטוט ;-) ו "Nate" על סיוע עם QA- ing.
אמנם היה הרבה עבודה כדי להשלים את ההליך הזה על הקצה שלי, את ההשראה על זה היה הציתו על ידי החבר 'ה מעל בפורום DD-WRT וכמה יסודות של מדריך זה ניתן למצוא בכתובת "חסימת מודעות עם DD- WRT revisited (פשוט) "," pixelserv ללא Perl, ללא כל jffs / cifs / USB חינם "ו" Flexion.Org ויקי על DNSmasq "כמו גם אחרים.
בואו לקבל פיצוח
הפעל SSH לגישת SCP
על ידי הפעלת SSH, אנו בתורו נותנים לעצמנו את היכולת להתחבר לנתב באמצעות פרוטוקול SCP. עם זאת, אנו יכולים להשתמש בתוכנית winSCP כדי לנווט חזותית מבנה התיקיות של הנתב (כפי שנראה בהמשך).
לשם כך, באמצעות webGUI, עבור לכרטיסייה "שירותים". מצא את הקטע "מעטפת מאובטחת" ולחץ על לחצן הבחירה "הפעל" להגדרת SSHd.
ברגע שזה נעשה, webGUI צריך להיראות כמו להלן ואתה יכול ללחוץ על "שמור" (לא חלות עדיין).
הפעל JFFS
כדי להפוך את ההתקנה הזו בצורה שתהיה יציב, לשחזור * להיות "אזרח טוב באינטרנט", נשתמש JFFS לאחסן כמה תצורות ככל האפשר. ישנן דרכים אחרות לעשות זאת מבלי לאפשר JFFS, אם אתה לא יכול בשל מגבלות מקום, אבל הם לא מכוסים כאן.
* שיטות אחרות יש לנתב שלך להוריד את פיקסל שרת ההפעלה רשימות דינמיות בכל פעם את הסקריפט הוא לרוץ. כמו זה מעמיד את המתח על השרתים המחזיקים את הרשימות ואת ההפעלה ואת זה עולה כסף למישהו, שיטה זו מנסה למנוע את זה אם אפשר.
אם אתה עדיין לא יודע מה זה JFFS, הסבר זה, שנלקחו ערך Wiki של DD-WRT על JFFS צריך לנקות את הדברים:
מערכת יומן פלאש קבצים (JFFS) מאפשר לך יש לינוקס קובץ מערכת על הנתב DD-WRT מופעל. הוא משמש לאחסון תוכניות משתמש כמו Ipkg ונתונים לזיכרון זיכרון בלתי נגיש אחרת. זה מאפשר לך לשמור קבצי תצורה מותאמים אישית, לארח דפי אינטרנט מותאמים אישית המאוחסנים בנתב ועוד דברים רבים שאינם מסוגלים ללא JFFS.
כדי להפעיל את JFFS בנתב שלך, עבור לכרטיסייה "ניהול" ומצא את הקטע JFFS. בתמונה הבאה מוצג היכן תמצא את הקטע הזה בכרטיסייה "ניהול".
במקטע התמיכה JFFS2, לחץ על לחצני הבחירה "Enable" עבור "JFFS2" ו (כאשר הוא מופיע) את ההגדרות "נקי JFFS2". לאחר שנבחר, לחץ על "שמור".
כאשר ההגדרות נשמרו, עדיין על הכרטיסייה "ניהול", אתחול מחדש את הנתב באמצעות כפתור "אתחול מחדש". זה יחול את ההגדרות ולבצע את הצורך "פורמט" של JFFS "מחיצה".
כאשר webGUI חוזר מהאתר מחדש לכרטיסייה "ניהול", המתן חצי דקה נוספת ורענן את הדף.
אם אתה מצליח, אתה צריך לראות את JFFS mount יש קצת מקום פנוי כמו בתמונה.
הגדרת שרת פיקסל
הורד וחלץ את חבילת המודעות האנטי-וירוס עבור dd-wrt zip ארכיון המכיל את הפיקסל שרת ההפעלה (אנחנו לא לוקחים אשראי, רק הימנעות "קישור חם"), את התסריט לחסימת מודעות (נכתב על ידי שלך באמת) domain-list נוצר על ידי "Mithridates Vii Eupator" ואני.
זה הזמן לקבל את הקבצים לתוך הר JFFS על הנתב. כדי לעשות זאת, להתקין winSCP (זה "הבא -> הבא -> לסיים" סוג של תוכנית ההתקנה) ולפתוח אותו.
בחלון הראשי, מלא את המידע כך:
שם מארח: כתובת ה- IP של הנתב (ברירת המחדל היא 192.168.1.1)
מספר היציאה: השאר ללא שינוי בשעה 22
שם משתמש: שורש (גם אם שינית את שם המשתמש עבור webGUI, המשתמש SSH תמיד יהיה * root *)
קובץ מפתח פרטי: השאר ריק (זה נחוץ רק כאשר אתה יוצר מפתח זוג מבוסס אימות אשר אין לנו)
פרוטוקול קובץ: SCP
אנחנו גם צריכים להשבית "Lookup קבוצת משתמשים" כפי שמוצג להלן (תודה mstombs להצביע על זה) כי winscP מצפה לינוקס מלא blown בצד השני אשר מפתחי DD-WRT, למרות כל העבודה מעולה, לא היו מסוגלים לספק (בעיקר משום שאין מספיק מקום). אם תשאיר את זה מסומנת, תיתקל הודעות מפחיד בעת חיבור ולשמור קבצים שנערכו.
בחר באפשרות מתקדם ולאחר מכן בטל את הסימון באפשרות "בדיקת קבוצות משתמשים".
למרות שהוא אופציונלי, תוכל לבחור לשמור את ההגדרות כעת לשימוש מאוחר יותר. אם תבחר לשמור את ההגדרות המומלצות, מומלץ גם (למרות הקריאות הבולטות מבית המקלט "פרנואיד", שאנו משחררים את עצם קיומו של SSH), כי אתה שומר את הסיסמה.
אז החלון הראשי שלך ייראה כמו בתמונה, וכל מה שאתה צריך לעשות כדי להתחבר לנתב היא לחיצה כפולה על הערך.
כמו זו הפעם הראשונה שאתה תהיה חיבור לנתב, WinSCP ישאל אם אתה מוכן לסמוך על טביעת האצבע של הצד השני. לחץ על "כן" כדי להמשיך.
מפתחי DD-WRT יישמו הודעת ברוכים הבאים עם באנר עם מידע על הקושחה שהתקנת. פעם אחת אדום, לחץ על תיבת הסימון "לעולם אל תציג את הבאנר הזה שוב" ו"המשך ".
לאחר התחברות, נווט את הדרך לתיקיית הרמה העליונה (שורש AKA "/") ולאחר מכן חזור למטה ל "/ jffs" כי זה המקום לצמיתות רק לצמיתות על מערכת הקבצים של הנתב ("/ tmp" לא לשרוד אתחול מחדש והשאר הם לקריאה בלבד).
צור תיקייה חדשה, על ידי הקשה על F7 או לחיצה ימנית על נקודה ריקה, העבר את העכבר מעל "חדש" ולחץ על "מדריך".
שם את הספרייה החדשה "dns". אנו יוצרים ספריה זו על מנת לשמור דברים בספרייה jffs מאורגן לשימוש עתידי, כי אנחנו בעיקר שינוי איך שירות DNS פועל.
העתק את הקבצים "pixelserv" ו- "disable -adds.sh" מארכיון ה- zip anti-ads-d-wrt wrt, על-ידי בחירתם (השתמש במקש "הכנס"), ולחץ על "F5" ולאחר מכן על "העתק ".
הערה: אם הנתב שלך מבוסס על Atheros (אתה יכול לבדוק את זה על DD-WRT ויקי) תצטרך להשתמש pixelserv_AR71xx המסופקים על ידי אוקי וכללה את החבילה ושנה את שמו ל "pixelserv" לפני שתמשיך.
לאחר הקבצים נמצאים על הנתב, אנחנו צריכים לעשות אותם הפעלה על ידי בחירת אותם (שוב להשתמש "הכנס") קליק ימני ואז "מאפיינים".
בחלון המאפיינים לחץ על "X" עבור השורה "בעל". זה ייתן את הרשאות ביצוע קבצים.
הגדרות הנתב
כעת, לאחר שהבמה מוגדרת, אנו יכולים לומר לנתב להפעיל את התסריט לחסימת מודעות בעת האתחול.
כדי לעשות זאת, ב- webGUI עבור לכרטיסייה "ניהול" ולאחר מכן את הכרטיסייה "פקודות".
בתיבת הטקסט "פקודות" כתוב את מיקום הסקריפט כ- "/jffs/dns/disable_adds.sh", כמו בתמונה ולאחר מכן לחץ על "שמור אתחול".
אם הצלחת, אתה צריך לראות את התסריט הפך חלק ההפעלה של הנתב כמו בתמונה לעיל.
הגדרת רשימת הדומיינים האישיים החסומים (אופציונלי)
רשימה זו מאפשרת לך להוסיף דומיינים לרשימות שלא אושרו, אם אתה מוצא ששתי רשימות דינמיות אינן תופסות משהו.
כדי לעשות זאת, ישנן שתי אפשרויות, והם פועלים יחד כך שתוכל להשתמש הן על פי מה יותר נוח לך.
הערה: ה תחביר חשוב, כפי שאנו בעצם יצירת הנחיות תצורה כי daMnem daemon (תהליך שאחראי על שמות DNS ל- IP תרגומים) ישתמשו ישירות. ככזה, תחביר שגוי כאן יגרום לשירות לקרוס ולהשאיר את הנתב מסוגל לפתור כתובות IP עבור שמות דומיין (אתה כבר נזכר).
כדי למצוא את שמות תחום הפוגע לחסום ייתכן שתרצה להשתמש שלנו "מצא את ההודעות הסודיות בכותרות אתר אינטרנט" מדריך כמו פריימר. השלבים למציאת שמות של תחומי הפרסום הם כמעט אותו הדבר, רק שבמקרה זה אתה מחפש כתובת במקום הודעה.
הראשון ודרך הודאה יותר נגיש הוא לשים את הרשימה לתוך "DNSMasq" תיבת תצורה ב wegGUI. הסיבה לכך היא להוסיף רשימה זו ניתן פשוט לגשת webGUI במקום צורך ללכת "מתחת למכסה המנוע" לבצע שינויים.
עבור אל הכרטיסייה "שירותים", אתר את הקטע "DNSMasq" ושם תמצא את תיבת הטקסט "אפשרויות DNSMasq נוספות".
בתיבה זו הזן את רשימות הדומיינים שברצונך לחסום באמצעות התחביר "address = / domain-name-to-block / pixel-server-ip" כפי שמוצג בתמונה הבאה:
איפה בדוגמה זו "192.168.1.254" הוא ה- IP שנוצר עבור שרת פיקסל מבוסס על "כתובת רשת" של ה- LAN שלך. אם כתובת הרשת שלך היא אחרת, אזי 192.168.1.x יהיה עליך להתאים את הכתובת עבור שרת הפיקסלים בהתאם.
בסיום, לחץ על "שמור" בתחתית הדף (לא חלים עדיין).
השני האפשרות היא להרכיב את רשימת הדומיינים שברצונך לחסום, לקובץ "personal-ads-list.conf" אשר בעצמי ו- "Mithridates Vii Eupator" התאספו. קובץ זה הוא חלק מארכיון ה- zip-archive שהורדת קודם לכן, והוא מהווה התחלה מצוינת עבור שתי השיטות.
כדי להשתמש בו, במידת הצורך, השתמש בעורך הטקסט המועדף עליך כדי להתאים את ה- IP של שרת הפיקסלים (אותם אילוצים כנ"ל חלים כאן). לאחר מכן פשוט להעתיק אותו "/ jffs / dns" ספרייה כמו שיש לך את הקבצים האחרים. ברגע שזה שם אתה יכול להשתמש WinSCP לערוך אותו ולהוסיף תחומים.
הגדרת הרשימה הלבנה
זוהי רשימה של תחומים כי יושמט מן דינמי "hosts" ו "תחומים" רשימות.
זה נחוץ משום פשוט חסימת כמה תחומים גורם לאתרים בהם לתקלה. הדוגמה הבולטת ביותר היא "google-analytics.com".
אם נחסום את הדומיין, הוא לא ישנה את העובדה שאתרים המשתמשים בו, יש להוריד את הדפדפן שלך ל- JavaScript שפועל על אירועים כגון יציאה מדף. משמעות הדבר היא כי עבור אתר כזה הדפדפן שלך ינסה "להתקשר הביתה" על ידי יצירת קשר עם דומיין Google, לא יבין את התשובה ואתה תצטרך לחכות עד פעמים סקריפט החוצה כדי להמשיך לדף הבא. זה כמעט לא חוויית גלישה נעימה ולכן כל תחום המכיל "google-analytics" ו "googleadservices" הוא * פטור hardcodedly מסנן.
רשימה זו נוצרת עבורך עם תחומים המוזכרים לעיל, כאשר הסקריפט מופעל בפעם הראשונה, תחת הספרייה "/ jffs / dns".
כדי להשתמש ברשימת ההיתרים, פתח את הקובץ ב- winSCP וב **להתכונן לרשימה את הדומיינים שברצונך לא לכלול, תוך הקפדה לא להשאיר שורות ריקות (השארת שורה ריקה תמחק את כל הדומיינים מכל הרשימות).
* בזמן שהסקריפט יוצר את הרשימה הלבנה עם התחומים שבתוכו בהפעלה הראשונה, הוא אינו מתעקש על המתנות שלהם עבור ריצות עתידיות. כך שאם אתה מרגיש כי יש לחסום את Google למרות הבעיות הנ"ל, אתה יכול להסיר את הדומיינים מהרשימה הלבנה.
** עליך להזין את הדומיינים החדשים שברצונכם בתחילת הרשימה. זה בגלל באג עם איך bash מפרש קווים חדשים ... סליחה אני לא צריך לעבוד על זה עדיין.
ביצוע
זהו זה, זה סוף סוף הזמן להפעיל את התסריט ולראות את התוצאות על ידי פשוט מחדש את הנתב.
כדי לעשות זאת מתוך webGUI, תחת הכרטיסייה "ניהול" לחזור "ניהול", בתחתית הדף לחץ על "אתחול מחדש" ולחכות הנתב לחזור.
זה עלול לקחת כמה דקות עבור התסריט לבצע את תפקידיו בפעם הראשונה.
על סוג WRT54Gx של נתבים, אתה תדע מתי תסריט הושלמה כי זה יהיה להבהב את סיסקו LED כתום על החלק הקדמי של הנתב (נתבים אחרים צריך להיות דומה "לספר זנב" סימן).
עדכון: חלק זה הוסר לאחר שהתגלה כי הוא אינו תכונה אגנוסטית שאינה חומרה.
כפי שאנו מנסים לראות את היעדרם של אלמנטים באינטרנט, אני ממליץ פשוט לגלוש אל כמה אתרים כדי לראות את ההשפעה.
עם זאת, אם אתה רוצה לוודא שהפרוצדורה הייתה מוצלחת, בשלב הראשון של תיקון הבאגים בקטע 'פתרון בעיות' הוא מקום מצוין להתחיל בו.
* זה למעשה הגיב החוצה, כך שתוכל לשחזר אותו אם שלך בטוח שזה לא יגרום לבעיות על ההתקנה שלך.
תהנה!
פתרון תקלות
אם אתה נתקל בבעיות יש כמה דברים שאתה יכול לעשות כדי לבדוק מה השתבש.
- בדוק שדומיין הפרסום נפתר לכתובת ה- pixelserv.
אתה יכול לעשות זאת על ידי הנפקת הפקודה nslookup נגד התחום "הפוגע". לדוגמה, "ad-emea.dubleclick.com" הוא חלק מהמארחים החסומים מהרשימה האישית. על ידי הנפקת "nslookup ad-emea.dubleclick.com" בשורת הפקודה, התוצאה צריכה להיראות כך:
במקום שבו תיראה תשובה רגילה: - לשפץ.
כדי לוודא ששום דבר עם ההגדרה של הנתב שלך מתנגש עם תצורת החסימה, שחזר את הנתב ל"ברירות מחדל של היצרן "ונסה שוב. לאחר מוצלח להוסיף את השינויים המותאמים אישית שלך בתקווה כי הם לא מתנגשים שוב. - ודא שהלקוח שלך משתמש בנתב כ- DNS.
במיוחד כאשר משתמש VPN או רשת מורכבת יותר אז הנתב הרגיל למחשב ההתקנה, זה אפשרי כי המחשב הלקוח שלך הוא פשוט לא משתמש בנתב כמו ה- DNS שלה. זה מאוד קל לראות בפקודה לעיל מה הוא שרת ה- DNS הלקוח משתמש, אם ה- IP הוא לא זהה לנתב, מצאת את הבעיה. - נקה את המחשבים האישיים שלך במטמון DNS.
הסיבה לכך היא שאם לא כן אתה עדיין עשוי לראות את המודעות לאתר שלך עם הבדיקה שלך, פשוט משום שהמחשב שלך כבר יודע כיצד לקבל את תוכן הפרסומת בפני עצמו מבלי להתייעץ עם ה- DNS עבורו. על חלונות זה יהיה "ipconfig / flushdns". - סגור את הדפדפן.
לפעמים הדפדפן מחזיק את המידע השמור במטמון, ולכן ניקוי מטמון ה- DNS כפי שמוצג למעלה אינו עוזר. - כאשר ספק באתחול.
לפעמים המטמונים יכולים להתמיד ואת הדרך הטובה ביותר להיפטר מהם היא לאתחל מחדש. התחל עם הנתב ואם הבעיה נמשכת, המחשב הלקוח. - השתמש ב- syslog.
ניתן להפעיל את daemon syslog הנתב ולאחר מכן להסתכל על ההודעות כדי לראות אם סקריפט נתקל בבעיות, על ידי בחינת ההודעות שלה. גם את התסריט מוסיף כמה כינויים הפקודה כדי להקל על איתור באגים.
כדי לעשות זאת עבור לכרטיסייה "שירותים" ולהפעיל את days syslog כמו בתמונה הבאה:
הערה: "שרת מרוחק" משמש כאשר יש לך שרת syslog האזנה במכשיר אחר (כמו עם קיווי) אם אין לך אחד, פשוט להשאיר אותו ריק.
לאחר ההפעלה, תוכל לראות את הודעות הבאגים על ידי עיון ב / var / יומני / הודעות קובץ במסוף.
* כדי לראות את כל ההודעות מתוך אתחול אתה יכול להשתמש "יותר / var / יומן / הודעות".
* כדי לראות רק את ההודעות מתוך התסריט ביומן להשתמש "סתום" כינוי.
* כדי לראות את ההודעות כפי שהן נכנסות, בזמן אמת, השתמש "זנב / var / log / הודעות" או על ידי כינוי שלה "tlog". - להבין את התסריט.
למרות שעשיתי את זה וידאו YouTube עבור גרסה ישנה יותר של מדריך זה ואת התסריט, זה עדיין מחזיק הרבה אמיתות והסברים החלים על איך את הגירסה החדשה והמשופרת עובד.