Skip to content

Wervice/zentrox

Zentrox


Preview of Zentrox

Easy server admin and setup

GitHub License GitHub Repo stars JavaScript C Linux

Important

⚠️ Zentrox is a work in progress

💡 Which problems does Zentrox solve?

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.

🎯 Features

Zentrox will offer many features for different purposes:

  • File sharing protocols
  • Package manager
  • Storage & Files overview
  • System resource measurement
  • Web shell
Italic means, that the feature is not fully implemented yet.

🛠️ Installation

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.

Requirements

  • NodeJS 18+
  • git
  • npm
  • Linux

Installing

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.

🗃️ Usage

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.

🗑️ Removing

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.

System changes

Zentrox changes a few configurations on your system, so it will work properly. These are:

FTP

  1. Installing vsftpd and ufw
  2. Enabling ufw
  3. Allowing port 20 and 21 using ufw for FTP
  4. 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
  5. 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
  6. Stopping / Starting vsftpd

❓ Why...

... JavaScript?

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.

... C?

Zentrox also uses C to speed up certain tasks.
C had the libraries and features I needed to change the system.

... Express?

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.

✏️ Contributing

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.

📖 Legal

Zentrox is released under Apache 2.0

Zentrox uses/requires the following resources:

About

Administrate your server using a convenient and reliable web based interface with a robust self-hosted back end. Build with Vanilla JavaScript.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published