3P by GN⁺ | ★ favorite | 댓글 1개
  • DN$ 는 DNS 기록과 함께 광고를 제공한다는 설정의 광고 지원 DNS 해석기로, ISP·Cloudflare·Google 같은 기존 DNS 제공자가 트래픽을 추적하고 데이터를 판매할 수 있다는 문제의식을 풍자적으로 다룸
  • 프로젝트는 오픈소스이며 Rust로 만들어져 안전하고 빠르다고 반복해서 내세우고, NXDOMAIN 하이재킹 대신 거의 모든 DNS 응답에 스폰서십을 추가한다는 식으로 DNS를 “혁신”한다고 말함
  • README는 RFC와 하위 호환성을 진보를 위해 버렸다고 쓰며, 광고 감소율 3%의 평생 구독 같은 과장된 사업 모델도 함께 제시함
  • 2024년 4월 2일 업데이트에서 여러 소송과 형사 조사 때문에 DN$가 종료되어야 하며, 직접 DN$ 해석기를 설정할 수 있는 소스 코드가 남아 있다고 밝힘
  • 실행은 cargo build --release./target/release/adcache --forward-addr 1.1.1.1:53로 가능하며, Unix/MacOS와 Windows에서 로컬 127.0.0.1 DNS 서버로 질의하는 예시를 제공함

DN$: 광고를 붙이는 DNS 해석기 풍자

  • DN$ 는 “DNS 기록과 함께 광고를 받고 싶지 않냐”는 문구로 시작하는 광고 지원 DNS 해석기임
  • 기존 DNS 해석기를 제공하는 ISP, Cloudflare, Google이 인터넷 활동을 추적하고 이를 제3자 데이터 벤더에 판매할 수 있다는 상황을 전제로 삼음
  • README는 그 데이터가 정부나 Meta에 재판매될 수 있다고 쓰며, DN$ 팀이 그런 행위자를 제거하겠다고 말한 뒤 “충분한 사용자 수를 모아 착취하기 전까지”라는 문구로 풍자함
  • 서비스 운영을 위해 광고를 제공해야 한다고 하며, 평생 구독 고객에게는 광고를 줄여준다고 안내함
    • 각주 기준 광고 감소율은 3%

구현과 기술적 태도

  • 프로젝트는 오픈소스이며 Rust로 만들어졌다고 소개됨
  • README는 Rust로 만들었기 때문에 안전하고 빠르다는 표현을 반복함
  • 백엔드는 monolith, microservice, modular monolith를 지운 뒤 $NEW_DEVELOPER_FAD라고 적어 개발 유행어를 풍자함
  • 기존의 지루한 NXDOMAIN 하이재킹 방식 대신, 거의 모든 DNS 응답에 스폰서십을 추가해 DNS를 혁신했다고 주장함
  • “진보”를 위해 RFC와 하위 호환성을 버렸다고 적혀 있음

데이터와 책임에 대한 풍자

  • README는 기업 임원들이 심각한 범죄를 저질러도 징역형 책임을 지지 않고 작은 금전 벌금만 받을 가능성이 높다고 씀
  • DN$는 사용자 데이터와 인터넷 행동을 추적·판매하는 악의적 행위를 하지 않는다고 “약속”함
    • 각주에는 “아직은”이라는 단서가 붙어 있음
  • 수집하지 않는다고 말하는 데이터를 AI 모델 학습에 사용해 부자가 되는 일도 하지 않겠다고 씀

2024년 4월 2일 업데이트와 실행 방법

  • 2024년 4월 2일 업데이트에서 프로젝트가 deprecated되었다고 표시됨
  • 종료 사유로 여러 소송과 형사 조사가 제시됨
  • 직접 DN$ 해석기를 설정할 수 있는 소스 코드가 남아 있다고 안내함
  • 실행 명령:
    cargo build --release
    ./target/release/adcache --forward-addr 1.1.1.1:53
    
  • Unix/MacOS 예시:
    dig @127.0.0.1 reddit.com
    
  • Windows PowerShell 예시:
    Resolve-DnsName -Name reddit.com -Server 127.0.0.1
    

