3 điểm bởi GN⁺ 2024-04-03 | 1 bình luận | Chia sẻ qua WhatsApp
  • DN$ là một trình phân giải DNS có quảng cáo, được đặt trong bối cảnh cung cấp quảng cáo kèm theo bản ghi DNS, nhằm châm biếm vấn đề các nhà cung cấp DNS hiện có như ISP, Cloudflare và Google có thể theo dõi lưu lượng rồi bán dữ liệu
  • Dự án là mã nguồn mở và liên tục nhấn mạnh rằng được viết bằng Rust nên an toàn và nhanh; đồng thời nói rằng họ “đổi mới” DNS bằng cách thêm tài trợ vào gần như mọi phản hồi DNS thay vì chiếm đoạt NXDOMAIN
  • README viết rằng họ đã bỏ RFC và khả năng tương thích ngược vì sự tiến bộ, đồng thời đưa ra cả những mô hình kinh doanh cường điệu như gói đăng ký trọn đời giảm 3% quảng cáo
  • Trong bản cập nhật ngày 2 tháng 4 năm 2024, dự án cho biết DN$ phải ngừng hoạt động do nhiều vụ kiện và điều tra hình sự, nhưng vẫn để lại mã nguồn để người dùng tự thiết lập trình phân giải DN$
  • Có thể chạy bằng cargo build --release rồi ./target/release/adcache --forward-addr 1.1.1.1:53, và cung cấp ví dụ truy vấn tới máy chủ DNS cục bộ 127.0.0.1 trên Unix/MacOS và Windows

DN$: châm biếm về một trình phân giải DNS gắn quảng cáo

  • DN$ là một trình phân giải DNS có quảng cáo, mở đầu bằng câu “bạn không muốn nhận quảng cáo cùng với bản ghi DNS sao?”
  • Dự án lấy tiền đề rằng các ISP, Cloudflare và Google cung cấp trình phân giải DNS hiện nay có thể theo dõi hoạt động internet và bán dữ liệu đó cho các nhà cung cấp dữ liệu bên thứ ba
  • README nói dữ liệu đó có thể bị bán lại cho chính phủ hoặc Meta, rồi tuyên bố đội ngũ DN$ sẽ loại bỏ các tác nhân như vậy — “cho đến khi chúng tôi có đủ người dùng để bóc lột”, như một cách châm biếm
  • Dự án nói rằng cần phục vụ quảng cáo để vận hành dịch vụ, và thông báo khách hàng đăng ký trọn đời sẽ được giảm quảng cáo
    • Theo chú thích, tỷ lệ giảm quảng cáo là 3%

Cách triển khai và thái độ kỹ thuật

  • Dự án được giới thiệu là mã nguồn mở và viết bằng Rust
  • README lặp đi lặp lại cách diễn đạt rằng vì được viết bằng Rust nên nó an toàn và nhanh
  • Ở phần backend, họ gạch bỏ monolith, microservice, modular monolith rồi ghi $NEW_DEVELOPER_FAD, nhằm châm biếm các từ khóa trào lưu trong giới phát triển
  • Thay vì cách chiếm đoạt NXDOMAIN nhàm chán trước đây, dự án tuyên bố đã đổi mới DNS bằng cách thêm tài trợ vào gần như mọi phản hồi DNS
  • Tài liệu còn viết rằng họ đã bỏ RFC và khả năng tương thích ngược vì “tiến bộ”

Châm biếm về dữ liệu và trách nhiệm

  • README viết rằng ngay cả khi các lãnh đạo doanh nghiệp phạm tội nghiêm trọng, họ nhiều khả năng cũng không phải chịu trách nhiệm hình sự bằng án tù mà chỉ nhận các khoản phạt tiền nhỏ
  • DN$ “hứa” rằng sẽ không làm những việc ác ý như theo dõi và bán dữ liệu người dùng cùng hành vi internet của họ
    • Trong chú thích có thêm điều kiện “chưa thôi”
  • Tài liệu cũng nói họ sẽ không dùng những dữ liệu mà họ bảo là không thu thập để huấn luyện mô hình AI rồi làm giàu

Bản cập nhật ngày 2 tháng 4 năm 2024 và cách chạy

  • Trong bản cập nhật ngày 2 tháng 4 năm 2024, dự án được đánh dấu là deprecated
  • Lý do chấm dứt được nêu là nhiều vụ kiện và điều tra hình sự
  • Tài liệu cho biết mã nguồn vẫn còn để người dùng có thể tự cấu hình trình phân giải DN$
  • Lệnh chạy:
    cargo build --release
    ./target/release/adcache --forward-addr 1.1.1.1:53
    
  • Ví dụ trên Unix/MacOS:
    dig @127.0.0.1 reddit.com
    
  • Ví dụ trên Windows PowerShell:
    Resolve-DnsName -Name reddit.com -Server 127.0.0.1
    

