홈페이지 » 어떻게 » DD-WRT에서 Pixelserv를 사용하여 광고를 제거하는 방법

    DD-WRT에서 Pixelserv를 사용하여 광고를 제거하는 방법

    브라우저에서 광고를 차단하는 방법은 다양하지만 라우터에서 차단할 수 있다면 어떻게해야합니까? DD-WRT 펌웨어를 사용하고 "DNS 중독"을 심의하여 네트워크의 모든 장치에 대한 광고를 차단하는 방법은 다음과 같습니다.

    개요

    최신 정보: 가이드가 의견 제시 자의 의견을 반영하도록 업데이트되었으며 최신 광고 서버 실행 파일과 변경 내역으로 광고 방지 팩을 업데이트했습니다..

    모든 사람들의 마음에 대한 첫 번째 질문은 "왜 광고 블록을 사용하지 않는 것입니까?"입니다.

    많은 사람들이 크롬을 사용하고있는 모든 컴퓨터에 사용하는 확장 기능을 복제 할 수있는 크롬의 새로운 기능이있는 이유는 아닙니다..

    대답은 귀하의 네트워크에서 모든 사용자에게 광고 차단 (나는 당신, 엄마, 할머니, 사무실 비서와 이야기하고 있음)에 대해 신경 쓰지 않아도되고, 설정 한 모든 컴퓨터. 이것은 네트워크 상에 개인 환경을 구성하지 않을 컴퓨터가있을 것이라고 가정합니다 (예 : "코어 서버"또는 VM).

    노트: 비록 내가 가정용 라우터에서 아래의 방법을 사용한다고해도, 광고 블록이 훌륭한 추가 기능을 제공한다는 것을 알았고, 두 방법을 동시에 사용하는 것이 좋습니다. 또한 광고 블록을 사용하는 DD-WRT 라우터가 없다면 더 충분할 것입니다. 사실, 나는이 프로그램을 너무 좋아한다. 나는 개발자에게 기부했고, 모든 사람들이 발전을 계속하도록 격려한다..

    어떻게 작동하나요??

    본질적으로 이는 승인되지 않은 목록의 도메인에 대해 특정 IP를 반환하도록 의도적으로 DNS를 중독함으로써 작동합니다. 이 승인되지 않은 목록에는 광고 콘텐츠를 전적으로 제공하는 사이트의 도메인 이름이 포함되므로 많은 것을 놓치지 않을 것입니다..

    라우터에 보조 HTTP 서버를 설정하여 모든 URL 요청에 대한 응답으로 투명 한 픽셀 이미지를 제공합니다. DNS "잘못된"문제 해결과 함께 네트워크 클라이언트가 내부 픽셀 서버의 콘텐츠를 요청하고 응답으로 빈 이미지를 가져옵니다..

    승인되지 않은 목록을 생성하기 위해 동적으로 다운로드되는 두 개의 목록과 함께 개인 목록을 하나 만듭니다. 동적 목록은 MVPS 호스트 파일과 Yoyo 도메인 목록이며 함께 광고 사이트의 매우 광범위한 목록을 보유합니다. 이 목록을 활용함으로써 우리는 개인 목록에 이미없는 사이트의 델타를 추가하는 책임을 맡습니다..

    어떤 이유로 든 차단되기를 원하지 않는 도메인에 대한 "허용 목록"을 설정할 것입니다..

    전제 조건 및 가정

    • 인내 젊은이, 이것은 오랫동안 읽었습니다..
    • 이 절차는 DD-WRT (v24pre-sp2 10/12/10 mini r15437), 당신은 이미이 버전을 가지고 있거나 나중에 라우터에 설치해서 사용해야합니다. DD-WRT 사이트에 대한 자세한 내용.
    • 설명을 쉽게하기 위해 라우터가 "공장 기본값"으로 복원되었거나 사용 된 설정이 "기본 설정"사전 설정에서 변경되지 않았다고 가정합니다..
    • 클라이언트 컴퓨터가 라우터를 DNS 서버로 사용하고 있습니다 (기본값)..
    • JFFS를위한 공간 (의심 스러울 때 미니 DD-WRT 버전).
    • 네트워크가 * 이미 설정되어 있고 그 클래스 C 네트워크 (x.y.z)의 마지막 IP로 클래스 C (서브넷이 255.255.255.0 인 네트워크)라고 가정합니다..254)가 픽셀 서버 프로그램에 할당됩니다.
    • winSCP 설치 의향.

    * 스크립트는 첫 번째 실행 후 다음 새로 고침주기 (3 일)까지 차단 목록을 조정할 수 없습니다..

    크레딧

    최신 정보: Atheros 호환 버전을 컴파일하기위한 "Oki"와 QA-ing을 돕기위한 "Nate"는 그의 작업이없는 위대한 C 코드의 "mstombs"에 특히 감사드립니다..

    마지막으로이 절차를 완벽하게 완료하는 데 많은 노력이 있었지만 DD-WRT 포럼에 참석 한 사람들은이 아이디어에 대한 영감을 불어 넣었으며이 가이드의 기초 중 일부는 "DD- WRT revisited (simple) ","펄이없는 pixelserv, 무료 jffs / cifs / usb가없는 "및"Flexion.Org 위키 on DNSmasq "등.

    깨지게하자.

    SCP 액세스를위한 SSH 사용

    SSH를 활성화하면 SCP 프로토콜을 사용하여 라우터에 연결할 수 있습니다. 이를 사용하면 winSCP 프로그램을 사용하여 라우터의 폴더 구조를 시각적으로 탐색 할 수 있습니다 (나중에 살펴 보 겠지만).

    이렇게하려면 webGUI를 사용하여 "서비스"탭으로 이동하십시오. "Secure shell"섹션을 찾고 SSHd 설정을위한 "Enable"라디오 버튼을 클릭하십시오.

    완료되면 webGUI가 아래와 같이 표시되고 "저장"을 클릭 할 수 있습니다 (하지마. 아직 신청하지 않음).

    JFFS 사용

    될 수있는 방법으로이 설정을하려면 안정된, 재현성 있고 * "좋은 인터넷 시민"이 되려면 JFFS를 사용하여 최대한 많은 구성을 저장해야합니다. JFFS를 사용하지 않고이 작업을 수행 할 수있는 다른 방법이 있습니다. 공간 제한으로 인해 수행 할 수 없지만 여기서는 다루지 않습니다..

    * 다른 방법은 스크립트가 실행될 때마다 라우터가 픽셀 서버 실행 파일과 동적 목록을 다운로드하도록합니다. 이것은 목록과 실행 파일을 보유하고있는 서버에 부담을 주며 누군가에게 돈을 요구하기 때문에 가능한 경우이 메소드는이를 피하려고 시도합니다.

    JFFS가 무엇인지 아직 모르는 경우, JFFS에 관한 DD-WRT의 위키 항목에서 가져온이 설명은 다음 사항을 정리해야합니다.

    저널링 플래시 파일 시스템 (JFFS)을 사용하면 쓰기 가능한 Linux 파일 시스템을 DD-WRT 지원 라우터에 둘 수 있습니다. Ipkg와 같은 사용자 프로그램과 데이터를 액세스 할 수없는 플래시 메모리에 저장하는 데 사용됩니다. 이를 통해 사용자 정의 구성 파일을 저장하고 라우터에 저장된 사용자 정의 웹 페이지 및 JFFS 없이는 불가능한 많은 다른 것들을 저장할 수 있습니다.

    라우터에서 JFFS를 사용하려면 "관리"탭으로 이동하여 JFFS 섹션을 찾으십시오. 아래 그림은 "관리"탭에서이 섹션을 찾을 수있는 위치를 보여줍니다..

    JFFS2 Support 섹션에서 "JFFS2"에 대한 "Enable"라디오 버튼을 클릭하고 "Clean JFFS2"설정 (나타나는 경우)을 클릭하십시오. 선택이 끝나면 "저장"을 클릭하십시오..

    설정이 저장 되었으면 "관리"탭에서 "라우터 재부팅"버튼을 사용하여 라우터를 재부팅하십시오. 이렇게하면 설정이 적용되고 JFFS "파티션"에 필요한 "형식"이 수행됩니다..

    웹GUI가 재부팅에서 다시 "관리"탭으로 돌아 오면 추가 30 분을 기다렸다가 페이지를 새로 고칩니다..

    성공하면 JFFS 마운트에 그림과 같이 여유 공간이 있음을 확인해야합니다.

    픽셀 서버 설정

    dd-wrt zip 아카이브에 대한 반 광고 패키지를 다운로드하고 압축을 풉니 다. 광고 서버 실행 파일 (광고는 "핫 링크"만 제외), 광고 차단 스크립트 (귀하가 실제로 작성한 것) "Mithridates Vii Eupator"가 작성한 도메인 목록.

    이제 파일을 라우터의 JFFS 마운트로 가져올 시간입니다. 이렇게하려면 winSCP를 설치하고 (설치의 "다음 -> 다음 -> 완료"유형입니다) 열고 엽니 다.

    기본 창에서 다음과 같은 정보를 입력하십시오.

    호스트 이름 : 라우터의 IP (기본값은 192.168.1.1)

    포트 번호 : 22로 변경하지 않습니다.

    사용자 이름: 뿌리 (webGUI의 사용자 이름을 변경하더라도 SSH 사용자는 항상 * root *)

    비공개 키 파일 : 비워 둡니다 (키쌍 기반의 인증을 만들 때만 필요함)

    파일 프로토콜 : SCP

    winSCP는 DD-WRT의 개발자들이 훌륭한 작업에도 불구하고 제공 할 수 없었던 리눅스를 기대하기 때문에 "Lookup user group"을 비활성화해야합니다 (mstombs가 이것을 지적 해주었습니다). (주로 공간이 부족하기 때문에). 이 확인란을 선택하지 않으면 편집 된 파일을 연결하고 저장할 때 무서운 메시지가 표시됩니다.

    고급을 선택한 다음 "사용자 그룹 조회"를 선택 취소하십시오..

    선택 사항이지만 나중에 사용할 수 있도록 설정을 저장하도록 선택할 수 있습니다. 권장 설정을 저장하도록 선택하면 암호를 저장한다는 ( "보안 편집증"망신에서 철저히 외침을 받음에도 불구하고 SSH의 존재를 모독하고 있음에도 불구하고) 암호를 저장하는 것이 좋습니다.

    그런 다음 메인 윈도우가 그림과 같이 나타나고 라우터에 연결하기 위해해야 ​​할 일은 항목을 두 번 클릭하는 것입니다..

    라우터에 처음 연결할 때 winSCP는 상대방의 지문을 신뢰할 의향이 있는지 묻습니다. 계속하려면 "예"를 클릭하십시오..

    DD-WRT의 개발자는 설치 한 펌웨어에 대한 정보가있는 Banner 환영 메시지를 구현했습니다. 빨간색으로 변하면 "이 배너를 다시 표시하지 않음"확인란 및 "계속"을 클릭하십시오..

    일단 연결되면 최상위 폴더 (AKA 루트 "/")로 이동 한 다음 라우터 파일 시스템에서 영구적으로 쓸 수있는 유일한 장소이기 때문에 "/ jffs"로 다시 이동합니다 ( "/ tmp"는 재부팅을 견디지 못함). 나머지는 읽기 전용 임).

    새 폴더를 만들려면 F7을 누르거나 빈 곳을 마우스 오른쪽 버튼으로 클릭하고 '새로 만들기'위로 마우스를 가져간 다음 '디렉토리'를 클릭하십시오..

    새 디렉토리의 이름을 "dns"로 지정하십시오. 나중에 사용할 수 있도록 jffs 디렉토리에있는 것들을 유지하기 위해 그리고 우리가 DNS 서비스가 어떻게 작동하는지 대부분 바꾸기 때문에이 디렉토리를 생성합니다.

    anti-ads-pack-for-dd-wrt zip 아카이브에서 "pixelserv"및 "disable-adds.sh"파일을 선택하고 ( "삽입"키 사용) "F5"를 누른 다음 "복사 ".

    참고 : 라우터가 Atheros 기반 인 경우 (DD-WRT 위키에서 확인할 수 있음) Oki에서 제공하고 해당 팩에 포함 된 pixelserv_AR71xx를 사용해야하고 계속하기 전에 이름을 "pixelserv"로 바꿔야합니다.

    일단 파일이 라우터에 있다면, 우리는 그들을 (다시 "삽입"을 사용하여) 오른쪽 클릭 후 "속성"을 선택하여 실행 가능하게 만들 필요가 있습니다..

    속성 창에서 "소유자"행의 "X"를 클릭하십시오. 파일 실행 권한을 부여합니다..

    라우터 설정

    이제 무대가 설정되었으므로 시작시 광고 차단 스크립트를 실행하도록 라우터에 알릴 수 있습니다.
    이렇게하려면 webGUI에서 "관리"탭으로 이동 한 다음 "명령"탭으로 이동하십시오.

    "Commands"텍스트 상자에 그림과 같이 스크립트 위치를 "/jffs/dns/disable_adds.sh"로 쓰고 "Save Startup"을 클릭하십시오..

    성공하면 위 그림과 같이 스크립트가 라우터의 시작 부분이되었음을 확인해야합니다.

    개인 차단 도메인 목록 설정 (선택 사항)

    이 목록을 사용하면 승인되지 않은 목록에 도메인을 추가 할 수 있습니다. 두 동적 목록이 무언가를 잡지 못하는 경우 도메인을 추가 할 수 있습니다..
    이렇게하려면 두 가지 옵션이 있으며 함께 사용되므로 더 편리하게 사용할 수 있습니다..

    노트 : 그만큼 구문이 중요하다., 우리가 실제로 DNSMasq 데몬 (DNS 이름 - IP 변환을 담당하는 프로세스)이 직접 사용하는 구성 지시문을 만드는 중입니다. 따라서 여기에 잘못된 구문이 있으면 서비스가 중단되고 라우터가 도메인 이름에 대한 IP 주소를 확인할 수 없게됩니다 (귀하에게 경고했습니다).

    문제가되는 도메인 이름을 찾으려면 "웹 사이트 헤더에서 비밀 메시지 찾기"안내서를 입문서로 사용하는 것이 좋습니다. 광고 도메인의 이름을 찾는 단계는 사실상 동일합니다.이 경우에는 메시지 대신 주소를 찾고 있습니다..

    첫번째 그리고 좀 더 접근하기 쉬운 방법은 목록을 wegGUI의 "DNSMasq"설정 박스에 넣는 것입니다. 이것은이 목록에 추가하기 때문에 변경 사항을 적용하기 위해 "내부"로 이동하지 않고 webGUI에 액세스 할 수 있기 때문입니다..

    "Services"탭에서 "DNSMasq"섹션을 찾아 "Additional DNSMasq Options"텍스트 상자를 찾으십시오..

    이 텍스트 상자에 차단하려는 도메인 목록을 아래 그림과 같이 "address = / domain-name-to-block / pixel-server-ip"구문으로 입력하십시오.

    이 예제에서 "192.168.1.254"는 LAN의 "네트워크 주소"를 기반으로 픽셀 서버용으로 생성 된 IP입니다. 네트워크 주소가 192.168.1.x가 아닌 다른 주소이면 픽셀 서버의 주소를 적절하게 조정해야합니다.

    완료되면 페이지 하단의 "저장"을 클릭하십시오 (아직 적용되지 않음)..

    두번째 옵션은 차단하려는 도메인 목록을 나 자신과 "Mithridates Vii Eupator"가 조합 한 "personal-ads-list.conf"파일에 합성하는 것입니다. 이 파일은 이전에 다운로드 한 zip 아카이브의 일부이며 두 가지 방법 모두에 훌륭한 시작입니다..

    필요하다면 그것을 사용하기 위해, 좋아하는 텍스트 편집기를 사용하여 픽셀 서버의 IP를 조정하십시오 (위의 것과 동일한 제약 조건이 여기에 적용됩니다). 그런 다음 다른 파일을 가지고있는 것처럼 "/ jffs / dns"디렉토리에 복사하십시오. 일단 거기에 들어가면 winSCP를 사용하여 편집하고 도메인을 추가 할 수 있습니다..

    화이트리스트 설정

    동적 "호스트"및 "도메인"목록에서 생략 될 도메인 목록입니다..

    이는 일부 도메인을 차단하는 것이 사이트를 잘못 사용하여 사이트를 오작동시킬 수 있기 때문에 필요합니다. 가장 주목할만한 예는 "google-analytics.com"입니다..

    도메인을 차단하면 사이트를 사용하는 사이트가 변경 되어도 브라우저가 페이지를 떠나는 등의 이벤트에서 실행되는 JavaScript를 다운로드하게됩니다. 즉, 브라우저가 Google 도메인에 접속하여 "집에 전화"하려고하는 사이트의 경우 회신을 이해하지 못하므로 스크립트가 시간 초과되어 다음 페이지로 넘어갈 때까지 기다려야합니다. 그건 즐거운 서핑 경험이 아니기 때문에 "google-analytics"와 "googleadservices"가 포함 된 도메인은 필터링에서 제외됩니다.

    이 목록은 위의 언급 도메인에서 스크립트가 처음 실행될 때 "/ jffs / dns"디렉토리 아래에 생성됩니다.

    허용 목록을 사용하려면 파일을 winSCP로 열고 **~을 연결하다 제외하려는 도메인을 목록에 추가하고 빈 줄을 남기지 않도록주의하십시오 (빈 줄을 남겨두면 모든 목록에서 모든 도메인이 삭제됨).

    * 스크립트는 처음 실행될 때 도메인 내에 화이트리스트를 작성하지만 향후 실행을 위해 자신의 선물을 고집하지는 않습니다. 그래서 위에서 언급 한 문제에도 불구하고 Google이 차단되어야한다고 생각하면 허용 목록에서 도메인을 삭제할 수 있습니다..

    ** 목록의 처음에 원하는 새 도메인을 입력해야합니다. 이것은 bash가 새로운 라인을 어떻게 해석하는지에 대한 버그 때문입니다. 미안하지만 아직 해결되지 않았습니다..

    실행

    이것이 마지막으로 스크립트를 호출하고 라우터를 다시 시작하여 결과를 볼 시간입니다..

    webGUI에서이를 수행하려면 "관리"탭에서 "관리"로 돌아가서 페이지 하단의 "재부팅 라우터"를 클릭하고 라우터가 다시 돌아올 때까지 기다립니다..

    스크립트가 처음으로 의무를 수행하는 데 몇 분이 걸릴 수 있습니다..

    WRT54Gx 유형의 라우터에서는 라우터 전면에있는 시스코 주황색 LED가 깜박이기 때문에 스크립트 실행이 완료된 것을 알 수 있습니다 (다른 라우터는 비슷한 "꼬리말"기호가 있어야 함).

    업데이트 :이 부분은 하드웨어가 아닌 도구가 아닌 것으로 판명 된 후 제거되었습니다..

    우리가 웹상에 요소들의 부재를 보려고 할 때, 나는 영향을보기 위해서 단순히 두 곳의 서핑을하는 것이 좋습니다..

    그러나 절차가 성공적으로 수행되었는지 확인하려면 문제 해결 섹션의 첫 번째 디버그 단계를 시작할 수있는 좋은 곳입니다..

    * 실제로 주석 처리되었으므로 설정에 문제가 없다고 확신 할 경우 복원 할 수 있습니다..

    즐겨!


    문제 해결

    문제가 발생하면 무엇이 잘못되었는지 확인하기 위해 할 수있는 몇 가지 방법이 있습니다..

    1. 광고 도메인이 pixelserv IP로 확인되는지 테스트합니다..
      "문제가되는"도메인에 대해 nslookup 명령을 실행하여이 작업을 수행 할 수 있습니다. 예를 들어 "ad-emea.dubleclick.com"은 개인 목록에있는 차단 된 호스트의 일부입니다. 명령 프롬프트에서 "nslookup ad-emea.dubleclick.com"을 실행하면 결과는 다음과 같아야합니다.

      일반적인 차단되지 않은 응답은 다음과 같습니다.

    2. 끝내다.
      라우터 설정이 아무것도 광고 블록 구성과 충돌하지 않는지 확인하려면 라우터를 "출고시 기본값"으로 복원하고 다시 시도하십시오. 일단 당신이 당신의 성공을 추가하면 그들이 다시 충돌하지 않기를 바란다..
    3. 클라이언트가 라우터를 DNS로 사용하고 있는지 확인하십시오..
      특히 VPN 또는 네트워크가 일반 라우터와 컴퓨터 사이에 더 복잡한 네트워크를 사용할 때 클라이언트 컴퓨터가 라우터를 DNS로 사용하지 않고있을 가능성이 있습니다. 위의 명령에서 클라이언트가 사용하고있는 DNS 서버가 무엇인지 쉽게 확인할 수 있습니다. IP가 라우터와 동일하지 않은 경우 문제를 발견했습니다..
    4. 개인 컴퓨터 DNS 캐시 지우기.
      이는 컴퓨터가 DNS에 대한 문의없이 광고 콘텐츠를 자체적으로 가져 오는 방법을 이미 알고 있기 때문에 테스트를 통해 사이트에 광고가 계속 표시 될 수 있기 때문입니다. 창문에서 이것은 "ipconfig / flushdns"가 될 것입니다..
    5. 브라우저 닫기.
      때로는 브라우저가 캐시 된 정보를 보유하기 때문에 위와 같이 DNS 캐시를 지우는 것이 도움이되지 않습니다..
    6. 의심스러운 경우 재부팅.
      때로는 캐시가 지속될 수 있고 제거하는 가장 좋은 방법은 다시 부팅하는 것입니다. 라우터로 시작하고 문제가 지속되면 클라이언트 컴퓨터.
    7. syslog 사용.
      라우터의 syslog 데몬을 활성화 한 다음 해당 메시지를 검토하여 스크립트에서 문제가 발생했는지 확인하십시오. 또한이 스크립트는 디버깅을 쉽게하기 위해 몇 가지 명령 별칭을 추가합니다..
      이렇게하려면 "서비스"탭으로 이동하여 아래 그림과 같이 syslog 데몬을 활성화하십시오.

      참고 : "원격 서버"는 다른 시스템에 청취 syslog 서버가있는 경우 (예 : 키위) 당신이 그것을 가지고 있지 않다면, 단순히 비워 두십시오..

      활성화되면 디버그 메시지를 볼 수 있습니다. / var / logs / messages 터미널에있는 파일.
      * 부트 업에서 모든 메시지를 보려면 "more / var / log / messages"를 사용할 수 있습니다..
      * 로그에서 스크립트의 메시지를 보려면 "clog"별명을 사용하십시오.
      * 그들이 들어오는 메시지를 실시간으로 보려면 "tail -f / var / log / messages"또는 별칭 "tlog"를 사용하십시오..
    8. 스크립트 이해.
      이 가이드와 스크립트의 이전 버전 용 YouTube 비디오를 만들었지 만 새롭고 향상된 버전의 작동 방법에 적용 할 수있는 많은 진리와 설명을 여전히 보유하고 있습니다..
    반 광고 패키지 다운로드.

    라우터 신이 당신의 호의를 가질 수 있기를 바랍니다.