본문으로 건너뛰기
고급 기능

고급 기능

규칙

옵션 페이지뿐만 아니라 “이 사이트 차단” 대화상자에서도 사이트를 차단하는 규칙을 편집할 수 있습니다.

규칙 편집기

일치 패턴 또는 표현식을 사용하여 규칙을 작성할 수 있습니다.

일치 패턴

일치 패턴은 와일드카드를 포함하는 URL입니다. 자세한 내용은 MDN 웹 문서에서 확인할 수 있습니다.

다음은 유효한 일치 패턴의 예시입니다:

패턴 일치하는 예시
*://example.com/*

(example.com에서 호스팅되는 URL)
http://example.com/

https://example.com/hoge
*://*.example.net/*

(example.net 또는 해당 서브도메인에서 호스팅되는 URL)
http://example.net/

https://foo.example.net/hoge
*://example.org/hoge/*

(/hoge/로 시작하는 경로를 가지며 example.org에서 호스팅되는 URL)
http://example.org/hoge/fuga.html

다음은 유효하지 않은 일치 패턴의 예시입니다:

유효하지 않은 패턴 이유
*://www.qinterest.*/ *이(가) 시작 부분에 있지 않습니다.

표현식

표현식을 사용하여 규칙을 작성할 수 있습니다.

변수

현재 표현식에서는 url과 title을 사용할 수 있습니다.

# URL에 "example"이 포함된 검색 결과
url *= "example"

# 제목이 "Something"으로 시작하는 검색 결과
title ^= "Something"

URL의 일부인 scheme, host, path도 사용할 수 있습니다.

# 스킴(scheme)이 HTTP인 검색 결과
scheme="http"

# 호스트가 ".example.com"으로 끝나는 검색 결과
host $= ".example.com"

# 대소문자를 구분하지 않고 경로에 "blah"가 포함된 검색 결과
path*="blah"i

또한 검색 엔진 결과 페이지의 속성도 사용할 수 있습니다. 현재는 $site와 $category를 사용할 수 있습니다.

# Google 검색에서 YouTube 차단
$site="google" & host="youtube.com"

# 이미지 검색에서 Amazon.com 차단
$category = "images" & host = "www.amazon.com"

문자열 일치자

문자열 일치자는 CSS 속성 선택자와 유사합니다.

# 정확히 "Example Domain"인 제목
title = "Example Domain"

# "Example"로 시작하는 제목
title ^= "Example"

# "Domain"으로 끝나는 제목
title $= "Domain"

# "ple Dom"이 포함된 제목
title *= "ple Dom"

대소문자를 구분하지 않고 비교하려면 i 연산자를 사용하세요.

# 대소문자를 구분하지 않고 "domain"으로 끝나는 제목
title $= "domain" i

정규 표현식

정규 표현식을 사용하여 더 유연한 표현식을 작성할 수 있습니다.

# "example.net" 또는 "example.org"가 포함된 URL
url =~ /example\.(net|org)/

# "=~"는 생략 가능
url/example\.(net|org)/

# "url"은 생략 가능
/example\.(net|org)/

# 대소문자를 구분하지 않고 "example domain"이 포함된 제목
title =~ /example domain/i

정규 표현식은 JavaScript의 정규 표현식 리터럴이어야 하며, /로 감싸야 합니다(예: /example\.(net|org)/).

다음은 유효한 정규 표현식의 예시입니다:

정규 표현식 일치하는 예시
/^https:\/\/www\.qinterest\./

