File: readme

package info (click to toggle)
jftp 1.52%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 1,852 kB
  • ctags: 2,972
  • sloc: java: 22,890; xml: 186; sh: 26; makefile: 19
file content (376 lines) | stat: -rwxr-xr-x 13,289 bytes parent folder | download | duplicates (3)
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
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
Last update: 10/11/2009 13:30 CET  --- >1.52<

--------------------------------------------------------------------------------

>>>	Contents	<<<

1. Setup
	1.1	How do i run JFtp?
	1.2 What about compiling?
	1.3	Updates
	1.4	Compatibility
	1.5 Why do you use so many other APIs?
	1.6	What about those themes?
	1.7 Using JFtp as an applet or via webstart

2. Features
	2.1	General features
	2.2	Multiple parallel downloads
	2.3	You do not support the ??? command!
	2.4	SMB specific info

3. Tweaking / Bugs
	3.1	Changing options in Settings.java
	3.2	I found a bug!
	3.3	I see no icons!
	3.4 Tips and tricks

4. The team
	4.1 Wo is involved in this project?
	4.2	Submitting patches
	4.3	Hompage

5. API License
	5.1	Using the API in your own applications
	5.2	Use in commercial products

--------------------------------------------------------------------------------

			         --- NOTICE ---

	Updates are released quickly after coding, so please report
	bugs to j-ftp-devel@lists.sourceforge.net if you encounter them... :)

--------------------------------------------------------------------------------

1.1 How do i run JFtp?

	Unpack the .tar.gz to a java conform path (no exclamation mark, tab etc)

        To start JFtp just call "run" (*nix) or "run.bat" (Windows/DOS).
	Alternatively type "java -jar jftp.jar" in build/jars/

	You can also add a command-line url, for example:
		java -jar jftp.jar "ftp://anonymous:test@ftp.kernel.org/pub"
	or	run.bat "ftp://anonymous:test@ftp.kernel.org/pub"
	
	This works for SFTP now, too if you replace ftp:// with sftp://

1.2 What about compiling?

	JFtp is already compiled if you have downloaded it in a .tar.gz. 
	Recompile using "ant clean" and "ant" in j-ftp/ - of course you'll 
	need the ant tools installed.
	
1.3 Updates

	If we have important changes we usually release immendiately. Sometimes 
	we release a few versions a week, sometimes the developement stalls for 
	some time. If you have created patches or want to code on JFtp, please send
	a mail to me or directly to the mailing list.

	Binary prereleases are available via Java Web Start.
	You can also load the jar directly:
	
	http://j-ftp.sourceforge.net/jftp.jar

	If you found a critical bug, please mail it (see 3.2 for instructions).
	We'll try to fix it asap.
	
1.4 Compatibility

	JFtp should work with all platforms. However, i'm not able to test it 
	under different platforms often, so it may run less stable there than with linux.
	
	If you encounter a java.lang.UnsupportedClassVersionError please make sure to either recompile it with your
	java version or update you JRE.

1.5  Embedded APIs

	All APIs used by JFtp that are not written by myself and the other project members
	have a free (GPL/LGPL) license. These include:

	- jcifs for the SMB protocol, very nice API.

	- j2ssh for SFTP, a rather big but very good API.

	- webnfs for NFS, downloaded from Sun Microsystems, it took me a while to get things working
	              because there was just a small subset of NFS info in the javadoc and not that much demos.
		      But the API itselfs rocks, too - it is fast, stable and more than just a NFS API, but a
		      replacement for the File class with network support.
		      
	- apache.org: commons, log4j, webdav ...

1.6	The themes...

	...come from 
	
	http://www.incors.org/ 
	
	and
	
	http://mlf.sourceforge.net
	
	Much better even than swing in my opinion... :)

	And finally there are those neat litte Icons:

	- http://www.famfamfam.com/lab/icons/silk/

	- http://art.gnome.org/themes/icon/1352

	- The jayalobby icons are copyrighted by Dean S. Jones
	
1.7 Integration JFtp

	If you want to use JFtp as an applet or launch it via webstart please look at doc/applet.html 
	and doc/jftp.jnlp for examples.
	
	
	
	
--------------------------------------------------------------------------------
	
