สคริปต์เพื่อลบโฆษณาในเบราว์เซอร์ใด ๆ

มันเกิดขึ้นที่ทุกวันนี้มีเว็บไซต์โฆษณาหรือการตลาดหลายพันหลายแสนแห่งบนอินเทอร์เน็ตเราพบทุกประเภท ... AdSense, โฆษณา yahooไซต์ที่ล่วงล้ำน้อยกว่าที่ขาย โพสต์ที่ได้รับการสนับสนุนโฆษณาที่เราพบใน Facebook y Twitter (ในความเป็นจริงคุณสามารถรวมไฟล์ ทวีตที่สนับสนุน ขายในบางไซต์) …กล่าวสั้น ๆ ว่าอินเทอร์เน็ตถูกทำลายด้วยโฆษณาและแบนเนอร์ที่หลายคนไม่สนใจ

เมื่อไม่นานมานี้ฉันได้พูดคุยกับคุณเกี่ยวกับวิธีบล็อกการโฆษณาทางอินเทอร์เน็ตผ่านเทอร์มินัลสำหรับเบราว์เซอร์ใด ๆ (โดยไม่ต้องใช้ปลั๊กอิน) มันประกอบด้วยการเพิ่มไซต์โฆษณาลงใน / etc / hosts แสดงว่าพวกเขาอยู่ที่ 127.0.0.1 นั่นคือเมื่อเราเปิดไซต์เบราว์เซอร์จะไปหาภาพ Adsense บนคอมพิวเตอร์ของเราซึ่งเห็นได้ชัดว่าไม่มีภาพนั้นก็ไม่มีอะไรปรากฏให้เราเห็น

เห็นได้ชัดว่าสิ่งนี้มีข้อดีข้อเสีย ประการแรกเนื่องจากเป็นแบบแมนนวลเราจึงควบคุมโดเมนที่ถูกบล็อก แต่เนื่องจากเป็นแบบแมนนวลจึงมีอีกหลายโดเมนที่เราไม่รู้จักเราจึงไม่สามารถบล็อกโดเมนได้ ในบทความนี้ฉันนำสคริปต์ที่เขียนโดยฉันซึ่งทำให้กระบวนการเป็นไปโดยอัตโนมัตินั่นคือทุกครั้งที่ X ดาวน์โหลดฐานข้อมูลที่มีสปายแวร์และไซต์โฆษณาและเพิ่มไซต์เหล่านั้นใน / etc / hosts ของเราด้วยวิธีนี้เบราว์เซอร์จะค้นหาโฆษณาบน เว็บเซิร์ฟเวอร์บนคอมพิวเตอร์ของเรา ... เว็บเซิร์ฟเวอร์ที่เนื่องจากไม่มีอยู่จริง (และหากมีอยู่ก็ไม่มีรูปถ่าย / แบนเนอร์โฆษณา) เราก็จะไม่เห็นโฆษณาที่น่ารำคาญเหล่านั้น

อย่างไรก็ตามนี่คือขั้นตอน:

1. เราดาวน์โหลดสคริปต์และให้สิทธิ์ในการดำเนินการ:

cd $HOME

wget http://ftp.desdelinux.net/anti-ads.sh

chmod +x anti-ads.sh

2. จากนั้นให้แก้ไข / etc / crontab ของเราเพื่อให้สคริปต์ทำงานทุกเดือนเช่นในวันที่ 1 ของทุกเดือนจะมีลักษณะดังนี้:

00 00 1 * * root /home/usuario/anti-ads.sh

3. ตอนนี้พวกเขาต้องรีสตาร์ท cron daemon หรือคอมพิวเตอร์แล้วแต่ว่าอย่างใดจะสะดวกกว่าสำหรับพวกเขา

4. พร้อมถ้าคุณต้องการคุณสามารถรอจนกว่าจะถึงวันที่ 1 หรือเรียกใช้สคริปต์ด้วยตัวเอง (พร้อมสิทธิ์รูท)

ฉันทิ้งเนื้อหาของสคริปต์ไว้ที่นี่เพื่ออธิบายรายละเอียด:

#! / bin / bash wget http://winhelp2002.mvps.org/hosts.txt -O /tmp/hosts.txt ls /etc/hosts.old &> / dev / null ถ้า [$? -ne 0]; จากนั้น cp / etc / hosts /etc/hosts.old fi echo "127.0.0.1 localhost.localdomain localhost"> / etc / hosts echo ":: 1 localhost.localdomain localhost" >> / etc / hosts cat / tmp / hosts txt >> / etc / hosts rm /tmp/hosts.txt ออก

มาอธิบายกัน

ก่อนอื่นให้ดาวน์โหลดไฟล์ที่มีรายการโดเมนโฆษณาทั้งหมดและใส่ไว้ใน / tmp / ด้วยชื่อ hosts.txt จากนั้นเราตรวจสอบว่ามีไฟล์ /etc/hosts.old อยู่หรือไม่ ... หากไม่มีอยู่หมายความว่าเป็นครั้งแรกที่เราเรียกใช้สคริปต์นี้ที่นั่นเราบันทึก (ทำสำเนา) ของ / etc / hosts ของเราไปที่ / etc / hosts.old เพราะดีเสมอรักษาต้นฉบับ จากนั้นเราแทนที่เนื้อหาทั้งหมดของ / etc / hosts ของเราด้วยสองบรรทัดมาตรฐานซึ่งระบุว่า 127.0.0.1 เป็น localhost และในทางกลับกัน สำหรับเทอร์มินัลที่มีไฟล์โฮสต์เราคัดลอกเนื้อหาทั้งหมดของ /tmp/hosts.txt ไปยัง / etc / hosts (โดยไม่กำจัดอีกสองบรรทัดที่ใส่) ด้วยวิธีนี้เราได้ระบุแล้วว่าโดเมนโฆษณาอยู่ใน 0.0.0.0 …มาเถอะสิ่งที่เราต้องการ เสร็จแล้วเราก็ลบ /tmp/hosts.txt เท่านี้ก็เสร็จเรียบร้อย

ตอนจบ!

