5 Commits
Author SHA1 Message Date
Stone_Red 17941d4829 Update README.md 2023-12-14 19:52:00 +01:00
Stone_Red 7393dc9f13 Update usage information 2023-12-14 19:44:01 +01:00
Stone_Red e06ba635de Update README.md 2023-02-06 15:59:55 +01:00
Stone_Red 9f9771cf0d Update README.md 2023-02-06 15:59:26 +01:00
Stone_Red 10e02cdb37 Fix spelling mistakes 2023-02-06 15:57:50 +01:00
+11 -10
View File
@@ -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.