[go: up one dir, main page]

File: faq.html

package info (click to toggle)
darxite 0.4-3
  • links: PTS
  • area: main
  • in suites: potato
  • size: 2,356 kB
  • ctags: 1,737
  • sloc: ansic: 21,619; makefile: 573; perl: 356; sh: 76
file content (267 lines) | stat: -rw-r--r-- 14,334 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
  <head>
    <title>The Darxite FAQ</title>
  </head>

  <body bgcolor=white>
    <h1 align=center>The Darxite FAQ</h1>

    <h3>What is it?</h3>
    "Darxite" is the name given to a system consisting of a daemon running
    in the background whose job is to retrieve or upload files via FTP or
    HTTP and execute other FTP commands, and a number of "client" programs
    whose jobs are to control the daemon and to provide a user interface.
    Darxite is the ideal program to use when you need to get some files over
    an unreliable network connection.
    <hr>
    <h3>What are the requirements to use it?</h3>
    Darxite has only been tested on Linux kernels 2.0 and above, and with
    glibc2. It may work on other Unices and with libc5 - try it, and <b>tell
    me</b> if it does or doesn't. The daemon does not require any other
    libraries, but libpthread is optional and improves performance.
    <p>
    Unsurprisingly, the GTK client programs require GTK (1.0+ should do) and
    the GNOME clients require GNOME 1.0. The command-line FTP client
    requires a reasonably recent version of GNU readline.
    <hr>
    <h3>Why was it written?</h3>
    Darxite was born from the concept of having a process sit in the
    background and get files for you quietly. As a dialup user in Britain,
    with its overly high phone charges during the week, if you want to get a
    large file, it's not really worth loading up an FTP client and going
    through all the hassle of finding the file when you'll only have time to
    download a tiny bit of it. With Darxite, you can make progress in
    downloading it even when you're only connected for a short time.
    <p>
    Plus, Netscape crashed one time too many. If the server supports file
    resume, Darxite will <b>never</b> delete partially-complete files -
    unless you tell it to.
    <hr>
    <h3>What nice features does it have?</h3>
    <ul>
      <li>Control/monitoring via "client" programs, which are easy to
      write and can be written for any medium - ncurses, GTK, QT, or
      simply command-line
      <li>A GNOME Panel client has been written, so URLs can be dragged and
      dropped from Netscape
      <li>There are also nice GTK and command-line FTP clients
      <li>Transfers are auto-resumed if possible
      <li>If a transfer gets too slow, the system can switch to a mirror site
      automagically
      <li>Transfers can be spooled, so you know from looking at the file when
      they have completed
      <li>The daemon can be controlled remotely, thus enabling a faster
      computer to be used as a sort-of FTP proxy or file server, etc.
      <li>Connecting and de-spooling are multi-threaded via pthreads (can be
      set to single-threaded at compile time)
      <li>Programs can be set to automatically execute when transfer is
      complete
      <li>Support for FTP and HTTP download and FTP upload, and HTTP proxies
      <li>Recursive FTP download and upload
      <li>And many more...
    </ul>
    <hr>
    <h3>What are the differences between Darxite and GetRight?</h3>
    Firstly, <a href="http://www.getright.com/">GetRight</a> only works
    under Windows 95/NT, and it's not open source. But apart from this,
    it's based around a different model: it is simply intended to help the
    user download files using Netscape, Internet Explorer, and so on, and
    does not have a "client-server" system where applications can control
    it. This makes it more inflexible; for example, you are forced to use
    the provided GUI. Darxite also has some features that GetRight
    does not; for example, remote control. As of version 0.4, Darxite
    includes a script for converting your GetRight bookmarks.
    <hr>
    <h3>Why not use another Unix utility, eg. ncftp, sftp...</h3>
    Darxite has a number of nice features, such as the ability to switch to
    a mirror site if transfer rates get too low. It was designed from the
    outset for multiple simultaneous transfers and for batch operation, and
    can be easily scripted by use of the various helper utilities such as
    "darxget" and "darxcmd". You can use a command-line or X-based GUI, and
    switch between them at will without losing data - eg. if X crashes,
    you'll still be OK.  The spooling system means that you know when a file
    transfer has completed. And finally, its name isn't an acronym involving
    the letters "ftp" :)
    <hr>
    <h3>Why didn't you base it on an FTP library or something?</h3>
    None of them seemed to support features I needed, like
    multithreading. Also, I wanted to really understand our FTP/HTTP
    backend and to get the best performance out of it we could. We
    didn't just script an FTP client (such as curl) because that would 
    have been very limiting.
    <hr>
    <h3>Why is it called "Darxite"?</h3>
    For the following reasons and many more:
    <ul>
      <li>It is a hilarious pun on the well-known FTP site "Sunsite"
      <li>It sounds like the bot on IRCnet #Amiga, Darxide
      <li>It processes a batch of files and, as every A-Level
        Computing student knows, batch processing is carried out at
        night, in the dark
      <li>According to Lycos and Altavista, no site on the Internet
        has used the name
      <li>It sounds good
      <li>It doesn't have the letters "ftp" in it.
    </ul>
    <hr>
    <h3>Why the odd release names?</h3>
    If Microsoft can name their releases after American towns, and Debian
    can name theirs after characters from Toy Story, why can't we name
    ours after characters from an amazing set of books? To be specific,
    the Hitch-Hiker's Guide to the Galaxy quintet. But if you've never
    heard of them, maybe you aren't the sort of person we want using our
    system anyway :)
    <hr>
    <h3>So how do I simply download a file from the command line?</h3>
    Use the provided client program "darxget". For example, you might
    type:
    <pre>
