프로젝트 소개

RootGuard는 Docker Compose로 배포되는 셀프 호스팅 DNS 보호 스택입니다. 네트워크 전체 DNS 필터링에 사용되는 AdGuard Home과 DNS 계층 구조를 쿼리하고 DNSSEC을 검증하는 프라이빗 재귀 Unbound 리졸버를 결합합니다. 네트워크상의 장치들이 이 스택의 DNS 엔드포인트를 가리키게 함으로써, 각 장치에 확장 프로그램이나 앱을 설치하지 않고도 TV, 휴대폰, 게임 콘솔, 컴퓨터 및 기타 클라이언트의 광고와 알려진 트래커를 차단할 수 있습니다. README는 독일어와 영어로 제공됩니다. 이 프로젝트는 독립적으로 빌드 가능한 여러 구성 요소가 포함된 모노레포입니다: - RootGuard WebApp: 로그인, 대시보드 및 가이드 관리. - RootGuard Core: 오케스트레이션 및 검증된 구성 변경. - RootGuard Updater: 롤백 기능이 포함된 Core/WebApp의 조정된 업데이트. - AdGuard Home: 네트워크 전체 DNS 필터링. - Unbound: 재귀 DNS 리졸루션 및 DNSSEC 검증. - rootguard-unbound: 강화된 Unbound 이미지. - rootguard-blockpage: 차단된 요청을 위한 랜딩 페이지. - rootguard-attestation-proxy: cosign 증명 확인을 위한 이그레스 프록시. 이전의 개별 저장소들은 아카이브되었으나 기록과 이전 이슈 확인을 위해 읽기 가능하며, 현재 활발한 개발은 이 모노레포에서만 이루어집니다. 시작하려면 Docker Compose v2가 필요합니다. 릴리스 후보(release-candidate) 단계에서는 준비된 amd64 및 arm64 이미지를 게시하므로 로컬 빌드가 필요하지 않습니다. 문서화된 흐름은 해당 태그의 compose.release.yaml과 .env.release.example을 다운로드하고, openssl rand -hex 32로 두 개의 독립적인 시크릿을 생성하며, .env에 강력한 관리자 비밀번호와 별도의 API 및 복구 토큰을 설정한 후 docker compose로 스택을 시작하는 것입니다. 이후 사용자는 8080 포트의 웹 GUI를 열고 가이드 설정을 따르며, 여기서 권장되는 Stable 채널과 명시적인 실험적 AdGuard Home Beta 채널을 선택할 수 있습니다. README는 베타 버전에는 버그가 있을 수 있으며, 이를 선택했을 때 DNS 리졸루션과 차단을 절대 실패 없는(fail-safe) 것으로 간주해서는 안 된다고 경고합니다. 요구 사항, 라우터 구성, 업그레이드 및 문제 해결 방법은 온라인 핸드북에 설명되어 있습니다. 웹 인터페이스는 구성, 업데이트, 상태 확인, 진단 및 롤백을 처리하며, 원시 Unbound 파일을 편집하지 않고도 로컬 레코드, 프라이빗 도메인, 조건부 전달 및 RFC1918 역방향 존을 관리할 수 있는 가이드형 로컬 DNS 관리를 제공합니다. RootGuard는 1.0 버전에 앞서 공개 릴리스 후보 테스트 단계에 있으며, 유지 관리자는 아직 이를 프로덕션 네트워크의 유일한 DNS 서비스로 사용하는 것을 권장하지 않는다고 명시하고 있습니다. 저장소에는 아키텍처와 신뢰 경계, 현재 프로젝트 상태, 로드맵, 변경 로그, 이미지 다이제스트 및 보존 정책, 검증된 설치 플랫폼, 성능 및 메모리 기준, 접근성 및 보안 리뷰가 문서화되어 있습니다. 품질 보증은 인간의 코드 리뷰와 버그 및 보안 위험을 찾는 AI 지원 도구를 결합하여 수행됩니다. 발견 사항은 수정 전 인간이 검증하며, 감사 라운드는 공개적으로 기록됩니다. 기여는 기여자 가이드, 'good first issue' 및 'help wanted' 라벨을 통해 환영하며, 보안 문제는 비공개로 보고해야 합니다. 소프트웨어는 AGPL-3.0-or-later 라이선스를 따르며, RootGuard 및 Foxly IT 이름과 로고에 대해서는 별도의 상표 정책이 적용됩니다. README의 스크린샷은 문서화된 기본 계정을 사용하여 격리된 테스트 호스트에 검증된 배포를 통해 생성되었습니다.