A distributed file sharing system with a supporting REST API. Users can share an unlimited number of files via a simple GUI. Uses a centralized index system that accepts client requests to share files and then records this data. Clients can also request particular files to download, and will be matched with other clients which are sharing those files. Thus, a connection between clients can be established, if any clients are sharing the requested file.