darxget ftp://ftp.microsoft.com/windows/98/full-source.tgz</pre>

    ...if it existed. There are many command-line options to select things
    like the output filename: type "darxget -h" to see them. An especially
    useful one is -b for blocking mode; ie. the utility will wait for the
    file to complete its transfer before continuing.
    <hr>
    <h3>Is there any snazzier way to transfer files?</h3>
    Lots. Try the command-line FTP client dxftp or the GUI client NoctFTP.
    Or the GNOME Panel applet. But you should really read the USAGE file; it
    should tell you everything you need to know.
    <hr>
    <h3>What clients are included as standard?</h3>
    The following clients are included in the standard Darxite tree:
    <ul>
      <li>DarxGet - get a URL from the command line
      <li>DarxPut - upload a URL from the command line
      <li>NoctFTP - a very nice GTK FTP client
      <li>DarxStat - display the current transfer status in text form
      <li>DarxStat-GTK - display the transfer status in a GTK window
      <li>Darxite Monitor - GNOME Panel applet
      <li>Darxite-Control - GNOME batch control program
      <li>dxFTP - a command-line FTP client a la ncftp.
      <li>dxclip - a GTK-based clipboard monitor
      <li>dxpref - GTK utility allowing preference editing
      <li>pdarxget - a very simple Perl script to get a URL
      <li>DarxCmd - a low-level utility to send commands to the daemon	    
    </ul>
    <hr>
    <h3>How do I pause or cancel files from the command line?</h3>
    Type 'darxcmd "pause [url]"' to pause the file with [url], and 'darxcmd
    "continue [url]"' to resume transfer. To cancel a file, type 'darxcmd
    "cancel [url]"'. If you want to pause, cancel or resume all the files in
    the batch, simply type 'darxcmd "pause all"', etc. You may like to alias
    these commands, eg. to "dxpause", "dxresume" and "dxcancel", if you use
    them a lot. Note that the quotes are required!
    <hr>
    <h3>What's all this about controlling the daemon remotely?</h3>
    You can run the Darxite daemon on a remote computer and control it via
    the network. You can even use clients like NoctFTP, which can be really
    handy if the remote computer is slow or doesn't have X, or whatever.
    Read the USAGE file to find out more.
    <hr>
    <h3>Is there a Windows client I can use?</h3>
    Not yet. But what you can do is use telnet, which works almost the same
    as darxcmd does. See the USAGE file, under the section "Telnetting to
    Darxite", to find out more. This is kind of clunky and user-unfriendly,
    but it works.
    <hr>
    <h3>Does Darxite support FXP?</h3>
    No. Transfer from one FTP server directly to another (so-called FXP) is
    not supported, and probably never will be, for the following reasons.
    Many modern servers do not allow it because it is a security risk, and
    Darxite is intended to be a utility for transferring files to a local
    computer, thus enabling many features. Also, if you have login access to
    one of the servers, you can achieve much the same thing with Darxite by
    running the daemon remotely on either server.
    <hr>
    <h3>Can I tell Darxite to download a file at a certain time?</h3>
    Not directly, but you can use the "at" command to do so, eg: "at 9.00am
    darxget ftp://some.server/some.file". And you can even get Darxite to
    e-mail you when it's finished, or to automatically disconnect from the
    Internet. If you want it to be downloaded at the same time every day,
    you can use "crond" to do it. If you set up your computer nicely, it
    should even be possible to tell it to dial up, download the file and
    then disconnect...
    <hr>
    <h3>Darxite uses a huge amount of CPU time. This is evil!</h3>
    If there is a very large data transfer rate (eg. when using FTP
    locally), Darxite will use a large amount of CPU time. If you don't like
    this, run it via nice, eg. "nice -n 19 darxite" would give the program a
    very low priority and make it use less CPU time.
    <hr>
    <h3>I've downloaded a file but I can't find it. Huh?</h3>
    By default, all files are downloaded to your home directory, and
    transfers are spooled - ie. files are saved in the directory
    "$HOME/.darxite/spool/" and are only copied when they are
    complete. If the transfer is canceled, Darxite will <b>not</b>
    delete the partially-complete file, so it'll stay in the spool
    directory. You can change all this behaviour via your ".darxiterc"
    file. For example, to download all files to the current directory, 
    add the line "OutputDir ." to the file.
    <hr>
    <h3>ps shows I've got two copies of Darxite running. Why?</h3>
    The way that threads work in Linux means that you'll see an extra line
    "darxite" in ps' display for every thread running - plus one for the
    thread scheduler. It shouldn't actually be possible to run Darxite twice
    as the same user, unless things have gone very wrong.
    <hr>
    <h3>I want to write a Darxite client. How easy is it?</h3>
    Very easy, especially if you use the Darxite library, which essentially
    makes it a matter of calling one function to connect to the daemon, one
    to send commands, and one to disconnect. If you don't want to use the
    library or aren't using C, it's still easy and requires very few lines
    of code. Take a look at the file "develop.txt" and e-mail Ashley for
    more information.
    <hr>
    <h3>Are there any clients that you'd really like to be written?</h3>
    Yes. A few of the ideas we've had are: an ncurses client, a QT client, a
    KDE Panel or Afterstep dock applet, a Perl client (especially useful for
    Web sites), a TCL client (erm...), an Xlib client (even more erm...) and
    so on. E-mail me if you come up with any ideas.
    <hr>
    <h3>Are there any performance issues with running loads of clients at
    once?</h3>
    Clients talk to the daemon using multiple sockets and asynchronous I/O
    and only when they need to, so there is no performance impact entailed
    simply in running lots of clients at once (except that a small amount of
    extra memory is allocated for each client), but running many clients
    that poll the daemon repeatedly - such as darxstat-GTK - will cause a
    performance hit, though it won't really be noticeable with most
    transfers from remote sites.
    <hr>
    <h3>I use KDE. Is there a panel applet like the one for GNOME?</h3>
    No, there isn't (yet). But there is a simple way you can get some of the
    functionality of the GNOME applet. Just create an "Application" link on
    the panel (or even on your desktop) and set the command to execute to be
    "darxget %u". Then, if you drop a URL on the icon from KFM or any other
    KDE client, it will silently be retrieved in the background. This won't
    work with Netscape links, but maybe in KDE 2.0 it will.
    <hr>
    <h3>I found a bug in Darxite...</h3>
    Doh! Make sure you tell me about it, if it's repeatable. If it's in the
    daemon, enable error logging (via dxpref or editing your .darxiterc),
    and e-mail me the "log-errors.txt" file produced. If not, just tell me
    the problem and I'll try to fix it. I'm also very happy to receive feature
    requests, no matter how insane.
    <hr>
    <h3>I don't like Darxite. Does it have any competitors?</h3>
    If you want a utility to get URLs from the command-line, I recommend
    curl, wget and got_it. If you want a command-line FTP client, why not
    look at ncFTP, sftp or lftp. As GTK FTP clients go, gftp and IglooFTP
    are worth trying. Many ideas have been liberally stolen from all of
    these. If you would like a client you can drag and drop a URL on,
    GTransferManager (for GNOME apps and Netscape) and Caitoo (for KDE apps)
    might be worth looking at. And if you have to use Windows, there's
    GetRight and Go!Zilla, which are unfortunately non-free.
    <hr>
    <h3>What sort of features are you planning to add in the future?</h3>
    Lots.
    <hr>
    <address><a href="mailto:hell@ukgateway.net">Ashley Montanaro</a></address>
    <!-- Created: Sun Aug 16 20:08:47 GMT 1998 -->
    <!-- hhmts start -->
Last modified: Wed Nov 9 12:30:41 GMT 1999
<!-- hhmts end -->
  </body>
</html>