2.1 General features

	JFtp is a multi-platform, multi-protocol network browser.

	It started as a ftp client with its own api and has grown to support
	file, ftp, smb, http, sftp, nfs and raw tcp/ip connections using standard or 3rd-party apis.

	Some words about the ftp features:

	It can up- and download directories recursively, resume ftp up- and downloads automatically, has a
	download manager and a nice swing ui. Active and passive mode ftp are supported and the parsing
	of the directory listings is very robust. You can also ftp mutithreaded, which means that you can browse
	the server and transfer files/dirs at the same time (see "Multiple parallel transfers" below).

2.2 Multiple parallel transfers

	Use multiple connections parallel to save time, for example if a server
	has a bandwith limit. If a server allows only one connection at a time 
	you'll have to uncheck "Multiple Conenctions", though. You can increase 
	the number of parallel connections manually when initiating a 
	connection. Passive ftp is recommended because multiple connections do 
	not work with active ftp. 

2.3 You do not support the ??? command!
	
	Use "Execute remote command" if you have to use commands not implemented
	directly in JFtp, such as changing permissions of files. If it would 
	make sense to add support directly, send a mail to the mailing list 
	and/or write a feature request on our sourceforge-site. :-)

2.4 SMB specific info

	Note that if you have multiple network cards and get an error messag containing MSBROWSE
	when browsing the lan this probably happens because the wrong adapter is chosen.
	You have to temporaryly disable the other card and restart to use this feature atm, since there is no fix yet.

--------------------------------------------------------------------------------
	
3.1 Changing options in Settings.java

        If you want to activate some other options just edit src/Settings.java
        and recompile using "ant" in j-ftp/ 

	Notes: There are some interesting options you can manually tweak in
	Settings.java.	You need to recompile, of course...

	>>> uiRefresh
		 minimal amount of time between ui refreshes caused by JFtp.log().
		 500 milliseconds seem like a safe default, but if you recompile you
		 probably want to play with this.

	>>> enableMultiThreading
		uses different threads and connections so you can browse the 
		server while up- and/or downloading (single files, not 
		directories). Does not work on servers with a limit of 
		connections per user, but for servers supporting it you should 
		set this to true (can be set via gui, too).
	
	>>> noUploadMultiThreading 
		do not use different connections for uploads.

	>>> maxConnections
		use up to this many connections to up- and download.
	
	>>> smallSize
		if file is smaller than this it will be downloaded using the 
		normal control connection, this results in a faster transfer 
		blocking, but most times even faster than the initial blocking 
		when forking a download.
	
	>>> smallSizeUp
		same as above for uploads.
	
	>>> enableResuming
		false for the API (overwrite default), overridden to true by
		JFtp.

	>>> enableUploadResuming
		default: true
	
	>>> askToResume
		change this to false if you don't want any messages, but note 
		that if you have an older but smaller file you probably don't 
		want it to be autoresumed

	>>> connectionTimeout
		timeout for a connection to a server, default should be ok.
	
	>>> hideStatus
		if true some unimportant messages are hidden, default is false.
	
	>>> cachePass
		set this to false if you do not want your passwords to be saved.
	
	>>> safeMode
		sends some NOOPs to clear buffers, should be obsolete.
	
	>>> autoUpdate
		checks for new versions, but might not work sometimes.
	
	>>> defaultFtpPasvMode
		leave this true if you do not need active FTP. Passive FTP is 
		more firewall-friedly, and if it is not supported by the server 
		switches the app automatically.
	
	>>> bufferSize
		every n bytes recieved data is written on disk and a 
		statusmessage is sent to the downloadmanager. If you set this 
		too high and have a slow connection you'll get outdated status 
		in the downloadmanager, if you set it too low you'll waste 
		cpu power.

	>>> refreshDelay
		time in milliseconds bettween downloadmanager UI refreshes. 
		Increase this if the JList flickers often (default 500).

3.2 I found a bug!

	We need your help to improve JFtp. We cannot test every type of server 
	around with every option turned on/off every time we do a release. So 
	if you find an error, please mail me (hansmann.d@debitel.net) and/or the
	mailing list (j-ftp-devel@lists.sourceforge.net) and tell us about it. 
	Please include the server ip you we're trying to access and the 
	stacktrace of the exception (if you got one). 
	Please visit the sourceforge project page and fill out a bug report, too. 


