A free file hosting server that focuses on speed, reliability and security.
☘️ Open Source - We strongly believe in collaboration and transparency.
⚡ Speed - Get the most out of your hardware! Triox runs fast, even on weak hardware.
🔒 Security - We're using state-of-the-art algorithms and authentication methods to protect your data.
⛓️ Reliability - Built on top of the strong guarantees of the Rust programming language.
🛫 Easy Setup - Triox comes with batteries included and is easy to configure.
🔬 Modern Technologies - Authentication with JWT and a front-end based on WebAssembly.
Triox is still in an early stage but is already usable. The features we'd like to add before our first release can be found in this issue.
Sign in with username demo_user and password demo_password.
Sadly, we can't allow users to upload files due to legal restrictions. Since we can't guarantee that no illegal data will be uploaded the demo server runs in read-only mode.
Everyone is welcome to contribute to Triox. We are always open for new ideas, features and improvements.
The easiest way to contribute changes is to fork Triox, and then create a pull request to ask us to pull your changes into our repository. You can find a list of good first issues here.
- Install Rust using rustup.
- Install dependencies:
- pkg-config, common package name:
pkg-config - OpenSSL, common package name:
libssl-devoropenssl-devel - MySQL-client, common package name:
libmysqlclient-dev,libmariadb-dev-compatormysql-devel
- pkg-config, common package name:
- Install a MySQL-server such as mariadb, common package name:
mariadb-server - Setup database (more below)
- [optional] setup SSL certificate for HTTPS
Now you should be ready to go! Use cargo run to compile and start the server.
CREATE DATABASE triox;
CREATE USER 'triox'@localhost IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON triox.* TO 'triox'@localhost;
FLUSH PRIVILEGES;cargo install diesel_cli --no-default-features --features mysqlecho DATABASE_URL=mysql://triox:password@localhost/triox > .envdiesel migration runcd ssl
openssl req -x509 -nodes -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365
cd ..Then update config/local.toml:
[ssl]
enabled = trueThe API is documented in API.md.