สคริปต์ที่ง่ายมากสามารถปรับปรุงได้มากโดยการตรวจสอบ md5 ของไฟล์ที่ดาวน์โหลดใช้ประโยชน์จากคำสั่ง diff เพื่อไม่ต้องทำ / etc / hosts ตั้งแต่เริ่มต้นและเพิ่มโดเมนใหม่เท่านั้นเป็นต้น แต่เดี๋ยวก่อนนี่เป็นเพียงความคิดเวอร์ชันแรกที่ใช้งานได้ในที่สุดฉันก็ทำมันเพื่อให้มันใช้งานได้และทำให้กระบวนการเป็นไปโดยอัตโนมัติเล็กน้อย

ไม่มีอะไรดีขอบคุณ Wada, เอดูอาร์o และอื่น ๆ สำหรับความคิดเห็นและเคล็ดลับในบทความก่อนหน้า สคริปต์นี้ไม่มีอะไรใหม่ (Konozidus และ csb ได้บอกฉันเกี่ยวกับการมีอยู่ของสิ่งที่คล้ายกันแล้ว) แต่ฉันชอบตั้งโปรแกรมสคริปต์ของตัวเองฉันชอบทุบตี ... แม้ว่าบางครั้งจะมีวิธีแก้ปัญหาของฉัน แต่ฉันก็ชอบที่จะตั้งโปรแกรมสำหรับตัวเอง

