forked from janvidar/uhub
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
6 changed files
with
160 additions
and
33 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,47 @@ | ||
Welcome and thanks for downloading uHub, a high performance ADC p2p hub. | ||
# Uhub | ||
|
||
For the official documentation, bugs and other information, please visit: | ||
https://www.uhub.org/ | ||
Uhub is a high performance peer-to-peer hub for the ADC network. Its low memory footprint allows it to handle several thousand users on high-end servers, or a small private hub on embedded hardware. | ||
Uhub uses the ADC protocol, and is compatible with DC++, jUCy and other ADC clients. | ||
|
||
## Key features | ||
|
||
- High performance and low memory usage | ||
- IPv4 and IPv6 support | ||
- Experimental SSL support (optional) | ||
- Advanced access control support | ||
- Easy configuration | ||
|
||
## Download | ||
|
||
You can also use git to use the last up-to-date version: | ||
$ git clone https://github.com/janvidar/uhub.git | ||
|
||
You can also find zip / tar.gz files of different uhub versions on https://github.com/janvidar/uhub/releases | ||
|
||
### Ubuntu and Debian packages | ||
|
||
Tehnick has provided an up to date uhub PPA for Debian and Ubuntu based distributions: https://tehnick.github.io/uhub/ | ||
|
||
## Documentation | ||
|
||
### Compile | ||
|
||
See doc/compile.txt document or https://github.com/janvidar/uhub/blob/master/doc/compile.txt. | ||
|
||
### Getting started | ||
|
||
See doc/getstarted.txt document or https://github.com/janvidar/uhub/blob/master/doc/getstarted.txt. | ||
|
||
### Use SSL | ||
|
||
See doc/ssl-documentation.txt document or https://github.com/janvidar/uhub/blob/master/doc/ssl-documentation.txt. | ||
|
||
## Compatible clients | ||
|
||
For a list of compatible ADC clients, see: | ||
https://en.wikipedia.org/wiki/Comparison_of_ADC_software#Client_software | ||
|
||
## License | ||
|
||
Uhub is free and open source software, licensed under the GNU General Public License 3. | ||
See COPYING file, https://github.com/janvidar/uhub/blob/master/COPYING or directly https://www.gnu.org/licenses/gpl-3.0.txt |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
# Setting up an SSL hub | ||
|
||
## About certificates | ||
|
||
Before you can setup an SSL protected hub, you must create an SSL certificate for the hub. | ||
NOTE: uhub must be compiled with SSL support enabled in order for this to work (enabled by default, but not for Windows). | ||
|
||
## Configuring uhub | ||
|
||
If you have your certificates ready, just set these configuration values in uhub.conf file: | ||
|
||
tls_private_key="/path/to/domainname.key" | ||
tls_certificate="/path/to/domainname.crt" | ||
tls_enable=yes | ||
tls_require=yes | ||
|
||
Now you can connect to the hub using the adcs:// protocol handle. | ||
|
||
## Creating certificates | ||
|
||
### Creating a self-signed certificate | ||
|
||
To create self-signed certificates with an 2048 bits RSA private key using the following command: | ||
|
||
$ openssl genrsa -out domainname.key 2048 | ||
|
||
Then create the certificate (valid for 365 days, using sha256): | ||
|
||
$ openssl req -new -x509 -nodes -sha256 -days 365 -key domainname.key > domainname.crt | ||
|
||
At this point point you will be prompted a few questions, see the section Certificate data below. | ||
|
||
## Creating a certificate with a CA | ||
|
||
Create an 2048 bits RSA private key using the following command: | ||
|
||
$ openssl genrsa -out domainname.key 2048 | ||
|
||
Then create a Certificate Signing Request (csr): | ||
|
||
$ openssl req -new -key domainname.key -out domainname.csr | ||
|
||
See the "Certificate data" section below for answering the certificate questions. | ||
|
||
After this is done, you should send the domainname.csr to your CA for signing, and when the transaction is done you get the certificate from the CA. | ||
Save the certificate as dommainname.crt. | ||
|
||
## Certificate data | ||
|
||
When creating a certificate, you are asked a series of questions, follow this guide: | ||
|
||
Two letter country code. Example: DE. | ||
State or Province Name. Example: Bavaria | ||
Locality Name. Example: Munich | ||
Organization Name. The name of your organization or company. Use your name if this certificate is not for any organization) | ||
Organizational Unit Name. The name of your department within your organization, like sysadmin, etc. (can be left blank) | ||
Common Name. The hostname of your server. Example: secure.extatic.org | ||
Your e-mail address | ||
|
||
## Giving fingerprint | ||
|
||
Now that you have ssl activated on your hub, you may have to share the certificate fingerprint to your hub user: | ||
|
||
Find it by using this commandline: | ||
|
||
$ openssl x509 -noout -fingerprint -sha256 < "/path/to/domainname.crt" | cut -d '=' -f 2 | tr -dc "[A-F][0-9]" | xxd -r -p | base32 | tr -d "=" | ||
|
||
And give your full uhub address: | ||
|
||
adc://localhost:1511?kp=SHA256/THE_VALUE_RETURNED_BY_COMMANDLINE_ABOVE |