Readme update

This commit is contained in:
Carlos 2019-08-12 03:29:24 +02:00
parent 49674f7ffe
commit c05392e31a

View File

@ -1,4 +1,5 @@
# WebConsole # 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. 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 ## Plugin installation
1. Plugin download 1. Download plugin from [Releases](https://github.com/mesacarlos/WebConsole/releases)
2. Filling config.yml. Port and password configuration 2. Open and close your server to generate the config.yml file and open it. You will see something like the following:
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
# input: fullchain.pem and privkey.pem as generated by the "letsencrypt-auto" script when run with > useSSL: false
# the "auth" aka "certonly" subcommand > 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 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.
# este comando pide una pass para exportar, es la storepassword
openssl pkcs12 -export -out keystore.pkcs12 -in fullchain.pem -inkey privkey.pem
# 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 #### SSL Configuration
rm keystore.pkcs12
# Now use "keystore.jks" as keystore in jetty with the keystore password you specfied when you ran 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.
# the "keytool" command
##### 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 ## How it works