Important
Zentrox helps you with the administration of your home server. It will provide you with the most important tools for managin your device. The installation very fast and doesn't require great background knowledge.
Zentrox will offer many features for different purposes:
- File sharing protocols
- Package manager
- Storage & Files overview
- System resource measurement
- Web shell
Important
Zentrox is a work in progress. At the time, many parts of the application are not done and properly tested. If you want to see, what the current state is, you can test it using the commands bellow. Please do not ignore any disclaimers, as you may break your system. You can also run it in a VM.
Zentrox only supports Linux at the time.
You can use the script bellow to install Zentrox on your system.
It will auto generate a .key and .crt file for HTTPS support.
If you already have a .key and .crt, please copy it to the folder and call it selfsigned.crt / selfsigned.key.
- NodeJS 18+
- git
- npm
- Linux
To install Zentrox, please run the following commands in your terminal:
curl -fsSL https://raw.githubusercontent.com/Wervice/zentrox/main/install.sh | bash
Zentrox only supports Linux at the time.
After installing Zentrox, it will store it the server code in ~/zentrox
and the config, user data... in ~/zentrox_data
It will now be hosted on https://localhost:3000.
Zentrox will now be hosted on https://localhost:3000.
Depending on your your SSL certificates, you may be prompted with a warning about the connection being insecure.
You can ignore this.
If you want to, you can get an official certificate for this, but your connection will still be fairly safe without one.
After rebooting the server or closing Zentrox, you can restart it using:
cd ~/zentrox # Go to Zentrox code folder
node index.js # Start zentrox
You can now login to Zentrox using your admin credentials.
You can remove Zentrox by deleting the zentrox_server folder. If you also want to erase all user & admin data, you can remove zentrox_data.
Important
You can not restore your data using Zentrox after removing it once.
Zentrox changes a few configurations on your system, so it will work properly. These are:
- Installing vsftpd and ufw
- Enabling ufw
- Allowing port 20 and 21 using ufw for FTP
- Creating an FTP user called ftp_zentrox (This will change, if you change the user later using zentrox; The user has the default password
change_me
and not shell access) The user will also get no home folder - Changing /etc/vsftpd.conf (The last few lines after the last comment)
- Use vsftpd.userlist
- Set local root to / (you can change that later)
- Enable userlist
- Sub token user to $USER
- Stopping / Starting vsftpd
JavaScript is a very fast and extensible language.
It features most of the things I was looking for and doesn't stress the hardware it runs on to much.
Zentrox also uses C to speed up certain tasks.
C had the libraries and features I needed to change the system.
Express is very fast and small. It can be extended using libraries.
In addition to that, it also is very fast and lightweight on the system.
You can contribute this project in many ways. I am happy about any feedback.
If you found a bug, please open an issue and I will try to fix it.
Also, you are very welcome to star this project.
Zentrox is released under Apache 2.0
Zentrox uses/requires the following resources:
- Icons8 Icons icons8.com
- Work Sans Font OFL
- VSFTPD as an FTP server https://security.appspot.com/vsftpd.html (Has not been modified)