1
2plowup(1)                    Plowshare for Bash 4                    plowup(1)
3
4
5

NAME

7       plowup - Simple upload manager for file sharing websites
8
9

SYNOPSIS

11       plowup [OPTIONS]...  [MODULE_OPTIONS]...  MODULE URL|FILE[:DESTNAME]...
12
13

DESCRIPTION

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

OPTIONS

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

MODULE OPTIONS

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

EXAMPLES

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

FILES

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

EXIT CODES

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

AUTHORS

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

SEE ALSO

368       plowdown(1), plowdel(1), plowlist(1), plowprobe(1), plowshare.conf(5).
369
370
371
372GPL                            February 5, 2015                      plowup(1)
Impressum