README.md - fiche - A pastebin adjusted for gopher use | |
git clone git://vernunftzentrum.de/fiche.git | |
Log | |
Files | |
Refs | |
LICENSE | |
--- | |
README.md (6935B) | |
--- | |
1 fiche [: | |
9 | |
10 ``` | |
11 echo just testing! | nc termbin.com 9999 | |
12 ``` | |
13 | |
14 ``` | |
15 cat file.txt | nc termbin.com 9999 | |
16 ``` | |
17 | |
18 In case you installed and started fiche on localhost: | |
19 | |
20 ``` | |
21 ls -la | nc localhost 9999 | |
22 ``` | |
23 | |
24 You will get an url to your paste as a response, e.g.: | |
25 | |
26 ``` | |
27 http://termbin.com/ydxh | |
28 ``` | |
29 | |
30 You can use our beautification service to get any paste colored and numb… | |
31 | |
32 ``` | |
33 http://l.termbin.com/ydxh | |
34 ``` | |
35 | |
36 ------------------------------------------------------------------------… | |
37 | |
38 ## Useful aliases | |
39 | |
40 You can make your life easier by adding a termbin alias to your rc file.… | |
41 | |
42 ------------------------------------------------------------------------… | |
43 | |
44 ### Pure-bash alternative to netcat | |
45 | |
46 __Linux/macOS:__ | |
47 ``` | |
48 alias tb="(exec 3<>/dev/tcp/termbin.com/9999; cat >&3; cat <&3; exec 3<&… | |
49 ``` | |
50 | |
51 ``` | |
52 echo less typing now! | tb | |
53 ``` | |
54 | |
55 _See [#42](https://github.com/solusipse/fiche/issues/42), [#43](https://… | |
56 | |
57 ------------------------------------------------------------------------… | |
58 | |
59 ### `tb` alias | |
60 | |
61 __Linux (Bash):__ | |
62 ``` | |
63 echo 'alias tb="nc termbin.com 9999"' >> .bashrc | |
64 ``` | |
65 | |
66 ``` | |
67 echo less typing now! | tb | |
68 ``` | |
69 | |
70 __macOS:__ | |
71 | |
72 ``` | |
73 echo 'alias tb="nc termbin.com 9999"' >> .bash_profile | |
74 ``` | |
75 | |
76 ``` | |
77 echo less typing now! | tb | |
78 ``` | |
79 | |
80 ------------------------------------------------------------------------… | |
81 | |
82 ### Copy output to clipboard | |
83 | |
84 __Linux (Bash):__ | |
85 ``` | |
86 echo 'alias tbc="netcat termbin.com 9999 | xclip -selection c"' >> .bash… | |
87 ``` | |
88 | |
89 ``` | |
90 echo less typing now! | tbc | |
91 ``` | |
92 | |
93 __macOS:__ | |
94 | |
95 ``` | |
96 echo 'alias tbc="nc termbin.com 9999 | pbcopy"' >> .bash_profile | |
97 ``` | |
98 | |
99 ``` | |
100 echo less typing now! | tbc | |
101 ``` | |
102 | |
103 __Remember__ to reload the shell with `source ~/.bashrc` or `source ~/.b… | |
104 | |
105 ------------------------------------------------------------------------… | |
106 | |
107 ## Requirements | |
108 To use fiche you have to have netcat installed. You probably already hav… | |
109 | |
110 ------------------------------------------------------------------------… | |
111 | |
112 # Server-side usage | |
113 | |
114 ## Installation | |
115 | |
116 1. Clone: | |
117 | |
118 ``` | |
119 git clone https://github.com/solusipse/fiche.git | |
120 ``` | |
121 | |
122 2. Build: | |
123 | |
124 ``` | |
125 make | |
126 ``` | |
127 | |
128 3. Install: | |
129 | |
130 ``` | |
131 sudo make install | |
132 ``` | |
133 | |
134 ------------------------------------------------------------------------… | |
135 | |
136 ## Usage | |
137 | |
138 ``` | |
139 usage: fiche [-D6epbsdSolBuw]. | |
140 [-d domain] [-p port] [-s slug size] | |
141 [-o output directory] [-B buffer size] [-u user name] | |
142 [-l log file] [-b banlist] [-w whitelist] [-S] | |
143 ``` | |
144 | |
145 These are command line arguments. You don't have to provide any of them … | |
146 | |
147 ### Settings | |
148 | |
149 ------------------------------------------------------------------------… | |
150 | |
151 #### Output directory `-o` | |
152 | |
153 Relative or absolute path to the directory where you want to store user-… | |
154 | |
155 ``` | |
156 fiche -o ./code | |
157 ``` | |
158 | |
159 ``` | |
160 fiche -o /home/www/code/ | |
161 ``` | |
162 | |
163 __Default value:__ `./code` | |
164 | |
165 ------------------------------------------------------------------------… | |
166 | |
167 #### Domain `-d` | |
168 | |
169 This will be used as a prefix for an output received by the client. | |
170 Value will be prepended with the domain prefix (see -P) if set or `http`… | |
171 | |
172 ``` | |
173 fiche -d domain.com | |
174 ``` | |
175 | |
176 ``` | |
177 fiche -d subdomain.domain.com | |
178 ``` | |
179 | |
180 ``` | |
181 fiche -d subdomain.domain.com/some_directory | |
182 ``` | |
183 | |
184 __Default value:__ `localhost` | |
185 | |
186 ------------------------------------------------------------------------… | |
187 | |
188 #### Slug size `-s` | |
189 | |
190 This will force slugs to be of required length: | |
191 | |
192 ``` | |
193 fiche -s 6 | |
194 ``` | |
195 | |
196 __Output url with default value__: `http://localhost/xxxx`, | |
197 where x is a randomized character | |
198 | |
199 __Output url with example value 6__: `http://localhost/xxxx`, | |
200 where is a randomized character | |
201 | |
202 __Default value:__ 4 | |
203 | |
204 ------------------------------------------------------------------------… | |
205 | |
206 #### protocol prefix `-P` | |
207 | |
208 If set, fiche returns url with protocol prefix 'prefix' instead of http | |
209 | |
210 ``` | |
211 fiche -P https | |
212 ``` | |
213 | |
214 __Output url with this parameter__: `https://localhost/xxxx`, | |
215 where x is a randomized character | |
216 | |
217 ------------------------------------------------------------------------… | |
218 | |
219 #### User name `-u` | |
220 | |
221 Fiche will try to switch to the requested user on startup if any is prov… | |
222 | |
223 ``` | |
224 fiche -u _fiche | |
225 ``` | |
226 | |
227 __Default value:__ not set | |
228 | |
229 __WARNING:__ This requires that fiche is started as a root. | |
230 | |
231 ------------------------------------------------------------------------… | |
232 | |
233 #### Buffer size `-B` | |
234 | |
235 This parameter defines size of the buffer used for getting data from the… | |
236 Maximum size (in bytes) of all input files is defined by this value. | |
237 | |
238 ``` | |
239 fiche -B 2048 | |
240 ``` | |
241 | |
242 __Default value:__ 32768 | |
243 | |
244 ------------------------------------------------------------------------… | |
245 | |
246 #### Log file `-l` | |
247 | |
248 ``` | |
249 fiche -l /home/www/fiche-log.txt | |
250 ``` | |
251 | |
252 __Default value:__ not set | |
253 | |
254 __WARNING:__ this file has to be user-writable | |
255 | |
256 ------------------------------------------------------------------------… | |
257 | |
258 #### Ban list `-b` | |
259 | |
260 Relative or absolute path to a file containing IP addresses of banned us… | |
261 | |
262 ``` | |
263 fiche -b fiche-bans.txt | |
264 ``` | |
265 | |
266 __Format of the file:__ this file should contain only addresses, one per… | |
267 | |
268 __Default value:__ not set | |
269 | |
270 __WARNING:__ not implemented yet | |
271 | |
272 ------------------------------------------------------------------------… | |
273 | |
274 #### White list `-w` | |
275 | |
276 If whitelist mode is enabled, only addresses from the list will be able | |
277 to upload files. | |
278 | |
279 ``` | |
280 fiche -w fiche-whitelist.txt | |
281 ``` | |
282 | |
283 __Format of the file:__ this file should contain only addresses, one per… | |
284 | |
285 __Default value:__ not set | |
286 | |
287 __WARNING:__ not implemented yet | |
288 | |
289 ------------------------------------------------------------------------… | |
290 | |
291 ### Running as a service | |
292 | |
293 There's a simple systemd example: | |
294 ``` | |
295 [Unit] | |
296 Description=FICHE-SERVER | |
297 | |
298 [Service] | |
299 ExecStart=/usr/local/bin/fiche -d yourdomain.com -o /path/to/output -l /… | |
300 | |
301 [Install] | |
302 WantedBy=multi-user.target | |
303 ``` | |
304 | |
305 __WARNING:__ In service mode you have to set output directory with `-o` … | |
306 | |
307 ------------------------------------------------------------------------… | |
308 | |
309 ### Example nginx config | |
310 | |
311 Fiche has no http server built-in, thus you need to setup one if you wan… | |
312 | |
313 There's a sample configuration for nginx: | |
314 | |
315 ``` | |
316 server { | |
317 listen 80; | |
318 server_name mysite.com www.mysite.com; | |
319 charset utf-8; | |
320 | |
321 location / { | |
322 root /home/www/code/; | |
323 index index.txt index.html; | |
324 } | |
325 } | |
326 ``` | |
327 | |
328 ## License | |
329 | |
330 Fiche is MIT licensed. |