내부 로드맵과 풍자적 사업 계획

  • “Internal Roadmap (DO NOT LEAK)”에는 2024년 분기별 계획이 적혀 있음
  • Q1 2024:
    • 전체 스택을 Golang으로 개발
    • Rust가 아닌 언어는 “garbage”라며 전체 스택을 Rust로 재작성
    • microservices, modular monolith, 다시 microservices, 원래 아키텍처로 반복 이전
  • Q2 2024:
    • 2024년 4월 1일 v0.1 출시
    • VC 펀드에 적극 마케팅
    • 투자자와 사용자에게 불가능한 약속
    • 고객 기능 요청을 공개 로드맵으로 수집
    • 평생 구독 판매
  • Q3 2024:
  • Q4 2024:
    • 평생 구독 약속을 어기고 환불하지 않음
    • 암호화폐 믹싱과 자금 세탁으로 투자자·고객 자금 위치를 난독화
    • “수익성이 없다”는 이유로 회사와 서비스를 종료함
  • README는 마지막에 /s를 붙여 전체 프로젝트가 풍자임을 드러냄

댓글과 토론

Hacker News 의견들
  • 제목만 봤을 때는 살짝 혈압이 올랐는데, 눌러서 읽어보니 완성도가 정말 좋고 동작 데모도 훌륭함

  • 실행이 훌륭함. 쿼리 하나에서 dig @35.223.197.204 google.com 실행 시 Warning: ID mismatch: expected ID 37255, got 53558가 떴는데 무슨 뜻인지는 모르겠음
    프로젝트는 멋지고, 덕분에 월 100,000달러를 벌게 해준다는 강의도 알게 됨

    • DNS ID 불일치는 DNS 쿼리의 ID와 응답의 ID가 다를 때 발생함. 쿼리와 응답은 같은 ID를 공유해야 하므로, 의도적으로 한 것이거나 리졸버에 버그가 있다는 신호일 수 있음
      심각한 보안 취약점처럼 들리니 3~5년 안에 조사해보겠음
  • Cloudflare를 꽤 자세히 봤는데, 현재는 수익화하고 있다고 보진 않음. 다만 잠재 보상이 큰 만큼 언제든 “분기 매출이 떨어지면 유리 깨고 꺼내기” 같은 상황이 될 수 있음
    Google은… Google임

  • 여기 Uniformly Dopey Peasant가 있음. nmap -sV -p 53 35.223.197.204로 보니 53/tcp가 열려 있고, version.bind류 요청에 "TCP is for enterprise clients only"라고 응답함

    • 우리 회사 문화에서는 무료 고객과 엔터프라이즈 고객을 모두 일관되게 peasants라고 부르도록 규정함
      엔터프라이즈 고객은 "Top Customer Peasants"라고 부름
  • 좋음 :D
    TXT 광고는 여기 있음: https://github.com/tedkim97/adcache/blob/main/src/adcache.rs...

    • 너무 좋다: "Meet hot, lonely DNS records in your area tonight"
  • Rust로 만들었다고? 이건 당장 내 resolv.conf 맨 위에 올려야 함

    • resolv.conf.ron을 말하는 거지? 그리고 그 파일에 다른 게 왜 필요함, DN$ 만 있으면 충분함
  • 추천 가능함. 써봤더니 reddit.com을 해석하는 데 고작 11.423초밖에 안 걸렸음

    • 그건 아마 사용자 실수일 가능성이 큼. 우리 리졸버는 Rust로 작성됐으니 당연히 눈부시게 빠름
  • 2024년 4월 2일 업데이트: 이 프로젝트는 폐기됨
    여러 소송과 형사 수사 때문에 DN$는 종료해야 함. 직접 DN$ 리졸버를 세팅할 수 있는 소스 코드는 여기 있음

  • 벌써 DN$ 5년 경력을 요구하는 채용 공고를 봄

  • DN$ only supports DNSSEC for customers in the ENTERPRISE tier라니, 그 메시지를 "DNSSEC is pointless and you should feel bad for making this request"로 바꾸려면 얼마를 내면 됨?

    • 우리 pre-pre-seed 투자 라운드에 참여하면 뭔가 방법을 찾아볼 수 있을 듯함
    • 메시지를 바꾸지 말고 하나 더 추가하면 되지 않나? 똑똑한 회사라면 쓸모없는 것에도 지원 계약을 팔 수 있어야 함