If-Koubou

Cara Menghapus Iklan dengan Pixelserv pada DD-WRT

Cara Menghapus Iklan dengan Pixelserv pada DD-WRT (Bagaimana caranya)

Ada banyak cara untuk memblokir iklan di browser Anda, tetapi bagaimana jika Anda dapat memblokirnya di router? Berikut ini cara menggunakan firmware DD-WRT dan "keracunan DNS" yang disengaja untuk memblokir iklan untuk setiap perangkat di jaringan Anda.

Ikhtisar

Memperbarui: Panduan diperbarui untuk mencerminkan umpan balik yang diberikan oleh komentator dan memperbarui paket anti-iklan dengan eksekusi server piksel yang lebih baru dan changelog.

Pertanyaan pertama dalam benak setiap orang saat ini adalah “mengapa tidak menggunakan ad-block?”

Bagi banyak orang tidak ada alasan, terutama dengan kemampuan baru krom untuk mereplikasi ekstensi yang Anda gunakan untuk setiap komputer yang Anda jalankan dengan chrome.

Jawabannya terletak di suatu tempat di antara overhead yang berkurang karena tidak harus mengajarkan semua pengguna di jaringan Anda tentang ad-block (saya berbicara dengan Anda ibu, sis, nenek dan sekretaris kantor) dan kenyamanan tidak terganggu dengan itu di setiap komputer yang Anda atur. Itu dengan asumsi bahwa akan ada beberapa komputer di jaringan Anda bahwa Anda tidak akan mengkonfigurasi lingkungan pribadi Anda (misalnya "server inti" atau VM).

Catatan: Meskipun saya menggunakan metode di bawah ini pada router rumah saya, saya menemukan ad-block menjadi tambahan yang bagus untuk itu, dan saya merekomendasikan menggunakan kedua metode dalam hubungannya. juga jika Anda tidak memiliki router DD-WRT menggunakan ad-block lebih dari cukup. Bahkan, saya sangat menyukai program ini, saya menyumbang kepada pengembangnya dan saya mendorong semua orang untuk melakukannya, untuk menjaga perkembangannya tetap berjalan.

Bagaimana cara kerjanya?

Pada dasarnya ini bekerja dengan sengaja meracuni DNS kami untuk mengembalikan IP spesifik untuk domain dalam daftar yang tidak disetujui. Daftar yang tidak disetujui ini akan berisi nama domain situs yang bertanggung jawab secara eksklusif untuk mengirimkan konten iklan, jadi kami tidak akan sangat merindukannya.

Kami akan menyiapkan server HTTP sekunder di router untuk menyajikan gambar satu piksel transparan, sebagai jawaban untuk permintaan URL apa pun. Dalam hubungannya dengan DNS "salah" menyelesaikan, ini akan menyebabkan klien jaringan untuk meminta konten dari server pixel internal kami dan mendapatkan gambar kosong sebagai jawaban.

Untuk menghasilkan daftar yang tidak disetujui, kami akan membuat satu daftar pribadi bersama dengan dua daftar yang diunduh secara dinamis. daftar dinamis adalah file host MVPS dan daftar domain Yoyo, bersama-sama mereka memiliki daftar situs iklan yang sangat luas. Dengan memanfaatkan daftar ini, kita dibiarkan dengan tanggung jawab hanya dengan menambahkan delta situs yang belum ada di salah satu dari mereka, dalam daftar pribadi kita.

Kami juga akan menyiapkan "daftar putih" untuk domain yang tidak ingin diblokir karena alasan apa pun.

