FileShelter is an open-source project that allows you to securely share files with others. In this tutorial, we will guide you through the process of installing and configuring FileShelter on Clear Linux Latest.
Before we start, make sure you have the following:
The first step is to install the required dependencies. Open a terminal and log in as root using the following command:
sudo su
Update the system, then install the dependencies:
swupd update
swupd bundle-add go-devel nginx certbot
The go-devel
bundle provides the Go programming language and development tools, while nginx
is a web server that will be used to serve the FileShelter web application. certbot
is needed to obtain SSL/TLS certificates from Let's Encrypt.
To download the FileShelter repository, run the following command:
git clone https://github.com/epoupon/fileshelter.git
Change directory to the fileshelter directory and build the executable file:
cd fileshelter
go build -o fileshelter
Copy the fileshelter binary file to /usr/local/bin
so that we can execute the fileshelter
command anywhere in the system:
cp fileshelter /usr/local/bin
Edit the Nginx configuration file using the following command:
nano /etc/nginx/nginx.conf
Delete everything in the file and paste the following configuration:
user www-data;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
server {
listen 80;
server_name YOUR_DOMAIN_NAME;
location / {
rewrite ^ https://$server_name$request_uri? permanent;
}
location /.well-known/acme-challenge/ {
root /var/www/letsencrypt/;
default_type "text/plain";
}
}
server {
listen 443 ssl;
server_name YOUR_DOMAIN_NAME;
ssl_certificate /etc/letsencrypt/live/YOUR_DOMAIN_NAME/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/YOUR_DOMAIN_NAME/privkey.pem;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
ssl_protocols TLSv1.2;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8080;
}
}
}
Replace YOUR_DOMAIN_NAME
with your actual domain name. Save the file and exit the editor.
Run the following command to obtain SSL/TLS certificates from Let's Encrypt:
certbot certonly --webroot -w /var/www/letsencrypt -d YOUR_DOMAIN_NAME
Follow the instructions to obtain and verify the certificates.
To run FileShelter, execute the following command:
fileshelter -data /var/lib/fileshelter -static /path/to/fileshelter/static
Replace /path/to/fileshelter/static
with the actual path to the static
directory where you cloned the FileShelter repository.
Open a web browser and go to https://YOUR_DOMAIN_NAME
. FileShelter should now be accessible.
Congratulations! You have successfully installed and configured FileShelter on Clear Linux Latest. You can now securely share files with others using your own server.
If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!
Alternatively, for the best virtual desktop, try Shells!