zerotier/toss — 406★ trên GitHub (C). Dead simple LAN file transfers from the command line
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
VÌ SAO CHƯA CÓ REVIEW
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
The toss program outputs a token generated from a random local TCP port, the size of the file you're sending, a hash of the file's contents (unless it's a pipe), and all the available IP addresses on all the interfaces in your system. It then listens for catch to connect and if presented with the correct claim token streams the file. If its input is a file it will continue to service catch requests one after the other (not concurrently) until it is terminated with CTRL+C or a kill signal. For pipes it terminates when the pipe closes.
The catch program takes a toss token and then attempts to connect to all the IP addresses specified in it. If connection is successful it listens for a hello message (based on the hashed token) and if this is correct sends a claim message (a different version of the hashed token). If this exchange succeeds toss will send the file and catch will receive it.
To toss a pipe, use toss -. To catch something and pipe it to standard output, use catch <token> -. Both programs send status and error messages to standard error.
The token can include a file name (the part before the slash) but this is optional. If this is not present catch will name the file based on its hash or the output file name provided on the command line.
Transfers are done using TCP over ports between 30000 and 65535. You may have to configure your local firewall to allow this, or at least to allow it between certain IP addresses.
Toss will work across the open Internet if no firewalls are in the way but it's mostly intended for LANs, WiFi networks, and ZeroTier virtual networks (plug, plug! we wrote this!). This little utility serves as an example of how easy things are if devices can communicate directly.
Security
Toss does no encryption and authentication is based on the token alone. Files are checked against a 64-bit hash, but pipes rely on TCP CRC checking alone. If you are transferring sensitive information over an un-trusted insecure network we highly recommend encrypting it with a real crypto tool like GPG or a similar.
The catch command prioritizes private IP addresses and only tries globally scoped IPs after all attempts to use private ones have failed.
Building
On Linux, Mac, and BSD just type make. The source is self-contained and there are no dependencies.
Some work has been done to prepare for a Windows port but this is incomplete. Pull requests are welcome.
License
MIT license.
Changes
Version 1.1: add a DESTDIR to make install and make toss favor ZeroTier and tun/tap interfaces over physical ones. It just lists them first so catch will try them first.
zerotier/toss có 406 sao GitHub — tải lại trang để xem số mới nhất, hoặc xem trực tiếp github.com/zerotier/toss. TopGit phản chiếu số sao của GitHub nhưng không cam kết đến từng phút.
zerotier/toss có tag gì không?
Bản đồng bộ chưa ghi nhận topic GitHub nào cho zerotier/toss. GitHub topics hiển thị ở thanh bên phải trang repo — đó là nơi đáng kiểm tra nhất.
zerotier/toss còn đang phát triển không?
Commit gần nhất trên zerotier/toss là 5.0 năm trước (theo timestamp GitHub). Repo có 22 fork — một chỉ báo về mức độ quan tâm của cộng đồng.
zerotier/toss là gì?
zerotier/toss (zerotier/toss) là dự án C trên GitHub. Theo mô tả gốc: Dead simple LAN file transfers from the command line
zerotier/toss viết bằng ngôn ngữ gì?
zerotier/toss chủ yếu viết bằng C. Trường "language" của GitHub dựa trên phần lớn byte ở nhánh mặc định.
Đọc đầy đủ README ở tab phía trên.
Muốn nghe thêm một ý kiến về toss?
Hỏi một AI đọc được trang này — một cú bấm là có ngay nhận định về toss.