Prasyarat dan asumsi

  • Sabar muda, ini sudah lama dibaca.
  • Prosedur ini dibuat dan diuji pada DD-WRT (v24pre-sp2 10/12/10 mini r15437), karena itu Anda harus sudah menginstal versi ini atau yang lebih baru di router Anda untuk menggunakannya. Informasi lebih lanjut berakhir di situs DD-WRT.
  • Demi kemudahan penjelasan, diasumsikan router telah dipulihkan ke "default pabrik" atau pengaturan yang digunakan tidak berubah dari preset "out of the box" mereka sejak saat itu.
  • Komputer klien menggunakan router sebagai server DNS (ini adalah default).
  • Ruang untuk JFFS (jika ragu, saya sarankan menggunakan mini versi DD-WRT).
  • Diasumsikan bahwa jaringan Anda * sudah disetel dan itu adalah kelas C (yang memiliki subnet 255.255.255.0) sebagai IP terakhir di jaringan kelas C (x.y.z.254) akan ditugaskan untuk program server piksel.
  • Kesediaan untuk menginstal winSCP.

* Skrip tidak akan dapat menyesuaikan daftar blokir setelah lari pertama hingga siklus penyegaran berikutnya (3 hari).

Kredit

Memperbarui: Terima kasih khusus kepada "mstombs" untuk bagian besar kode C tanpa karyanya semua ini tidak akan mungkin, "Oki" untuk menyusun versi kompatibel Atheros dan kutipan ;-) dan "Nate" untuk membantu dengan QA-ing .

Meskipun ada banyak pekerjaan untuk menyempurnakan prosedur ini pada akhir saya, inspirasi untuk itu dinyalakan oleh orang-orang di forum DD-WRT dan beberapa dasar dari panduan ini dapat ditemukan di "pemblokiran iklan dengan DD- WRT ditinjau kembali (sederhana) ”,“ pixelserv tanpa Perl, tanpa jffs / cifs / usb gratis “dan“ Flexion.Org Wiki di DNSmasq “serta yang lain.

Mari kita dapatkan cracking

Aktifkan SSH untuk akses SCP

Dengan mengaktifkan SSH, kita pada gilirannya memberi diri kemampuan untuk terhubung ke router menggunakan protokol SCP. dengan itu diaktifkan, kita kemudian dapat menggunakan program winSCP untuk menavigasi secara visual struktur folder router (seperti yang akan kita lihat nanti).

Untuk melakukan ini, menggunakan webGUI, pergi ke tab "Layanan". Temukan bagian "Secure shell" dan klik tombol radio "Enable" untuk pengaturan SSHd.

Setelah selesai, webGUI akan terlihat seperti di bawah dan Anda dapat mengklik "Simpan" (tidak berlaku belum).

Aktifkan JFFS

Untuk membuat pengaturan ini dengan cara yang akan stabil, direproduksi dan * menjadi “warga internet yang baik”, kami akan menggunakan JFFS untuk menyimpan sebanyak mungkin konfigurasi. Ada cara lain untuk melakukan ini tanpa mengaktifkan JFFS, jika Anda tidak dapat karena keterbatasan ruang, tetapi mereka tidak tercakup di sini.

* Metode lain membuat router Anda mengunduh daftar executable pixel-server dan dinamis setiap kali skrip dijalankan. karena hal ini memberatkan server yang memegang daftar dan dapat dieksekusi dan ini membutuhkan uang kepada seseorang, metode ini mencoba untuk menghindarinya jika memungkinkan.

Jika Anda belum tahu apa itu JFFS, penjelasan ini, yang diambil dari entri wiki DD-WRT tentang JFFS harus menjelaskan beberapa hal:

Journaling Flash File System (JFFS) memungkinkan Anda memiliki Sistem File Linux yang dapat ditulisi pada router yang mendukung DD-WRT. Ini digunakan untuk menyimpan program pengguna seperti Ipkg dan data ke dalam memori flash yang tidak dapat diakses. Ini memungkinkan Anda untuk menyimpan file konfigurasi khusus, meng-host halaman Web kustom yang disimpan di router dan banyak hal lain yang tidak mampu tanpa JFFS.

Untuk mengaktifkan JFFS di router Anda, buka tab "Administrasi" dan temukan bagian JFFS. gambar di bawah ini menunjukkan di mana Anda akan menemukan bagian ini dalam tab "Administrasi".

