4 คะแนน โดย GN⁺ 2024-03-11 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • LocalSend ช่วยให้อุปกรณ์บนเครือข่ายโลคัลเดียวกันส่งไฟล์ถึงกันได้โดยไม่ต้องพึ่งคลาวด์หรือเซิร์ฟเวอร์ตัวกลาง จึงเหมาะกับผู้ใช้ที่ต้องการฟังก์ชันแบบ AirDrop บนหลายแพลตฟอร์ม
  • รองรับ Windows, macOS, Linux, Android และ iOS และสามารถเริ่ม โอนไฟล์ระยะใกล้ ได้ทันทีหลังติดตั้งโดยไม่ต้องมีบัญชีหรือล็อกอิน
  • ข้อมูลที่ส่งจะไม่ออกไปนอกเครือข่าย WiFi ภายใน และใช้ การเข้ารหัส HTTPS กับทุกการส่ง
  • ไม่มีข้อจำกัดด้านประเภทไฟล์ ไม่ว่าจะเป็นรูปภาพ วิดีโอ เอกสาร หรือข้อความ โดยตำแหน่งบันทึกเริ่มต้นคือ โฟลเดอร์ Downloads ของอุปกรณ์ แต่สามารถเปลี่ยนได้ในการตั้งค่า
  • เป็นโปรเจกต์โอเพนซอร์สฟรีที่มี GitHub Stars มากกว่า 70k, ดาวน์โหลดมากกว่า 5M และผู้มีส่วนร่วมมากกว่า 100 คน โดยไม่มีโฆษณา ตัวติดตาม หรือค่าใช้จ่ายแอบแฝง

การแชร์ไฟล์บนเครือข่ายโลคัล

  • LocalSend เป็นเครื่องมือโอเพนซอร์สข้ามแพลตฟอร์มสำหรับแชร์ไฟล์โดยไม่ใช้คลาวด์
  • แพลตฟอร์มที่รองรับคือ Windows, macOS, Linux, Android, iOS
  • ขั้นตอนการใช้งานเรียบง่าย
    • ติดตั้งและเปิด LocalSend บนอุปกรณ์แต่ละเครื่อง
    • เลือกรูปภาพ วิดีโอ เอกสาร ข้อความ หรือไฟล์ประเภทอื่น
    • แตะอุปกรณ์ใกล้เคียงเพื่อส่งผ่านเครือข่ายโลคัล
  • ไม่ต้องมีบัญชี ล็อกอิน หรือเซิร์ฟเวอร์
  • ทำงานได้โดยไม่ต้องเชื่อมต่ออินเทอร์เน็ต และข้อมูลจะไม่ออกไปนอก เครือข่าย WiFi ภายใน
  • ส่งข้อมูลได้ด้วยความเร็วสูงสุดของเครือข่าย WiFi และไม่มีการจำกัดแบนด์วิดท์
  • ทุกการส่งถูกเข้ารหัสด้วย HTTPS
  • หากต้องการความปลอดภัยเพิ่มเติม สามารถเปิดใช้ การยืนยันด้วย PIN ได้
  • โดยค่าเริ่มต้น ไฟล์จะถูกบันทึกไว้ในโฟลเดอร์ Downloads ของอุปกรณ์ และสามารถเปลี่ยนตำแหน่งบันทึกได้ในการตั้งค่า

