rfc-2549 / sakisafe

simple file upload
https://ss.suragu.net
Other
40 stars 8 forks source link
command-line files filesharing minimalist mojo mojolicious perl

Sakisafe (formerly lainsafe)

Simple file upload

Features

  1. install the dependencies using cpan:
cpan -i Mojolicious::Lite Mojolicious::Routes::Pattern Mojoliciuos::Plugin::RenderFile
  1. Clone the repo and start the daemon:
git clone https://git.suragu.net/sosa/sakisafe
cd sakisafe/http
./sakisafe.pl daemon -m production
  1. Create a 'f' directory in the directory sakisafe will run with mkdir f. Make sure that the user which will run sakisafe.pl can write in that directory.

By default, sakisafe will bind in 127.0.0.1 port 3000. Because that's the default bind Mojolicious uses.

  1. Create a proxy rule in nginx configuration (If you're using another HTTP server, you're on your own.)

server {
      server_name sakisafe.whatever.tld;
      listen 443 ssl;

      # ssl configuration here

      location / {
             proxy_set_header    Host            $host;
             proxy_set_header    X-Real-IP       $remote_addr;
                 proxy_set_header    X-Forwarded-for $remote_addr;
             proxy_pass http://127.0.0.1:3000$request_uri;
      }
}

And restart nginx. Going to sakisafe.whatever.tld should work.

sakisafecli

sakisafecli is a command line interface for sakisafe servers (and other file upload services). It also supports file uploading via scp (ssh).

Features

Installation

Compilation

Clone the repo and run make.

Linux-specific

Use bmake instead of make, and you'll also need these deps:

Repositories

Contributing

Just create a pull request in GitHub or send a diff file.

Donate

Thanks!

Bitcoin: bc1qghl6f27dpgktynpvkrxte2s3gm9pcv8vlwuzum

Monero: 47QTumjtqJabbo1s9pLDdXeJarLVLfs1AaEcbi1xrEiV852mqcbe5AHLNXTk7tH9MscxcxQDfJQnvH5LpxvfgwSJQZ3zbS6