Di bagian Dukungan JFFS2, klik tombol radio "Aktifkan" untuk "JFFS2" dan (ketika muncul) pengaturan "Bersihkan JFFS2". Setelah dipilih, klik "Simpan".

Ketika pengaturan telah disimpan, masih pada tab "Administrasi", reboot router dengan menggunakan tombol "Reboot Router". Ini akan menerapkan pengaturan dan melakukan "format" yang diperlukan dari "partisi" JFFS.

Ketika webGUI kembali dari reboot ke tab "Administrasi", tunggu setengah menit tambahan dan segarkan halaman.

Jika berhasil, Anda akan melihat bahwa mount JFFS Anda memiliki beberapa ruang kosong seperti pada gambar.

Penyiapan server piksel

Unduh dan ekstrak paket anti iklan untuk arsip zip dd-wrt yang berisi eksekusi server pixel (kami tidak mengambil kredit, hanya menghindari "hot linking"), skrip pemblokiran iklan (ditulis oleh Anda benar-benar) dan personal- daftar domain yang dibuat oleh "Mithridates Vii Eupator" dan I.

Sudah waktunya untuk memasukkan file ke mount JFFS di router. untuk melakukan ini, instal winSCP (ini adalah jenis "next -> next -> finish" dari sebuah setup) dan buka.

Di jendela utama, isi informasi seperti ini:

Nama host: IP router Anda (standarnya adalah 192.168.1.1)

Nomor port: tidak berubah pada 22

Nama pengguna: akar (bahkan jika Anda mengubah nama pengguna untuk webGUI, pengguna SSH akan selalu * root * )

File kunci pribadi: kosongkan (ini hanya diperlukan saat Anda membuat autentikasi berbasis pasangan kunci yang tidak kami miliki)

Protokol file: SCP

Kita juga perlu menonaktifkan "Lookup user group" seperti yang ditunjukkan di bawah ini (terima kasih kepada mstombs untuk menunjukkan hal ini) karena winSCP mengharapkan Linux yang diledakkan di sisi lain yang mana pengembang DD-WRT, meskipun semua ada pekerjaan yang sangat baik, tidak dapat menyediakan (terutama karena tidak ada cukup ruang). Jika Anda membiarkan ini dicentang, Anda akan menemukan pesan menakutkan ketika Anda menghubungkan dan menyimpan file yang diedit.

Pilih Muka, dan kemudian hapus centang "Cari kelompok pengguna".

Meskipun opsional, Anda dapat memilih untuk menyimpan pengaturan sekarang untuk digunakan nanti. Jika Anda memilih untuk menyimpan pengaturan yang direkomendasikan, itu juga disarankan (meskipun teriakan langsung dari "keamanan paranoid" suaka bahwa kita menodai keberadaan SSH) bahwa Anda menyimpan kata sandi.

Kemudian jendela utama Anda akan terlihat seperti pada gambar, dan semua yang harus Anda lakukan untuk menyambung ke router adalah klik dua kali entri.

Karena ini adalah pertama kalinya Anda terhubung ke router, winSCP akan menanyakan apakah Anda bersedia mempercayai sidik jari di sisi lain. Klik "Ya" untuk melanjutkan.

Pengembang DD-WRT telah mengimplementasikan pesan selamat datang Banner dengan beberapa info tentang firmware yang telah Anda instal. sekali merah, klik pada kotak centang "Jangan pernah tampilkan spanduk ini lagi" dan "Lanjutkan".

Setelah terhubung, navigasikan jalan Anda ke folder tingkat atas (AKA root “/”) dan kemudian kembali ke “/ jffs” karena itu adalah satu-satunya tempat yang dapat ditulis secara permanen di filesystem router (“/ tmp” tidak bertahan dari reboot dan sisanya hanya bisa dibaca).

