Firefox에서 애드온 없이 광고 차단

4981 단어 firefox
macOS 파이어 폭스에서 애드온없이 도메인 기반 사이트 차단을하는 방법에 대해.

말할 필요도 없이 광고는 웹사이트의 중요한 소득원입니다.
잘 배치된 아름다운 광고는 웹사이트 콘텐츠 중 하나라고 할 수 있습니다.
한편, 웹사이트의 미관을 해칠 뿐의 광고나, 보는 사람을 해치는 협박한 광고, JavaScript로 유저의 자원을 낭비하게 소비하는 것만의 성가신 광고가 많은 것도 사실입니다.



이 광고는 항상 스크롤되므로 매우 눈에 띄는 것 외에도 ExcelVBA 책을 게재하는 등 궤도를 벗어납니다.
이러한 것은 광고 게재 플랫폼별로 표시를 거부하는 것이 좋습니다.

그래서 Firefox에 애드온을 도입하려고 했는데, 유명한 곳의 AdBlock Plus도 uBlock Origin도 too much로 보였기 때문에 Firefox의 기본 기능만으로 도메인 지정 사이트 블록을 할 수 없는지 시도해 보았습니다.

차단할 도메인 조사


ツール > ウェブ開発 > インスペクター에서 관리자를 시작하고 광고 위젯의 iframe 또는 script 요소의 src에 지정된 URL을 찾습니다.
이전 광고는 http://xml.affiliate.rakuten.co.jp에서 JavaScript가 게재되는 것 같습니다.

도메인 차단



Native content blocking in Firefox without installing any extensions에 따르면 Firefox 프로필에 포함된 permissions.sqlite를 직접 편집하면 도메인을 지정하여 콘텐츠 로드를 차단할 수 있습니다.

Firefox 프로필은 ~/Library/Application\ Support/Firefox/Profiles/q4xjykpp.default에 있습니다. ( q4xjykpp 부분은 환경에 따라 다를 수 있습니다)
먼저 이 디렉토리로 이동합니다.

프로필 디렉토리로 이동하는 명령
cd ~/Library/Application\ Support/Firefox/Profiles/*.default

사용 권한 설정은 permissions.sqlite에 기록되어 있습니다.
이 파일은 sqlite라는 데이터베이스이므로 sqlite에 액세스하는 명령이 있는지 확인합니다.

sqlite3 명령이 있는지 확인
sqlite3 --version

실행 결과(예)
3.16.0 2016-11-04 19:09:39 0e5ffd9123d6d2d2b8f3701e8a73cc98a3a7ff5f

이와 같이 버전 번호가 표시되면 sqlite3 명령이 존재합니다.

만약, sqlite3: command not found라고 말해 졌을 경우는, 다음과 같이 해 설치합니다.

sqlite3을 설치하는 명령
brew update
brew install sqlite3

그런 다음 현재 설정된 사용 권한 설정을 확인해 봅니다.

moz_perms 테이블의 내용을 확인하는 명령
(echo ".headers on"; \
echo ".mode column"; \
echo ".width 4 40"; \
echo "select * from moz_perms;") | \
sqlite3 permissions.sqlite

실행 결과(예)
id    origin                                    type         permission  expireType  expireTime  modificationTime
----  ----------------------------------------  -----------  ----------  ----------  ----------  ----------------
1     https://outlook.office.com                offline-app  1           0           0           1491799577598   
2     https://teams.microsoft.com               offline-app  1           0           0           1491811815188   
4     http://www.openstreetmap.org              geo          1           0           0           1497640565896   
7     https://wired.jp                          desktop-not  2           0           0           1512983172841
.
.
.

지금까지 확인한 후 sqlite3 명령을 사용하여 http://xml.affiliate.rakuten.co.jp에서 JavaScript를로드하지 못하도록 설정을 추가해보십시오.

permissions.sqlite에 항목을 추가하는 명령
echo "INSERT INTO 'moz_perms' (origin, type, permission) VALUES('http://xml.affiliate.rakuten.co.jp', 'script', '2');" | \
sqlite3 ./permissions.sqlite

추가가 끝나면 제대로 추가되었는지 확인해 봅니다.

moz_perms 테이블의 내용을 확인하는 명령
(echo ".headers on"; \
echo ".mode column"; \
echo ".width 4 40"; \
echo "select * from moz_perms;") | \
sqlite3 permissions.sqlite | \
grep rakuten

실행 결과(예)
57    http://xml.affiliate.rakuten.co.jp        script       2                                                   

그런 다음 Firefox를 다시 시작하면 방금 광고가 사라질 것입니다.

좋은 웹페이지 즐겨찾기