อย่างไรก็ตามฉันหวังว่าคุณจะพบว่ามันน่าสนใจ


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

  1.   อีวานบาร์รัม dijo

    สวัสดีขอบคุณสำหรับสคริปต์ฉันทำแบบเดียวกันเมื่อนานมาแล้วมีมากกว่า 31 บรรทัดฉันจะปล่อยให้คุณคัดลอกหากคุณต้องการ:

    http://paste.desdelinux.net/?dl=4935

    อาศิรพจน์

  2.   มิเกล dijo

    ดีมากและที่ดีที่สุดคือคำอธิบายของแต่ละขั้นตอนในการเรียนรู้

  3.   นักดูพระจันทร์ dijo

    น่าสนใจ🙂แม้ว่าความจริงก็คือระหว่าง Noscript, adblock plus และ DoNotTrackme และการกำหนดค่า Iceweasel ของฉัน (ไม่มี Cockies ไม่จำประวัติศาสตร์….) ฉันมีอุปสรรคที่ผ่านไม่ได้สำหรับการโฆษณาและอื่น ๆ 😉
    อาศิรพจน์

    1.    KZKG ^ กาอาระ dijo

      ถ้าฉันใช้เบราว์เซอร์เดียว (Firefox) ก็จะไม่มีปัญหา แต่ฉันใช้หลาย ๆ ... Opera, Firefox, Rekonq และ Chromium ฉันต้องการ 'บางอย่าง' ที่เหมาะกับทุกคน

  4.   กัสโซ่ dijo

    เมื่อฉันพิมพ์ bash / etc / crontab และป้อนฉันจะได้รับอนุญาตถูกปฏิเสธ

    1.    Elav dijo

      คุณต้องแก้ไขไฟล์นั้นเป็นรูทหรือด้วย sudo

      1.    กัสโซ่ dijo

        หลังจากที่ฉันพิมพ์ sudo / etc / crontab มันจะถามรหัสผ่านของฉันฉันจดมันลงฉันป้อนและปรากฏว่า sudo: / etc / crontab: command not found

        1.    Yerkorn dijo

          Guso คุณลอง sudo nano / etc / crontab หรือไม่ ???

          1.    กัสโซ่ dijo

            ตอนนี้ฉันแค่ใส่สิ่งที่คุณพูดและข้อมูลมากมายปรากฏว่าฉันไม่รู้ว่ามันคืออะไร ฉันคิดว่าสิ่งที่ควรปรากฏคือสิ่งที่โพสต์กล่าวว่า 00 00 1 * * root /home/user/anti-ads.sh

          2.    KZKG ^ กาอาระ dijo

            แก้ไขไฟล์ด้วย:
            sudo nano / etc / crontab

            จากนั้นในตอนท้ายคุณเพิ่มบรรทัดที่ฉันใส่ในโพสต์
            เพื่อให้เสร็จสิ้นและไม่ทำให้ตัวเองยุ่งยากด้วยคำสั่งอื่นให้รีสตาร์ทพีซีและ voila ก็จะถึงเวลารอวันถัดไปที่ 1

        2.    โรแบร์โต dijo

          เนื่องจากไม่มีคำสั่งแก้ไขข้อความ ในกรณีของฉันฉันใช้ Linux Mint กับสภาพแวดล้อม Mate ตัวแก้ไขข้อความเป็นปากกาดังนั้นสิ่งที่คุณลองจะมีลักษณะดังนี้:

          ปากกา sudo / etc / crontab

          อาศิรพจน์

          1.    กัสโซ่ dijo

            ขอขอบคุณ. แม้ว่ามันจะใช้งานได้กับฉันแล้วกับ sudo nano / etc / crontab

            อาศิรพจน์

        3.    Synflag dijo

          @กัสโซ่

          มันคือ crontab -e (แก้ไข) เป็นรูทหรือด้วย sudo ให้ดู:

          sudo su (รหัสผ่านและคุณเป็นรูท)
          crontab -e

          หรือ sudo crontab -e

          ตัวแก้ไขเป็นกลุ่มคุณกด i (มันคือ i ละติน) ซึ่งเป็นการแทรกหรือแก้ไขคุณย้ายคุณแก้ไขจากนั้นคุณกด Esc เมื่อคุณทำเสร็จแล้วคุณกด: wq และคุณกด Enter นั่นคือบันทึกและออกและนั่นคือ มัน.

  5.   nsz dijo

    ยอดเยี่ยมเพียงยอดเยี่ยม แม้ว่าตามที่พวกเขาพูดออกไปฉันก็มีส่วนขยายและการกำหนดค่าที่ทำให้ฉันห่างไกลจากโฆษณาใน Firefox

  6.   เป็ด dijo

    สคริปต์ที่ยอดเยี่ยม ฉันต้องทำการเปลี่ยนแปลงบางอย่างซึ่งสุดท้ายก็ยังคงเป็นเช่นนี้:

    wget http://winhelp2002.mvps.org/hosts.txt
    cp hosts.txt / tmp /

    ฉันจะพูดอะไรได้อีกดีที่ใช้ linux

  7.   Benctrox dijo

    ฉันไม่รู้ว่าทำไม แต่เมื่อฉันแก้ไขโฮสต์สำหรับสิ่งนั้นฉันไม่เห็นความคิดเห็นของ YouTube ฉันจะลองครั้งนี้ดู

  8.   จสบัน dijo

    ตามจริงฉันยอมรับว่าการโฆษณามีน้ำหนักมาก แต่ในกรณีที่ไม่มีการบริจาคบล็อกจำนวนมาก (รวมถึงของฉัน) เป็นแหล่งรายได้เดียวของพวกเขา
    คุณไม่ทำร้าย บริษัท ใหญ่ แต่บล็อกเกอร์ตัวเล็กใช่ ...

  9.   เฟกา dijo

    สำหรับ linuxero ที่มีประสบการณ์มากขึ้นสิ่งนี้จะเหมือนกับการอ่านแผ่นเพลงเปียโนสำหรับนักดนตรี

  10.   Eduardo dijo

    เท่และเรียบง่าย คุณต้องการอะไรอีก
    ปัญหาคือเราไม่สามารถไว้วางใจ Adblock Plus ได้อีกต่อไปเนื่องจากมีค่าใช้จ่ายในการปลดล็อกโฆษณาจำนวนมาก ดังนั้นจึงน่าเชื่อด้วย / etc / host ที่สมบูรณ์เราได้รับการคุ้มครองแล้ว

  11.   มาเรีย dijo

    วันนี้เราทุกคนกำลังมองหาช่องทางในการหารายได้ง่ายๆด้วยความจำเป็นและปัญหาแรงงานในประเทศของเรา ฉันก็เหมือนกับพวกคุณทุกคนก็ประสบปัญหานี้เช่นกันและฉันยังคงเดินทางไปในพื้นที่อินเทอร์เน็ตขนาดใหญ่เพื่อค้นหางานที่ตรงกับความคาดหวังของฉันนั่นคือทำงานน้อยและได้รับเงินมาก ความจริงก็คือฉันได้รับหลังจากการค้นหามาเป็นเวลานานที่สามารถทำให้ฉันมีความสุขสมบูรณ์ (อย่างน้อยก็ทางการเงิน) ไม่มีอะไรเพิ่มเติมจากความเป็นจริงฉันคิดว่าวิธีนั้นฉันสามารถดำเนินต่อไปได้อีกไม่กี่ปีหรืออาจจะไม่มีกำหนด ฉันได้ศึกษาระบบหลายระดับมาระยะหนึ่งแล้วนั่นคือระบบที่คุณเข้าร่วม บริษัท และทำงานบางอย่างที่คุณได้รับค่าตอบแทนในบางกรณีได้รับค่าตอบแทนสูง ในการเข้าร่วมคุณต้องมีเพียงสมาชิกของผู้ที่เป็นส่วนหนึ่งของ บริษัท ดังกล่าวอยู่แล้วเพื่อสนับสนุนคุณและคุณจะเป็นส่วนหนึ่งของทีมของพวกเขา เมื่ออยู่ในโลกของระบบหลายระดับคุณสามารถจัดการงานที่มอบหมายให้คุณทุกวันหรือทำในสิ่งที่เรียกว่าเครือข่ายนั่นคือการมองหาสมาชิกคนอื่น ๆ ที่เข้ามาเป็นส่วนหนึ่งของทีมของคุณและสร้างระบบเครือข่าย เรียกว่าไบนารีหรือเชิงเส้นซึ่งสร้างผลประโยชน์ที่เหลือซึ่งจะเพิ่มเข้ากับผลประโยชน์ที่พวกเขามอบให้คุณสำหรับงานประจำวันของคุณ
    วันนี้บน YouTube คุณมีข้อมูลมากมายเกี่ยวกับเรื่องนี้ ในวิดีโอเหล่านี้จะแจ้งให้คุณทราบถึงขั้นตอนทั้งหมดในการลงทะเบียนกับ บริษัท ต่างๆที่ใช้ระบบหลายระดับและวิธีการทำงาน ฉันกำลังตรวจสอบหนึ่งในนั้น LibertaGia ซึ่งเป็น บริษัท ที่สร้างขึ้นใหม่ตามข้อมูลที่ฉันสามารถค้นหาได้ในเครือข่ายวันที่สร้างตั้งแต่เดือนตุลาคม 2013 ฉันได้รับการลงทะเบียนเป็นเวลาสามวันและในขณะนี้ฉันยังไม่สามารถทำได้ คาดเดาด้วยความเคารพ งานประจำวันที่ฉันทำคือเปิดหน้าเว็บ 10 หน้าและดูหน้าละ 3 นาที (ไม่เลวนะ ... ตอนนี้ฉันได้รับเก้า (9) $ โดยแทบไม่ต้องทำอะไรเลย ตามที่พวกเขาพูดในการนำเสนอของพวกเขาฉันต้องเพิ่มเงิน 300 ดอลลาร์เพื่อที่จะสามารถเริ่มต้นสร้างรายได้เป็นเงินสดและสามารถมีได้เราจะดูว่าเป็นเช่นนั้นหรือไม่ ตอนนี้ฉันไม่มีทางเลือกอื่นนอกจากพยายามไปให้ถึงจำนวนนั้นและรอซื้อแพ็คเกจ Booster (แพ็คเกจตามวิธีที่จำเป็นในการซื้อซึ่งมีราคาอยู่ที่ 399 ดอลลาร์)
    หากมีคนต้องการเข้าร่วมในระบบหลายระดับนี้พวกเขาสามารถใช้ลิงค์ของฉันเพื่อเป็นส่วนหนึ่งของ LibertaGia และดูตัวเองว่าวิธีการใช้ชีวิตและการหารายได้นี้เป็นความฝันหรือความจริง ฉันยังไม่รู้ แต่จะบอกคุณทีละขั้นตอนว่าเกิดอะไรขึ้นกับฉัน

    http://www.libertagia.com/Corelli

    1.    cobynighter dijo

      ฉันคิดว่าคุณมีบล็อกที่ไม่ถูกต้องนี่ไม่ใช่ไซต์สำหรับค้นหาการอ้างอิง

    2.    จสบัน dijo

      จริงๆแล้วสิ่งที่คุณพูดเป็นเรื่องหลอกลวง คุณต้องจำไว้เสมอ: ไม่มีใครให้เงินเปเซต้ายาก ...

    3.    วิดานู dijo

      ลองนึกภาพ 3.00 เหรียญต่อนาทีนั่นคือ 180.00 เหรียญต่อชั่วโมงฟังดูแปลก ๆ หรือไม่?

      เพื่อนฉันเชื่อว่าสิ่งที่คุณเขียนในบล็อกนี้มาจากความไม่รู้และเนื่องจากชีวิตที่ยากลำบากเพียงใดคนเดียวที่สามารถสร้างรายได้ใน บริษัท นั้นคือเจ้าของและเพื่อนสนิทบางคนระบบปิรามิดทั้งหมดนั้นเป็นเรื่องหลอกลวง .

      มีบาง บริษัท Lionbridge และ Leapforge ซึ่งทำงานให้กับ Google และจ้างคุณประเมินหน้าเว็บพวกเขาจ่ายเงินให้คุณตั้งแต่ $ 12.00 ถึง $ 15.00 ต่อชั่วโมงซึ่งเป็น บริษัท ที่จริงจังคุณต้องส่ง CV ของคุณให้พวกเขาประเมินคุณและถ้า คุณสมัครพวกเขาจ้างคุณ

      ในที่นี้พวกเขากล่าวถึง Google Adsense ซึ่งพวกเราบางคนใช้ในบล็อกของเราเพื่อหารายได้ แต่ด้วยบล็อกที่สวยงามเหล่านี้เกือบจะลดลงเหลือ $ 0.00 ฮ่า ๆ ๆ ๆ

      แต่ถึงอย่างนั้นการสร้างรายได้บนอินเทอร์เน็ตเป็นไปได้แม้จะใช้ชีวิตจากมันฉันบอกคุณจากประสบการณ์ของฉันเองนี่ไม่ใช่สถานที่สำหรับพูดคุย แต่มองต่อไปทุกอย่างอยู่ที่ทัศนคติ

      cordiales saludos,
      ออสการ์

  12.   กาบักซ์ dijo

    ดูเหมือนว่าโฆษณาจะถูกกรองซึ่งไม่สามารถปิดกั้น scrip d etc / hosts …. 😀

  13.   JALBRHCP dijo

    ดีมากการดำเนินการเหมือนกับ adfree สำหรับ android เมื่อฉันติดตั้งฉันคิดว่า: คนที่สร้างสิ่งนี้ฉลาดแค่ไหน แต่มันไม่เคยเกิดขึ้นกับฉันที่จะใช้มันใน Gnu / Linux

  14.   กัสโซ่ dijo

    ขอขอบคุณ. ฉันเดาว่าเสร็จแล้ว

  15.   Cristian dijo

    สวัสดีเมื่อไม่นานมานี้ฉันได้ทำตามขั้นตอนที่คุณอธิบายไว้ในโพสต์ก่อนหน้าของคุณและมันได้ผลดีสำหรับฉันปัญหาคือฉันใช้หน้าที่แสดงเนื้อหาบางอย่างเพื่อขอให้คุณปิดโฆษณาและเนื่องจากไม่สามารถแสดงได้ สำหรับฉันมันระบุข้อผิดพลาดเกี่ยวกับเรื่องนี้ มีวิธีปิดการบล็อกชั่วคราวหรือป้องกันไม่ให้บล็อกบางเพจหรือไม่?

    ทักทายและขอบคุณสำหรับการแบ่งปันข้อมูลนี้😀

    1.    เกมพลัง dijo

      เฮ้

      สำหรับสิ่งที่คุณกำลังแสดงความคิดเห็นฉันคิดวิธีแก้ปัญหาได้หลายวิธีแม้ว่าฉันจะไม่รู้ว่าวิธีใดจะเหมาะกับปัญหาของคุณ แต่ละเว็บแอปพลิเคชันคือโลก ทุกอย่างขึ้นอยู่กับสถานการณ์เฉพาะสิ่งที่คุณยินดีจ่ายในทรัพยากรระบบและเวลาและความทุ่มเทที่คุณต้องการลงทุนสำหรับปัญหานี้

      วิธีแก้ปัญหาแรกที่ควรคำนึงถึงอาจเป็นวิธีที่ง่ายที่สุดเช่นกันคือการลบโดเมนโฆษณาที่ขัดแย้งกันออกจากไฟล์ / etc / hosts บางทีอาจเป็นมากกว่าวิธีแก้ปัญหานี้อาจเป็นการกำจัดปัญหาที่แท้จริง แต่และแน่นอนว่าคุณจะไม่บล็อกโฆษณา

      คุณยังสามารถสร้างสคริปต์ที่ลบ / เพิ่มโดเมนโฆษณาจาก / etc / hosts ดังนั้นเมื่อคุณต้องการให้โฆษณาเข้าถึงได้คุณก็ต้องเรียกใช้มัน คุณสามารถกำหนดเวลาหรือเป็นสวิตช์ที่สลับสองสถานะ การดำเนินการของสคริปต์อาจเป็นแบบแมนนวล แต่ยังสามารถเป็นแบบอัตโนมัติเพื่อให้ทำงานเมื่อมีการเข้าถึงโดเมนหรือ URL บางอย่างในภายหลังสามารถใช้แอปพลิเคชันพร็อกซี ในกรณีนี้เราจะไม่ปิดกั้นการโฆษณาทั้งหมด

      อีกวิธีหนึ่งคือการเปิดหน้าต่างเครื่องมือพัฒนาเว็บในเบราว์เซอร์ ส่งคำขอไปยัง URL ซึ่งเป็นที่ตั้งของทรัพยากรที่เราต้องการดู จากนั้นตรวจสอบการตอบสนองที่ได้รับเพื่อลองใช้ผ่านการแก้ไข DOM และการเรียกใช้โค้ด JS ว่าแอปพลิเคชันนำเสนอพฤติกรรมและเนื้อหาที่เราต้องการ สำหรับสิ่งนี้เราจะต้องศึกษาวิธีการทำงานของเว็บแอปพลิเคชันในเบราว์เซอร์ของเรา นี่จะไม่ใช่เรื่องง่ายเนื่องจากมีความเป็นไปได้สูงที่รหัสแอปพลิเคชันจะสับสน โซลูชันนี้ขึ้นอยู่กับการปรับเปลี่ยนลักษณะการทำงานของเว็บที่ใช้ระบบโฆษณา (ที่เกี่ยวข้องกับฝั่งไคลเอ็นต์) ด้วยวิธีนี้เราจะบล็อกการโฆษณาและเข้าถึงทรัพยากร แต่ด้วยวิธีการด้วยตนเองทั้งหมด หากคุณต้องการทำให้กระบวนการเป็นไปโดยอัตโนมัติเราสามารถกำหนดค่าพร็อกซีเซิร์ฟเวอร์ที่รับผิดชอบในการแก้ไขการตอบสนอง HTTP สำหรับเรา (เช่น privoxy)

      วิธีแก้ปัญหาที่เป็นไปได้ที่ควรพิจารณาหากคุณมีเซิร์ฟเวอร์ HTTP ที่ทำงานอยู่และไม่ต้องการติดตั้งพร็อกซีคือการใช้ระบบโฆษณาทดแทนในฝั่งไคลเอ็นต์ ฉันเห็นว่าโซลูชันนี้ค่อนข้างห่างไกลและถูกดึงไปไกลกว่า แต่ในบางสถานการณ์อาจใช้ได้ ก่อนอื่นเราแก้ไข / etc / hosts เพื่อให้โดเมนโฆษณาชี้ไปที่ ip ในพื้นที่ของคุณ จากนั้นเรากำหนดค่าเซิร์ฟเวอร์ HTTP เพื่อให้เปลี่ยนเส้นทางคำขอทั้งหมดเกี่ยวกับโดเมนนั้นไปยังเนื้อหาเดียวกัน เนื้อหานี้ต้องใช้ตรรกะที่เรียบง่ายของระบบโฆษณาจากมุมมองของกระบวนการที่อนุญาตให้แสดงภาพได้อย่างถูกต้อง เช่นเดียวกับวิธีการแก้ปัญหาก่อนหน้านี้คุณจะต้องทำการศึกษาเว็บระบบโฆษณาและปฏิสัมพันธ์ระหว่างกัน เป็นไปได้ว่าทั้งสองระบบสื่อสารกันในฝั่งไคลเอ็นต์โดยใช้เทคนิค crossdomine ซึ่งเราจะต้องย้ายไปยังเวอร์ชันท้องถิ่น

      ดังจะเห็นได้ว่าความซับซ้อนและวิธีการใช้สองวิธีสุดท้ายจะขึ้นอยู่กับระบบเฉพาะที่เกี่ยวข้อง อย่างที่เคยบอกไปว่าเว็บแอพพลิเคชั่นแต่ละโลก จำเป็นอย่างยิ่งที่จะต้องศึกษาและวิเคราะห์ระบบโดยใช้เทคนิคต่างๆเช่นการติดตามการดำเนินการวิศวกรรมย้อนกลับ ...

      สองวิธีสุดท้ายที่เสนอในที่นี้เป็นไปตามสมมติฐานที่ว่าการโต้ตอบระหว่างเว็บแอปพลิเคชันและระบบโฆษณาเกิดขึ้นกับลูกค้า หากกระบวนการนี้ขึ้นอยู่กับการโต้ตอบระหว่างเซิร์ฟเวอร์ควรใช้แนวทางอื่น

      สิ่งนี้ทำให้ฉันนึกถึงกรณีเฉพาะที่เกิดขึ้นกับฉันบนคอมพิวเตอร์ที่ฉันใช้จาก mediacenter (มีทรัพยากร จำกัด มาก) เมื่อฉันเข้าถึงเว็บไซต์บางแห่งมันจะทำสิ่งที่คล้ายกับสถานการณ์ที่คุณเสนอ: เนื่องจากฉันได้บล็อกโดเมนโฆษณาฉันมีกล่องสีขาวเหนือเนื้อหาที่ฉันต้องการดูและสิ่งนี้ไม่สามารถลบออกได้โดยการดำเนินการที่ดำเนินการบน เว็บดังนั้นสิ่งนี้จำเป็นสำหรับการโหลดโฆษณา เนื่องจากเครื่องมีทรัพยากรที่ จำกัด มากเพื่อให้สามารถเรียกใช้กระบวนการต่างๆได้มากขึ้นฉันจึงไม่ได้เข้าถึงเว็บที่มีปัญหาบ่อยครั้งและฉันไม่ต้องการที่จะทำให้ตัวเองยุ่งยากฉันจึงเลือกใช้ตัวเลือกในการแก้ไข DOM ด้วยตนเองเมื่อฉันต้องการดู .

      แน่นอนว่ามีวิธีแก้ไขมากกว่านี้อาจเป็นไปได้ว่าวิธีหนึ่งจะปรับให้ดีขึ้นหรือง่ายขึ้น แต่ฉันหวังว่านี่จะช่วยคุณ

      1.    สวิชเชอร์ dijo

        ฉันยังเจอเว็บไซต์ที่มีช่องว่างปรากฏบนเนื้อหาหรือช่องว่าง (โดยปกติการโฆษณาจะไป) แต่เมื่อฉันเห็นว่าจำเป็นต้องซ่อนฉันก็ใช้ ตัวช่วยซ่อนองค์ประกอบ สำหรับ Firefox (ฉันไม่รู้ว่ามีบางอย่างเช่นนี้ในเบราว์เซอร์อื่นหรือไม่มิฉะนั้นจำเป็นต้องสอบถาม ตัวเลือก CSS 3 และสร้างตัวกรองด้วยมือ)

    2.    สวิชเชอร์ dijo

      Cristian ถ้าคุณหมายความว่าเมื่อคุณเปิดหน้าเว็บบางหน้าเช่น "ปิดใช้งาน Adblock เพื่อดูไซต์นี้" หรืออะไรทำนองนั้นก็จะปรากฏขึ้น นักฆ่าต่อต้าน Adblocker (ต้องมี greasemonkey ใช้งานได้) ซึ่งจะลบการป้องกันจำนวนมากที่ใช้โดยไซต์บางแห่งที่บังคับให้คุณปิดการใช้งาน ad blocker (ฉันยังไม่รู้ว่าการป้องกันประเภทนี้จะทำงานได้แม้จะบล็อกโดเมนของไฟล์โฮสต์ก็ตาม)

  16.   หอยโข่ง dijo

    ไฟล์นี้ผมใช้งานมาได้ระยะหนึ่งแล้ว

    แต่สิ่งที่น่าสนใจที่สุดคือคำอธิบายว่าสคริปต์ทั้งหมดทำงานอย่างไร😀
    บทช่วยสอนสำหรับคนบริสุทธิ์น่าจะน่าสนใจนะฮ่า ๆ ๆ

    ฉันเคยเห็นโพสต์เกี่ยวกับเรื่องนี้ แต่ที่นี่ด้วยตัวอย่างนี้ฉันยังเติมเต็มบางสิ่งบางอย่างด้วย

    อาศิรพจน์

  17.   Cristianhcd dijo

    ฉันจะทำค้างคาวสำหรับ windows: fsjal

  18.   ใหม่ dijo

    ฮูดีมากจริงชื่นชม

  19.   Anderson freitas dijo

    อนุมัติ !!!!: O)

  20.   กาบักซ์ dijo

    เยี่ยมมากขอบคุณสำหรับผลงานดีๆเหล่านี้ ...

  21.   อเล็กซิส dijo

    สคริปต์ไม่ให้ปัญหากับ ufw?

  22.   Synflag dijo

    ขออภัยสำหรับความกล้าหาญ แต่ฉันจะวางสคริปต์เช่นนี้ (นั่นคือการเปลี่ยนแปลงเหล่านี้):

    #! / bin / ทุบตี

    wget http://winhelp2002.mvps.org/hosts.txt -o /tmp/hosts-blacklist.txt

    ls /etc/hosts.old &> / dev / null
    ถ้า [$? -ne 0]; แล้ว
    cp / etc / hosts /etc/hosts.old
    fi

    echo "127.0.0.1 localhost.localdomain localhost"> / etc / hosts
    echo ":: 1 localhost.localdomain localhost" >> / etc / hosts

    cat /etc/hosts.old >> / tmp / hosts-blacklist
    cat /tmp/hosts-blacklist.txt|uniq >> / etc / hosts

    RM /tmp/hosts-blacklist.txt

    ทางออก

    พวกเราบางคนมีการตั้งค่าบางอย่างในโฮสต์ที่มีสคริปต์ที่จะสูญหายแก้ไขฉันถ้าฉันผิดฉันหลับไปแล้ว

    1.    KZKG ^ กาอาระ dijo

      ไม่เลยขอบคุณมากสำหรับการสนับสนุนของคุณ🙂

  23.   โรมินาช dijo

    สวัสดี KZKG ^ Gaara!
    ฉันใช้ manjaro กับ kde และ firefox
    ความจริงคือสคริปต์มีประโยชน์กับฉันมาก
    ฉันเข้าใจว่าสคริปต์ทำงานอย่างไร (แต่ละคำสั่งในนั้น) แต่สิ่งที่ฉันไม่ชัดเจนคือ ...
    1) เช่นเดียวกันตัวอย่างเช่นเมื่อเปิดวิดีโอบน YouTube ที่ไม่โหลดโฆษณา
    2) ฐานข้อมูลมีการอัปเดตบ่อยเพียงใดเป็นการอัปเดตทุกวันหรือไม่? ถ้าเป็นเช่นนั้นฉันต้องการอัปเดตฐานข้อมูลเป็น cron ทุกวันไม่ใช่รายเดือน
    3) จุดที่ 3 .. ตอนนี้พวกเขาต้องรีสตาร์ท cron daemon ของพวกเขาเนื่องจากการรีสตาร์ทกล่าวว่า daemon จะมีคำสั่งให้ใช้อย่างไร
    4) หากฉันรีสตาร์ทโน้ตบุ๊กฉันต้องเรียกใช้สคริปต์อีกครั้งหรือการดำเนินการดังกล่าวเป็นเพียงการอัปเดตฐานข้อมูลนั่นคือในครั้งแรกที่ฉันรันสคริปต์การปิดกั้นหน้าจะยังคงอยู่ตลอดไป
    ขออภัยสำหรับคำถามมากมาย แต่บทความทั้งหมดของคุณยอดเยี่ยมและฉันกำลังเรียนรู้กับเพจของคุณทุกวัน
    ขอบคุณ. จูบ. โรมิ

    1.    KZKG ^ กาอาระ dijo

      สวัสดี

      1) เมื่อคุณเปิดวิดีโอ YouTube ในโค้ดของหน้า (HTML) คือโค้ดสำหรับแสดงวิดีโอ css เป็นต้น นอกจากนี้ยังมีช่องว่าง (div) สำหรับวางโฆษณา Adsense (Google) แต่โฆษณานั้นไม่ได้อยู่ในโดเมน youtube.com ซึ่งอยู่ใน (เช่น) ads.adsense.com หรืออะไรทำนองนั้น โดเมนนั้น (ads.adsense.com) เป็นโฆษณา 100% ดังนั้นคุณจะไม่โหลดอะไรเลย ดังนั้นไม่สำคัญว่าคุณจะไปที่ไซต์ 30 แห่งตราบใดที่พวกเขานำโฆษณาสำหรับโดเมนนั้นออกไปก็จะไม่ปรากฏให้คุณเห็น
      2) พูดตามตรงว่าฉันไม่รู้ฉันใส่ crontab เพื่ออัปเดต script DB เดือนละครั้ง แต่ฉันไม่รู้ว่าการอัปเดต hosts.txt นั้นบ่อยกว่าหรือไม่
      3) ใช่ฉันพูดเกี่ยวกับการรีสตาร์ทคอมพิวเตอร์ (ซึ่งจะรีสตาร์ทบริการทั้งหมดอย่างเห็นได้ชัด) เพื่อไม่ให้ซับซ้อนมากขึ้น ในทำนองเดียวกัน sudo service cron ควรทำงานให้คุณหากคุณใช้ Debian, Ubuntu หรือ Mint หากคุณใช้อย่างอื่นกับ systemd (Arch, Chakra ไม่แน่ใจว่า Manjaro ด้วยหรือไม่) ก็จะเป็น sudo systemctl restart cronie
      4) เมื่อคุณแก้ไข / etc / crontab คุณต้องแจ้งให้คอมพิวเตอร์ทราบว่าไฟล์นี้มีการเปลี่ยนแปลงคุณได้แก้ไขและต้องอ่านอีกครั้งเพื่อพิจารณาการเปลี่ยนแปลง เพื่อให้เขาอ่านไฟล์อีกครั้งให้คุณรีสตาร์ท cron หรือรีสตาร์ทพีซี ตอนนี้เมื่อคุณรีสตาร์ทพีซีสคริปต์จะไม่ทำงานโดยอัตโนมัติจะทำงานในวันที่คุณบอกใน / etc / crontab และใช่ในครั้งแรกที่คุณเรียกใช้สคริปต์หากทุกอย่างทำงานได้ดี (คุณสามารถตรวจสอบกับ: cat / etc / hosts) คุณจะถูกบล็อกโฆษณาแล้ว

      ไม่ต้องกังวลกับคำถามเรายินดีที่จะช่วยเหลือ
      ความนับถือ

      1.    โรมินาช dijo

        ขอบคุณ kzkg !!
        ชัดเจนเป็นไปไม่ได้ !!
        จูบ. โรมิ

  24.   มาร์เซโล (N3krodamus) dijo

    บทดี แต่มีพิมพ์ผิด แทนที่จะเป็น o (ตัวพิมพ์เล็ก) ควรเป็น O (ตัวอักษรหรือตัวพิมพ์ใหญ่) เพราะมิฉะนั้นสิ่งที่บันทึกคือบันทึกการเชื่อมต่อในไฟล์ /tmp/hosts.txt

    1.    KZKG ^ กาอาระ dijo

      ขอบคุณสำหรับคำชี้แจงฉันแก้ไขแล้ว

  25.   จอห์น dijo

    สองความคิดเห็นเด็ด:
    - ช่างเป็นวิธีที่แปลกในการตรวจสอบว่าไฟล์นั้นมีอยู่จริง! …คุณลองใช้ if [-f $ file] แทน ls ที่ส่งเอาต์พุตไปที่ / dev / null จากนั้นคุณจะตรวจสอบว่าเป็น errorLevel และทำเช่นนั้น หลายรอบ?
    - ในทางกลับกัน ... ระวัง -o (ตัวพิมพ์เล็ก) ใน wget ... นั่นไม่ทำในสิ่งที่คุณต้องการทำ ลอง -O (ตัวพิมพ์ใหญ่)

    คำแนะนำอย่างหนึ่ง: ทดสอบสคริปต์ก่อนเผยแพร่

    1.    โรมินาช dijo

      จอห์นที่รัก,
      คุณสามารถใส่สคริปต์ที่สมบูรณ์พร้อมกับการแก้ไขของคุณเพื่อให้เราทดสอบ
      ขอบคุณโรมิ

    2.    โรมินาช dijo

      ฮวน
      คุณสามารถใส่สคริปต์ที่สมบูรณ์พร้อมกับการแก้ไขของคุณเพื่อให้เราทดสอบ
      ขอบคุณ Romi

    3.    KZKG ^ กาอาระ dijo

      ใช่ฉันสามารถตรวจสอบด้วยการทดสอบ ... ฉันลืมสิ่งเหล่านี้เมื่อฉันทำสคริปต์ ^ - ^

  26.   ซีเรียล dijo

    เหตุใดจึงต้องแก้ไขไฟล์ / etc / hosts DROP ผ่าน iptables จะมีประโยชน์และเหมาะสมกว่าไม่ใช่หรือ?

    1.    มาริโอ dijo

      อาจเป็นได้ แต่จะค่อนข้างอันตราย สคริปต์นี้โหลดกฎจากไซต์ของบุคคลที่สามเช่น adblock แต่มีประสิทธิภาพมากกว่า หากเราอนุญาตให้บุคคลที่สามสร้างและคัดลอกกฎ iptables ในระบบของเราคุณสามารถจินตนาการถึงความเสี่ยงด้านความปลอดภัยที่จะสร้างขึ้น นอกจากนี้บางคนใช้ gufw, firestarter ฯลฯ พวกเขาสามารถใช้การกำหนดค่าของตัวเองและลบของเราได้

  27.   mariogaudix dijo

    KZKG ^ Gaara: ขอบคุณสำหรับข้อมูลฉันไม่เคยกังวลเรื่องนี้มากนัก แต่มันเหมาะกับฉัน

  28.   ปาโบล dijo

    pablo @ fausto ~ / ซอฟต์แวร์ / สคริปต์% wget http://ftp.desdelinux.net/anti-ads.sh
    –2014-03-01 11:54:55– http://ftp.desdelinux.net/anti-ads.sh
    การแก้ http://ftp.desdelinux.net (ftp.desdelinux.net)... ล้มเหลว: ชื่อหรือบริการที่ไม่รู้จัก
    wget: ไม่สามารถแก้ไขที่อยู่คอมพิวเตอร์ “ftp.desdelinux.สุทธิ"

    1.    มาริโอ dijo

      ปัญหาใน DNS คุณควรมีผลลัพธ์นี้: wget http://ftp.desdelinux.net/anti-ads.sh –13: 34: 11– http://ftp.desdelinux.net/anti-ads.sh => `` anti-ads.sh ''
      การตัดสินใจ http://ftp.desdelinux.net... 69.61.93.35
      เชื่อมต่อกับ http://ftp.desdelinux.net[69.61.93.35]:80... เชื่อมต่อ
      ส่งคำขอ HTTP แล้วรอการตอบกลับ ... 200 OK

  29.   Juankfree dijo

    นี่คือเคล็ดลับ: บรรทัด« 0.0.0.0 da.feedsportal.com # [มีผลต่อ RSS feeds] »ทำให้เกิดปัญหากับ RSS feeds จำนวนมากทำให้ฉันมีปัญหาและไม่อนุญาตให้ฉันเข้าถึงโพสต์
    ทักทาย!

  30.   Joaquin dijo

    ผลงานดี!

  31.   โทแทพังค์ dijo

    หลังจากอ่านรายการบล็อกฉันเริ่มสนใจในเรื่องนี้และค้นพบแอปพลิเคชั่นที่สมบูรณ์มากขึ้นสำหรับจุดประสงค์นี้ซึ่งช่วยให้สามารถเพิ่มหลายรายการในเวลาเดียวกันด้วย GUI สำหรับผู้ที่ชอบความสะดวกนี้ ...
    https://github.com/memoryleakx/AdAndCrapBlock

  32.   bxxx dijo

    ใครช่วยใส่เนื้อหาต้นฉบับของไฟล์ /etc/host.old
    ฉันลบมันไปโดยไม่ได้ตั้งใจ

    ขอบคุณ

  33.   จัดด์ dijo

    สวัสดี !
    คุณจะใจดีมากที่จะอธิบายให้ฉันทราบถึงวิธีกำจัดสิ่งนี้ที่ปรากฏในคอนโซลทุกครั้งที่ฉันเปิดฉันมี Arch.Linux 32 บิตพร้อม Kde:

    ประกาศ -x COLORTERM = » gnome-terminal »
    declare -x DBUS_SESSION_BUS_ADDRESS=»unix:abstract=/tmp/dbus-F4MG1bJZhB,guid=58b029ee172e705e35e2b72f543bf1b7″
    ประกาศ -x DESKTOP_SESSION = » KDE Plasma Workspace »
    ประกาศ -x DISPLAY = »: 0″
    ประกาศ -x GPG_AGENT_INFO = » / home / javier / .gnupg / S.gpg-agent: 18358: 1″
    ประกาศ -x GS_LIB = » / home / javier / .fonts »
    declare -x GTK2_RC_FILES=»/etc/gtk-2.0/gtkrc:/home/javier/.gtkrc-2.0:/home/javier/.kde4/share/config/gtkrc-2.0″
    ประกาศ -x GTK_MODULES = » canberra-gtk-module »
    ประกาศ -x GTK_RC_FILES = » / etc / gtk / gtkrc: /home/javier/.gtkrc: /home/javier/.kde4/share/config/gtkrc »
    ประกาศ -x HOME = » / home / javier »
    ประกาศ -x KDE_FULL_SESSION = »จริง»
    ประกาศ -x KDE_MULTIHEAD = » false »
    ประกาศ -x KDE_SESSION_UID = » 1000″
    ประกาศ -x KDE_SESSION_VERSION = » 4″
    ประกาศ -x LANG = » th_AR.UTF-8″
    ประกาศ -x LOGNAME = » javier »
    ประกาศ -x MAIL = » / var / spool / mail / javier »
    ประกาศ -x MOZ_PLUGIN_PATH = » / usr / lib / mozilla / plugins »
    ประกาศ -x OLDPWD
    ประกาศ -x PATH = » / usr / local / sbin: / usr / local / bin: / usr / bin: / usr / bin / site_perl: / usr / bin / vendor_perl: / usr / bin / core_perl »
    ประกาศ -x PWD = » / home / javier »
    ประกาศ -x QT_PLUGIN_PATH = » / home / javier / .kde4 / lib / kde4 / plugins /: / usr / lib / kde4 / plugins / »
    ประกาศ -x SESSION_MANAGER = » local / thebest: @ / tmp / .ICE-unix / 18390, unix / thebest: /tmp/.ICE-unix/18390″
    ประกาศ -x SHELL = » / bin / bash »
    ประกาศ -x SHLVL = » 2″
    ประกาศ -x SSH_ASKPASS = » / usr / lib / seahorse / seahorse-ssh-askpass »
    ประกาศ -x TERM = » xterm »
    ประกาศ -x USER = » javier »
    ประกาศ -x VTE_VERSION = » 3603″
    ประกาศ -x WINDOWID = » 85983238″
    ประกาศ -x XAUTHORITY = » / home / javier / .Xauthority »
    ประกาศ -x XCURSOR_SIZE = » 0″
    ประกาศ -x XCURSOR_THEME = » KDE_Classic »
    ประกาศ -x XDG_CURRENT_DESKTOP = » KDE »
    ประกาศ -x XDG_DATA_DIRS = » / usr / share: / usr / share: / usr / local / share »
    ประกาศ -x XDG_RUNTIME_DIR = » / run / user / 1000″
    ประกาศ -x XDG_SEAT = » seat0″
    ประกาศ -x XDG_SESSION_ID = » c2″
    ประกาศ -x XDG_VTNR = » 1″

    ฉันไม่รู้จะทำอะไรอีกและมันน่ารำคาญมาก ...
    ฉันจะขอบคุณมันมาก!
    ฉันสนใจประสบการณ์ของคุณ!
    ขอบคุณมากและทักทาย -

  34.   เฟลิกซ์ คาเบรร่า dijo

    ฉันจะลบโฆษณาบนไซต์ได้อย่างไร»ฮ่าฮ่า»
    ก่อนที่คุณจะใส่หมายเลขเพื่อลบและนั่นแหล่ะ
    ตอนนี้ไม่มีอะไรเกิดขึ้น
    คุณสามารถช่วย?
    ความนับถือ
    เฟลิกซ์

  35.   เปโดร dijo

    สวัสดีฉันเป็นผู้ใช้เดเบียนที่เกือบจะเป็นมือใหม่ฉันได้ทดสอบสคริปต์แล้วและมันใช้งานได้มากกว่าที่ฉันต้องการให้ฉันอธิบายเมื่อทดสอบฉันไม่เห็นตามเว็บไซต์ใดในเว็บไซต์หนังสือพิมพ์ฉันเห็นเฉพาะหัวข้อบนเท่านั้น หน้าปกไม่มีความคิดเห็นของข่าวและในบล็อกนี้สิ่งเดียวกันที่เกิดขึ้นกับฉันฉันไม่เห็นสิ่งอื่นใดนอกจากสิ่งที่อยู่ในกล่องและฉันไม่สามารถดูบทความหรือความคิดเห็นทั้งหมดนี้จาก firefox ซึ่งเป็นเบราว์เซอร์ ฉันใช้ฉันจะเลิกทำการเปลี่ยนแปลงสคริปต์นี้ได้อย่างไร ฉันลบมันออกจาก cron แล้ว แต่ "เอฟเฟกต์" ยังคงอยู่ขอบคุณมาก