1
2plowup(1) Plowshare for Bash 4 plowup(1)
3
4
5
7 plowup - Simple upload manager for file sharing websites
8
9
11 plowup [OPTIONS]... [MODULE_OPTIONS]... MODULE URL|FILE[:DESTNAME]...
12
13
15 plowup is a command-line tool designed for automatic upload on file-
16 sharing websites. It acts like a web browser, retrieving pages and
17 filling HTML forms.
18
19 Currently supported hosting sites list is available in README file.
20
21 Anonymous upload is not allowed by all sites, some of them may require
22 authentication. See specific module options below.
23
24
26 Common options
27 -i, --interface=IFACE
28 If your machine has several network interfaces, force using
29 IFACE interface.
30
31 -r, --max-retries=N
32 Set maximum retries for upload failures. Apply on module exit
33 value: 1 (fatal error), 3 (network error), 7 (captcha error).
34 Default option value is 0 (no retry) and applies for one single
35 upload.
36
37 -t, --timeout=SECS
38 Cancel upload download after SECS seconds of waits. Apply on
39 module exit value: 10 (temporary unavailable error). This error
40 mainly occurs on remote upload operations. Default option value
41 is disabled (no timeout, infinite) and applies for one single
42 upload.
43
44 --cache=METHOD
45 Cache policy regarding module storage space. Each module is
46 able to save data (credentials, authentication session, or
47 tokens) in order to be reused later. Available values:
48 none : module storage file is deleted before each item process‐
49 ing. Temporary directory is used.
50 session (default) : module storage file is deleted at the end of
51 plowup execution. Temporary directory is used.
52 shared : module storage file is global and located (in ~/.con‐
53 fig/plowshare/storage/). It can be accessed by any other
54 instance of plow* scripts. Warning: There is no atomicity (or
55 file locking) on concurrent access.
56
57 Example: Multiple file upload using a premium account. If sup‐
58 ported by module, login stage could be performed once.
59
60 Captcha options
61 --9kweu=KEY
62 Use 9kw.eu service to solve captchas.
63
64 --antigate=KEY
65 Use Antigate.com service to solve captchas.
66
67 --captchabhood=USER:PASSWORD
68 Use Captcha Brotherhood service to solve captchas.
69
70 --captchacoin=KEY
71 Use CaptchaCoin service to solve captchas.
72
73 --deathbycaptcha=USER:PASSWORD
74 Use Death by Captcha service to solve captchas.
75
76 --captchamethod=METHOD
77 Force specific captcha solving method. Available values:
78 imgur : upload image to Imgur.com service, print image url in
79 console and prompt for manual entering. Useful for NAS and
80 embedded devices.
81 none : abort if captcha solving is requested (even if automatic
82 solving service is available).
83 online : use captcha solving website only (9kweu, Antigate,
84 CaptchaBrotherhood, CaptchaCoin or DeathByCaptcha account
85 required).
86 fb : display image in framebuffer console and prompt for manual
87 entering. Looks for framebuffer viewers: fbi, fim. FRAMEBUFFER
88 environment variable can contain device file. Default is
89 /dev/fb0.
90 nox : display image in console (text) and prompt for manual
91 entering. Looks for ascii viewers: img2txt, aview, tiv.
92 x11 : display image in an X11 window and prompt for manual
93 entering. Looks for viewers: display, feh, sxiv, qiv.
94
95 --captchaprogram=PROGRAM
96 Call external program or script for solving captchas. Provided
97 executable can be located in PATH environment variable.
98
99 Three arguments are given:
100 $1 module name (lowercase). For example: mediafire.
101 $2 image filename (with full path).
102 $3 hint or captcha type (string). For example: recaptcha, solve‐
103 media or digits-4.
104
105 Return value (on stdout) and exit status:
106 0 : solving success. Captcha Word(s) must be echo'ed.
107 2 : external solver is not able to solve requested captcha. Let
108 plowup continue solving it normally (will consider
109 --captchamethod if specified).
110 7 : external solver failed. Note: this exit code is eligible
111 with retry policy (-r/--max-retries).
112
113 Note: plowup legacy exit errors can also be returned, for exam‐
114 ple: 1 (fatal) or 3 (network).
115
116 Tuning settings
117 --max-rate=SPEED
118 Limit upload maximum speed in bytes per second. Suffixes are:
119 k for kilobytes (kB i.e. 1000),
120 M for megabytes (MB i.e. 1000^2),
121 K or Ki for kibibytes (KB or KiB i.e. 1024),
122 m or Mi for mebibytes (mB or MiB i.e. 1024^2).
123
124 --min-rate=SPEED
125 Limit upload minimum speed in bytes per second (for a delay of
126 30 seconds). Suffixes are the same than --max-rate.
127
128 --temp-directory=DIRECTORY
129 Directory for temporary files: cookies, images, ...
130
131 --name=FORMAT
132 Format destination filename (applies on each file argument). Can
133 be useful is you want to append or prepend a string to all your
134 files. Default format string is "%f". Interpreted sequences
135 are:
136
137 %% raw % character
138
139 %f destination (remote) filename
140
141 %g destination (remote) filename (without extension)
142
143 %G destination (remote) filename (without extension, greedy)
144
145 %h MD5 hash (32-digit hexadecimal number, lowercase letters)
146
147 %l source (local) filename
148
149 %m module name
150
151 %s file size (in bytes)
152
153 %x extension (without dot character) of %f (not greedy)
154
155 --printf=FORMAT
156 Print results (on stdout) in a given format (for each successful
157 upload). Default format string is "%L%M%u%n". Interpreted
158 sequences are:
159
160 %% raw % character
161
162 %a admin url or admin code (rare case)
163
164 %A same as %a but url is escaped for JSON usage
165
166 %M empty if %a is empty, or alias to "#ADM %a%n".
167
168 %d delete url
169
170 %D same as %d but url is escaped for JSON usage
171
172 %L empty if %d is empty, or alias to "#DEL %d%n".
173
174 %f destination (remote) filename
175
176 %l source (local) filename
177
178 %m module name
179
180 %n newline
181
182 %s filesize (positive interger in bytes)
183
184 %t tabulation character
185
186 %u download url
187
188 %U same as %u but url is escaped for JSON usage
189
190 Logging options
191 -v, --verbose=LEVEL
192 Set output verbosity level:
193 0 none,
194 1 errors,
195 2 notice (default behavior),
196 3 debug,
197 4 report (very noisy, log HTML pages).
198
199 -q, --quiet
200 Alias for -v0. Do not print any debug messages.
201
202 Miscellaneous options
203 --no-color
204 Disables log messages (stderr only) output coloring.
205
206 --no-curlrc
207 Do not use curl config file (~/.curlrc).
208
209 --curlrc=FILE
210 Force using an alternate curl configuration file. Replaces
211 ~/.curlrc if it exists. This option has no effect when
212 --no-curlrc is defined.
213
214 --no-plowsharerc
215 Do not consider any configuration file.
216
217 --plowsharerc=FILE
218 Force using an alternate configuration file (instead of per-user
219 or systemwide plowshare.conf). This option has no effect when
220 --no-plowsharerc is defined.
221
222 --modules
223 Display all supported module names (one per line) and exit. Use‐
224 ful for wrappers.
225
226 Generic program information
227 -h, --help
228 Display main help and exit.
229
230 -H, --longhelp
231 Display complete help (with module options) and exit.
232
233 --version
234 Output version information and exit.
235
236
238 Common options
239 -a, --auth=USER:PASSWORD
240 Use premium account.
241
242 -b, --auth-free=USER:PASSWORD
243 Use free account.
244
245 -d, --description=DESCRIPTION
246 Set file description.
247
248 --folder=FOLDER
249 Folder to upload files into. Usually a (leaf) folder name (no
250 hierarchy assumed).
251
252 -p, --link-password=PASSWORD
253 Protect your files with a password. May require premium account.
254
255 --email-from=EMAIL
256 <From> field for notification email.
257
258 --email-to=EMAIL
259 <To> field for notification email.
260
261 Advanced options
262 --async
263 Asynchronous remote upload (only start upload, don't wait for
264 link).
265
266 --private
267 Do not allow others to download the file.
268
269 All switches are not implemented nor required for all modules. See
270 long help message for detailed modules option list.
271
272
274 1) Upload a single file anonymously
275 $ plowup bayfiles /tmp/foo.bar
276
277 # Add a text description
278 $ plowup -d "Important document" megashares /path/myfile.tex
279
280 # Abort slow upload (if rate is below limit during 30 seconds)
281 $ plowup --min-rate 100k mediafire /path/bigfile.zip
282
283 2) Upload a single file with authentication
284 # Change destination filename
285 $ plowup -a 'myuser:mypassword' turbobit /path/myfile.txt:anothername.txt
286
287 3) Remote upload
288 Note: URL fetching is rarely implemented by modules.
289
290 # Feature dedicated to premium members
291 $ plowup -a myuser:mypassword rapidgator \
292 http://www.somewherefarbeyond.com/somefile
293
294 # Change destination filename
295 $ plowup -a myuser:mypassword rapidgator \
296 http://www.somewherefarbeyond.com/somefile:anothername
297
298
300 /etc/plowshare.conf
301 Systemwide configuration file.
302
303 ~/.config/plowshare/plowshare.conf
304 This is the per-user configuration file.
305
306 The file format is described in plowshare.conf(5).
307
308 ~/.config/plowshare/exec/
309 Additional directory considered when searching for executable.
310 See --captchaprogram switch.
311
312 ~/.config/plowshare/modules/
313 User directory considered when searching for modules at startup
314 (plowup will try to open ~/.config/plowshare/modules/config).
315 One file per module (hoster).
316
317 ~/.config/plowshare/storage/
318 Directory used for storing data (one file per module) among ses‐
319 sions. See --cache=shared switch.
320
321
323 Possible exit codes are:
324
325 0 Success.
326
327 1 Fatal error. Upstream site updated or unexpected result.
328
329 2 No available module (provided module name does not exist).
330
331 3 Network error. Mostly curl related.
332
333 4 Authentication failed (bad login/password).
334
335 5 Timeout reached (refer to -t/--timeout command-line option).
336
337 6 Maximum tries reached (refer to -r/--max-retries command-line
338 option).
339
340 7 Captcha generic error.
341
342 8 System generic error.
343
344 10 Feature (upload service) seems temporarily unavailable from
345 upstream (user account may be temporarily banned).
346
347 12 Authentication required (example: anonymous users can't do
348 remote upload).
349
350 14 Can't upload too big file (hoster limitation or requires more
351 permissions).
352
353 15 Unknown command line parameter or incompatible options.
354
355 16 Asynchronous remote upload started (can't predict final status).
356
357 If plowup is invoked with multiple files and one or several errors
358 occur, the first error code is returned added with 100.
359
360
362 Plowshare was initially written by Arnau Sanchez. See the AUTHORS file
363 for a list of some of the many other contributors.
364
365 Plowshare is (C) 2010-2015 The Plowshare Team
366
368 plowdown(1), plowdel(1), plowlist(1), plowprobe(1), plowshare.conf(5).
369
370
371
372GPL February 5, 2015 plowup(1)