3 คะแนน โดย GN⁺ 2024-04-03 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • DN$ เป็นตัวแก้ชื่อ DNS ที่รองรับโฆษณา โดยตั้งใจให้แสดงโฆษณาพร้อมกับระเบียน DNS และเสียดสีประเด็นที่ผู้ให้บริการ DNS เดิมอย่าง ISP, Cloudflare และ Google อาจติดตามทราฟฟิกและขายข้อมูลได้
  • โปรเจกต์นี้เป็นโอเพนซอร์สและสร้างด้วย Rust โดยย้ำซ้ำ ๆ ว่าปลอดภัยและเร็ว อีกทั้งอ้างว่า “ปฏิวัติ” DNS ด้วยการเพิ่มสปอนเซอร์ชิปลงในคำตอบ DNS แทบทั้งหมด แทนการทำ NXDOMAIN hijacking
  • README ระบุว่าได้ละทิ้ง RFC และความเข้ากันได้ย้อนหลังเพื่อความก้าวหน้า พร้อมเสนอโมเดลธุรกิจแบบโอเวอร์ เช่น การสมัครสมาชิกตลอดชีพที่ลดโฆษณาได้ 3%
  • ในอัปเดตวันที่ 2 เมษายน 2024 ระบุว่า DN$ ต้องยุติการดำเนินงาน เนื่องจากคดีความหลายคดีและการสอบสวนทางอาญา แต่ยังเหลือซอร์สโค้ดสำหรับตั้งค่าตัวแก้ชื่อ DN$ เองได้
  • การรันทำได้ด้วย cargo build --release แล้วตามด้วย ./target/release/adcache --forward-addr 1.1.1.1:53 และมีตัวอย่างการ query ไปยังเซิร์ฟเวอร์ DNS โลคัล 127.0.0.1 บน Unix/MacOS และ Windows

DN$: เสียดสีตัวแก้ชื่อ DNS ที่แปะโฆษณา

  • DN$ เป็นตัวแก้ชื่อ DNS ที่รองรับโฆษณา โดยเริ่มต้นด้วยข้อความทำนองว่า “คุณไม่อยากได้รับโฆษณาพร้อมกับระเบียน DNS เหรอ”
  • ตั้งอยู่บนสมมติฐานว่าผู้ให้บริการตัวแก้ชื่อ DNS เดิมอย่าง ISP, Cloudflare และ Google สามารถติดตามกิจกรรมอินเทอร์เน็ตและขายข้อมูลนั้นให้ผู้ขายข้อมูลบุคคลที่สามได้
  • README ระบุว่าข้อมูลนั้นอาจถูกขายต่อให้รัฐบาลหรือ Meta และบอกว่าทีม DN$ จะกำจัดผู้เล่นเหล่านั้น ก่อนจะเสียดสีด้วยวลีว่า “จนกว่าเราจะรวบรวมผู้ใช้ได้มากพอให้เริ่มขูดรีด”
  • ระบุว่าต้องแสดงโฆษณาเพื่อให้บริการดำเนินต่อได้ และแจ้งว่าลูกค้าที่สมัครสมาชิกตลอดชีพจะได้รับโฆษณาลดลง
    • ตามเชิงอรรถ อัตราการลดโฆษณาคือ 3%

การพัฒนาและท่าทีทางเทคนิค

  • โปรเจกต์นี้แนะนำว่าเป็น โอเพนซอร์ส และสร้างด้วย Rust
  • README ย้ำข้อความว่าปลอดภัยและเร็วเพราะสร้างด้วย Rust
  • ส่วนแบ็กเอนด์ขีดฆ่า monolith, microservice, modular monolith แล้วเขียนว่า $NEW_DEVELOPER_FAD เพื่อเสียดสี buzzword ตามกระแสในวงการพัฒนา
  • อ้างว่าได้ปฏิวัติ DNS โดยเพิ่มสปอนเซอร์ชิปลงในคำตอบ DNS แทบทั้งหมด แทนวิธี NXDOMAIN hijacking แบบเดิมที่น่าเบื่อ
  • ระบุว่าได้ละทิ้ง RFC และความเข้ากันได้ย้อนหลังเพื่อ “ความก้าวหน้า”

การเสียดสีเรื่องข้อมูลและความรับผิด

  • README เขียนว่าผู้บริหารบริษัทมีแนวโน้มจะไม่ต้องรับโทษจำคุก แม้ก่ออาชญากรรมร้ายแรง และอาจโดนเพียงค่าปรับเงินจำนวนเล็กน้อย
  • DN$ “สัญญา” ว่าจะไม่ทำพฤติกรรมประสงค์ร้ายอย่างการติดตามและขายข้อมูลผู้ใช้กับพฤติกรรมบนอินเทอร์เน็ต
    • เชิงอรรถมีเงื่อนไขว่า “ในตอนนี้”
  • ยังเขียนว่าจะไม่เอาข้อมูลที่บอกว่าไม่ได้เก็บไปใช้ฝึกโมเดล AI เพื่อรวยขึ้นด้วย

