lainsafe/doc/index.md

134 lines
3.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# lainsafecli documentation
## History
[delegao](https://kill-9.xyz/rocks/people/delegao) and I were talking about how much I hate the modern web. He runs <https://safe.delegao.moe> which is the same but with JS, so I think it sucked. I started to make lainsafe to replace lolisafe.
## Lainsafe installation
Just put index.html and upload.cgi in a HTTP directory. I use fcgi to run my cgi scripts. So it's what i recommend. To install fcgi on Debian, run: ```# apt install fcgiwrap```
here's an example configuration for lainsafe, using nginx.
~~~
server
{
server_name lainsafe.foo.tld;
listen 80;
listen [::]:80;
client_max_body_size 100m; # max size 100MBs, change 10 to 100 in upload.cgi in line 30
root /var/www/lainsafe;
location ~ \.cgi$ {
gzip off;
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/fcgiwrap.socket;
fastcgi_index index.cgi;
fastcgi_param SCRIPT_FILENAME /var/www/lainsafe/$fastcgi_script_name;
}
}
~~~
## lainsafecli
lainsafecli is a command line interface for lainsafe. It can be used
in whatever that runs Perl. Installation is simple: if you're running
Debian install the libwww-perl package. If you are not running Debian,
search for that package in your repositories. Or use ```# cpan -i
LWP::UserAgent``` Also LWP::UserAgent::https is needed. In Debian,
install liblwp-protocol-https-perl, in other distros try # cpan -i
LWP::UserAgent
### Installation
I haven't made a package for lainsafecli yet. So installation is basically:
~~~
# wget https://raw.githubusercontent.com/qorg11/lainsafe/master/lainsafecli \
-O /bin/lainsafecli && chmod +x /bin/lainsafecli
~~~
That will install lainsafecli, run ```lainsafecli``` to make sure it is installed.
### Configuration
lainsafecli is a simple software. So it has just 2 configurable
parameters. lainsafecli do not have a config file. So you have to
change these parameters in the executable file.
These parameters are located in the line 34 of lainsafecli.
```$DEFAULT_SERVER``` the server that will be used if --server is not
specified.
```$DISPLAY_ASCII``` By default is true, change to 0 if you don't want
the Lain ASCII art to appear when you upload a file.
the most "official" lainsafe instance is <https://lainsafe.delegao.moe>.
### Usage
Before 1b8373
~~~
USAGE: lainsafecli [--server] --file=FILE
~~~
After 1b8373
~~~
USAGE: lainsafecli [--server] FILE
~~~
for example:
```lainsafe --server=https://lainsafe.foo.bar sicp.pdf```
will upload sicp.pdf to lainsafe.foo.bar
### Sample output
In this output, ```$DEFAULT_SERVER``` is lainsafe.delegao.moe. and ```
$DISPLAY_ASCII``` equals 1 (true)
~~~
lainsafecli sicp.pdf
_..-- ----- --.._
,-'' `-.
, \
/ \
/ ` . \
' / || ;
; ^/| |/ | |
| /v /\`-'v√\'-|\ ,
| /v` ,--- ---- .^.| ;
: | /´@@`, ,@@`\ | ;
' | '. @@ / \@@ / |\ |;
| ^| ----- --- | \/||
` |` | /\ /
\ \ |/ |,
' ; \ /| |
` \ -- / | |
` `. .-' | /
v,- `;._ _.; | |
`'`\ |-_ -^'^'| |
------ |/
https://lainsafe.delegao.moe/files/nzOhDKtB.pdf
~~~
# upload.cgi
```upload.cgi``` is the perl script that do all the works. You could
delete index.cgi from your sever and just upload.cgi. You'd upload
files through ```lainsafecli```.
## Configuration
Only one parameter: ```$MAX_SIZE``` specify, in megabytes, the max size of files allowed. So for example. If you want to set 100MBs as max size . ```$MAX_SIZE``` would be like this: ```$MAX_SIZE = 1024*1024*100```
If someone tries to upload a file bigger than 100MBs. It will return
Max size for a file is 100 MBs, then, upload.cgi will die.