Readme update
This commit is contained in:
parent
49674f7ffe
commit
c05392e31a
60
README.md
60
README.md
@ -1,4 +1,5 @@
|
||||
|
||||
|
||||
# WebConsole
|
||||
|
||||
WebConsole is a Spigot plugin for Minecraft 1.14 that enables you to view your server console and manage your server from anywhere. It creates a WebSocket server in the background used by the web interface to send commands, receive your console log and manage your server.
|
||||
@ -8,29 +9,52 @@ Dont worry about privacy: all data is stored in your browser offline and your PC
|
||||
|
||||
## Plugin installation
|
||||
|
||||
1. Plugin download
|
||||
2. Filling config.yml. Port and password configuration
|
||||
3. SSL config
|
||||
If generated with
|
||||
keytool -genkey -keyalg RSA -validity 3650 -keystore "keystore.jks" -storepass "storepassword" -keypass "keypassword" -alias "default" -dname "CN=127.0.0.1, OU=MyOrgUnit, O=MyOrg, L=MyCity, S=MyRegion, C=MyCountry"
|
||||
then need to https://localhost:8080/
|
||||
If generated with letsencrypt https://gist.github.com/xkr47/920ffe94f6a4c171ee59
|
||||
1. Download plugin from [Releases](https://github.com/mesacarlos/WebConsole/releases)
|
||||
2. Open and close your server to generate the config.yml file and open it. You will see something like the following:
|
||||
|
||||
# input: fullchain.pem and privkey.pem as generated by the "letsencrypt-auto" script when run with
|
||||
# the "auth" aka "certonly" subcommand
|
||||
> useSSL: false
|
||||
> StoreType: JKS
|
||||
> KeyStore: plugins/WebConsole/keystore.jks
|
||||
> StorePassword: storepassword
|
||||
> KeyPassword: keypassword
|
||||
> host: localhost
|
||||
> port: 8080
|
||||
> password: yourPasswordGoesHere
|
||||
|
||||
# convert certificate chain + private key to the PKCS#12 file format
|
||||
# este comando pide una pass para exportar, es la storepassword
|
||||
openssl pkcs12 -export -out keystore.pkcs12 -in fullchain.pem -inkey privkey.pem
|
||||
Fill `host`, `port` and `password` values. They are the IP you server run at, port where WebSockets will run and and login password, respectively. Password will be asked every time you connect to your server.
|
||||
|
||||
# convert PKCS#12 file into Java keystore format
|
||||
keytool -importkeystore -srckeystore keystore.pkcs12 -srcstoretype PKCS12 -destkeystore keystore.jks
|
||||
|
||||
# don't need the PKCS#12 file anymore
|
||||
rm keystore.pkcs12
|
||||
#### SSL Configuration
|
||||
|
||||
# Now use "keystore.jks" as keystore in jetty with the keystore password you specfied when you ran
|
||||
# the "keytool" command
|
||||
If you want to use WebSockets Secure (A encrypted connection between Client and Server instead of sending plaintext) you need to enable it replacing `useSSL: false` to `useSSL: true` and generating your keystore.jks. You can achieve this by generating a selfsigned certificate or using a valid one, like a Let's Encrypt certificate.
|
||||
|
||||
|
||||
##### Selfsigned certificate
|
||||
|
||||
The fast way, but only reccomended for testing purposes. Generate your certificate by running this command on your machine
|
||||
|
||||
> keytool -genkey -keyalg RSA -validity 3650 -keystore "keystore.jks" -storepass "**storepassword**" -keypass "**keypassword**" -alias "default" -dname "CN=127.0.0.1, OU=**MyOrgUnit**, O=**MyOrg**, L=**MyCity**, S=**MyRegion**, C=**MyCountry**"
|
||||
|
||||
Remember to replace required values (the bold ones), so final command looks like this:
|
||||
|
||||
> keytool -genkey -keyalg RSA -validity 3650 -keystore "keystore.jks" -storepass "myVerySecurePaSSword" -keypass "aVerySecurePaSSw0rdAgain" -alias "default" -dname "CN=127.0.0.1, OU=WebConsoleDevelopers, O=WebConsole, L=Madrid, S=Madrid, C=Spain"
|
||||
|
||||
Then, to enable connections from your browser remember to first navigate to https://localhost:8080/ (change port if you changed it before at config.yml). This is required in order to allow your browser connections to servers using your own selfsigned certificate. If you don´t follow this step, you won´t be able to connect to your WebSockets Server.
|
||||
|
||||
##### Let's Encrypt certificate (or any PEM certificates)
|
||||
|
||||
WebConsole does not support PEM certificates, so you will need to convert it to create your keystore.jks file. Follow the steps mentioned in [this guide](https://gist.github.com/xkr47/920ffe94f6a4c171ee59):
|
||||
|
||||
1. Convert certificate chain + private key to the PKCS#12 file format. You will be asked for a password: Remember it as it will be the StorePassword required in your config.yml
|
||||
> openssl pkcs12 -export -out keystore.pkcs12 -in fullchain.pem -inkey privkey.pem
|
||||
|
||||
2. convert PKCS#12 file into Java keystore format. You will be asked for another password. This time you are typing the KeyPassword, also required in config.yml
|
||||
> keytool -importkeystore -srckeystore keystore.pkcs12 -srcstoretype PKCS12 -destkeystore keystore.jks
|
||||
|
||||
3. PKCS#12 file can be deleted
|
||||
> rm keystore.pkcs12
|
||||
|
||||
4. Copy keystore.jks to your plugin folder (plugins/WebConsole/keystore.jks)
|
||||
|
||||
|
||||
## How it works
|
||||
|
Loading…
x
Reference in New Issue
Block a user