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 di benak setiap orang saat ini adalah “mengapa tidak menggunakan ad-block?”
Bagi banyak orang, tidak ada alasan, terutama dengan kemampuan baru Chrome untuk mereplikasi ekstensi yang Anda gunakan ke 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 mengasumsikan bahwa akan ada beberapa komputer di jaringan Anda yang tidak akan Anda konfigurasikan 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 bahwa router telah dipulihkan ke “default pabrik” atau bahwa pengaturan yang digunakan tidak berubah dari preset “out of the box” 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 tersebut (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 mengeklik "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, diambil dari entri wiki DD-WRT tentang JFFS harus menjelaskan beberapa hal:
The Journaling Flash File System (JFFS) allows you to have a writable Linux File System on a DD-WRT enabled router. It is used to store user programs like Ipkg and data into otherwise inaccessible flash memory. This allows you to save custom configuration files, host custom Web pages stored on the router and many other things not capable without 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".
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 (defaultnya 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 belum kami)
Protokol file: SCP
Pilih Muka, dan kemudian hapus centang "Cari kelompok pengguna".
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 ".
Setelah file berada di router, kita perlu membuatnya dieksekusi dengan memilihnya (lagi gunakan "insert") klik kanan lalu "properties".
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".
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:
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 adalah 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 di 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 domain apa pun yang berisi "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 memiliki pekerjaan untuk hal 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 penyiapan Anda.
Nikmati!
Penyelesaian masalah
Jika Anda mengalami masalah ada beberapa hal yang dapat Anda lakukan untuk memeriksa apa yang salah.
-
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:
- Mengulangi. Untuk memastikan tidak ada apa pun dengan penyetelan router Anda bentrok dengan konfigurasi blok iklan, pulihkan router ke "Default Pabrik" dan coba lagi. Setelah Anda berhasil menambahkan perubahan kustom Anda dengan harapan bahwa mereka tidak bentrok lagi.
- 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.
- 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".
- Tutup browser. Terkadang browser menyimpan informasi dalam cache, jadi membersihkan cache DNS seperti yang ditunjukkan di atas tidak membantu.
- Saat ragu reboot. Terkadang cache dapat bertahan dan cara terbaik untuk menyingkirkannya adalah dengan reboot. Mulai dengan router dan jika masalah berlanjut, komputer klien.
-
Gunakan syslog. Anda dapat mengaktifkan daemon syslog router dan kemudian melihat pesan untuk melihat apakah skrip menemukan masalah apa pun, 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".
- 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.