File sharing
General
to sort and reorder
See also #WebRTC, Network, SSH, Backup (rsync), HTTP, Server#WebDAV, Storage/Files#Networked, SaaS#Storage, Free/open
- https://en.wikipedia.org/wiki/File_server - or fileserver) is a computer attached to a network that provides a location for shared disk access, i.e. storage of computer files (such as text, image, sound, video) that can be accessed by the workstations that are able to reach the computer that shares the access through a computer network. The term server highlights the role of the machine in the traditional client–server scheme, where the clients are the workstations using the storage. A file server does not normally perform computational tasks or run programs on behalf of its client workstations (in other words, it is different from e.g. an application server, which is another type of server). File servers are commonly found in schools and offices, where users use a local area network to connect their client computers.
News
Quick transfer
tar
tar c files.txt orDir | ssh -C host tar x -C /dest/dir
scp
- https://linux.die.net/man/1/scp - secure copy, using SSH
scp -P [port] file.txt user@remotehose:~/file.txt
When scp on remote is initiated, it done so with -t flag, which is undocumented but might be required for precise command persmission configuration.
rsync
rsync -arhHP --info=progress2 --no-i-r --partial-dir=.rsync-partial source destination
hostA$ tar c mydir | lzop | socat - tcp-listen:1234 hostB$ socat tcp:hostA:1234 | lzop -d | tar x
ncp
- ncp - a fast file copy tool for LANs
peer1$ ncp peer2$ ncp peer1 file1 file2 file3 or like this: peer1$ npush file1 peer2$ npoll peer1
fcp
- https://github.com/toofar/fcp - fast copy: wraps ssh and netcat to copy stuff over the network faster than ssh alone.
bcp
- https://github.com/jwilberding/bcp - Broadcast Copy. Any easy way to copy files between terminals or computers on a local network.
piknik
- https://github.com/jedisct1/piknik - Copy/paste anything over the network
toss
- https://github.com/zerotier/toss - a convenient ultra-minimal command line tool to send files over LAN, WiFi, and virtual networks.
toss nginx.conf nginx.conf/rpyaaaaaaaaaatevqcopx2r56xbo4bakxpjzgeh5qblmfyq4ertt3gmtnncrxyou # to send catch nginx.conf/rpyaaaaaaaaaatevqcopx2r56xbo4bakxpjzgeh5qblmfyq4ertt3gmtnncrxyou # to recieve
Magic-Wormhole
- Magic-Wormhole - makes it possible to get arbitrary-sized files and directories (or short pieces of text) from one computer to another. The two endpoints are identified by using identical “wormhole codes”: in general, the sending machine generates and displays the code, which must then be typed into the receiving machine.The codes are short and human-pronounceable, using a phonetically-distinct wordlist. The receiving side offers tab-completion on the codewords, so usually only a few characters must be typed. Wormhole codes are single-use and do not need to be memorized.
- wormhole-gui - a cross-platform application that lets you easily share files, folders and text between devices. It uses the Go implementation of magic-wormhole, called wormhole-william, and compiles statically into a single binary. Wormhole-gui is also compatible with sending to and receiving from other wormhole clients, such as the cli applications from both wormhole-william and magic-wormhole.
- https://github.com/pavelsof/mobile-wormhole - mobile client for the magic wormhole protocol
- https://github.com/psanford/wormhole-william-mobile - End-to-end encrypted file transfer for Android. An Android Magic Wormhole client.
croc
- https://github.com/schollz/croc - a tool that allows any two computers to simply and securely transfer files and folders. There are many tools that can do this but AFAIK croc is the only tool that is easily installed and used on any platform, and has secure peer-to-peer transferring, and has the capability to resume broken transfers. Note: A new WebRTC version is in progress.
transfer.sh
- transfer.sh - Easy and fast file sharing from the command-line. This code contains the server with everything you need to create your own instance. Transfer.sh currently supports the s3 (Amazon S3), gdrive (Google Drive) providers, and local file system (local).
gfile
- https://github.com/Antonito/gfile - a WebRTC based file exchange software.It allows to share a file directly between two computers, without the need of a third party.
gfile send --file filename
qr-filetransfer
- https://github.com/sdushantha/qr-filetransfer - Transfer files over WiFi between your computer and your smartphone from the terminal
qrcp
- https://github.com/claudiodangelis/qrcp - Transfer files over wifi from your computer to your mobile device by scanning a QR code without leaving the terminal. [3]
UDPcast
- UDPcast - a file transfer tool that can send data simultaneously to many destinations on a LAN. This can for instance be used to install entire classrooms of PC's at once. The advantage of UDPcast over using other methods (nfs, ftp, whatever) is that UDPcast uses UDP's multicast abilities: it won't take longer to install 15 machines than it would to install just 2.
Tsunami
- Tsunami - A fast user-space file transfer protocol that uses TCP control and UDP data for transfer over very high speed long distance networks (≥ 1 Gbps and even 10 GE), designed to provide more throughput than possible with TCP over the same networks.
OpenDrop
- https://github.com/seemoo-lab/opendrop - a command-line tool that allows sharing files between devices directly over Wi-Fi. Its unique feature is that it is protocol-compatible with Apple AirDrop which allows to share files with Apple devices running iOS and macOS. Currently (and probably also for the foreseeable future), OpenDrop only supports sending to Apple devices that are discoverable by everybody as the default contacts only mode requires Apple-signed certificates.
WebDrop
- https://github.com/subins2000/WebDrop - P2P file transfer in browser similar to Apple's AirDrop. Made with P2PT, WebRTC fire. No servers involved, 99% your browser, 1% WebTorrent Trackers. https://WebDrop.Space
drop.lol
WebWormhole
- https://github.com/saljam/webwormhole - WebWormhole creates ephemeral pipes between computers to send filesor other data using peer authenticated WebRTC. Try it at webwormhole.io or on the commandline.
Croc
- croc - a tool that allows any two computers to simply and securely transfer files and folders. AFAIK, croc is the only CLI file-transfer tool does all of the following: allows any two computers to transfer data (using a relay); provides end-to-end encryption (using PAKE); enables easy cross-platform transfers (Windows, Linux, Mac); allows multiple file transfers; allows resuming transfers that are interrupted; local server or port-forwarding not needed; ipv6-first with ipv4 fallback
LocalSend
- LocalSend - a free, open-source alternative to AirDrop that allows you to securely share files and messages with nearby devices over your local network, without needing an internet connection.
File sharing
See Web systems#File management, Storage#Networked, Application#IPFS
Snapdrop
- https://github.com/RobinLinus/snapdrop/tree/master - local file sharing in your browser. Inspired by Apple's Airdrop.
Pydio
- Pydio | Enterprise File Sharing & Sync Platform - nextgen file sharing platform for organizations; secure, cloud-native, scalable, self-hosted, open-core document sharing and collaboration without putting your data at risk. It is a full rewrite of the Pydio project using the Go language following a micro-service architecture.
- https://github.com/pydio/cells - server
Pwndrop
- Pwndrop - a self-deployable file hosting service for red teamers, allowing to easily upload and share payloads over HTTP and WebDAV.
ProjectSend
- ProjectSend - Share files with your clients from your own server. Send is free/open source software, secure and user friendly file sharing software
Sharing
- https://github.com/parvardegr/sharing - Share directories and files from the CLI to iOS and Android devices without the need of an extra client app
Upspin
- Upspin - an experimental project to build a framework for naming and sharing files and other data securely, uniformly, and globally: a global name system of sorts.
It is not a file system, but a set of protocols and reference implementations that can be used to join things like file systems and other storage services to the name space. Performance is not a primary goal. Uniformity and security are.
Services
- https://www.aerofs.com/ - freemium
- Infinit - allows for the creation of heterogeneous storage infrastructure by aggregating various storage resources and unifying them into a UNIX-like Infinit file system.
File sync
See also SaaS#Storage, Backup
8 https://news.ycombinator.com/item?id=18750797
lsyncd
- lsyncd - designed to synchronize a local directory tree with low profile of expected changes to a remote mirror. Lsyncd is especially useful to sync data from a secure area to a not-so-secure area. Lsyncd watches a local directory trees event monitor interface (inotify or fsevents). It aggregates and combines events for a few seconds and then spawns one (or more) process(es) to synchronize the changes. By default this is rsync. Lsyncd is thus a light-weight live mirror solution that is comparatively easy to install not requiring new filesystems or block devices and does not hamper local filesystem performance.
inosync
- inosync daemon leverages the inotify service available in recent linux kernels to monitor and synchronize changes within directories to remote nodes.
clsync
Syncany
- Syncany is an open-source cloud storage and filesharing application. It allows users to backup and share certain folders of their workstations using any kind of storage, e.g. FTP, SFTP, WebDAV, Samba, Amazon S3 or Google Storage. While the basic idea is similar to Dropbox, Syncany is open-source and additionally provides data encryption and more flexibility in terms of storage type and provider.
Syncthing
- Syncthing - Open Source Continuous File Synchronization. Syncthing replaces proprietary sync and cloud services with something open, trustworthy and decentralized. Your data is your data alone and you deserve to choose where it is stored, if it is shared with some third party and how it's transmitted over the Internet. This is the Syncthing project which pursues the following goals: Define a protocol for synchronization of a folder between a number of collaborating devices. This protocol should be well defined, unambiguous, easily understood, free to use, efficient, secure and language neutral. This is called the Block Exchange Protocol. Provide the reference implementation to demonstrate the usability of said protocol. This is the syncthing utility. We hope that alternative, compatible implementations of the protocol will arise. [6]
The discovery mechanism can take a minutes or two to kick in.
- Port 22000/TCP (or the actual listening port if you have changed the Sync Protocol Listen Address setting.)
- Port 21027/UDP (for discovery broadcasts on IPv4 and multicasts on IPv6)
vim ~/.config/syncthing/config.xml
Local only access;
<gui enabled="true" tls="false"> <address>127.0.0.1:8080</address> </gui>
No whitelist;
<gui enabled="true" tls="false"> <address>0.0.0.0:8080</address> </gui>
Delete the username and password entries from config.xml to reset the login details (do that quickly though!).
Tools
- https://github.com/classicsc/syncthingmanager - A command line tool for the Syncthing API. Designed to make setting up remote servers easier. (and for users who prefer the cli)
- https://github.com/zocker-160/SyncThingy - SyncThingy = Synthing + simple tray indicator. Running outside of Flatpak is not supported, you are on your own.
Unison
- Unison is a file-synchronization tool for OSX, Unix, and Windows. It allows two replicas of a collection of files and directories to be stored on different hosts (or different disks on the same host), modified separately, and then brought up to date by propagating the changes in each replica to the other.
gtk2 gui is a bit dodge, drops any ssh args given to it.
syncing requires a manual start.
- SparkleShare creates a special folder on your computer. You can add remotely hosted folders (or "projects") to this folder. These projects will be automatically kept in sync with both the host and all of your peers when someone adds, removes or edits a file.
git-annex
- git-annex allows managing files with git, without checking the file contents into git. While that may seem paradoxical, it is useful when dealing with files larger than git can currently easily handle, whether due to limitations in memory, time, or disk space. git-annex is designed for git users who love the command line. For everyone else, the git-annex assistant turns git-annex into an easy to use folder synchroniser.
- https://git-annex.branchable.com/assistant/ - auto commits and syncs
gut
dvcs-autosync
- https://www.mayrhofer.eu.org/dvcs-autosync - Automatically keep DVCS repositories in sync whenever changes happen by automatically committing and pushing/pulling.
DirSync Pro
- DirSync Pro is a small, but powerful utility for file and folder synchronization. DirSync Pro can be used to synchronize the content of one or many folders recursively. Use DirSync Pro to easily synchronize files from your desktop PC to your USB-stick (/Externa HD/PDA/Notebook, ...). Use this USB-stick (/Externa HD/PDA/Notebook, ...) to synchronize files to another desktop PC. Using DirSync Pro you can make incremental backups. In this way you'll spare lots of time because you don't have to copy all the files each time you want to update your backup; only new/modified/larger files would be copied. DirSync Pro provides some preconfigured modes (e.g. Mirror, Backup, Contribute, ?) for common synchronization and backup tasks and some custom modes in which the user could set up the synchronization behavior to meet specific wishes.
Conduit
- Conduit - a synchronization application for GNOME. It allows you to synchronize your files, photos, emails, contacts, notes, calendar data and any other type of personal information and synchronize that data with another computer, an online service, or even another electronic device. Conduit manages the synchronization and conversion of data into other formats
Csync2
- Csync2 is a cluster synchronization tool. It can be used to keep files on multiple hosts in a cluster in sync. Csync2 can handle complex setups with much more than just 2 hosts, handle file deletions and can detect conflicts. It is expedient for HA-clusters, HPC-clusters, COWs and server farms.
bfsync
- bfsync - a file-synchronization tool which allows to keep a collection of big files synchronized on many machines. To do this, bfsync maintains a global and local history of changes; every time the file collection is changed on one machine, an entry in the local history is made. Bfsync allows to automatically merge this local history with the global history where possible, and offers manual conflict resolution in cases where this is not possible. Due to history synchronization, each bfsync checkout knows precisely which files are part of the file collection. Therefore, it can determine which file contents (data blobs with SHA1 contents) are present in a checked out repo, and which are missing. The main interface to bfsync is a FuSE filesystem, so it is possible to manage your data with a file manager or copy new data into the repository using rsync. As soon as you "commit" the changes, they are entered into the local history and if you "push/pull" the changes, they become part of the global history.
Bittorrent Sync
- https://www.getsync.com/ - non-OSS
Ubuntu One
Pydio
- Pydio - an open source software that turns instantly any server (on premise, NAS, cloud IaaS or PaaS) into a file sharing platform for your company. It is an alternative to SaaS Boxes and Drives, with more control, safety and privacy, and favorable TCOs.
bitpocket
- https://github.com/sickill/bitpocket - a small but smart script that does 2-way directory synchronization. It uses rsync to do efficient data transfer and tracks local file creation/removal to avoid known rsync problem when doing 2-way syncing with deletion. bitpocket can use any server which you have ssh access to for its central storage. If you have gigabytes of free disk space on your hosting server you can finally make use of it.
iFolder
- iFolder is a safe and secure way to share and synchronize files across computers and within teams.
remoteStorage
- remoteStorage - An open protocol for per-user storage
Dat
- Dat - a nonprofit-backed data sharing protocol for applications of the future.
- https://github.com/datproject/dat - Share & live sync files anywhere via command line
- https://en.wikipedia.org/wiki/Dat_(software) - a data distribution tool with a version control feature for tracking changes and publishing datasets. It is primarily used for data-driven science, but it can be used to keep track of changes in any data set. As a distributed revision control system it is aimed at speed, simplicity, security, and support for distributed, non-linear workflows.
- https://dat.land - applications & tools using Dat
- Firefox Addons: Dat P2P Protocol
- https://github.com/sammacbeth/dat-fox - dat:// protocol as a Firefox webextension
- https://github.com/sammacbeth/dat-fox-helper - Node helper process for dat-fox
- https://github.com/arso-project/archipel- An app to share archives of files and folders in a peer to peer network
- datBase - Open data powered by Dat. Future-friendly apps for your research data pipeline
- cabal - experimental p2p community
- Olaf chat - A P2P Dat-powered chat
Web server
See also Web platforms, Organising
h5ai
- h5ai - a modern file indexer for HTTP web servers with focus on your files. Directories are displayed in a appealing way and browsing them is enhanced by different views, a breadcrumb and a tree overview. Initially h5ai was an acronym for HTML5 Apache Index but now it supports other web servers too.
Filestash
- Filestash - A Dropbox-like file manager that let you manage your data anywhere it is located: FTP • FTPS • SFTP • WebDAV • Git • S3 • NFS • Samba • Artifactory • LDAP • Mysql Storj • CardDAV • CalDAV • Backblaze B2 • Minio Dropbox • Google Drive
SPRUT.io
Kleeja
- Kleeja
- https://github.com/kleeja-official/kleeja - File Upload/sharing application, used by thousands of webmasters since 2007.
eXtplorer
- https://sourceforge.net/projects/extplorer - a PHP-based File Manager. It allows to browse directories, edit, copy, move, delete, search, upload and download files, create & extract archives, create new files and directories, change file permissions (chmod) and much more.
Filestash
- Filestash - lets you easily manage your data regardless of where it is store: FTP / WebDav / SFTP / Git / S3 / Minio / Dropbox / Google Drive
- ShareX - Screen capture, file sharing and productivity tool. Free and open source program that lets you capture or record any area of your screen and share it with a single press of a key. It also allows uploading images, text or other types of files to many supported destinations you can choose from.
XBackBone
- XBackBone - a simple and lightweight PHP file manager that support the instant sharing tool ShareX and *NIX systems. It supports uploading and displaying images, GIF, video, code, formatted text, pdf, and file downloading and uploading. Also have a web UI with multi user management, media gallery and search support.
WebFS
- https://github.com/brendoncarroll/webfs - a filesystem built on top of the web. WebFS started after looking for a way to use IPFS as a Dropbox replacement, and not finding any really solid solutions. I also wanted to be able to fluidly move my data between traditional storage providers like Dropbox, MEGA, or Google Drive while testing the waters of new p2p storage systems, like Swarm or Filecoin.
- https://github.com/mifi/ezshare - A simple file server that lets you easily share many big files like photos and videos with friends (or between your devices) over a local network without requiring an internet connection. It starts an HTTP server that lists all files and directories in the directory where it is started from. Then anyone can then connect to the server and download files or automatically generated ZIP of whole directories (kind of like Google Drive.) The client can also upload files to the server via their browser, and clipboard card be shared both ways. A QR code is generated for convenience.
Sharry
- Sharry - allows to share files with others in a simple way. It is a self-hosted web application. The basic concept is: upload files and get a url back that can then be shared.
gossa
- https://github.com/pldubouilh/gossa - a fast and simple webserver for your files, that's dependency-free and with under 250 lines of code, easy to review.
Tree
- The File Tree
- https://github.com/garden/tree - A multiplayer file system. All files synced realtime, offline-ready. Use apps for each file types. Make your own apps on the platform. Access control per-file.
Jirafeau
- https://gitlab.com/mojo42/Jirafeau - a simple way to upload a file. Jirafeau is a "one-click-filesharing": Select your file, upload, share a link. That's it.
copyparty
- https://github.com/9001/copyparty - Portable file server with accelerated resumable uploads, dedup, WebDAV, FTP, zeroconf, media indexer, thumbnails++ all in one file, no deps
Cloud
See Hosting#Storage
- Volafile.io - aims to provide a simple real-time filesharing service. Users share files in so called 'rooms', which each consist of a chat and a list of uploaded files. The list of files automatically shows new files as they are uploaded. [8]
- https://github.com/tavinus/cloudsend.sh - Bash script that uses curl to send files and folders to a nextcloud / owncloud publicly shared folder.
Client-server
See Network#FTP
FTP / SFTP
- https://github.com/drakkan/sftpgo - Full featured and highly configurable SFTP server software
DCC
- https://en.wikipedia.org/wiki/Direct_Client-to-Client - IRC channel, manual and scripted bots.
- http://www.irchelp.org/irchelp/rfc/dccspec.html
Napster
- https://en.wikipedia.org/wiki/Napster - central hub, p2p transfer
Direct Connect
- https://en.wikipedia.org/wiki/Direct_Connect_(file_sharing) - central hub, p2p transfer
- NCurses Direct Connect - Ncdc is a modern and lightweight direct connect client with a friendly ncurses interface.
Direct
curldrop
- https://github.com/kennell/curldrop - a simple (less than 100 LOC) web app that allows you to upload files straight from your terminal with curl. It is inspired by services like Transfer.sh.
wsend
- wsend - a Command Line Tool (CLI) for sending files. It's open-source and easy to use. We've designed wsend to be suitable for command line beginners and well seasoned users alike. wsend requires bash and curl.
- https://github.com/abemassry/wsend-gpg - Encrypted end to end file transfer
Onetime Secret
- Onetime Secret - Paste a password, secret message or private link below. Keep sensitive info out of your email and chat logs.
- https://github.com/onetimesecret/onetimesecret - Keep passwords and other sensitive information out of your inboxes and chat logs.
Demosaw
YouTransfer
- YouTransfer - a simple but elegant self-hosted file transfer & sharing solution. It is an alternative to paid services like Dropbox and WeTransfer by offering similar features but without limitations, price plans and a lengthy privacy policy. You remain in control of your files. Created to be installed behind the firewall on private servers, YouTransfer aims to empower organisations and individuals that wish to combine easy-to-use file transfer tooling with security and control. [10]
MediaCrush
- mediacrush - A website for serving media super fast
FileSender
- FileSender - a web based application that allows authenticated users to securely and easily send arbitrarily large files to other users. Authentication of users is provided through SimpleSAMLphp, supporting SAML2, LDAP and RADIUS and more. Users without an account can be sent an upload voucher by an authenticated user. FileSender is developed to the requirements of the higher education and research community.The purpose of the software is to send a large file to someone, have that file available for download for a certain number of downloads and/or a certain amount of time, and after that automatically delete the file. The software is not intended as a permanent file publishing platform
Firefox Send
- Firefox Send - lets you share files with end-to-end encryption and a link that automatically expires. So you can keep what you share private and make sure your stuff doesn’t stay online forever. [11] [12]
- https://gitlab.com/timvisee/ffsend - Easily and securely share files from the command line. A fully featured Firefox Send client. [13]
- https://github.com/ehuggett/send-cli - Unofficial Python command line (Firefox) Send client
Lufi
- Lufi - stores files and allows you to download them.Is that all? No. All the files are encrypted by the browser! It means that your files never leave your computer unencrypted. The administrator of the Lufi instance you use will not be able to see what is in your file, neither will your network administrator, or your ISP.The encryption key part of the URL is a anchor (Cf. Fragment Identifier), that means this part is only processed client-side and does not reach the server. Lufi is licensed under the terms of the AGPL.
CDC File Transfer
- https://github.com/google/cdc-file-transfer - Born from the ashes of Stadia, this repository contains tools for synching and streaming files from Windows to Linux. They are based on Content Defined Chunking (CDC), in particular FastCDC, to split up files into chunks.
Usenet
See Net media#Usenet
Lidarr
- Lidarr
- https://github.com/lidarr/Lidarr - a music collection manager for Usenet and BitTorrent users. It can monitor multiple RSS feeds for new tracks from your favorite artists and will grab, sort and rename them. It can also be configured to automatically upgrade the quality of files already downloaded when a better quality format becomes available.
P2P
See also Encrypted#Darknet
DHT
- https://en.wikipedia.org/wiki/Distributed_hash_table - a distributed system that provides a lookup service similar to a hash table. Key–value pairs are stored in a DHT, and any participating node can efficiently retrieve the value associated with a given key. The main advantage of a DHT is that nodes can be added or removed with minimum work around re-distributing keys. Keys are unique identifiers which map to particular values, which in turn can be anything from addresses, to documents, to arbitrary data. Responsibility for maintaining the mapping from keys to values is distributed among the nodes, in such a way that a change in the set of participants causes a minimal amount of disruption. This allows a DHT to scale to extremely large numbers of nodes and to handle continual node arrivals, departures, and failures. DHTs form an infrastructure that can be used to build more complex services, such as anycast, cooperative web caching, distributed file systems, domain name services, instant messaging, multicast, and also peer-to-peer file sharing and content distribution systems. Notable distributed networks that use DHTs include BitTorrent's distributed tracker, the Kad network, the Storm botnet, the Tox instant messenger, Freenet, the YaCy search engine, and the InterPlanetary File System. Holochain is a project aiming to provide home computer DHT hosting.
- https://github.com/sit/dht/wiki - an experimental implementation of the Chord lookup service and the cooperative file system (CFS).
- https://en.wikipedia.org/wiki/Chord_(peer-to-peer) - a protocol and algorithm for a peer-to-peer distributed hash table. A distributed hash table stores key-value pairs by assigning keys to different computers (known as "nodes"); a node will store the values for all the keys for which it is responsible. Chord specifies how keys are assigned to nodes, and how a node can discover the value for a given key by first locating the node responsible for that key. Chord is one of the four original distributed hash table protocols, along with CAN, Tapestry, and Pastry. It was introduced in 2001 by Ion Stoica, Robert Morris, David Karger, Frans Kaashoek, and Hari Balakrishnan, and was developed at MIT. The 2001 Chord paper won an ACM SIGCOMM Test of Time award in 2011.
- https://en.wikipedia.org/wiki/Content-addressable_network - CAN, a distributed, decentralized P2P infrastructure that provides hash table functionality on an Internet-like scale.
- http://en.wikipedia.org/wiki/Kademli
- http://xlattice.sourceforge.net/components/protocol/kademlia/specs.html
- https://en.wikipedia.org/wiki/Kad_network
- pydht - Python implementation of the Kademlia DHT data store.
- https://pdos.csail.mit.edu/~petar/papers/maymounkov-kademlia-lncs.pdf
- https://www.torproject.org/docs/hidden-services.html.en
- http://donncha.is/2013/05/trawling-tor-hidden-services/
- http://www.infoanarchy.org/en/The_Circle - based on Chord
- P-Grid is a truly decentralized structured P2P system which does not require central coordination or knowledge. It is based purely on randomized algorithms and local interactions and targeted at environments with low online probabilities of peers. P-Grid differs from other approaches such as Chord, CAN, Pastry, etc. in terms of practical applicability (especially in respect to dynamic network environments), algorithmic foundations (randomized algorithms with probabilistic guarantees), robustness, and flexibility.
- TomP2P is an advanced DHT, which stores multiple values for a key. Each peer has a table (either disk-based or memory-based) to store its values. A single value can be queried / updated with a secondary key. The underlying communication framework uses Java NIO to handle many concurrent connections.
- Tonika is an administration-free platform for large-scale open-membership (social) networks with robust security, anonymity, resilience and performance guarantees.
- SIPDHT project is to provide a library to be used in applications for creating and using SIP based distributed hash tables. The algorithm implemented is loosely based on P2P SIP work (draft-bryan-sipping-p2p-02) and its primary intent is to be a work bench for the specification process.
- http://sipdht.sourceforge.net/sipdht2/
- sinchana is a scalable and stable DHT implementation written using Apache Thrift. The communication protocol of the DHT is implemented using Thrift. The advantage of Thrift service protocol is it's small message size and the less usage of CPU.
File networks
- Forban - a simple link-local opportunistic p2p free software (or how to share files with your local neighbors)
Gnutella
- https://en.wikipedia.org/wiki/WireShare - formerly known as LPE or LimeWire Pirate Edition) is a resurrected version of the LimeWire software (a gnutella p2p-network client). LPE was adapted from LimeWire Basic software to provide similar features to LimeWire Pro; no adware, advertising, or backdoor control. The Ask toolbar integration was removed, along with dependencies to LimeWire servers and remote settings. The software supports Windows, Linux and Mac, and its source code is available on GitHub
- https://sourceforge.net/projects/wireshare/ - Formerly entitled LimeWire Pirate Edition(LPE), WireShare is the newest fork of the original LimeWire open source project. Our sole intention is to create and maintain a bona fide continuation of the project. All work is undertaken on a pro bono basis. The name was changed for legal reasons.
FastTrack
- https://en.wikipedia.org/wiki/FastTrack - used by Kazaa, Grokster, iMesh, and Morpheus
eDonkey network
Soulseek
2006
- https://en.wikipedia.org/wiki/Soulseek - a peer-to-peer (P2P) file-sharing network and application. The term Soulseek might refer to (1) one of the two networks, or (2) one of the three official user client interfaces. Soulseek is used mostly to exchange music, although users are able to share a variety of files.
SoulseekQT
- Soulseek - an ad-free, spyware free, just plain free file sharing network for Windows, Mac and Linux. Our rooms, search engine and search correlation system make it easy for you to find people with similar interests, and make new discoveries!
Nicotine+
- Nicotine+ - Hyriand's rewrite of PySoulSeek with a PyGTK GUI is called Nicotine (wayback machine).Nicotine+ is an attempt to keep Nicotine working with the latest libraries, kill bugs, keep current with the Soulseek protocol and add some new features that users want and/or need.
Museek+
- Museek+ - a GPL licensed file-sharing application for the Soulseek peer-to-peer network. It is written in C++ and runs on GNU/Linux and FreeBSD (it may run on other platforms (MacOSX, ...) but this has not yet been tested).It is based on Museek, a soulseek client written by Hyriand.
Overnet
Perfect Dark
- https://en.wikipedia.org/wiki/Perfect_Dark_(P2P) - closed source, japanese
Advanced Direct Connect
Multi-network Software
giFT
- giFT is a collection of various software components geared towards improving the overall usability of a multitude of peer-to-peer file-sharing networks. This goal is accomplished by unifying the components such that a user of the software may choose any of the available interfaces to access any of the available networks. The central application, giftd, uses a plugin-based architecture capable of using multiple networks simultaneously through a single user interface.
MLDonkey
P2P-GUI
- P2P-GUI is a remote web interface for MLdonkey, aMule, rTorrent, Transmission and giFT. This GUI tries to combine different GUIs for p2p programs in one application/project to save overall work and to cover many different needs and tastes.
BitTorrent
See BitTorrent
Beaker Browser
Uses Dat underneath.
- Beaker Browser - an experimental browser for exploring and building the peer-to-peer Web. [14]
Dragonfly
- https://github.com/alibaba/Dragonfly - an intelligent P2P based file distribution system. It resolves issues like low-efficiency, low-success rate and waste of network bandwidth in large-scale file distribution scenarios such as application deployment, large-scale cache file distribution, data file distribution, image distribution etc. At Alibaba, the system transfers 2 billion times and distributes 3.4PB of data every month, it has become one of the most important piece of infrastructure at Alibaba. [15]
Peergos
- Peergos - A p2p, secure file storage, social network and application protocol
SHAREthem
- https://github.com/Sriharia/SHAREthem - facilitates P2P file sharing and transfers between devices using WiFi Hotspot. Also an attempt to simulate popular SHAREit App functionality and improvise it by supporting multiple receivers at one go Library also supports App (Android) to Web/Mobile Browser transfers if Receiver has no App installed. Download the Working version from Play Store.
Arbore
- Arbore - a peer-to-peer file sharing application with the following caracteristics: targeted for private/low diffusion data between people that know each-others. Main use case: friends want to share between each-others their holidays pictures. low friction: it should be as easy as possible encryption should be used to maintain privacy and to control the diffusion of the data This application is build on top of IPFS.
WebRTC
See also VoIP#WebRTC
peerscp
- https://github.com/elsehow/peerscp - a dumb-simple peer-to-peer "scp" over webrtc, node.js
- https://github.com/Peer5/ShareFest - Web based p2p file sharing built on WebRTC Data Channels API. Officual hosted service is no more.
JustBeamIt
- JustBeamIt - file transfer made easy
FilePizza
- FilePizza - Free peer-to-peer file transfers in your browser. We never store anything. Files only served fresh.
file.io
- ShareDrop - a free app that allows you to easily and securely share files directly between devices without having to upload them to any server first.
WebRTC Copy
- WebRTC Copy - file sharing room
FileTea
- FileTea - Anonymous, volatile file sharing
reep.io
- reep.io - transfer files directly to another browser. Just point to a file you want to share. Your peer will then be able to download this file directly from you. No data is stored on a server in-between.
WebDrop
- WebDrop - Easily share files across devices! - Open WebDrop.Space on your devices to join this room. Devices under the same WiFi/network will auto join the same room.
- https://github.com/subins2000/WebDrop - P2P file transfer in browser similar to Apple's AirDrop. Simply go to the website WebDrop.Space on the devices, choose files and share ! No installations whatsoever, just a website ! Made with P2PT, WebRTC . No servers involved, 99% your browser, 1% WebTorrent Trackers.
libdatachannel
- libdatachannel - an open-source software library implementing WebRTC Data Channels, WebRTC Media Transport, and WebSockets. It is written in C++17 and offers C bindings. The source code is available under LGPL, and the library is on AUR, Vcpkg, and FreeBSD Ports.
Encrypted / anon
See also Networking#Overlay
- https://en.wikipedia.org/wiki/Friend-to-friend - or F2F, computer network is a type of peer-to-peer network in which users only make direct connections with people they know. Passwords or digital signatures can be used for authentication. Unlike other kinds of private P2P, users in a friend-to-friend network cannot find out who else is participating beyond their own circle of friends, so F2F networks can grow in size without compromising their users' anonymity. Retroshare, WASTE, GNUnet, Freenet and OneSwarm are examples of software that can be used to build F2F networks, though RetroShare is the only one of these configured for friend-to-friend operation by default.
Many F2F networks support indirect anonymous or pseudonymous communication between users who do not know or trust one another. For example, a node in a friend-to-friend overlay can automatically forward a file (or a request for a file) anonymously between two friends, without telling either of them the other's name or IP address. These friends can in turn automatically forward the same file (or request) to their own friends, and so on. Dan Bricklin coined the term "friend-to-friend network" in 2000.
WASTE
- WASTE is an anonymous, secure, and encryped collaboration tool which allows users to both share ideas through the chat interface and share data through the download system.
The suggested size for a WASTE network (referred to as a "mesh" by users) is 10-50 nodes, though it has been suggested that the size of the network is less critical than the ratio of nodes willing to route traffic to those that are not.
Freenet
- Freenet - Share files, chat on forums, browse and publish, anonymously and without fear of blocking or censorship! While users can insert data into the network, there is no way to delete data. Due to the anonymity, no node knows who is the 'owner' of a piece of data. The only way data can be removed is if users don't request the data.
- RetroShare is a Open Source cross-platform, Friend-2-Friend and secure decentralised communication platform. It lets you to securely chat and share files with your friends and family, using a web-of-trust to authenticate peers and OpenSSL to encrypt all communication. RetroShare provides filesharing, chat, messages, forums and channels
MUTE
- MUTE File Sharing is a peer-to-peer network that provides easy search-and-download functionality while also protecting your privacy.
OneSwarm
- OneSwarm is a P2P file sharing service that protects your privacy. It's fast, BitTorrent-compatible, and free!
OFF
- OFF is a highly connected peer-to-peer distributed file system. The unique feature of this system is that it stores all of its internal data as meaningless multi-use data blocks. In other words there is not a one to one mapping between a stored block and its use in a accessed file. Each stored block is simultaneously used to access many different files. Individually however, each block is nothing but arbitrary digital white noise.
Free Haven Project
- Free Haven Project aims to deploy a system for distributed, anonymous, persistent data storage which is robust against attempts by powerful adversaries to find and destroy any stored data. This model of decentralized system has been classified as peer-to-peer by recent popular media.
Tahoe-LAFS
- Tahoe-LAFS is a Free and Open cloud storage system. It distributes your data across multiple servers. Even if some of the servers fail or are taken over by an attacker, the entire filesystem continues to function correctly, preserving your privacy and security.
Osiris
Ori
MaidSafe
Other
- Cryptomator - Free client-side AES encryption for your cloud files. Open source software: No backdoors, no registration.
Keybase
ZeroNet
DTube
- DTube - the first crypto-decentralized video platform, built on top of the STEEM Blockchain and the IPFS peer-to-peer network. D.Tube aims to become an alternative to YouTube that allows you to watch or upload videos on IPFS and share or comment about it on the immutable STEEM Blockchain, while earning cryptocurrency doing it.
- About D.Tube - Because of the decentralized nature of IPFS and the STEEM blockchain, D.Tube is not able to censor videos, nor enforce guidelines. Only the users can censor it, through the power of their upvotes and downvotes. On DTube, there are no hidden algorithms controlling the visibility or monetization of certain videos over others. All of DTube's data is public, and can be analyzed by anyone with an internet connection. To deliver the best user experience D.Tube runs without advertising. Users remain free to advertise any product or service they would like, directly inside their own videos, at their own risk of losing their subscribers.
- https://github.com/dtube
- OnionShare - an open source tool for securely and anonymously sending and receiving files using Tor onion services. It works by starting a web server directly on your computer and making it accessible as an unguessable Tor web address that others can load in Tor Browser to download files from you, or upload files to you. It doesn't require setting up a separate server, using a third party file-sharing service, or even logging into an account.
SkyTransfer
- https://github.com/kamy22/skytransfer - an open source decentralized file sharing platform. Do you have difficulty sharing files with others or between different devices? Are you writing an email and you need to attach files? Are you struggling with a ton of pictures to share? Try doing it using SkyTransfer. Use the minimal but powerful uploader (file picker or drag&drop) for uploading and sharing one or multiple files with a single link or QR code.
Downloading
- FlexGet - a multipurpose automation tool for all of your mediaSupport for torrents, nzbs, podcasts, comics, TV, movies, RSS, HTML, CSV, and more.
Magnet links
Mega.nz
- Megatools - a collection of programs for accessing Mega.nz service from a command line of your desktop or server.Megatools allow you to copy individual files as well as entire directory trees to and from the cloud. You can also perform streaming downloads for example to preview videos and audio files, without needing to download the entire file.