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.
- Node.JS (Version 22+)
- Python (Version 3.11+)
- NPM
- Pip3
- Linux (OpenSUSE is not supported at the time)
- Run the following command in your terminal:
curl -fsSL https://raw.githubusercontent.com/Wervice/zentrox/main/install.bash -o zentrox_installer.bash; bash zentrox_installer.bash
- Follow the installer.
- Run
cd ~/zentrox; node zentrox.js
to get started. - Go to
https://localhost:3000
and login with your newly configured admin username and password.
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)