summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorTyler Hoang <tyler@tylerhoang.xyz>2024-01-13 01:10:07 -0800
committerTyler Hoang <tyler@tylerhoang.xyz>2024-01-13 01:10:07 -0800
commitc39de958ace0d6dc0abdf5667bb50a43d9930927 (patch)
treef756c50e9ed36a79b76eef911969cd76285093ea /README.md
initial
Diffstat (limited to 'README.md')
-rw-r--r--README.md97
1 files changed, 97 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..c50782d
--- /dev/null
+++ b/README.md
@@ -0,0 +1,97 @@
+# 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 Mojoliciuos::Plugin::RenderFile
+~~~
+
+2. Clone the repo and start the daemon:
+
+~~~
+git clone https://git.suragu.net/sosa/sakisafe
+cd sakisafe/http
+./sakisafe.pl daemon -m production
+~~~
+
+3. 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.
+
+4. 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`.
+
+#### Linux-specific
+
+Use `bmake` instead of `make`, and you'll also need these deps:
+
+* `libcurl-devel`
+* `libconfig-dev`
+* `libnghttp2-dev`
+
+### 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
+