- 웹 브라우저 Dillo 프로젝트가 GitHub에서 자체 호스팅 서버로 이전을 진행 중임
- GitHub의 JavaScript 의존성, 단일 통제 구조, 느린 성능 등이 주요 이전 이유로 제시됨
- 새 서버는 dillo-browser.org 도메인에서 운영되며, cgit 기반 경량 Git 프런트엔드와 자체 제작 버그 트래커 ‘buggy’ 를 사용함
- 모든 데이터는 git 저장소로 관리되어 Codeberg와 Sourcehut에 미러링되며, 데이터 손실 위험을 최소화함
-
OpenPGP 서명을 통해 DNS 손실 시에도 신뢰성을 유지할 수 있도록 설계되어, 프로젝트의 독립성과 지속성을 강화함
배경
- 과거 Dillo의 원래 사이트는 dillo.org였으며, Mercurial 저장소, 메일 서버, 버그 트래커, 메일링 리스트 아카이브를 포함하고 있었음
- 2022년에 도메인을 잃고, 제3자가 AI 광고로 가득한 유사 사이트를 개설함
- 일부 자료는 복구되었으나 완전하지 않음
- 이러한 경험으로 인해 단일 사이트 의존을 피하고, 분산된 백업 구조를 구축하기로 결정함
- 초기에는 GitHub에 코드를 업로드했으나, 장기적으로 적합하지 않다고 판단함
GitHub의 문제점
- GitHub는 CI 워크플로와 저장소 관리에 유용했지만, 여러 한계가 있음
-
JavaScript 없이는 프런트엔드가 작동하지 않아, Dillo 브라우저로 이슈나 PR을 열람할 수 없음
- 페이지가 리소스를 과도하게 사용하며, 단순 HTML 렌더링에 불필요한 부하 발생
-
단일 통제 주체에 의해 계정이 차단될 위험이 있어, 데이터 접근이 차단될 수 있음
- 플랫폼이 점점 느려지고, 빠른 인터넷 연결을 요구함
- GitHub의 “푸시 모델” 알림 방식은 오프라인 중심의 개발 방식과 맞지 않음
-
비개발자 사용자 비율이 높은 프로젝트에서의 커뮤니티 관리 도구 부족으로 개발자 피로도가 증가함
- GitHub가 LLM 및 생성형 AI 중심으로 전환하면서, 사이트들이 LLM 크롤러를 막기 위해 JavaScript 벽이나 브라우저 지문 추적을 강화함
- 이로 인해 Dillo 사용자 접근이 차단되는 부작용 발생
자체 호스팅 구축
- 기존 포지토리 서비스들이 단일 장애점 제거와 경량 운영을 동시에 만족하지 못함
- 이에 따라 직접 서버를 운영하고, 여러 미러를 유지하기로 결정
-
dillo-browser.org 도메인을 구입하고, 소형 VPS 서버를 구축
- 예상보다 안정적으로 운영 중이며, 주로 AI 봇 트래픽을 처리함
- Git 프런트엔드로 cgit을 선택
- 버그 트래커는 직접 개발한 ‘buggy’ 사용
- 메일링 리스트 아카이브는 3개의 외부 서비스에 분산 저장, 향후 자체 복사본 추가 예정
미러 설정
- 모든 핵심 데이터가 git 저장소 형태로 관리되어, Codeberg와 Sourcehut에 미러링됨
- 특정 포지토리가 중단되더라도 낮은 전환 비용으로 다른 미러로 이동 가능
- 단일 실패 지점은 DNS(dillo-browser.org)
- DNS 손실 시 메일링 리스트, Fediverse, IRC 등을 통해 사용자에게 알림 가능
- 데이터는 git에 복제되어 있어 치명적 손실은 발생하지 않음
OpenPGP 서명
- 본 페이지는 Rodrigo Arias Mallo의 GPG 키(32E65EC501A1B6FDF8190D293EE6BA977EB2A253) 로 서명됨
- Dillo의 최신 릴리스와 동일한 키이며, GitHub 계정에도 등록되어 있음
- 서명 파일(index.html.asc)은 <link rel=signature>로 연결됨
-
OpenPGP 서명은 DNS 손실에도 신뢰 유지 가능
- TLS 인증서 체인 대신 서명 신뢰 기반으로 소유권 증명
- 모든 git 미러에 서명을 포함시켜 데이터 손실 내성 강화
마이그레이션 진행 및 전망
-
GitHub 저장소는 즉시 삭제되지 않으며, 마이그레이션 완료 전까지 계속 업데이트됨
- 완료 후에는 저장소를 ‘archived’ 상태로 전환하고 공식 사이트에 공지 예정
- 기존 커밋과 릴리스 파일은 하위 빌드 호환성을 위해 유지
- 새 인프라는 낮은 비용과 에너지 소비로 독립 운영 가능