(https://www.qinterest.(으)로 시작하는 URL)
https://www.qinterest.com/

https://www.qinterest.jp/hoge
/^https?:\/\/([^/.]+\.)*?xn--/

(국제화 도메인 네임(IDN)을 포함하는 URL)
http://例.テスト/

다음은 유효하지 않은 정규 표현식의 예시입니다:

유효하지 않은 정규 표현식 이유
^https?:\/\/example\.com\/ /로 감싸져 있지 않습니다.
/^https?://example\.com// 내부의 /가 이스케이프되지 않았습니다.

논리 연산자

논리 “not” (!), “and” (&), “or” (|)이 지원됩니다.

# HTTPS 이외의 스킴 차단
!scheme="https"

# 이미지 검색에서 Amazon.com 차단
$category = "images" & host = "www.amazon.com"

# 대소문자를 구분하지 않고 "example" 또는 "domain"이 포함된 제목
title *= "example" i | title *= "domain" i

일치 패턴과 함께 표현식 사용

일치 패턴에 @if(expression)을 추가할 수 있습니다.

# 이미지 검색에서 Amazon.com 차단
*://*.amazon.com/* @if($category="images")

차단 해제 규칙

@로 시작하는 일치 패턴이나 정규 표현식은 지정된 사이트가 차단되지 않음을 의미합니다.

구독에 의해 차단된 사이트를 차단 해제하는 데 사용할 수 있습니다. 예를 들어 http://example.com/이 구독에 의해 차단된 경우, @*://example.com/*을 사용하여 차단을 해제할 수 있습니다.

강조 규칙

@N(N=1, 2, 3…)으로 시작하는 일치 패턴이나 정규 표현식은 지정된 사이트가 강조됨을 의미합니다.

예를 들어, @1*://example.com/*을 사용하여 example.com을 강조할 수 있습니다.

example.com 강조

기본적으로 @1(파란색)만 사용할 수 있습니다. 강조 색상을 변경하거나 추가하려면 옵션 페이지의 “모양” 섹션을 참조하세요.

주석

주석은 #으로 시작합니다. 규칙으로 해석할 수 없는 줄은 사실상 주석으로 처리되지만, # 주석이 두 가지 측면에서 더 좋습니다:

  1. 향후 새로운 문법이 도입되더라도 # 주석은 계속 주석으로 유지되는 것이 보장됩니다.
  2. # 주석은 규칙 뒤에 배치할 수 있습니다.
# example.com 또는 해당 서브도메인에서 호스팅되는 페이지 차단
*://*.example.com/*

/example\.(net|org)/ # URL에 example.net 또는 example.org가 포함된 페이지 차단

기타 검색 엔진

이 확장 프로그램은 Bing, Brave, DuckDuckGo, Ecosia, SearXNG, Startpage.com, Yahoo! JAPAN, Yandex를 지원합니다. 이 기능은 기본적으로 비활성화되어 있으며 옵션 페이지에서 활성화할 수 있습니다.

SERPINFO 옵션 열기

SERPINFO 옵션

동기화

Google Drive, Dropbox, OneDrive, WebDAV 서버 또는 브라우저 내장 동기화 기능을 사용하여 여러 기기 간에 규칙 세트 및 기타 설정을 동기화할 수 있습니다.

동기화를 켜려면 옵션 페이지에서 “동기화 켜기” 버튼을 클릭하고 동기화 방법을 선택하세요.

동기화 켜기

대화상자의 안내에 따라 인증을 진행하세요. 인증에 성공하면 설정이 정기적으로 동기화됩니다.

“동기화할 항목” 목록에서 동기화할 대상을 선택할 수 있습니다. 대화상자의 “초기 동기화” 옵션은 첫 동기화 시 로컬 설정과 원격 설정이 다를 때 어느 버전을 유지할지 결정합니다.

Google Drive

Firefox 또는 그 파생 브라우저를 사용하는 경우 https://www.googleapis.com에 대한 접근 권한을 허용해야 합니다.

규칙 세트는 Google Drive의 애플리케이션 데이터 폴더에 저장됩니다. 이 폴더는 사용자에게 표시되지 않지만, Google Drive의 설정 페이지에서 삭제할 수 있습니다.

Dropbox

규칙 세트는 Dropbox의 /Apps/uBlacklist/ 폴더에 저장됩니다. 폴더 이름은 사용하는 언어에 따라 다를 수 있습니다.

OneDrive

https://login.microsoftonline.com에 대한 접근 권한을 허용해야 합니다.

규칙 세트는 OneDrive의 /Apps/uBlacklist/ 폴더에 저장됩니다.

Safari에서는 OneDrive를 사용할 수 없습니다.

WebDAV

WebDAV 서버의 폴더 URL과 사용자 이름, 비밀번호를 입력하세요. 해당 URL에 대한 접근 권한을 허용해야 합니다.

규칙 세트는 지정된 폴더에 저장되며, 폴더가 없으면 새로 생성됩니다.

브라우저

이 방법은 브라우저의 기본 내장 동기화 기능을 사용하므로 동기화 주기는 브라우저에 따라 다릅니다. 브라우저의 동기화 저장소에는 용량 제한이 있으므로 규칙 세트가 너무 크다면 규칙 수를 줄이거나 다른 동기화 방법으로 전환하세요.

Safari 및 Firefox for Android에서는 브라우저 동기화를 사용할 수 없습니다.

구독

공개 규칙 세트를 구독할 수 있습니다. 알려진 공개 구독 목록은 구독 페이지에서 확인할 수 있습니다.

구독을 추가하려면 “구독 추가” 버튼을 클릭하고 이름과 URL을 입력하세요. 해당 URL 출처(origin)에 대한 접근 권한을 허용해야 합니다.

구독 추가

구독 항목을 확인, 업데이트 또는 제거할 수 있습니다.

구독 관리

구독 배포하기

규칙 세트를 구독으로 배포하려면 UTF-8로 인코딩된 규칙 세트 파일을 적절한 HTTP(S) 서버에 올리고 해당 URL을 공개하세요.

규칙 세트 맨 앞에 YAML 프런트매터(frontmatter)를 추가할 수 있습니다. name 변수를 설정하는 것을 권장합니다.

---
name: 규칙 세트 이름
---
*://*.example.com/*

GitHub에 구독을 호스팅하는 것도 좋은 방법입니다. 반드시 raw URL(예: https://raw.githubusercontent.com/iorate/ublacklist-example-subscription/master/uBlacklist.txt)을 공개하세요.

Raw URL

구독 링크

참고

이 기능은 v8.11.0 이상에서 사용할 수 있습니다. 사용자는 확장 프로그램의 옵션 페이지에서 “규칙 세트 구독 링크 활성화"를 켜서 이 기능을 명시적으로 활성화해야 합니다.

구독을 더 쉽게 공유할 수 있도록 다음 형식으로 구독 링크를 만들 수 있습니다:

https://ublacklist.github.io/rulesets/subscribe?url=<url-encoded-url>

여기서 <url-encoded-url>은(는) URL 인코딩된 규칙 세트의 URL입니다. 사용자가 이 링크를 클릭하면 구독 정보가 미리 채워진 상태로 확장 프로그램의 옵션 페이지로 이동하므로 더 쉽게 구독할 수 있습니다.

예를 들어, 규칙 세트가 다음 위치에 호스팅되어 있는 경우:

https://raw.githubusercontent.com/username/repository/master/ublacklist.txt

구독 링크는 다음과 같습니다:

https://ublacklist.github.io/rulesets/subscribe?url=https%3A%2F%2Fraw.githubusercontent.com%2Fusername%2Frepository%2Fmaster%2Fublacklist.txt