Lộ trình nội bộ và kế hoạch kinh doanh châm biếm

  • “Internal Roadmap (DO NOT LEAK)” liệt kê các kế hoạch theo từng quý trong năm 2024
  • Q1 2024:
    • Phát triển toàn bộ stack bằng Golang
    • Gọi mọi ngôn ngữ không phải Rust là “garbage” rồi viết lại toàn bộ stack bằng Rust
    • Di chuyển qua lại giữa microservices, modular monolith, lại microservices, rồi quay về kiến trúc ban đầu
  • Q2 2024:
    • Phát hành v0.1 vào ngày 1 tháng 4 năm 2024
    • Tích cực tiếp thị tới các quỹ VC
    • Đưa ra những lời hứa bất khả thi với nhà đầu tư và người dùng
    • Thu thập các yêu cầu tính năng của khách hàng làm lộ trình công khai
    • Bán gói đăng ký trọn đời
  • Q3 2024:
  • Q4 2024:
    • Phá vỡ lời hứa về gói đăng ký trọn đời và không hoàn tiền
    • Dùng trộn tiền mã hóa và rửa tiền để làm mờ vị trí dòng tiền của nhà đầu tư và khách hàng
    • Đóng cửa công ty và dịch vụ với lý do “không có lợi nhuận”
  • README kết thúc bằng /s để cho thấy toàn bộ dự án là châm biếm

1 bình luận

 
GN⁺ 2024-04-03
Ý kiến trên Hacker News
  • Chỉ nhìn tiêu đề thì tôi hơi tăng huyết áp, nhưng bấm vào đọc thì thấy độ hoàn thiện thật sự rất tốt và demo hoạt động cũng xuất sắc

  • Phần thực thi rất tuyệt. Khi chạy dig @35.223.197.204 google.com cho một truy vấn thì hiện Warning: ID mismatch: expected ID 37255, got 53558, nhưng tôi không rõ nó nghĩa là gì
    Dự án hay, và nhờ vậy tôi còn biết đến khóa học nói rằng nó sẽ giúp kiếm 100.000 đô la/tháng

    • DNS ID không khớp xảy ra khi ID của truy vấn DNS và ID của phản hồi khác nhau. Truy vấn và phản hồi phải dùng chung một ID, nên đây có thể là dấu hiệu cho thấy điều này được làm có chủ ý hoặc resolver có bug
      Nghe như một lỗ hổng bảo mật nghiêm trọng, nên tôi sẽ điều tra trong vòng 3–5 năm tới
  • Tôi đã xem Cloudflare khá kỹ, và hiện tại không cho rằng họ đang kiếm tiền hóa theo kiểu này. Tuy nhiên, vì phần thưởng tiềm năng lớn, bất cứ lúc nào cũng có thể xảy ra tình huống kiểu “nếu doanh thu quý giảm thì đập kính lấy ra dùng”
    Google thì… vẫn là Google

  • Ở đây có một Uniformly Dopey Peasant. Dùng nmap -sV -p 53 35.223.197.204 thì thấy 53/tcp đang mở, và với các yêu cầu kiểu version.bind nó trả lời "TCP is for enterprise clients only"

    • Văn hóa công ty chúng tôi quy định phải nhất quán gọi cả khách hàng miễn phí lẫn khách hàng enterprise là peasants
      Khách hàng enterprise được gọi là "Top Customer Peasants"
  • Hay :D
    Quảng cáo TXT ở đây: https://github.com/tedkim97/adcache/blob/main/src/adcache.rs...

    • Quá hay: "Meet hot, lonely DNS records in your area tonight"
  • Viết bằng Rust à? Thế thì phải đưa cái này lên đầu resolv.conf của tôi ngay

    • Ý bạn là resolv.conf.ron chứ? Và cần thứ gì khác trong file đó làm gì, chỉ cần DN$ là đủ
  • Có thể khuyên dùng. Tôi thử rồi, nó phân giải reddit.com chỉ mất có 11,423 giây thôi

    • Có lẽ đó là lỗi người dùng. Resolver của chúng tôi được viết bằng Rust nên dĩ nhiên là nhanh chói mắt
  • Cập nhật ngày 2 tháng 4 năm 2024: Dự án này đã bị khai tử
    Do nhiều vụ kiện và điều tra hình sự, DN$ phải ngừng hoạt động. Mã nguồn để tự thiết lập resolver DN$ có ở đây

  • Tôi đã thấy tin tuyển dụng yêu cầu 5 năm kinh nghiệm DN$ rồi

  • DN$ only supports DNSSEC for customers in the ENTERPRISE tier à, vậy phải trả bao nhiêu để đổi thông điệp đó thành "DNSSEC is pointless and you should feel bad for making this request"?

    • Nếu tham gia vòng đầu tư pre-pre-seed của chúng tôi thì chắc có thể tìm ra cách nào đó
    • Sao không giữ nguyên thông điệp và thêm một cái nữa? Một công ty thông minh phải bán được hợp đồng hỗ trợ ngay cả cho những thứ vô dụng chứ