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

84 lines
1.9 KiB
Markdown

# 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
~~~
2. 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.
3. Create a proxy rule in nginx configuration (If you're using another
HTTP server, you're on your own.)
~~~conf
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
![](https://repology.org/badge/vertical-allrepos/sakisafe.svg)
# Contributing
Just create a pull request in GitHub or send a diff file.
# Donate
Thanks!
**Bitcoin**: bc1qghl6f27dpgktynpvkrxte2s3gm9pcv8vlwuzum
**Monero**: 47QTumjtqJabbo1s9pLDdXeJarLVLfs1AaEcbi1xrEiV852mqcbe5AHLNXTk7tH9MscxcxQDfJQnvH5LpxvfgwSJQZ3zbS6