1 คะแนน โดย GN⁺ 2023-10-27 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • i2pd คืออิมพลีเมนเทชันภาษา C++ ที่มีฟังก์ชันครบถ้วนของไคลเอนต์ I2P และเป็นซอฟต์แวร์สำหรับสร้างและใช้งานเครือข่าย I2P แบบนิรนาม
  • I2P เป็นเลเยอร์เครือข่ายนิรนามสำหรับใช้งานทั่วไป โดยการสื่อสารทั้งหมดบน I2P เป็นแบบนิรนามและเข้ารหัสจากต้นทางถึงปลายทาง และผู้เข้าร่วมจะไม่เปิดเผยที่อยู่ IP จริง
  • เครือข่าย I2P แบบนิรนามมักใช้กับแอปพลิเคชัน P2P แบบนิรนาม เช่น การแชร์ไฟล์และคริปโทเคอร์เรนซี รวมถึงแอปพลิเคชันไคลเอนต์-เซิร์ฟเวอร์แบบนิรนาม เช่น เว็บไซต์ อินสแตนต์เมสเซนเจอร์ และเซิร์ฟเวอร์แชต
  • จุดเด่นหลักคือเฟรมเวิร์กเครือข่ายนิรนามแบบกระจายศูนย์, การสื่อสารเข้ารหัสจากต้นทางถึงปลายทาง, ขนาดติดตั้งเล็ก, dependency ที่เรียบง่าย, ประสิทธิภาพรวดเร็ว และชุด API สำหรับนักพัฒนาแอปพลิเคชันด้านความปลอดภัย
  • วิธีติดตั้งที่ง่ายที่สุดคือใช้แพ็กเกจและไบนารีที่คอมไพล์ไว้ล่วงหน้า โดยส่วนใหญ่ดาวน์โหลดได้จากหน้า release
  • วิธีบิลด์และรันมีอยู่ใน documentation และไฟล์ตั้งค่าตัวอย่างคือ contrib/i2pd.conf
  • ระบบที่รองรับ ได้แก่ GNU/Linux, CentOS, Fedora, Mageia, Alpine, ArchLinux, openSUSE, Gentoo, Windows, Mac OS, Docker image, Snap, FreeBSD, Android, iOS
  • i2pd สำหรับ Android มีให้ที่ i2pd-android, เวอร์ชัน Qt GUI มีให้ที่ i2pd-qt, และเวอร์ชัน GUI สำหรับ macOS มีให้ที่ gui-i2pd
  • ไลเซนส์คือ BSD 3-clause license ตามไฟล์ LICENSE ในรูทของโปรเจกต์

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

 
GN⁺ 2023-10-27
ความคิดเห็นจาก Hacker News
  • ชอบโปรเจกต์ I2P มากจริง ๆ และมองว่าออกแบบมาได้ถูกทางในหลายด้าน
    ตัวอย่างเช่น แทนที่จะพึ่งพาแต่เจตนาดีของผู้ให้บริการ relay การให้ ผู้เข้าร่วมเครือข่ายทุกคนช่วย relay ทราฟฟิกภายในบางส่วน ทำให้เป็นเรื่องยากขึ้นมากที่ผู้เล่นรายเดียวจะยึดครอง hop ได้มากพอจนสามารถทำให้ผู้ใช้หมดสภาพนิรนามได้
    น่าเสียดายที่นอกจากทอร์เรนต์แล้ว I2P ดูเหมือนจะยังไม่ได้รับ traction มากนัก และถูกโปรเจกต์ Tor ที่มีเงินทุนมากกว่ากลบไป

    • ทอร์เรนต์เป็น จุดเริ่มต้น ให้ I2P ถูกนำไปใช้กว้างขึ้น และอาจดึงการใช้งานด้านอื่น ๆ ตามมาได้
      โดยเฉพาะ qBitTorrent 4.6 ที่รวมการรองรับไว้แล้ว หวังว่าจะกระจายตัวได้ดี ทุกวันนี้การแชร์ไฟล์ชะงักอยู่กับแนวทางที่เหมือนต้องใช้ VPN กับทุกอย่าง จึงควรมีอะไรมาเขย่าวงการบ้าง
    • ประเด็นที่ว่า “ทำหลายอย่างได้ถูกทาง… ผู้เข้าร่วมเครือข่ายทุกคนช่วย relay ทราฟฟิกภายในบางส่วน” มี trade-off อยู่
      Tor Project มีเหตุผลที่ไม่ทำแบบนั้น: https://support.torproject.org/alternate-designs/
      “ผู้ใช้ Tor จำนวนมากไม่สามารถเป็น relay ที่ดีได้ ตัวอย่างเช่น ไคลเอนต์ Tor บางรายอยู่หลังไฟร์วอลล์ที่จำกัด ใช้งานผ่านโมเด็ม หรืออยู่ในสภาพแวดล้อมที่ไม่สามารถ relay ทราฟฟิกได้ การให้บริการผู้ใช้เหล่านี้ด้วยเป็นสิ่งสำคัญต่อการมอบความเป็นนิรนามที่มีประสิทธิภาพให้ทุกคน เพราะมีผู้ใช้ Tor จำนวนมากที่อยู่ภายใต้ข้อจำกัดเหล่านี้ และการรวมพวกเขาเข้ามาจะเพิ่มขนาดของกลุ่มนิรนาม…”
      “นอกจากนี้ เรายังต้องเข้าใจความเสี่ยงให้ดีขึ้นในกรณีที่ผู้โจมตีส่งทราฟฟิกผ่าน relay ของฉัน พร้อมกับตอนที่ฉันเริ่มทราฟฟิกแบบนิรนาม งานวิจัยสามฉบับอธิบายวิธีระบุ relay ภายในวงจร โดยการปล่อยทราฟฟิกผ่าน relay ผู้สมัคร แล้วสังเกตการลดลงของทราฟฟิกระหว่างที่วงจรทำงานอยู่ การโจมตีด้วยความแออัด แบบนี้ไม่น่ากลัวนักในบริบทของ Tor ตราบใดที่ relay ไม่เคยเป็นไคลเอนต์…”
    • เหตุผลหนึ่งที่รู้สึกไม่สบายใจกับ Freenet คือผู้ใช้ทุกคนมีส่วนร่วมในการโฮสต์
      หาก อัลกอริทึมเข้ารหัสถูกเจาะได้ อาจเผยให้เห็นว่าผู้คนเคยส่งต่อ CSAM โดยไม่รู้ตัว แม้จะไม่ได้ตั้งใจก็ตาม โมเดลของ I2P ก็ทำให้เกิดความกังวลแบบเดียวกันไม่ใช่หรือ?
    • ทอร์เรนต์บน I2P ทำความเร็วได้ใกล้เคียงกับทอร์เรนต์ทั่วไปแม้แต่นิดไหม?
      จำได้ว่าแต่ก่อนการใช้ทอร์เรนต์บน Tor มักถูกมองไม่ดี เพราะทำให้เครือข่ายอิ่มตัว ถ้าจุดประสงค์คือหลีกเลี่ยงการแจ้งเตือนละเมิดลิขสิทธิ์ โดยเฉพาะในแง่ความเร็ว ก็ไม่เห็นเหตุผลว่าทำไมมันจะดีกว่า VPN แทบทุกเจ้า
    • บน I2P มีชุมชนที่ใช้ บริการภายใน darknet จริง ๆ ต่างจาก Tor
      ผู้ใช้ Tor 99% แค่ใช้ Tor เพื่อท่องอินเทอร์เน็ตทั่วไปเท่านั้น ดังนั้นผมมองว่าไม่มี “ชุมชน Tor” จริง ๆ
  • ลิงก์นี้ดูเหมือนจะเป็น เวอร์ชัน C++ ของ I2P
    ส่วนเวอร์ชัน Java “ทางการ” ดั้งเดิมที่ซับซ้อนกว่าและมีฟีเจอร์ในตัวมากกว่ามากอยู่ที่นี่: https://geti2p.net

    • i2pd เป็นที่นิยมบนอุปกรณ์สเปกต่ำเพราะประสิทธิภาพ
      อย่างไรก็ดี ตอนนี้ i2pd ทำงานกับ IRC, เมล, NNTP, Gopher, เว็บ และ Telnet ได้ดีมาก
    • อันนี้ต้องลองดูสักหน่อย ไม่ชอบ Java
      จริง ๆ แล้วสงสัยว่าของที่ ค่อนข้างใกล้ระดับล่าง แบบนี้ทำไมถึงไม่มี implementation ภาษา C
  • ผมมองว่าการใช้งาน I2P ที่เป็นประโยชน์ที่สุดคือการ tunnel การเข้าถึง SSH ไปยังอุปกรณ์หลัง NAT ที่ไม่ค่อยเปิดเผยตัว เมื่อใช้ Tailscale อะไรทำนองนั้นไม่ได้หรือไม่อยากใช้
    หรือจะนึกถึงกล่องทอร์เรนต์ที่ seed หนังสือหายากหรือคอลเลกชันเพลงก็ได้ ค่าเซิร์ฟเวอร์จ่ายด้วยคริปโตได้ แต่ I2P ทำให้เข้าถึงและตั้งค่าเซิร์ฟเวอร์นั้นแบบส่วนตัวได้

    • ถ้าอย่างนั้นเคยได้ยิน Yggdrasil ไหม? ดูเหมือนจะเหมาะกับกรณีใช้งานที่พูดถึงมากกว่า
      Yggdrasil เป็น “graynet” เข้ารหัสแบบ end-to-end และจัดระเบียบตัวเองด้วย distributed hash table (DHT) แต่ไม่มี onion/garlic routing ถึงอย่างนั้นก็ยังทำงานร่วมกับทั้ง Tor และ I2P ได้ และ node ของ Yggdrasil บางตัวเป็นแบบ I2P-only หรือ Tor-only โครงสร้างเหมือนต้นไม้โลกที่แผ่ราก (tunnel) ไปทุกห้วงแห่งการมีอยู่ หรือก็คือหลายเครือข่าย
      มันแจกที่อยู่ IPv6 ให้ผู้ใช้ ที่อยู่นี้สร้างอัตโนมัติจากลายเซ็นกุญแจสาธารณะ จึงแทบ spoof ไม่ได้ และให้ทั้งการยืนยันตัวตนอัตโนมัติกับการเข้ารหัสแบบ end-to-end ให้ความรู้สึกเหมือนมี IPsec ปูอยู่ทุกที่แบบโปร่งใสโดยสมบูรณ์
    • ผมมองว่าการใช้งานจริงที่ “ดีที่สุด” คือสำหรับผู้ที่ถูกคุกคามจากองค์กรหรือรัฐ ใช้เพื่อการเข้าถึงอย่างง่าย ๆ และมันทำงานได้ดีจริง
      ยังมี stealth mode สำหรับระบอบที่มีการเซ็นเซอร์ด้วย ทำให้ router ไม่โฆษณาตัวเองและรออย่างเงียบ ๆ ได้
  • บทความที่เกี่ยวข้อง:
    Invisible Internet Project (I2P) - https://news.ycombinator.com/item?id=25734254 - มกราคม 2021, 23 ความคิดเห็น
    Kovri – implementation ภาษา C++ ที่ปลอดภัย เป็นส่วนตัว และติดตามไม่ได้ของเครือข่าย I2P - https://news.ycombinator.com/item?id=14963044 - สิงหาคม 2017, 53 ความคิดเห็น
    I2P-Bote – ปลั๊กอินอีเมลสำหรับเครือข่าย I2P ที่ใช้ distributed hash table - https://news.ycombinator.com/item?id=14236331 - พฤษภาคม 2017, 20 ความคิดเห็น
    I2P: Invisible Internet Protocol - https://news.ycombinator.com/item?id=12022917 - กรกฎาคม 2016, 56 ความคิดเห็น

  • เมื่อหลายปีก่อนเคยลองใช้ I2P เพื่อทดสอบ ขีดจำกัดของความเป็นนิรนาม ที่มันสามารถให้ได้
    น่าเสียดายที่ดูเหมือนจะไม่ได้รับเงินสนับสนุนมากนัก ผมมองว่ามันเหนือกว่า Tor มากในทุกด้าน ก่อนลงมือทำจริง เขาวางรากฐานทางทฤษฎีไว้อย่างหนักแน่นมาก
    ถึงอย่างนั้น ประสบการณ์ผู้ใช้ของเราเตอร์ก็แย่มากจริง ๆ จำเป็นต้องมีไบนารีแบบสแตนด์อโลนที่ทำงานได้สมบูรณ์และรวดเร็วบนทุกแพลตฟอร์ม และต้องมี GUI ที่ไม่ต้องอาศัยความรู้ทางเทคนิคล่วงหน้ามากนักด้วย ตอนนี้เราเตอร์เขียนด้วย Java และเคยหวังว่า i2p-rust จะไล่ตามทัน แต่ดูเหมือนโปรเจกต์นั้นแทบจะกึ่งตายไปแล้ว

    • ผมว่า Java เองไม่ได้มีปัญหาอะไร อย่างที่บอก ปัญหาเป็นแค่เรื่อง ความเต็มใจของอาสาสมัครที่จะดูแลต่อ เท่านั้น
      การโน้มน้าวให้คนลองใช้ภาษาใหม่ ๆ ที่ดูฉูดฉาดนั้นง่ายกว่ามาก
      แต่สำหรับจุดประสงค์นั้น ผมว่า Rust/Go ก็เริ่มหลุดจากสปอตไลต์ไปบ้างแล้วเหมือนกัน ถ้าต้องการกระแส hype คงต้องดู Zig หรือ Nim หรืออะไรสักอย่างที่ผมยังไม่เคยได้ยิน
  • สงสัยว่าการสร้าง วงจรใหม่ ใน I2P ทำได้ง่ายแค่ไหน
    อยากรู้ด้วยว่า API รองรับหรือไม่ และใช้เวลานานแค่ไหน
    เพื่อให้บริบท ตอนนี้กำลังพัฒนาระบบลงคะแนนที่ต้องส่งคะแนนที่ลงนามด้วยนามแฝงผ่านช่องทางนิรนาม นอกจากนี้ หากนามแฝงสองตัวใช้ช่องทางนิรนามเดียวกัน ความเป็นนิรนามจะอ่อนลง ดังนั้นจึงสำคัญมากที่เรื่องนั้นจะต้องไม่เกิดขึ้นโดยเด็ดขาด
    [1]: https://janiserdmanis.org/artefacts/EVOTEID-2023-poster.pdf

  • ผมกำลังสร้าง ชุดผลิตภัณฑ์อินเทอร์เน็ตแบบกระจายศูนย์ เองอยู่ เลยเคยลงลึกในสาขานี้พอสมควร
    เคยสัมภาษณ์ Ian Clarke ผู้ก่อตั้ง Freenet: https://www.youtube.com/watch?v=JWrRqUkJpMQ
    PerfectDark ก็น่าสนใจ
    ที่ชอบที่สุดคือ http://maidsafe.net/ หลังผ่านไป 14 ปี ดูเหมือนในที่สุดก็ใกล้จะเปิดตัวแล้ว อนึ่ง ผมไม่ได้เกี่ยวข้องกับพวกเขา

  • รู้สึกเสียดายที่ดูเหมือนผู้ดูแล I2P ชื่อ zzz จะออกจากโปรเจกต์ไปหลังเจอแรงต้านทางการเมือง
    ทำให้คิดว่าเราควรขอบคุณความทุ่มเทอันหนักหน่วงที่ผู้ดูแลโอเพนซอร์สลงแรงให้โดยไม่ได้รับค่าตอบแทน

    • นั่นเป็นเหตุผลเหรอ? ผมไม่เคยได้ยินว่าเหตุผลคืออะไร
      แน่นอนว่าเป็นการจากไปที่กะทันหันมาก
  • I2P เป็นโปรเจกต์ที่ยอดเยี่ยม ดำเนินงานโดยคนที่ยอดเยี่ยม
    ถ้าเทียบกับ Tor แบบสั้น ๆ I2P แข็งแกร่งใน ระบบนิเวศภายใน I2P แต่น่าเสียดาย ครั้งล่าสุดที่ตรวจดูมี exit node อยู่แค่ไม่กี่ตัว และตรงส่วนนั้น Tor แข็งแกร่งกว่า

  • Tor Browser คือ killer app ของ Tor
    I2P ก็ต้องมีเบราว์เซอร์ที่ปลอดภัย เรียบง่าย และติดตามลายนิ้วมือได้ยาก ซึ่งรองรับเฉพาะ HTML พื้นฐาน ไม่อย่างนั้นก็เท่ากับหาเรื่องใส่ตัว

    • เห็นด้วย
      การใช้เบราว์เซอร์ทั่วไปเป็นจุดอ่อนใหญ่ต่อความเป็นนิรนามของ I2P Tor Browser พยายามทำให้ผู้ใช้ทุกคนบนเครือข่าย Tor ดูเหมือนกันหมด
    • เบราว์เซอร์นั้นมีฟีเจอร์ที่เกี่ยวกับ Tor ฝังอยู่หรือเปล่า?
      ผู้ใช้ I2P ก็แค่ใช้ Tor Browser แล้วได้ประโยชน์แบบเดียวกันคือช่วยลดโอกาสถูกติดตามด้วย browser fingerprint ไม่ใช่หรือ?
    • บทบาทนั้น Mullvad Browser ซึ่งอิงจาก Tor Browser อาจทำได้ไหม?