4 điểm bởi GN⁺ 2024-03-11 | 1 bình luận | Chia sẻ qua WhatsApp
  • LocalSend là công cụ hữu ích cho người dùng muốn sử dụng tính năng kiểu AirDrop trên nhiều nền tảng, cho phép trao đổi tệp giữa các thiết bị trong cùng mạng cục bộ mà không cần đám mây hay máy chủ trung gian
  • Hỗ trợ Windows, macOS, Linux, Android, iOS, và có thể bắt đầu truyền tệp ở cự ly gần ngay sau khi cài đặt mà không cần tài khoản hay đăng nhập
  • Dữ liệu truyền không rời khỏi mạng WiFi cục bộ, và mọi lần truyền đều dùng mã hóa HTTPS
  • Không giới hạn định dạng tệp như ảnh, video, tài liệu, văn bản; vị trí lưu mặc định là thư mục Downloads của thiết bị nhưng có thể thay đổi trong phần cài đặt
  • Đây là dự án mã nguồn mở miễn phí với 70k+ GitHub Stars, 5M+ lượt tải, 100+ người đóng góp, không có quảng cáo, trình theo dõi hay chi phí ẩn

Chia sẻ tệp dựa trên mạng cục bộ

  • LocalSend là công cụ mã nguồn mở đa nền tảng để chia sẻ tệp mà không cần đám mây
  • Nền tảng được hỗ trợ là Windows, macOS, Linux, Android, iOS
  • Quy trình sử dụng rất đơn giản
    • Cài đặt và chạy LocalSend trên từng thiết bị
    • Chọn ảnh, video, tài liệu, văn bản hoặc các loại tệp khác
    • Chạm vào thiết bị ở gần để gửi qua mạng cục bộ
  • Không cần tài khoản, đăng nhập hay máy chủ
  • Hoạt động không cần kết nối internet, và dữ liệu không rời khỏi mạng WiFi cục bộ
  • Truyền ở tốc độ tối đa của mạng WiFi và không bị giới hạn băng thông
  • Mọi lần truyền đều được mã hóa bằng HTTPS
  • Nếu cần bảo mật bổ sung, có thể bật xác nhận bằng PIN
  • Theo mặc định, tệp được lưu vào thư mục Downloads của thiết bị, và có thể thay đổi vị trí lưu trong phần cài đặt

Trạng thái dự án và kênh hỗ trợ

  • LocalSend là dự án mã nguồn mở miễn phí 100%, không có quảng cáo, theo dõi hay chi phí ẩn
  • Các chỉ số công khai gồm 70k+ GitHub Stars, 5M+ lượt tải, 100+ người đóng góp
  • Phiên bản web có tại web.localsend.org
  • Cộng đồng và các kênh hỗ trợ
    • Discord
    • Reddit
    • Mastodon
    • Thảo luận theo ngôn ngữ trên GitHub Discussions: English, Deutsch, Español, Français, Italiano, 简体中文
  • Có thể báo lỗi tại GitHub Issues

