]> sjero.net Git - wget/blob - TODO
[svn] TODO: Wget does not currently handle "fragment identifiers" (the part of a URL
[wget] / TODO
1                                  Hey Emacs, this is -*- outline -*- mode
2
3 This is the to-do list for Wget.  There is no timetable of when we plan to
4 implement these features -- this is just a list of things it'd be nice to see in
5 Wget.  Patches to implement any of these items would be gladly accepted.  The
6 items are not listed in any particular order.  Not all of them represent
7 user-visible changes.
8
9 * Wget does not currently handle "fragment identifiers" (the part of a URL 
10   starting with the '#' character) properly.
11
12 * Make -K compare X.orig to X and move the former on top of the latter if 
13   they're the same, rather than leaving identical .orig files laying around.
14
15 * Add an option to save all text/html files with a .html extension so that when
16   grabbing the output of a dynamically-generated remote page, you'll end up with
17   a filename that will cause _your_ webserver to realize the saved static HTML
18   file isn't text/plain (or an illegal CGI script in the case of *.cgi).
19
20 * Allow mirroring of FTP URLs where logging in puts you somewhere else besides 
21   '/'. 
22
23 * Make `-k' convert <base href=...> too.
24
25 * Make `-k' check for files that were downloaded in the past and convert links 
26   to them in newly-downloaded documents.
27
28 * -k should convert convert relative references to absolute if not
29   downloaded.
30
31 * Add option to clobber existing file names (no `.N' suffixes).
32
33 * Introduce a concept of "boolean" options.  For instance, every
34   boolean option `--foo' would have a `--no-foo' equivalent for
35   turning it off.  Get rid of `--foo=no' stuff.  Short options would
36   be handled as `-x' vs. `-nx'.
37
38 * Implement "thermometer" display (not all that hard; use an
39   alternative show_progress() if the output goes to a terminal.)
40
41 * Add option to only list wildcard matches without doing the download.
42
43 * Add case-insensitivity as an option.
44
45 * Handle MIME types correctly.  There should be an option to (not)
46   retrieve files based on MIME types, e.g. `--accept-types=image/*'.
47
48 * Implement "persistent" retrieving.  In "persistent" mode Wget should
49   treat most of the errors as transient.
50
51 * Allow time-stamping by arbitrary date.
52
53 * Fix Unix directory parser to allow for spaces in file names.
54
55 * Allow size limit to files.
56
57 * Recognize HTML comments correctly.  Add more options for handling
58   bogus HTML found all over the 'net.
59
60 * Implement breadth-first retrieval.
61
62 * Download to .in* when mirroring.
63
64 * Add an option to delete or move no-longer-existent files when
65   mirroring.
66
67 * Implement a switch to avoid downloading multiple files (e.g. x and
68   x.gz).
69
70 * Implement uploading (--upload URL?) in FTP and HTTP.
71
72 * Rewrite FTP code to allow for easy addition of new commands.  It
73   should probably be coded as a simple DFA engine.
74
75 * Recognize more FTP servers (VMS).
76
77 * Make HTTP timestamping use If-Modified-Since facility.
78
79 * Implement better spider options.
80
81 * Add more protocols (e.g. gopher and news), implementing them in a
82   modular fashion.
83
84 * Implement a concept of "packages" a la mirror.
85
86 * Implement correct RFC1808 URL parsing.
87
88 * Implement HTTP cookies.
89
90 * Implement more HTTP/1.1 bells and whistles (ETag, Content-MD5 etc.)
91
92 * Support SSL encryption through SSLeay or OpenSSL.