Buat folder baru, dengan menekan F7 atau klik kanan tempat kosong, arahkan kursor ke "Baru" dan klik "Direktori".

Nama direktori baru "dns". kami membuat direktori ini untuk menyimpan hal-hal di direktori jfs yang diorganisir untuk penggunaan di masa mendatang dan karena kami kebanyakan mengubah cara kerja layanan DNS.

Salin file “pikselerv” dan “disable-adds.sh” dari arsip zip anti-iklan-paket-untuk-dd-wrt, dengan memilihnya (gunakan tombol "masukkan"), tekan "F5" dan kemudian "Salin ".

Catatan: Jika router Anda berbasis Atheros (Anda dapat memeriksa ini di wiki DD-WRT), Anda harus menggunakan pikselerv_AR71xx yang disediakan oleh Oki dan disertakan dalam paket dan beri nama untuk “pikselerv” sebelum melanjutkan.

Setelah file berada di router, kita perlu membuatnya dieksekusi dengan memilihnya (lagi gunakan "insert") klik kanan lalu "properties".

Pada jendela properti klik pada "X" untuk baris "Pemilik". yang akan memberikan izin eksekusi file.

Pengaturan router

Sekarang setelah tahap disetel, kami dapat memberi tahu router untuk menjalankan skrip pemblokiran iklan saat startup.
Untuk melakukan ini, di webGUI pergi ke tab "Administrasi" dan kemudian tab "Perintah".

Dalam kotak teks "Perintah" tulis lokasi skrip sebagai "/jffs/dns/disable_adds.sh", seperti pada gambar dan kemudian klik "Save Startup".

Jika berhasil, Anda harus melihat skrip telah menjadi bagian dari startup router seperti pada gambar di atas.

Menyiapkan daftar domain yang diblokir Pribadi (Opsional)

Daftar ini memungkinkan Anda menambahkan domain ke daftar yang tidak disetujui, jika Anda menemukan bahwa dua daftar dinamis tidak menangkap sesuatu.
Untuk melakukan ini, ada dua opsi, dan keduanya bekerja bersama sehingga Anda dapat menggunakan keduanya sesuai dengan apa yang lebih nyaman bagi Anda.

catatan: Itu sintaks itu pentingKarena kami sebenarnya sedang membuat arahan konfigurasi, daemon DNSMasq (proses yang bertanggung jawab untuk nama DNS menjadi terjemahan IP) akan digunakan secara langsung. Dengan demikian, sintaks yang salah di sini akan menyebabkan layanan macet dan membiarkan router tidak dapat menyelesaikan alamat IP untuk nama domain (Anda telah menegur).

Untuk menemukan nama domain yang menyinggung untuk memblokir Anda mungkin ingin menggunakan "Cari Pesan Rahasia di Panduan Situs Web" sebagai primer. Langkah-langkah untuk menemukan nama-nama domain iklan secara praktis sama, hanya saja dalam hal ini Anda mencari alamat, bukan pesan.

Pertama dan cara yang lebih mudah diakses adalah dengan memasukkan daftar ke dalam kotak konfigurasi “DNSMasq” di wegGUI. Ini karena untuk menambah daftar ini seseorang dapat mengakses webGUI daripada harus pergi "di bawah tenda" untuk melakukan perubahan.

Buka tab "Layanan", temukan bagian "DNSMasq" dan di sana temukan kotak teks "Opsi DNSMasq Tambahan".

Dalam kotak teks ini masukkan daftar domain yang ingin diblokir dengan sintaks "alamat = / domain-name-to-block / pixel-server-ip" seperti yang ditunjukkan pada gambar di bawah ini:

Di mana dalam contoh ini "192.168.1.254" adalah IP yang dihasilkan untuk server-pixel berdasarkan "alamat jaringan" LAN Anda. Jika alamat jaringan Anda adalah sesuatu yang lain maka 192.168.1.x Anda harus menyesuaikan alamat untuk server pixel yang sesuai.

