mirror of
https://github.com/Stone-Red-Code/HyperbolicDownloader.git
synced 2026-09-04 00:56:09 +02:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
17941d4829 | ||
|
|
7393dc9f13 | ||
|
|
e06ba635de | ||
|
|
9f9771cf0d | ||
|
|
10e02cdb37 | ||
|
|
f7aaa407e7 |
@@ -1,27 +1,28 @@
|
||||
# HyperbolicDownloader
|
||||
|
||||
> A cross-platform P2P file sharing CLI client
|
||||
> A cross-platform P2P file sharing CLI tool & protocol
|
||||
|
||||
## Usage
|
||||
|
||||
1. Download one of the [releases](https://github.com/Stone-Red-Code/HyperbolicDownloader/releases)
|
||||
1. Exacute the `HyperbolicDownloader` file
|
||||
1. Wait until the setup process is finished
|
||||
1. Do one of the below
|
||||
- Add a host to your client using the [add](#add) command and use the [get](#get) command tho retrive a file
|
||||
- Use the [generate](https://github.com/Stone-Red-Code/HyperbolicDownloader#generate) command to generate a `.hyper` file and the [get from](https://github.com/Stone-Red-Code/HyperbolicDownloader#getfrom) command to retrive a file trough the generated `.hyper` file
|
||||
1. Download one of the [releases](https://github.com/Stone-Red-Code/HyperbolicDownloader/releases).
|
||||
1. Execute the `HyperbolicDownloader` file.
|
||||
1. Wait until the setup process is finished.
|
||||
1. Next steps:
|
||||
- Add a host to your client using the [add](#add) command and use the [get](#get) command to retrieve a file.
|
||||
- Add the host `hyper.stone-red.net:3055` (`add host hyper.stone-red.net:3055`) to the hosts list to obtain a few existing hosts and immediately gain access to all of my files hosted on the HyperbolicDownloader network.\
|
||||
- Use the [generate](https://github.com/Stone-Red-Code/HyperbolicDownloader#generate) command to generate a `.hyper` file and the [get from](https://github.com/Stone-Red-Code/HyperbolicDownloader#getfrom) command to retrieve a file through the generated `.hyper` file.
|
||||
|
||||
## How it works
|
||||
|
||||
When you start the program, it first tries to open a public port via UPnP/NAT-PMP. If it succeeds, you can communicate with the client using the public IP address and port.
|
||||
If it is unable to find a UPnP/NAT-PMP device, you will need to manually set up port forwarding on your client's IP address to port "3055". The public port has to be between 1000 and 6000 here.
|
||||
|
||||
HyperbolicDownloader can retrieve files from other computers (aka hosts) using a SHA 512 hash.
|
||||
HyperbolicDownloader can retrieve files from other computers (aka hosts) using an SHA 512 hash.
|
||||
The client checks all known hosts to see if it could find the requested file. If one of the hosts has the requested file, it immediately downloads it.
|
||||
After the file is completely downloaded, it is validated by comparing the hash entered with that of the file received. If the hash does not match, you will receive a warning message and you can download the file again if needed.\
|
||||
After the file is completely downloaded, it is validated by comparing the hash entered with that of the file received. If the hash does not match, you will receive a warning message, and you can download the file again if needed.\
|
||||
This makes it very difficult to tamper with requested files, as long as the source from which you obtain the hash/`.hpyer` file is trusted.
|
||||
|
||||
You can generate `.hyper` files with your client using the [generate](https://github.com/Stone-Red-Code/HyperbolicDownloader#generate). command\
|
||||
You can generate `.hyper` files with your client using the [generate](https://github.com/Stone-Red-Code/HyperbolicDownloader#generate). Command\
|
||||
These files contain the hash value of the actual file and the hosts that should have the requested file.
|
||||
You can use the [get from](https://github.com/Stone-Red-Code/HyperbolicDownloader#getfrom) command to retrieve the file or if you are using Windows you can right-click the `.hyper` file, select `open with` and select the HyperbolicDownloader executable.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user