1 bình luận

 
GN⁺ 2024-03-11
Ý kiến trên Hacker News
  • Điểm hay nhất là có thể dùng trên hầu hết các nền tảng lớn, và GUI dễ dùng
    Ứng dụng iOS cũng rất tốt
    Tuy nhiên có vài lỗi cần lưu ý: trên Windows, nếu cửa sổ LocalSend đang mở và ứng dụng đang chạy (sau khi nhận?), nó sẽ ngăn hệ thống vào chế độ ngủ; trên Linux, điều tương tự xảy ra ngay cả khi không thấy cửa sổ
    Trên Linux, nếu cửa sổ LocalSend đang hiển thị nhưng nhàn rỗi, trình quản lý cửa sổ desktop liên tục cập nhật vùng bị hỏng và dùng CPU nhiều bất thường
    Trên Windows, dù bật tùy chọn “startup minimized” và cho chạy khi khởi động, cửa sổ vẫn thường hiện ra; xét đến vấn đề chế độ ngủ thì chạy nền cũng không dễ chịu gì

    • “Khi cửa sổ LocalSend đang hiển thị nhưng nhàn rỗi, trình quản lý cửa sổ desktop ngốn CPU khủng khiếp” nghe đúng kiểu Flutter
    • Vừa cài thử, và trong các ứng dụng kiểu này thì đây là trải nghiệm ít phiền phức nhất
      Phàn nàn duy nhất là thiết bị nhận phải đang thức và ứng dụng phải ở foreground thì mới hoạt động. Ít nhất trên Android, ngay cả khi bật tùy chọn lưu nhanh cũng vẫn vậy
      Ước gì Quick Share (trước đây là Nearby Share) cũng dùng được trên Linux. Qua Chrome cũng được
    • Bạn có thể mở issue về việc này không?
    • Loại phần mềm không độc quyền, đa nền tảng như thế này để chia sẻ tệp cục bộ thật sự rất tốt
    • Chỉ cần tắt animation là được. Khi bật animation thì CPU khoảng 4~7~14%, còn tắt đi thì ở mức 0~2~3%
  • Cách đây không lâu tôi nói chuyện với em trai về điện thoại; cậu ấy phải dùng iPhone vì công việc
    Cậu ấy là lính cứu hỏa cháy rừng liên bang ở Mỹ và đã làm hotshot suốt mùa hè năm ngoái; ở những vùng hẻo lánh không có sóng điện thoại cũng không có router Wi‑Fi trung tâm, các thành viên trong đội trao đổi các tệp như bản đồ qua AirDrop trước khi tản ra
    Khá thú vị; công cụ này có hỗ trợ các tình huống kiểu gửi từ Android sang iPhone không?

  • Chính sách quyền riêng tư tuyệt vời: https://localsend.org/#/privacy

    • Câu “Chính sách quyền riêng tư có thể được cập nhật theo thời gian, và các thay đổi có hiệu lực ngay khi chính sách quyền riêng tư mới được đăng trên trang này” thực ra trông như một điều khoản khá tệ
    • Điều khoản dịch vụ (https://localsend.org/#/terms-of-service) thì không hay lắm
      Trong đó ghi “bạn tuyên bố rằng mình từ 18 tuổi trở lên, và công ty không cho phép người dưới 18 tuổi sử dụng dịch vụ”
      Tôi định dùng cùng gia đình, đặc biệt là với bọn trẻ, nên đây là một trở ngại
    • Ngoài việc nói rằng không thu thập thông tin cá nhân, không có nội dung nào nói về những gì được chia sẻ
  • Thật ngạc nhiên là đến năm 2024 AirDrop vẫn là một lợi thế lớn của hệ sinh thái Apple
    Về mặt kỹ thuật, đây thuộc nhóm tính năng đơn giản nhất trong những thứ có thể làm được; đổi mới không đến từ công nghệ mà từ sự đồng nhất lợi ích mà Apple có còn đối thủ thì không
    Vì các đối thủ vừa cạnh tranh với nhau, vừa cạnh tranh với Apple

    • Nếu ai cũng dùng Samsung thì mọi người chỉ cần dùng thứ như Quick Share. Lock-in không phải điều đáng khen
    • Nếu “về mặt kỹ thuật là một trong những thứ đơn giản nhất có thể làm được” thì tại sao vẫn chưa có “phương án thay thế AirDrop” tự do, mã nguồn mở nào tạo được mạng không dây tạm thời một cách mượt mà giữa hai thiết bị và hỗ trợ truyền tốc độ cao P2P thật sự?
    • Cách lock-in độc quyền có thể giúp lên bìa nếu có tạp chí kiểu CEO Magazine, nhưng đó không phải đổi mới
      Sau nhiều năm bác bỏ các chỉ trích về cáp độc quyền, sau khi EU bắt buộc, Apple mô tả cổng USB-C của iPhone 15 như sau:
      “Với đầu nối USB-C mới, bạn có thể sạc máy Mac hoặc iPad bằng chính sợi cáp dùng để sạc iPhone 15. Bạn cũng có thể dùng iPhone 15 để sạc Apple Watch hoặc AirPods. Tạm biệt đống dây cáp lộn xộn.”
      https://www.apple.com/ca/iphone-15/
      Lý do chuyện này lặp lại là Apple và Google liên tục nới rộng khoảng cách tính năng giữa máy tính và điện thoại. Ở phía điện thoại, người tiêu dùng có ít lựa chọn hơn rất nhiều khi dùng ứng dụng và thiết bị ngoại vi của bên thứ ba
    • Tôi lôi chiếc điện thoại phổ thông Samsung đời 2011 ra và ngạc nhiên khi biết rằng nó có thể gửi nhận tệp trực tiếp với PC qua Bluetooth
  • Với phần mềm này, nên xem video hướng dẫn sử dụng của Techno Tim
    Video giải thích các trường hợp sử dụng và trình diễn trên các nền tảng chính: https://youtu.be/2ITezMkbAqE?si=-YVJq8iqwFYQ9gMr

  • Cứ vài tháng lại có một công cụ kiểu này xuất hiện, nhưng chẳng cái nào trong số đó được dùng rộng rãi

    • Đã là năm 2024 mà vẫn chưa có một cách phổ thông đủ tốt để gửi tệp giữa các hệ thống trong cùng LAN, chưa nói đến qua Internet
      Những điểm mù như thế này xuất hiện không chỉ vì giải quyết chúng không kiếm ra tiền, và các giải pháp mở thì như thường lệ là khó dùng
      Trong trường hợp này, tiền nằm ở phía không giải quyết vấn đề. Nếu có một giải pháp tuyệt vời, đơn giản và phổ quát, nhu cầu với các hệ thống lưu trữ đám mây lớn, phức tạp—vốn cho phép khai thác dữ liệu trên mọi tệp hoặc đòi đăng ký thuê bao—sẽ giảm đi
    • https://wormhole.app/ khá ổn
    • Tôi từng nghĩ sẽ hữu ích nếu gửi càng nhiều patch càng tốt cho các dự án kiểu này để chúng có khả năng tương tác
      Có lẽ sẽ là triển khai cùng một giao thức trong càng nhiều ứng dụng càng tốt
      Cuối cùng, khi một giao thức chung được dùng đủ nhiều để đa số ứng dụng có thể giao tiếp với nhau thì hiệu ứng mạng mới xuất hiện
      Tất nhiên tôi không biết mình có thời gian hay năng lực để đào sâu đến mức đó hay không
    • Tôi không biết “rộng rãi” nghĩa là gì. Tôi dùng https://www.sharedrop.io/ suốt, nhưng đúng là chỉ có mình tôi dùng
  • Tôi đang dùng khá hài lòng một dự án mã nguồn mở khác tên là LANDrop
    Điều khiến tôi băn khoăn ở LocalSend là tốc độ truyền thấp. Không hiểu vì sao nó còn chậm hơn LANDrop, và chậm hơn rất nhiều so với SMB hay Croc
    Việc phát hiện thiết bị cũng có vấn đề rất lạ. Từ iPad của tôi không thể gửi sang PC Windows, nhưng từ PC thì có thể gửi sang iPad
    Khởi động lại máy chủ, tắt tường lửa, v.v. cũng không có tác dụng. LAN của tôi hơi phức tạp với VLAN nên có thể chỉ là vấn đề riêng của tôi, vì vậy tôi không mở issue
    Nhưng LANDrop lại không gặp vấn đề tương tự, nên càng kỳ lạ hơn

    • Tôi vừa thiết lập LocalSend xong, nhưng đọc nội dung này khiến tôi phải nghĩ lại
      So sánh hai kho GitHub thì LANDrop có vẻ khá đình trệ, còn LocalSend thì rất sôi động
      https://github.com/LANDrop/LANDrop
      https://github.com/localsend/localsend
      Không rõ trên thực tế điều đó quan trọng đến mức nào, nhưng cũng đáng cân nhắc
  • Theo trải nghiệm của tôi khi cố gửi tệp từ iPhone sang màn hình ô tô chạy Android, LocalSend và LANDrop là tốt nhất
    Những cái còn lại như Sharedrop, Snapdrop, Pairdrop, Arc thì hoặc cần Internet, hoặc không hoạt động đúng

  • Tôi nhớ Bluetooth cho việc khám phá thiết bị, và cũng nhớ Bluetooth cho việc truyền các tệp nhỏ
    Không còn cần phải ở cùng một mạng dưới bất kỳ hình thức nào, có thể phát hiện thiết bị xung quanh, và ngày nay cũng tốt cho việc truyền giữa laptop ↔ smartphone
    Với tệp lớn, cũng có khả năng tạo access point bằng Wi‑Fi
    Khám phá thiết bị dựa trên Bluetooth là điểm mạnh của AirDrop. Tôi không chắc, nhưng có vẻ Apple tạo Wi‑Fi tạm thời cho các lần truyền lớn và bên nhận kết nối vào đó trong chốc lát
    Ứng dụng Teleport [1] dùng Zeroconf để khám phá thiết bị, nhưng thiếu hỗ trợ đa nền tảng
    Cấu hình Avahi thì phức tạp, dễ xung đột và cần daemon, nên có lẽ dùng multicast trực tiếp có thể tốt hơn
    Nhân tiện, mọi người thường quên rằng Bluetooth vốn đã có sẵn chức năng truyền tệp (vCard, v.v.)
    Tôi nhớ chỉ GNOME từng hiển thị chức năng này, mà thậm chí cũng không nằm trong Nautilus
    WebDAV cũng tương tự; với tôi nó hoạt động tốt hơn SMB rất nhiều. Nhưng đa số không biết WebDAV được tích hợp sẵn

    • Ảnh chụp màn hình trên landing page có cảm giác đang “đá” Apple, và có lý do chính đáng
      Hôm qua một người bạn cố AirDrop ảnh từ iPhone 11 Pro sang iPhone 15 Pro của tôi
      Khi áp phần trên của hai điện thoại vào nhau thì có hoạt ảnh rung lắc vui mắt, nhưng tệp không được truyền
      Sau đó bạn tôi nhấn vào ảnh của tôi trong AirDrop và phía bạn ấy hiện “đang chờ xác nhận”, nhưng phía tôi thì không hề có popup nào
      Thử lại vài lần và thậm chí khởi động lại máy nhưng rồi cũng bỏ cuộc; cuối cùng gửi qua WhatsApp, trớ trêu là cách đó cứ thế hoạt động
      Apple cần sửa những lỗi như thế này. Thật đáng tiếc khi thực tế là họ tập trung vào phần mềm ít hơn phần cứng
  • Có công cụ tương đương nào có HTTP frontend để phía client không cần cài đặt gì không?
    Trước đây tôi từng dùng các ứng dụng kiểu đó, nhưng có vẻ chúng đã ngừng được bảo trì nên không còn hoạt động nữa

    • Thường dùng Snapdrop(https://snapdrop.net) hoặc PairDrop(https://pairdrop.net)
    • Trên LAN, tôi hay dùng python -m http.server
      Nếu việc thiết lập Python trên máy nguồn phiền phức hoặc mạng phức tạp, cách chạy uploadserver[1] trên máy đích khá phù hợp
      Tôi hơi dè chừng với các công cụ hào nhoáng có chữ “magic” trong tên mà lại phụ thuộc vào máy chủ relay bên ngoài
      Ngay cả khi không phải vậy, tôi vẫn thích HTTP cũ kỹ và đơn giản. Không cần thứ gì phức tạp hơn, và trong hầu hết trường hợp cũng không cần mã hóa
      netcat/socat cũng có thể là giải pháp, nhưng không phổ biến khắp nơi như Python và HTTP. Và tôi cũng không bao giờ nhớ nổi các câu lệnh thần chú đó
      [1]: https://pypi.org/project/uploadserver/
    • LocalSend hỗ trợ việc này
      https://github.com/localsend/protocol?tab=readme-ov-file#51-browser-url
      Hay ý bạn là tải lên qua HTTP frontend?
    • Một lựa chọn là https://github.com/akovacs/uploadserver. Về cơ bản, đây là phiên bản tốt hơn của python -m http.server 8000
      Trước tiên, bạn chạy một server trên máy bàn hoặc laptop có phần mềm này; sau đó bất kỳ client nào có trình duyệt web (Android, iOS, PlayStation, Kindle, v.v.) đều có thể tải tệp lên hoặc tải xuống từ GUI web mà không cần cài phần mềm client
      Có thể tải các binary dựng sẵn cho x86-64 Linux, Windows, Mac OS tại https://github.com/akovacs/uploadserver/releases/
      Hiện chưa có binary dựng sẵn cho Apple Silicon, nhưng có thể sẽ được thêm nếu đủ nhu cầu; nếu muốn, bạn cũng có thể biên dịch từ mã nguồn bằng nightly Rust toolchain
      So với dịch vụ đám mây hoặc python -m http.server 8000, server này được viết bằng Rust nên rất nhanh, khá đơn giản (binary sau khi biên dịch và strip thường dưới 3MB), và truyền mọi thứ qua LAN cục bộ
      Có vẻ nó xử lý khá tốt cả các tệp lớn hơn 4GB, và chỉ cần cài phần mềm trên một máy
      Xem chi tiết tại https://news.ycombinator.com/item?id=39665095
    • Tôi đang làm cái này: https://github.com/pvik/simple-file-server/releases