
ublockdnsclient v0.3.1
uBlockDNS용 크로스 플랫폼 시스템 DNS 클라이언트로, 기기 전체에서 광고 및 추적기 차단과 실시간 필터 업데이트를 제공합니다.
uBlockDNS 클라이언트
uBlockDNS 클라이언트는 독립 프로젝트이며, uBlock Origin 또는 그 유지관리자와 제휴, 보증, 관련이 없습니다.
uBlockDNS 클라이언트는 DNS 수준의 광고 및 추적기 차단을 기기 전체에 제공합니다. EasyList 및 EasyPrivacy와 같은 커뮤니티 유지관리 필터 목록을 사용하며, DNS 계층에서 적용되므로 브라우저별 확장 프로그램 없이도 앱, 브라우저, 백그라운드 서비스가 모두 보호됩니다.
웹사이트: ublockdns.com
uBlockDNS 클라이언트는 단일 설치 지점, 시스템 전체 보호, uBlockDNS 대시보드를 통한 원격 구성을 원하는 데스크톱 및 서버 환경을 대상으로 합니다.
주요 기능
- 브라우저, 앱, 백그라운드 트래픽에 대한 시스템 전체 DNS 필터링
- uBlockDNS 서비스로의 암호화된 DNS-over-HTTPS 업스트림 연결
- 대시보드에서 실시간 필터 및 사용자 정의 규칙 업데이트
- 상태 확인 및 서비스 관리 명령을 포함한 로컬 서비스 모델
- macOS, Linux, Windows 10+, FreeBSD 크로스 플랫폼 지원
설치
ublockdns.com에서 무료 계정을 만든 후 대시보드의 설정 가이드를 따르세요. 가이드는 복사-붙여넣기 명령과 단계별 지침으로 모든 지원 플랫폼을 다룹니다.
macOS 및 Linux 빠른 설치:
curl -sSfL https://ublockdns.com/install.sh | sh -s -- <profile-id>
호스팅된 설치 스크립트에서 Cloudflare 리디렉션을 따르도록 -L을 사용하세요.
설치 중 시스템 DNS 설정을 업데이트하기 위해 Mac 또는 Linux 관리자 비밀번호를 요청받을 수 있습니다.
설치 프로그램 스크립트 체크섬 확인 (Linux):
curl -sSfLO https://ublockdns.com/install.sh
curl -sSfLO https://github.com/ugzv/ublockdnsclient/releases/latest/download/SCRIPT_SHA256SUMS
grep " install.sh$" SCRIPT_SHA256SUMS | sha256sum -c -
sh install.sh <profile-id>
Windows 10 이상 (관리자 권한 PowerShell):
irm https://ublockdns.com/install?id=<profile-id> | iex
대시보드는 이 부트스트랩 흐름을 사용합니다. /install-script에서 설치 프로그램을 다운로드하며, 이는 직접 /install.ps1 다운로드를 깨뜨릴 수 있는 Cloudflare 리디렉션 문제를 피합니다.
게시된 Windows 설치 프로그램 및 바이너리는 Windows 10 이상이 필요합니다. Windows 7, Windows 8, Windows 8.1은 지원되지 않습니다.
설치 프로그램 스크립트 체크섬 확인 (PowerShell):
iwr https://ublockdns.com/install-script -OutFile install.ps1
iwr https://github.com/ugzv/ublockdnsclient/releases/latest/download/SCRIPT_SHA256SUMS -OutFile SCRIPT_SHA256SUMS
$expected = (Select-String -Path .\SCRIPT_SHA256SUMS -Pattern " install.ps1$").Line.Split()[0].ToLower()
$actual = (Get-FileHash .\install.ps1 -Algorithm SHA256).Hash.ToLower()
if ($actual -ne $expected) { throw "install.ps1 checksum mismatch" }
powershell -ExecutionPolicy Bypass -File .\install.ps1 -ProfileId <profile-id>
Windows GUI 설치 프로그램(.exe)도 릴리스 페이지에서 제공됩니다.
업데이트
서비스는 매일 자동으로 업데이트됩니다. 릴리스는 적용 전에 uBlockDNS 서명 키로 검증됩니다. 서비스 환경에서 UBLOCKDNS_NO_AUTOUPDATE=1을 설정하여 업데이트를 거부하거나, sudo ublockdns upgrade로 수동 업데이트할 수 있습니다.
자동 업데이트는 macOS, Windows, Linux에서 적용됩니다. FreeBSD에서는 rc.d가 종료된 서비스를 다시 시작하지 않으므로 클라이언트가 자동 업데이트되지 않습니다. sudo ublockdns upgrade를 사용하세요. 클라이언트는 시작 시 어떤 모드인지 로그에 기록합니다.
upgrade 명령이 없는 이전 버전: 설치 명령을 한 번 다시 실행하면 자동 업데이트가 적용됩니다.
제거
macOS 및 Linux:
sudo ublockdns uninstall
Windows (관리자 권한 PowerShell):
& "$env:ProgramFiles\uBlockDNS\ublockdns.exe" uninstall
앞의 &가 필요합니다. 없으면 PowerShell은 따옴표로 묶인 경로를 일반 문자열로 취급하고 Unexpected token 'uninstall' 오류를 보고합니다.
제거하면 서비스가 중지되고 이전 DNS 설정이 복원됩니다. 바이너리는 디스크에 남아 있으므로 더 이상 필요하지 않으면 수동으로 삭제하세요. 이후 ublockdns status를 실행하여 시스템 DNS가 더 이상 127.0.0.1을 가리키지 않는지 확인하세요.
기타 플랫폼
대시보드 설정 가이드는 Chrome, Firefox, iOS, Android, 라우터도 다룹니다. 이들은 DNS-over-HTTPS를 직접 사용하므로 이 클라이언트가 필요하지 않습니다.
지원 아키텍처
linux/amd64, linux/arm64, linux/armv7, darwin/amd64, darwin/arm64, windows/amd64, windows/arm64, freebsd/amd64
사용법
ublockdns install -profile <profile-id> 시스템 서비스로 설치
ublockdns uninstall 서비스 제거 및 DNS 복원
ublockdns start 서비스 시작
ublockdns stop 서비스 중지
ublockdns status 서비스 상태 및 준비 세부 정보 표시
ublockdns status -json ready_code 및 probe_error가 포함된 기계 판독 가능 상태 표시
ublockdns wait-ready -timeout 45s 서비스와 DNS가 활성화될 때까지 대기
ublockdns wait-ready -timeout 45s -json 자동화를 위한 기계 판독 가능 준비 상태 출력
ublockdns upgrade 최신 릴리스로 업데이트하고 서비스 재시작
ublockdns version 버전 출력
대시보드에서 필터 목록, 사용자 정의 규칙, 쿼리 로그를 관리하세요. CLI는 의도적으로 좁게 설계되었습니다: 로컬 서비스를 설치하고, 정상 상태인지 확인하고, 정책 변경은 대시보드가 처리하도록 맡기세요.
작동 방식
클라이언트는 127.0.0.1:53에서 로컬 DNS 프록시를 실행하며, IPv6가 가능한 경우 [::1]:53에서도 실행합니다. 모든 쿼리를 암호화된 DNS-over-HTTPS를 통해 uBlockDNS 서비스로 전달합니다. 서비스는 프로필에 대해 활성화된 필터 목록 및 사용자 정의 규칙에 대해 각 쿼리를 평가한 후, 정상 DNS 응답 또는 차단 응답을 반환합니다.
대시보드에서 필터 목록이나 사용자 정의 규칙을 업데이트하면 클라이언트가 실시간으로 변경 사항을 수신하고 로컬 DNS 캐시를 자동으로 플러시하여 새 결정이 빠르게 적용되도록 합니다.
소스에서 빌드
Go 1.25 이상이 필요합니다.
go build -o ublockdns .
sudo ./ublockdns install -profile <profile-id>
피드백 및 문제
버그를 발견했거나 제안이 있으신가요? 이슈 열기.
차단 문제(광고가 통과되거나 사이트가 잘못 차단되는 경우)의 경우 먼저 대시보드에서 활성화한 필터 목록을 확인하세요. uBlockDNS는 커뮤니티 유지관리 목록을 사용하며 그 내용을 통제하지 않습니다.
보안
보안 취약점은 GitHub Security Advisories를 통해 비공개로 보고하세요. 보안 문제에 대해 공개 이슈를 열지 마세요.
신뢰 모델 세부 정보, 개발 투명성, 현재 감사 상태는 SECURITY.md를 참조하세요.
라이선스
MIT