Setelah selesai, klik "Simpan" di bagian bawah halaman (belum berlaku).

Kedua opsinya adalah menggabungkan daftar domain yang ingin Anda blokir, ke file "pribadi-ads-list.conf" yang saya dan dan "Mithridates Vii Eupator" telah dirakit. File ini adalah bagian dari arsip zip yang Anda unduh sebelumnya dan ini merupakan awal yang baik untuk kedua metode tersebut.

Untuk menggunakannya, jika perlu, gunakan editor teks favorit Anda untuk menyesuaikan IP dari server-pixel (batasan yang sama seperti di atas berlaku di sini). Kemudian salin ke direktori “/ jffs / dns” ketika Anda memiliki file lain. Setelah berada di sana, Anda dapat menggunakan winSCP untuk mengeditnya dan menambahkan domain.

Menyiapkan daftar putih

Ini adalah daftar domain yang akan dihilangkan dari daftar "host" dan "domain" dinamis.

Ini diperlukan karena hanya memblokir beberapa domain menyebabkan situs yang menggunakannya menjadi tidak berfungsinya. contoh yang paling penting adalah "google-analytics.com".

Jika kami memblokir domainnya, itu tidak akan mengubah fakta bahwa situs yang menggunakannya, memiliki browser Anda mengunduh JavaScript yang berjalan pada acara seperti meninggalkan halaman. Ini berarti bahwa untuk situs semacam itu browser Anda akan mencoba "menelepon ke rumah" dengan menghubungi domain google, tidak akan memahami balasannya dan Anda harus menunggu hingga skrip berakhir untuk melanjutkan ke halaman berikutnya. Itu bukan pengalaman berselancar yang menyenangkan dan itulah sebabnya setiap domain yang mengandung "google-analytics" dan "googleadservices" adalah * dikecualikan secara paksa dari penyaringan.

Daftar ini dibuat untuk Anda dengan domain sebutan di atas, ketika skrip dijalankan untuk pertama kalinya, di bawah direktori “/ jffs / dns”.

Untuk menggunakan daftar putih, buka file dengan winSCP dan **tegak lurus ke daftar domain yang ingin dikecualikan, sementara berhati-hati untuk tidak meninggalkan baris kosong (meninggalkan baris kosong akan menghapus semua domain dari semua daftar).

* Meskipun skrip ini membuat daftar putih dengan domain di dalamnya pada saat pertama dijalankan, TIDAK bersikeras pada hadiah mereka untuk berjalan di masa depan. jadi jika Anda merasa bahwa google harus diblokir meskipun masalah yang disebutkan di atas, Anda dapat menghapus domain dari daftar putih.

** Anda harus memasukkan domain baru yang Anda inginkan di awal daftar. Ini karena bug dengan cara bash menginterpretasikan baris baru ... maaf saya belum punya pekerjaan untuk itu.

Eksekusi

Ini dia, akhirnya adalah waktu untuk menjalankan skrip dan melihat hasilnya hanya dengan me-restart router.

Untuk melakukan ini dari webGUI, Di bawah tab "Administrasi" kembali ke "Manajemen", di bagian bawah halaman klik "Reboot router" dan tunggu router untuk kembali naik.

Diperlukan beberapa menit bagi skrip untuk melakukan tugasnya untuk pertama kalinya.

Pada jenis router WRT54Gx, Anda akan tahu kapan skrip selesai dieksekusi karena akan berkedip dengan LED oranye Cisco di bagian depan router (router lain harus memiliki tanda “kirim ekor” yang serupa).

Pembaruan: Bagian ini * dihapus setelah ditemukan menjadi fitur agnostik non-perangkat keras.

Ketika kami mencoba untuk melihat tidak adanya elemen di web, saya sarankan cukup berselancar ke beberapa situs untuk melihat pengaruhnya.

Namun jika Anda ingin memastikan prosedur berhasil, langkah debug pertama di bagian pemecahan masalah adalah tempat yang bagus untuk memulai.

