sakisafe/README.md
getimiskon d0c7060012
Add filename randomizing (#17)
* Added filename randomizing code

* Updated the README file

---------

Co-authored-by: getimiskon <getimiskon@disroot.org>
2023-02-13 22:29:06 +01:00

1.9 KiB

Sakisafe (formerly lainsafe)

Simple file upload

Features

  • Written in perl
  • Can be used as pastebin
  • Easy installation (just a simple daemon and use a reverse proxy)
  1. install the dependencies using cpan:
cpan -i Mojolicious::Lite Mojolicious::Routes::Pattern Mojolicious::Plugin::RenderFile List::MoreUtils MIME::Types
  1. Clone the repo and start the daemon:
git clone https://git.suragu.net/sosa/sakisafe
cd sakisafe/http
./sakisafe.pl daemon -m production

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

  • Written in C so is fast.
  • HTTP and SCP support (FTP support is planned)
  • Highly configurable
  • Lightweight
  • If using OpenBSD, it will run pledge() for security reasons.

Installation

Compilation

Clone the repo and run make (or bmake in linux systems)

Repositories

Contributing

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

Donate

Thanks!

Bitcoin: bc1qghl6f27dpgktynpvkrxte2s3gm9pcv8vlwuzum

Monero: 47QTumjtqJabbo1s9pLDdXeJarLVLfs1AaEcbi1xrEiV852mqcbe5AHLNXTk7tH9MscxcxQDfJQnvH5LpxvfgwSJQZ3zbS6