iMerge branch 'master' of github.com:solusipse/fiche - fiche - A pastebin adjusted for gopher use Err vernunftzentrum.de 70 hgit clone git://vernunftzentrum.de/fiche.git URL:git://vernunftzentrum.de/fiche.git vernunftzentrum.de 70 1Log /ckeen/repos/fiche/log.gph vernunftzentrum.de 70 1Files /ckeen/repos/fiche/files.gph vernunftzentrum.de 70 1Refs /ckeen/repos/fiche/refs.gph vernunftzentrum.de 70 1LICENSE /ckeen/repos/fiche/file/LICENSE.gph vernunftzentrum.de 70 i--- Err vernunftzentrum.de 70 1commit 2c88f3c9907cb59e7a0d4af932e301117a423a0d /ckeen/repos/fiche/commit/2c88f3c9907cb59e7a0d4af932e301117a423a0d.gph vernunftzentrum.de 70 1parent bd1751693b93975e1e0a8754572897743caf0a6b /ckeen/repos/fiche/commit/bd1751693b93975e1e0a8754572897743caf0a6b.gph vernunftzentrum.de 70 hAuthor: solusipse URL:mailto:solus1ps3@gmail.com vernunftzentrum.de 70 iDate: Sat, 2 Sep 2017 19:15:48 +0200 Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 iMerge branch 'master' of github.com:solusipse/fiche Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 iDiffstat: Err vernunftzentrum.de 70 i README.md | 226 +++++++++++++------------------ Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i1 file changed, 95 insertions(+), 131 deletions(-) Err vernunftzentrum.de 70 i--- Err vernunftzentrum.de 70 1diff --git a/README.md b/README.md /ckeen/repos/fiche/file/README.md.gph vernunftzentrum.de 70 i@@ -3,15 +3,40 @@ fiche [![Build Status](https://travis-ci.org/solusipse/fiche.svg?branch=master)] Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i Command line pastebin for sharing terminal output. Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i+# Client-side usage Err vernunftzentrum.de 70 i+ Err vernunftzentrum.de 70 i+Self-explanatory live examples (using public server): Err vernunftzentrum.de 70 i+ Err vernunftzentrum.de 70 i+``` Err vernunftzentrum.de 70 i+echo just testing! | nc termbin.com 9999 Err vernunftzentrum.de 70 i+``` Err vernunftzentrum.de 70 i+ Err vernunftzentrum.de 70 i+``` Err vernunftzentrum.de 70 i+cat file.txt | nc termbin.com 9999 Err vernunftzentrum.de 70 i+``` Err vernunftzentrum.de 70 i+ Err vernunftzentrum.de 70 i+In case you installed and started fiche on localhost: Err vernunftzentrum.de 70 i+ Err vernunftzentrum.de 70 i+``` Err vernunftzentrum.de 70 i+ls -la | nc localhost 9999 Err vernunftzentrum.de 70 i+``` Err vernunftzentrum.de 70 i+ Err vernunftzentrum.de 70 i+## Requirements Err vernunftzentrum.de 70 i+To use fiche you have to have netcat installed. You probably already have it - try typing `nc` or `netcat` into your terminal! Err vernunftzentrum.de 70 i+ Err vernunftzentrum.de 70 i+------------------------------------------------------------------------------- Err vernunftzentrum.de 70 i+ Err vernunftzentrum.de 70 i+# Server-side usage Err vernunftzentrum.de 70 i+ Err vernunftzentrum.de 70 i ## Installation ## Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i-1. Clone into repository: Err vernunftzentrum.de 70 i+1. Clone: Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i ``` Err vernunftzentrum.de 70 i- https://github.com/solusipse/fiche.git Err vernunftzentrum.de 70 i+ git clone https://github.com/solusipse/fiche.git Err vernunftzentrum.de 70 i ``` Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i-2. Build program: Err vernunftzentrum.de 70 i+2. Build: Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i ``` Err vernunftzentrum.de 70 i make Err vernunftzentrum.de 70 i@@ -23,28 +48,11 @@ Command line pastebin for sharing terminal output. Err vernunftzentrum.de 70 i sudo make install Err vernunftzentrum.de 70 i ``` Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i-## Client-side usage ## Err vernunftzentrum.de 70 i- Err vernunftzentrum.de 70 i-Self explanatory live examples: Err vernunftzentrum.de 70 i+------------------------------------------------------------------------------- Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i-``` Err vernunftzentrum.de 70 i-ls -la | nc localhost 9999 Err vernunftzentrum.de 70 i-``` Err vernunftzentrum.de 70 i+## Settings Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i-``` Err vernunftzentrum.de 70 i-cat file.txt | nc solusipse.net 9999 Err vernunftzentrum.de 70 i-``` Err vernunftzentrum.de 70 i- Err vernunftzentrum.de 70 i-``` Err vernunftzentrum.de 70 i-echo just testing! | nc code.solusipse.net 9999 Err vernunftzentrum.de 70 i-``` Err vernunftzentrum.de 70 i- Err vernunftzentrum.de 70 i-If you haven't already set up your server on localhost, try second or third command. My personal server is Err vernunftzentrum.de 70 i-providing fiche-based service all the time on this address `solusipse.net` and this port `9999`. Err vernunftzentrum.de 70 i- Err vernunftzentrum.de 70 i-- To upload text you need to have netcat installed (to check if netcat is installed, simply type ```nc``` in terminal). Err vernunftzentrum.de 70 i- Err vernunftzentrum.de 70 i-## Server-side usage ## Err vernunftzentrum.de 70 i+### Usage Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i ``` Err vernunftzentrum.de 70 i usage: fiche [-D6epbsdSolBuw]. Err vernunftzentrum.de 70 i@@ -53,41 +61,32 @@ usage: fiche [-D6epbsdSolBuw]. Err vernunftzentrum.de 70 i [-l log file] [-b banlist] [-w whitelist] Err vernunftzentrum.de 70 i ``` Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i-These are command line arguments. You don't have to provide any, but providing basic is recommended. Without them, program Err vernunftzentrum.de 70 i-will use these default settings: Err vernunftzentrum.de 70 i- Err vernunftzentrum.de 70 i-``` Err vernunftzentrum.de 70 i-domain = "http://localhost/"; Err vernunftzentrum.de 70 i-basedir= "~/code/"; Err vernunftzentrum.de 70 i-port = 9999; Err vernunftzentrum.de 70 i-slug_size = 4; Err vernunftzentrum.de 70 i-buffer_size = 8192; Err vernunftzentrum.de 70 i-``` Err vernunftzentrum.de 70 i- Err vernunftzentrum.de 70 i-### Arguments ### Err vernunftzentrum.de 70 i+These are command line arguments. You don't have to provide any of them to run the application. Default settings will be used in such case. Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i-Most important is providing **basedir** and **domain**. Err vernunftzentrum.de 70 i+### Examples Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i------------------ Err vernunftzentrum.de 70 i+------------------------------------------------------------------------------- Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i-#### Basedir #### Err vernunftzentrum.de 70 i- Err vernunftzentrum.de 70 i-Basedir should be **absolute** path to directory where you would like to store text files. Err vernunftzentrum.de 70 i+#### Output directory `-o` Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i+Relative or absolute path to the directory where you want to store user-posted pastes. Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i ``` Err vernunftzentrum.de 70 i-fiche -o /absolute/path/to/directory/ Err vernunftzentrum.de 70 i+fiche -o ./code Err vernunftzentrum.de 70 i ``` Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i ``` Err vernunftzentrum.de 70 i fiche -o /home/www/code/ Err vernunftzentrum.de 70 i ``` Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i------------------ Err vernunftzentrum.de 70 i+__Default value:__ `./code` Err vernunftzentrum.de 70 i+ Err vernunftzentrum.de 70 i+------------------------------------------------------------------------------- Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i-#### Domain #### Err vernunftzentrum.de 70 i+#### Domain `-d` Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i-Domain should be provided in such format ```domain.com```. Err vernunftzentrum.de 70 i+This will be used as a prefix for an output received by the client. Err vernunftzentrum.de 70 i+Value will be prepended with `http`. Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i ``` Err vernunftzentrum.de 70 i fiche -d domain.com Err vernunftzentrum.de 70 i@@ -97,158 +96,123 @@ fiche -d domain.com Err vernunftzentrum.de 70 i fiche -d subdomain.domain.com Err vernunftzentrum.de 70 i ``` Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i------------------ Err vernunftzentrum.de 70 i+__Default value:__ `localhost` Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i-#### Slug size #### Err vernunftzentrum.de 70 i+------------------------------------------------------------------------------- Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i-This will force fiche to create random slugs with given length, example: Err vernunftzentrum.de 70 i+#### Slug size `-s` Err vernunftzentrum.de 70 i+ Err vernunftzentrum.de 70 i+This will force slugs to be of requires length: Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i ``` Err vernunftzentrum.de 70 i fiche -s 6 Err vernunftzentrum.de 70 i ``` Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i-``` Err vernunftzentrum.de 70 i-http://domain.com/abcdef/ Err vernunftzentrum.de 70 i-``` Err vernunftzentrum.de 70 i+__Output url with default value__: `http://localhost/xxxx`, Err vernunftzentrum.de 70 i+where x is a randomized character Err vernunftzentrum.de 70 i+ Err vernunftzentrum.de 70 i+__Output url with example value 6__: `http://localhost/xxxx`, Err vernunftzentrum.de 70 i+where is a randomized character Err vernunftzentrum.de 70 i+ Err vernunftzentrum.de 70 i+__Default value:__ 4 Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i------------------ Err vernunftzentrum.de 70 i+------------------------------------------------------------------------------- Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i-#### User name #### Err vernunftzentrum.de 70 i+#### User name `-u` Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i-Set the user that fiche runs as using the `-u` option, example: Err vernunftzentrum.de 70 i+Fiche will try to switch to the requested user on startup if any is provided. Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i ``` Err vernunftzentrum.de 70 i fiche -u _fiche Err vernunftzentrum.de 70 i ``` Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i-This option has effect only if fiche was started by root, otherwise it is ignored and fiche runs under the Err vernunftzentrum.de 70 i-current user id. Err vernunftzentrum.de 70 i+__Default value:__ not set Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i------------------ Err vernunftzentrum.de 70 i+__WARNING:__ This requires that fiche is started as a root. Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i-#### Buffersize #### Err vernunftzentrum.de 70 i+------------------------------------------------------------------------------- Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i-This parameter defines max file size uploaded by user, by default it is set to `32768`. Err vernunftzentrum.de 70 i-Use `-B` parameter to change it: Err vernunftzentrum.de 70 i+#### Buffer size `-B` Err vernunftzentrum.de 70 i+ Err vernunftzentrum.de 70 i+This parameter defines size of the buffer used for getting data from the user. Err vernunftzentrum.de 70 i+Maximum size (in bytes) of all input files is defined by this value. Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i ``` Err vernunftzentrum.de 70 i fiche -B 2048 Err vernunftzentrum.de 70 i ``` Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i------------------ Err vernunftzentrum.de 70 i+__Default value:__ 32768 Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i-#### Log file ### Err vernunftzentrum.de 70 i+------------------------------------------------------------------------------- Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i-Path to file where all logs will be stored: Err vernunftzentrum.de 70 i+#### Log file `-l` Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i ``` Err vernunftzentrum.de 70 i fiche -l /home/www/fiche-log.txt Err vernunftzentrum.de 70 i ``` Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i------------------ Err vernunftzentrum.de 70 i- Err vernunftzentrum.de 70 i-#### Ban list ### Err vernunftzentrum.de 70 i+__Default value:__ not set Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i-Path to file where you provided all banned IP adresses: Err vernunftzentrum.de 70 i+__WARNING:__ this file has to be user-writable Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i-``` Err vernunftzentrum.de 70 i-fiche -b /home/www/fiche-bans.txt Err vernunftzentrum.de 70 i-``` Err vernunftzentrum.de 70 i+------------------------------------------------------------------------------- Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i------------------ Err vernunftzentrum.de 70 i+#### Ban list `-b` Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i-#### White list #### Err vernunftzentrum.de 70 i- Err vernunftzentrum.de 70 i-If whitelist mode is enabled, only addresses from list will be able to upload files. There's example: Err vernunftzentrum.de 70 i+Relative or absolute path to a file containing IP addresses of banned users. Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i ``` Err vernunftzentrum.de 70 i-fiche -w /home/www/fiche-whitelist.txt Err vernunftzentrum.de 70 i+fiche -b fiche-bans.txt Err vernunftzentrum.de 70 i ``` Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i------------------ Err vernunftzentrum.de 70 i- Err vernunftzentrum.de 70 i-#### Whitelist and banlist syntax #### Err vernunftzentrum.de 70 i- Err vernunftzentrum.de 70 i-There is no specific syntax, there files may contain not only addresses. Err vernunftzentrum.de 70 i- Err vernunftzentrum.de 70 i------------------ Err vernunftzentrum.de 70 i- Err vernunftzentrum.de 70 i-#### Daemonize #### Err vernunftzentrum.de 70 i- Err vernunftzentrum.de 70 i-Fork fiche to the background: Err vernunftzentrum.de 70 i- Err vernunftzentrum.de 70 i-fiche -D Err vernunftzentrum.de 70 i- Err vernunftzentrum.de 70 i------------------ Err vernunftzentrum.de 70 i+__Format of the file:__ this file should contain only addresses, one per line. Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i-#### Extended character set for the URL #### Err vernunftzentrum.de 70 i+__Default value:__ not set Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i-Fork can extend the charcter set for the URL: Err vernunftzentrum.de 70 i+__WARNING:__ not implemented yet Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i-fiche -e Err vernunftzentrum.de 70 i+------------------------------------------------------------------------------- Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i------------------ Err vernunftzentrum.de 70 i+#### White list `-w` Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i-#### Use IPv6 #### Err vernunftzentrum.de 70 i- Err vernunftzentrum.de 70 i-this will allow fiche to accept connections from IPv6 clients: Err vernunftzentrum.de 70 i- Err vernunftzentrum.de 70 i-fiche -6 Err vernunftzentrum.de 70 i- Err vernunftzentrum.de 70 i------------------ Err vernunftzentrum.de 70 i- Err vernunftzentrum.de 70 i-#### Examples #### Err vernunftzentrum.de 70 i- Err vernunftzentrum.de 70 i-Logging connections with banlist: Err vernunftzentrum.de 70 i- Err vernunftzentrum.de 70 i-``` Err vernunftzentrum.de 70 i-fiche -d domain.com -l /home/www/log.txt -b /home/www/bans.txt Err vernunftzentrum.de 70 i-``` Err vernunftzentrum.de 70 i- Err vernunftzentrum.de 70 i------------------ Err vernunftzentrum.de 70 i- Err vernunftzentrum.de 70 i-Only for personal use with whitelist Err vernunftzentrum.de 70 i+If whitelist mode is enabled, only addresses from the list will be able Err vernunftzentrum.de 70 i+to upload files. Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i ``` Err vernunftzentrum.de 70 i-fiche -d domain.com -w /home/www/whitelist.txt Err vernunftzentrum.de 70 i+fiche -w fiche-whitelist.txt Err vernunftzentrum.de 70 i ``` Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i------------------ Err vernunftzentrum.de 70 i+__Format of the file:__ this file should contain only addresses, one per line. Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i-Custom output directory, bigger slug size, reduced buffer, custom port: Err vernunftzentrum.de 70 i- Err vernunftzentrum.de 70 i-``` Err vernunftzentrum.de 70 i-fiche -d domain.com -o /media/disk/fiche/ -s 8 -B 2048 -p 6666 Err vernunftzentrum.de 70 i-``` Err vernunftzentrum.de 70 i+__Default value:__ not set Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i+__WARNING:__ not implemented yet Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i+------------------------------------------------------------------------------- Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i-## Running as service ## Err vernunftzentrum.de 70 i-You can run fiche as service, there is simple systemd example: Err vernunftzentrum.de 70 i+### Running as a service Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i+There's a simple systemd example: Err vernunftzentrum.de 70 i ``` Err vernunftzentrum.de 70 i [Unit] Err vernunftzentrum.de 70 i Description=FICHE-SERVER Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i [Service] Err vernunftzentrum.de 70 i-ExecStart=/usr/local/bin/fiche -d code.solusipse.net -o /home/www/code/ -l /home/www/log.txt -u _fiche Err vernunftzentrum.de 70 i+ExecStart=/usr/local/bin/fiche -d yourdomain.com -o /path/to/output -l /path/to/log -u youruser Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i [Install] Err vernunftzentrum.de 70 i WantedBy=multi-user.target Err vernunftzentrum.de 70 i ``` Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i-In service mode you have to set output directory with `-o` parameter, there's example: Err vernunftzentrum.de 70 i+__WARNING:__ In service mode you have to set output directory with `-o` parameter, there's example: Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i-``` Err vernunftzentrum.de 70 i-fiche -o /home/www/code/ Err vernunftzentrum.de 70 i-``` Err vernunftzentrum.de 70 i+------------------------------------------------------------------------------- Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i-## Webserver ## Err vernunftzentrum.de 70 i+## Example nginx config Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i-To make files available for users, you need to host them somehow. Http server is easiest option. Just set root Err vernunftzentrum.de 70 i-directory to ```BASEDIR```. Err vernunftzentrum.de 70 i+Fiche has no http server built-in, thus you need to setup one if you want to make files available through http. Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i-There is sample configuration for nginx: Err vernunftzentrum.de 70 i+There's a sample configuration for nginx: Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i ``` Err vernunftzentrum.de 70 i server { Err vernunftzentrum.de 70 i@@ -263,6 +227,6 @@ server { Err vernunftzentrum.de 70 i } Err vernunftzentrum.de 70 i ``` Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i-## License ## Err vernunftzentrum.de 70 i+# License Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i Fiche is MIT licensed. Err vernunftzentrum.de 70 .