Update README.md

This commit is contained in:
solusipse
2013-09-14 01:00:23 +02:00
parent 924341e973
commit 6b2569b406

157
README.md
View File

@@ -32,65 +32,172 @@ ls -la | nc localhost 9999
```
```
cat file.txt | nc someserverrunningfiche.net 1234
cat file.txt | nc solusipse.net 9999
```
```
echo just testing! | nc code.solusipse.net 9999
```
If you already haven't set up your server on localhost, try third line! My server is providing terminal
pastebin server powered by fiche - ```code.solusipse.net``` on port ```9999```.
If you haven't already set up your server on localhost, try second or third command. My personal server is
providing fiche-based service all the time on this address `solusipse.net` and this port `9999`.
- To upload text you need to have netcat installed (to check if netcat is installed, simply type ```nc``` in terminal).
## Server-side usage ##
```
usage: fiche [-bdpqs].
[-d host_domain.com] [-p port] [-s slug_size]
[-o output_directory] [-b buffer_size] [-q queue_size]
usage: fiche [-pbsdolBuw].
[-d domain] [-p port] [-s slug size]
[-o output directory] [-B buffer size] [-u user name]
[-l log file] [-b banlist] [-w whitelist]
```
These are command line arguments. You don't have to provide any, but doing that is recommended. Without them, program
These are command line arguments. You don't have to provide any, but providing basic is recommended. Without them, program
will use these default settings:
```C
```
domain = "http://localhost/";
basedir= "~/code/";
port = 9999;
slug_size = 4;
buffer_size = 8192;
queue_size = 100;
```
Examples:
### Arguments ###
Most important is providing **basedir** and **domain**.
-----------------
#### Basedir ####
Basedir should be **absolute** path to directory where you would like to store text files.
```
fiche -b /absolute/path/to/directory/
```
```
fiche -b /home/www/code/
```
-----------------
#### Domain ####
Domain should be provided in such format ```domain.com```.
```
fiche -d domain.com
```
```
fiche -s 6 -p 6666
fiche -d subdomain.domain.com
```
### Basic arguments ###
-----------------
Most important is providing **basedir** and **domain**.
#### Slug size ####
Basedir should be **absolute** path to directory where you would like to store text files.
This will force fiche to create random slugs with given length, example:
Domain should be provided in such format ```domain.com```.
```
fiche -s 6
```
Slug size: ```domain.com/SLUG_OF_CHOSEN_LENGTH/```.
```
http://domain.com/abcdef/
```
-----------------
#### User name ####
If you use fiche as service (see details below) you may want to save files as other user, to do that use `-u` option,
there's example:
```
fiche -u http
```
-----------------
#### Buffersize ####
This parameter defines max file size uploaded by user, by default it is set to `32768`.
Use `-B` parameter to change it:
```
fiche -B 2048
```
-----------------
#### Log file ###
Path to file where all logs will be stored:
```
fiche -l /home/www/fiche-log.txt
```
-----------------
#### Ban list ###
Path to file where you provided all banned IP adresses:
```
fiche -b /home/www/fiche-bans.txt
```
-----------------
#### White list ####
If whitelist mode is enabled, only addresses from list will be able to upload files. There's example:
```
fiche -w /home/www/fiche-whitelist.txt
```
-----------------
#### Whitelist and banlist syntax ####
There is no specific syntax, there files may contain not only addresses.
-----------------
#### Examples ####
Logging connections with banlist:
```
fiche -d domain.com -l /home/www/log.txt -b /home/www/bans.txt
```
-----------------
Only for personal use with whitelist
```
fiche -d domain.com -w /home/www/whitelist.txt
```
-----------------
Custom output directory, bigger slug size, reduced buffer, custom port:
```
fiche -d domain.com -o /media/disk/fiche/ -s 8 -B 2048 -p 6666
```
### Parameters for advanced users ###
- Buffer size
- Queue size
## Running as service ##
e
You can run fiche as service, there is simple systemd example:
```
@@ -98,13 +205,13 @@ You can run fiche as service, there is simple systemd example:
Description=FICHE-SERVER
[Service]
ExecStart=/usr/local/bin/fiche -d code.solusipse.net -o /home/www/code/
ExecStart=/usr/local/bin/fiche -d code.solusipse.net -o /home/www/code/ -l /home/www/log.txt
[Install]
WantedBy=multi-user.target
```
In service mode you have to set output directory with ```-d``` parameter, there's example:
In service mode you have to set output directory with `-o` parameter, there's example:
```
fiche -o /home/www/code/
@@ -113,7 +220,7 @@ fiche -o /home/www/code/
## Webserver ##
To make files available for users, you need to host them somehow. Http server is easiest option. Just set root
directory to ```BASEDIR```. **Remember that you have to distribute these files as plain text for safety measures!**
directory to ```BASEDIR```.
There is sample configuration for nginx:
@@ -121,11 +228,11 @@ There is sample configuration for nginx:
server {
listen 80;
server_name mysite.com www.mysite.com;
add_header Content-Type text/plain;
charset utf-8;
location / {
root /home/www/code/;
index index.html;
index index.txt index.html;
}
}
```