3.3 I see no icons!

	If the application starts, but you cannot see any icons, you probably
	installed JFtp in a path that is not java conform. Remove all special
	characters like exclamation mark, tab, etc. and try again.

3.4 Tips and tricks

	- Check the shortcuts already present, if you are annoyed by log messages
	   and finished transfers. Just press "Alt-1" and "Alt-2" to clear log and
	   download manager.

	- Check the address bar. If you put a FTP-URL pointing to a file it will be downloaded
	   instantly using the (minimalistic) Java FTP protocol implementation, mostly because I want
	   to have an alternative if some code is broken in the API.
	   If a URL pointing to a directory is given it will be opened in a remote window using
	   the JFtp API.

	- Check the queueing system. It resumes aborted downloads automatically and does work really
	  good if you want to download huge files without haveing to check wheter they have been aborted by the
	  server every ten minutes. Tip: Add files to the queue, disconnect and then start the queued downloads
	  if the server does not support multiple connections.

--------------------------------------------------------------------------------

4.1 Who is involved in this project?

All new Contributors are appended at the end, please check the changelog
if you want to know who did what exactly. If your name is missing and you want
to be listed here because you contributed code, made documentation or similar -
please don't take that personal and just write a short email to me :)

        People involved:

Active developers:
    - David Hansmann <mailto:hansmann.d@debitel.net>
	- Jake Kasprzak <jolt@radioheart.com>

Other people that have spent time working on the project:
        - Ron Broberg <mailto:ronbroberg@yahoo.com>
        - Paul Hammant <mailto:Paul_Hammant@yahoo.com>
        - Gary Wong
        - Ricardo Kustner
        - Bas Cancrinus <mailto:bas@cipherware.com>
        - Daniele Panozzo <mailto:daniele@panozzo.191.it>
        - Sandy McGuffog <mailto:mcguffog@ieee.org>
        - Leon Stringer
	- Mark Hale <mailto:mj_hale@yahoo.com>
	- Richard Krutisch <mailto:richard.krutisch@gmx.net>
	- Bruno Brueckmann <Bruno.Brueckmann@BIT.admin.ch>

        Icons:
        - Copyright(C) 1998 by Dean S. Jones
        - Source: jfa.javalobby.com
        - Author: dean@gallant.com


4.2 Submitting patches

	If you are using JFtp and are able to fix bugs you find yourself, please
	consider to do this. A patch is applied quickly, and often i am not able
	to even find the bugs reported. If you want  you can have a cvs access
	and modify whatever you want. This is a free project... but if you contribute code
	to the FTP API you have to accept that i may sell commercial licenses / support for it.

	And yes, the project will remain GPL/open source!


4.3 Homepage

	Visit us at

	http://j-ftp.sourceforge.net -> Homepage, Java Web Start link

	http://www.sourceforge.net/projects/j-ftp -> Sourceforge project page

--------------------------------------------------------------------------------


5.1 Using the API in your own applications

	You can use the API in your own applications. Simply add jftp.jar to
	your classpath and import the packages net.sf.jftp.net, .util and
	.config and use the FtpConnection class to transfer files.

	Note that the license is GPL per default, but I may grant you a less restrictive
	license (see below).

	Take a look at doc/FtpDownload.java. Please note that resuming is
	*disabled* per default (in the api) and local files are overwritten if
	they exist. This behaviour is necessary since there is no proof the part
	of the file is equal to the remote file. You can change
	Setting.enableResuming to enable it, but you need to check the files
	manually (if they are smaller than the remote file).

	If you want to use advanced features of the API, such as progress
	updates for example, you'll have to read the source (it's very difficult
	to maintain a lot of documentation code if you still change to API, so
	there's not much doc) or to mail us your questions.


5.2	Commercial use of the FTP API

	The JFtp API is GPL, if you want to get another license, please contact me
	via mail or the mailing list. This will cost you money, but you'll get support, bugfixes
	and new features implemented if you want. There is already a commerical API package
	which is threatened more conservatively and much smaller in size.


		Have a lot of fun...

		David Hansmann, JFtp project maintainer
		hansmann.d@debitel.net