สถานะโครงการและช่องทางสนับสนุน

  • LocalSend เป็น โอเพนซอร์สฟรี 100% โดยไม่มีโฆษณา การติดตาม หรือค่าใช้จ่ายแอบแฝง
  • ตัวชี้วัดสาธารณะอยู่ที่ GitHub Stars มากกว่า 70k, ดาวน์โหลดมากกว่า 5M และผู้มีส่วนร่วมมากกว่า 100 คน
  • เวอร์ชันเว็บให้บริการที่ web.localsend.org
  • ชุมชนและช่องทางสนับสนุน
    • Discord
    • Reddit
    • Mastodon
    • การสนทนาแยกตามภาษาใน GitHub Discussions: English, Deutsch, Español, Français, Italiano, 简体中文
  • สามารถรายงานบั๊กได้ที่ GitHub Issues

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

 
GN⁺ 2024-03-11
ความคิดเห็นจาก Hacker News
  • จุดที่ดีที่สุดคือใช้ได้บนแพลตฟอร์มหลักส่วนใหญ่ และ GUI ใช้งานง่าย
    แอป iOS ก็ยอดเยี่ยมเช่นกัน
    แต่มีบั๊กบางอย่างที่ควรระวัง: บน Windows หาก LocalSend กำลังทำงานโดยมีหน้าต่างเปิดอยู่ (หลังรับไฟล์?) จะทำให้ระบบไม่เข้าสู่โหมดสลีป และบน Linux ก็เกิดแบบเดียวกันแม้จะไม่เห็นหน้าต่าง
    บน Linux ถ้าหน้าต่าง LocalSend แสดงอยู่และปล่อยทิ้งไว้ ตัวจัดการหน้าต่างเดสก์ท็อปจะอัปเดตพื้นที่ที่เสียหายอยู่เรื่อย ๆ จน ใช้ CPU สูงผิดปกติ
    บน Windows แม้จะเปิดตัวเลือก “startup minimized” และตั้งให้รันตอนเริ่มระบบ หน้าต่างก็มักจะเด้งขึ้นมาอยู่ดี และเมื่อคิดถึงปัญหาเรื่องสลีปแล้ว การรันเบื้องหลังก็ไม่น่าพอใจนัก

    • “ถ้าหน้าต่าง LocalSend แสดงอยู่และปล่อยทิ้งไว้ ตัวจัดการหน้าต่างเดสก์ท็อปจะใช้ CPU หนักมาก” ฟังดูสมกับเป็น Flutter จริง ๆ
    • เพิ่งลองติดตั้งดู ในบรรดาแอปประเภทนี้ถือว่าเป็น ประสบการณ์ที่ไม่ยุ่งยาก ที่สุด
      ข้อไม่พอใจเดียวคืออุปกรณ์ที่รับต้องตื่นอยู่และแอปต้องอยู่ด้านหน้าจึงจะทำงาน อย่างน้อยบน Android แม้จะเปิดตัวเลือกบันทึกด่วนก็ยังเป็นแบบนั้น
      ถ้า Quick Share (เดิมคือ Nearby Share) ใช้บน Linux ได้ก็คงดี จะผ่าน Chrome ก็ได้
    • ช่วยเปิดเป็น issue ให้หน่อยได้ไหม?
    • ซอฟต์แวร์ ข้ามแพลตฟอร์มแบบไม่ผูกขาด สำหรับแชร์ไฟล์ในเครื่องแบบนี้ดีจริง ๆ
    • แค่ปิดแอนิเมชันก็พอ ถ้าเปิดแอนิเมชัน CPU จะอยู่ราว 4~7~14% แต่ถ้าปิดจะอยู่ระดับ 0~2~3%
  • เมื่อไม่นานมานี้คุยกับน้องชายเรื่องโทรศัพท์ เขาจำเป็นต้องใช้ iPhone เพราะงาน
    เขาเป็นนักดับเพลิงป่าของรัฐบาลกลางสหรัฐฯ และทำงานหน่วย hotshot ตลอดฤดูร้อนที่ผ่านมา เขาบอกว่าในพื้นที่ห่างไกลที่ไม่มีทั้งสัญญาณมือถือและเราเตอร์ Wi-Fi กลาง ทีมงานจะส่ง ไฟล์อย่างแผนที่ผ่าน AirDrop ให้กันก่อนจะแยกย้าย
    น่าสนใจทีเดียว เครื่องมือนี้จะรองรับสถานการณ์แบบส่งจาก Android ไป iPhone ได้ไหม?

    • ได้
  • นโยบายความเป็นส่วนตัวสุดยอดมาก: https://localsend.org/#/privacy

    • ข้อความที่ว่า “นโยบายความเป็นส่วนตัวอาจมีการอัปเดตเป็นครั้งคราว และการเปลี่ยนแปลงจะมีผลทันทีเมื่อมีการโพสต์นโยบายความเป็นส่วนตัวฉบับใหม่บนหน้านี้” ดูเหมือนเป็น เงื่อนไขที่ค่อนข้างแย่ ในทางปฏิบัติ
    • ข้อกำหนดการให้บริการ (https://localsend.org/#/terms-of-service) ไม่ค่อยดีนัก
      มีระบุว่า “คุณยืนยันว่ามีอายุ 18 ปีขึ้นไป และบริษัทไม่อนุญาตให้ผู้ที่มีอายุต่ำกว่า 18 ปีใช้บริการ”
      ตั้งใจจะใช้กับครอบครัว โดยเฉพาะกับเด็ก ๆ แต่กลายเป็นอุปสรรค
    • นอกจากบอกว่าไม่เก็บข้อมูลส่วนบุคคลแล้ว ไม่มีรายละเอียดว่า มีการแชร์อะไรบ้าง
  • น่าทึ่งที่ในปี 2024 AirDrop ยังเป็นข้อได้เปรียบใหญ่ของระบบนิเวศ Apple
    ในเชิงเทคนิคมันเป็นหนึ่งในฟีเจอร์ที่เรียบง่ายที่สุดที่ทำได้ แต่นวัตกรรมไม่ได้มาจากเทคโนโลยี แต่มาจาก การจัดแนวผลประโยชน์ ที่ Apple มีและคู่แข่งไม่มี
    เพราะคู่แข่งทั้งแข่งขันกันเองและต้องแข่งกับ Apple พร้อมกัน

    • ถ้าทุกคนใช้ Samsung ทุกคนก็ใช้ของอย่าง Quick Share ได้ การล็อกอิน ไม่ใช่สิ่งที่ควรชม
    • ถ้า “เป็นหนึ่งในสิ่งที่เรียบง่ายที่สุดในเชิงเทคนิค” แล้วทำไมถึงไม่มี “ทางเลือกแทน AirDrop” แบบเสรีและโอเพนซอร์สสักตัวที่สร้าง เครือข่ายไร้สายชั่วคราว ระหว่างสองอุปกรณ์ได้อย่างลื่นไหลและรองรับการส่งความเร็วสูงแบบ P2P จริง ๆ?
    • วิธีล็อกอินแบบผูกขาดอาจทำให้ได้ขึ้นปกนิตยสารอย่าง CEO Magazine ถ้ามีอยู่จริง แต่นั่น ไม่ใช่นวัตกรรม
      หลังจาก Apple ปฏิเสธคำวิจารณ์เรื่องสายเคเบิลแบบผูกขาดมาหลายปี แล้วหลัง EU บังคับใช้กฎ Apple ก็อธิบายพอร์ต USB-C ของ iPhone 15 แบบนี้:
      “ด้วยขั้วต่อ USB-C ใหม่ คุณสามารถชาร์จ Mac หรือ iPad ด้วยสายเดียวกับที่ใช้ชาร์จ iPhone 15 ได้ คุณยังสามารถใช้ iPhone 15 ชาร์จ Apple Watch หรือ AirPods ได้ด้วย บอกลาสายรก ๆ ไปได้เลย”
      https://www.apple.com/ca/iphone-15/
      เหตุที่เรื่องแบบนี้เกิดซ้ำ ๆ ก็เพราะ Apple และ Google ยังคงทำให้ช่องว่างด้านความสามารถระหว่างคอมพิวเตอร์กับโทรศัพท์กว้างขึ้นเรื่อย ๆ ฝั่งโทรศัพท์ ผู้บริโภคมีตัวเลือกน้อยกว่ามากเมื่อต้องใช้แอปและอุปกรณ์ต่อพ่วงของบุคคลที่สาม
    • ผมหยิบฟีเจอร์โฟน Samsung ปี 2011 ออกมาดู แล้วประหลาดใจที่พบว่า ส่งไฟล์ไปมาระหว่างเครื่องกับ PC โดยตรงผ่าน Bluetooth ได้
  • สำหรับซอฟต์แวร์นี้ แนะนำวิดีโอสอนใช้งานของ Techno Tim
    เขาอธิบายกรณีใช้งานและสาธิตบนแพลตฟอร์มหลัก ๆ: https://youtu.be/2ITezMkbAqE?si=-YVJq8iqwFYQ9gMr

  • ทุก ๆ ไม่กี่เดือนจะมีเครื่องมือแบบนี้ตัวใหม่ออกมา แต่ไม่มีตัวไหน ถูกใช้แพร่หลาย เลย

    • ทั้งที่เป็นปี 2024 แล้ว เรายังไม่มี วิธีทั่วไปที่ดี สำหรับส่งไฟล์ระหว่างระบบที่อยู่ใน LAN เดียวกันเลย ยังไม่ต้องพูดถึงข้ามอินเทอร์เน็ต
      ช่องว่างแบบนี้ไม่ได้เกิดขึ้นแค่เพราะต่อให้แก้แล้วก็ทำเงินไม่ได้ และโซลูชันแบบเปิดก็มักใช้งานยากเสมอ
      ในกรณีนี้ ฝั่งที่ทำเงินได้คือการไม่แก้ปัญหา ถ้ามีโซลูชันที่ยอดเยี่ยม เรียบง่าย และใช้ได้ทั่วไป ความต้องการระบบจัดเก็บบนคลาวด์ขนาดใหญ่และซับซ้อนที่ทำให้ขุดข้อมูลจากไฟล์ทั้งหมดได้หรือบังคับสมัครสมาชิกก็จะลดลง
    • https://wormhole.app/ ค่อนข้างดี
    • เคยคิดว่าน่าจะมีประโยชน์ถ้าส่งแพตช์ให้โปรเจกต์เหล่านี้ให้มากที่สุด เพื่อให้มี ความสามารถทำงานร่วมกันได้
      อาจเป็นการนำโปรโตคอลเดียวกันไปใช้ในแอปให้มากที่สุดเท่าที่ทำได้
      ท้ายที่สุดต้องมีโปรโตคอลร่วมที่ถูกใช้มากพอจนแอปส่วนใหญ่สื่อสารกันได้ จึงจะเกิดผลของเครือข่าย
      แน่นอนว่าไม่รู้ว่าตัวเองมีเวลาหรือความสามารถพอจะลงลึกไปทำจริงหรือเปล่า
    • ไม่แน่ใจว่า “แพร่หลาย” หมายถึงอะไร ผมใช้ https://www.sharedrop.io/ ตลอด แต่ก็ใช้คนเดียว
  • ใช้โปรเจกต์โอเพนซอร์สอีกตัวชื่อ LANDrop แล้วพอใจอยู่
    สิ่งที่ติดใจใน LocalSend คือ ความเร็วในการส่งต่ำ ไม่รู้ทำไมถึงช้ากว่า LANDrop และช้ากว่า SMB หรือ Croc มาก
    การตรวจพบอุปกรณ์ก็มีปัญหาแปลกมาก บน iPad ของผมส่งไปยังพีซี Windows ไม่ได้ แต่จากพีซีส่งไปยัง iPad ได้
    ลองรีสตาร์ตเซิร์ฟเวอร์ ปิดไฟร์วอลล์ ฯลฯ ก็ไม่ช่วย LAN ของผมค่อนข้างซับซ้อนด้วย VLAN เลยอาจเป็นปัญหาเฉพาะของผม จึงไม่ได้เปิด issue
    แต่ LANDrop ไม่มีปัญหาเดียวกัน เลยยิ่งแปลก

    • เพิ่งตั้งค่า LocalSend ไป แต่พอเห็นความเห็นนี้แล้วก็เริ่มคิดใหม่
      ถ้าเปรียบเทียบ GitHub repository ทั้งสอง ดูเหมือนว่า LANDrop จะค่อนข้าง หยุดนิ่ง ส่วน LocalSend มีความเคลื่อนไหวมาก
      https://github.com/LANDrop/LANDrop
      https://github.com/localsend/localsend
      ไม่รู้ว่าในทางปฏิบัติสำคัญแค่ไหน แต่ก็น่าพิจารณา
  • จากประสบการณ์ที่เคยพยายามส่งไฟล์จาก iPhone ไปยังหน้าจอรถที่ใช้ Android, LocalSend และ LANDrop ทำได้ดีที่สุด
    ตัวอื่น ๆ อย่าง Sharedrop, Snapdrop, Pairdrop, Arc ต้องใช้อินเทอร์เน็ตหรือไม่ก็ทำงานไม่ถูกต้อง

  • คิดถึง Bluetooth สำหรับการค้นหาอุปกรณ์ และคิดถึง Bluetooth สำหรับการส่งไฟล์ขนาดเล็กด้วย
    ไม่ต้องอยู่ในเครือข่ายเดียวกันไม่ว่าจะในรูปแบบใด ก็ตรวจพบอุปกรณ์ใกล้เคียงได้ และทุกวันนี้ยังเหมาะกับการส่งระหว่างแล็ปท็อป ↔ สมาร์ตโฟนด้วย
    สำหรับการส่งไฟล์ขนาดใหญ่ ก็อาจสร้าง access point ด้วย Wi‑Fi ได้
    การค้นหาอุปกรณ์ผ่าน Bluetooth คือจุดแข็งของ AirDrop ไม่แน่ใจนัก แต่ดูเหมือน Apple จะสร้าง Wi‑Fi ชั่วคราวสำหรับการส่งไฟล์ขนาดใหญ่ แล้วให้อีกฝ่ายเชื่อมต่อเข้าไปชั่วครู่
    แอป Teleport [1] ใช้ Zeroconf สำหรับการค้นหาอุปกรณ์ แต่รองรับข้ามแพลตฟอร์มได้ไม่ดีนัก
    การตั้งค่า Avahi ซับซ้อน มีการชนกัน และต้องมี daemon ดังนั้นบางทีการใช้ multicast โดยตรงอาจดีกว่า
    แถมยังมักลืมกันว่า Bluetooth มีฟังก์ชันส่งไฟล์ (เช่น vCard) ในตัวอยู่แล้ว
    เท่าที่จำได้มีแค่ GNOME ที่แสดงสิ่งนี้ให้เห็น และถึงอย่างนั้นก็ไม่ได้อยู่ใน Nautilus
    WebDAV ก็คล้ายกัน สำหรับผมมันทำงานได้ดีกว่า SMB มาก แต่คนส่วนใหญ่ไม่รู้ว่า WebDAV มีมาให้ในตัว

    • สกรีนช็อตบนหน้า landing page ให้ความรู้สึกเหมือนแซะ Apple ด้วยเหตุผลที่สมควร
      เมื่อวานเพื่อนพยายาม AirDrop รูปจาก iPhone 11 Pro ไปยัง iPhone 15 Pro ของผม
      พอเอาด้านบนของโทรศัพท์มาแตะกัน ก็มีแอนิเมชันสั่น ๆ น่าสนุกขึ้นมา แต่ไฟล์ไม่ถูกส่ง
      หลังจากนั้นใน AirDrop เพื่อนแตะรูปของผม และฝั่งเพื่อนเห็นข้อความว่า “กำลังรอยืนยัน” แต่ฝั่งผมไม่มีป็อปอัปเด้งขึ้นมาเลย
      ลองใหม่หลายครั้งและถึงขั้นรีบูตแล้วก็ยอมแพ้ สุดท้ายส่งผ่าน WhatsApp ซึ่งน่าขันตรงที่มัน ใช้งานได้ทันที
      Apple ควรแก้บั๊กแบบนี้ น่าเสียดายที่ความจริงคือพวกเขาให้ความสำคัญกับซอฟต์แวร์น้อยกว่าฮาร์ดแวร์
  • มีเครื่องมือที่เทียบเท่ากันซึ่งมี HTTP frontend เพื่อให้ฝั่งไคลเอนต์ไม่ต้องติดตั้งอะไรเลยไหม?
    เคยใช้แอปแบบนั้นมาก่อน แต่ดูเหมือนจะเลิกดูแลแล้วและใช้งานไม่ได้อีกต่อไป

    • ปกติมักใช้ Snapdrop(https://snapdrop.net) หรือ PairDrop(https://pairdrop.net)
    • บน LAN มักใช้ python -m http.server บ่อย ๆ
      ถ้าการตั้งค่า Python บนโฮสต์ต้นทางยุ่งยาก หรือเครือข่ายซับซ้อน วิธีรัน uploadserver[1] บนโฮสต์ปลายทางก็ค่อนข้างเหมาะ
      ต้องระวังเครื่องมือหรู ๆ ที่มีคำว่า “magic” อยู่ในชื่อ ซึ่งพึ่งพาเซิร์ฟเวอร์รีเลย์ภายนอก
      ต่อให้ไม่เป็นอย่างนั้น ก็ยังชอบ HTTP แบบเรียบง่ายดั้งเดิมอยู่ดี ไม่ต้องการอะไรที่ซับซ้อนกว่านั้น และในกรณีส่วนใหญ่ก็ไม่จำเป็นต้องเข้ารหัสด้วย
      netcat/socat ก็อาจเป็นทางแก้ได้ แต่ไม่ได้มีอยู่ทั่วไปเท่า Python กับ HTTP และก็จำชุดคำสั่งไม่ได้เสมอไป
      [1]: https://pypi.org/project/uploadserver/
    • LocalSend รองรับสิ่งนี้
      https://github.com/localsend/protocol?tab=readme-ov-file#51-browser-url
      หรือหมายถึงการ อัปโหลด ผ่าน HTTP frontend กันแน่?
    • อีกตัวเลือกหนึ่งคือ https://github.com/akovacs/uploadserver โดยพื้นฐานแล้วเป็นเวอร์ชันที่ดีกว่าของ python -m http.server 8000
      เริ่มจากเปิดเซิร์ฟเวอร์หนึ่งตัวบนเดสก์ท็อปหรือแล็ปท็อปที่มีซอฟต์แวร์ก่อน จากนั้นไคลเอนต์ใด ๆ ที่มีเว็บเบราว์เซอร์ (Android, iOS, PlayStation, Kindle ฯลฯ) ก็สามารถอัปโหลดหรือดาวน์โหลดไฟล์ผ่านเว็บ GUI ได้โดยไม่ต้องติดตั้งซอฟต์แวร์ฝั่งไคลเอนต์
      ไบนารีที่คอมไพล์ไว้แล้วสำหรับ x86-64 Linux, Windows, Mac OS ดาวน์โหลดได้ที่ https://github.com/akovacs/uploadserver/releases/
      ยังไม่มีไบนารีที่คอมไพล์ไว้แล้วสำหรับ Apple Silicon แต่ถ้ามีความต้องการมากพอก็อาจเพิ่มได้ และถ้าต้องการก็สามารถคอมไพล์จากซอร์สด้วย nightly Rust toolchain ได้
      เมื่อเทียบกับบริการคลาวด์หรือ python -m http.server 8000 เซิร์ฟเวอร์นี้เขียนด้วย Rust จึงเร็วมาก ค่อนข้างเรียบง่าย (ไบนารีหลังคอมไพล์และ strip แล้วมักมีขนาดต่ำกว่า 3MB) และส่งทุกอย่างผ่าน LAN ภายในเครื่อง
      ดูเหมือนจะจัดการไฟล์ขนาดใหญ่เกิน 4GB ได้ค่อนข้างดี และต้องติดตั้งซอฟต์แวร์เพียงเครื่องเดียว
      ดูรายละเอียดเพิ่มเติมที่ https://news.ycombinator.com/item?id=39665095
    • กำลังทำตัวนี้อยู่: https://github.com/pvik/simple-file-server/releases