* Ini benar-benar dikomentari sehingga Anda dapat memulihkannya jika yakin itu tidak akan menyebabkan masalah pada pengaturan Anda.

Nikmati!

Penyelesaian masalah

Jika Anda mengalami masalah ada beberapa hal yang dapat Anda lakukan untuk memeriksa apa yang salah.

  1. Uji bahwa domain iklan diselesaikan ke IP pikselerv.
    Anda dapat melakukan ini dengan mengeluarkan perintah nslookup terhadap domain "menyinggung". Misalnya "ad-emea.dubleclick.com" adalah bagian dari host yang diblokir dari daftar pribadi.Dengan mengeluarkan "nslookup ad-emea.dubleclick.com" pada command prompt, hasilnya akan terlihat seperti:

    Di mana jawaban yang tidak diblokir normal akan terlihat seperti:

  2. Mengulangi.
    Untuk memastikan bahwa tidak ada apa pun dengan pengaturan router Anda yang berbenturan dengan konfigurasi blok-iklan, kembalikan router ke "Default Pabrik" dan coba lagi. Setelah sukses Anda menambahkan perubahan kustom Anda dengan harapan bahwa mereka tidak berbenturan lagi.
  3. Pastikan klien Anda menggunakan router sebagai DNS.
    Terutama ketika menggunakan VPN atau jaringan yang lebih kompleks daripada router normal ke pengaturan komputer, mungkin komputer klien Anda tidak menggunakan router sebagai DNS-nya. Sangat mudah untuk melihat dalam perintah di atas apa server DNS yang digunakan klien, Jika IP tidak sama dengan router, Anda telah menemukan masalahnya.
  4. Bersihkan cache DNS mesin pribadi Anda.
    Ini karena jika tidak Anda mungkin masih melihat iklan ke situs pengujian Anda, hanya karena komputer Anda sudah tahu cara mendapatkan konten iklan sendiri tanpa berkonsultasi dengan DNS untuk itu. Pada windows ini akan menjadi "ipconfig / flushdns".
  5. Tutup browser.
    Terkadang browser menyimpan informasi yang di-cache, jadi membersihkan cache DNS seperti yang ditunjukkan di atas tidak membantu.
  6. Saat ragu reboot.
    Terkadang cache dapat bertahan dan cara terbaik untuk menyingkirkannya adalah dengan reboot. Mulai dengan router dan jika masalah berlanjut, komputer klien.
  7. Gunakan syslog.
    Anda dapat mengaktifkan daemon syslog router dan kemudian melihat pesan untuk melihat apakah skrip mengalami masalah, dengan memeriksa pesannya. Juga skrip menambahkan beberapa alias perintah untuk membuat debugging menjadi lebih mudah.
    Untuk melakukan ini, buka tab "Layanan" dan aktifkan daemon syslog seperti pada gambar di bawah ini:

    Catatan: "Remote Server" digunakan ketika Anda memiliki server syslog mendengarkan di komputer lain (seperti dengan Kiwi) jika Anda tidak memilikinya, kosongkan saja.

    Setelah diaktifkan, Anda dapat melihat pesan debug dengan melihat / var / logs / messages file di terminal.
    * Untuk melihat SEMUA pesan dari boot-up Anda dapat menggunakan "lebih / var / log / pesan".
    * Untuk melihat pesan dari skrip di log, gunakan alias "menyumbat".
    * Untuk melihat pesan ketika mereka masuk, secara real time, gunakan "tail -f / var / log / messages" atau dengan alias "tlog".
  8. Pahami naskahnya.
    Meskipun saya telah membuat video YouTube ini untuk versi yang lebih lama dari panduan ini dan skripnya, ini masih menyimpan banyak kebenaran dan penjelasan yang berlaku untuk cara kerja versi baru dan yang ditingkatkan.
Unduh paket anti-iklan.

Semoga para dewa penerus mendukung Anda