อัปเดตวันที่ 2 เมษายน 2024 และวิธีรัน

  • ในอัปเดตวันที่ 2 เมษายน 2024 ระบุว่า โปรเจกต์ถูก 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:
    • เปิดตัว v0.1 วันที่ 1 เมษายน 2024
    • ทำการตลาดเชิงรุกกับกองทุน VC
    • ให้คำมั่นที่เป็นไปไม่ได้กับนักลงทุนและผู้ใช้
    • รวบรวมคำขอฟีเจอร์จากลูกค้าเป็นโรดแมปสาธารณะ
    • ขายสมาชิกตลอดชีพ
  • Q3 2024:
  • Q4 2024:
    • ผิดสัญญาสมาชิกตลอดชีพและไม่คืนเงิน
    • ทำให้ตำแหน่งของเงินนักลงทุนและลูกค้าคลุมเครือด้วยการ mixing คริปโตและการฟอกเงิน
    • ปิดบริษัทและบริการด้วยเหตุผลว่า “ไม่ทำกำไร”
  • README ลงท้ายด้วย /s เพื่อเผยว่าทั้งโปรเจกต์เป็นการเสียดสี

1 ความคิดเห็น

 
GN⁺ 2024-04-03
ความคิดเห็นบน Hacker News
  • แค่เห็นชื่อเรื่องก็ความดันขึ้นนิด ๆ แล้ว แต่พอกดเข้าไปอ่าน พบว่าความสมบูรณ์ของงานดีมากจริง ๆ และเดโมการทำงานก็ยอดเยี่ยม

  • การลงมือทำยอดเยี่ยมมาก ตอนรัน dig @35.223.197.204 google.com ในหนึ่ง query มีข้อความ Warning: ID mismatch: expected ID 37255, got 53558 ขึ้นมา แต่ไม่รู้ว่าหมายความว่าอะไร
    โปรเจกต์นี้เจ๋ง และยังทำให้ได้รู้จักคอร์สที่บอกว่าจะช่วยให้ทำเงินได้เดือนละ 100,000 ดอลลาร์ ด้วย

    • DNS ID mismatch เกิดขึ้นเมื่อ ID ของ DNS query กับ ID ของ response ไม่ตรงกัน query กับ response ควรใช้ ID เดียวกัน ดังนั้นนี่อาจเป็นสิ่งที่ทำโดยตั้งใจ หรือเป็นสัญญาณว่า resolver มีบั๊ก
      ฟังดูเหมือนช่องโหว่ด้านความปลอดภัยร้ายแรง ไว้จะไปตรวจสอบภายใน 3–5 ปีข้างหน้า
  • ผมดู Cloudflare ค่อนข้างละเอียดแล้ว ตอนนี้ยังไม่คิดว่ากำลังทำเงินจากมันอยู่ แต่ด้วยผลตอบแทนที่อาจสูงมาก ก็อาจกลายเป็นสถานการณ์แบบ “ถ้ารายได้รายไตรมาสตก ให้ทุบกระจกแล้วหยิบออกมาใช้” ได้ทุกเมื่อ
    ส่วน Google ก็… Google นั่นแหละ

  • ตรงนี้มี Uniformly Dopey Peasant อยู่ ลองดูด้วย nmap -sV -p 53 35.223.197.204 แล้วพบว่า 53/tcp เปิดอยู่ และเมื่อส่ง request ประเภท version.bind จะตอบกลับว่า "TCP is for enterprise clients only"

    • ในวัฒนธรรมบริษัทเรา กำหนดให้เรียกลูกค้าฟรีและลูกค้า enterprise ทั้งหมดอย่างสม่ำเสมอว่า peasants
      ลูกค้า enterprise เรียกว่า "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$ ก็พอแล้ว
  • แนะนำได้เลย ลองใช้แล้วใช้เวลา resolve reddit.com แค่ 11.423 วินาทีเท่านั้น

    • นั่นน่าจะเป็นความผิดพลาดของผู้ใช้มากกว่า resolver ของเราเขียนด้วย Rust ดังนั้นแน่นอนว่าต้องเร็วปานสายฟ้าแลบ
  • อัปเดต 2 เมษายน 2024: โปรเจกต์นี้ถูกยกเลิกแล้ว
    เนื่องจากคดีความหลายคดีและการสอบสวนทางอาญา DN$ จึงต้องปิดตัวลง ซอร์สโค้ดสำหรับตั้งค่า DN$ resolver เองอยู่ที่นี่

  • เห็นประกาศรับสมัครงานที่ต้องการประสบการณ์ 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 ของเรา ก็น่าจะหาทางอะไรสักอย่างได้
    • ไม่ต้องเปลี่ยนข้อความหรอก เพิ่มอีกอันไปเลยไม่ได้เหรอ? บริษัทที่ฉลาดควรขายสัญญาซัพพอร์ตให้กับของไร้ประโยชน์ได้ด้วย