Free Software for DOS
Communication & Internet – 2

21 Aug 2006

Global Menu:
Go back to Front Page Menus

Go to top of Communication & Internet – 1

This page:



INTERNET FILE TRANSFER (Telnet, ftp, http...)

Other page:




OTHER COMM PROGS (PC to PC, FAX, Talk, serial)


Offline HTML viewers are listed in HTML Utilities.

Arachne — Graphical Web browser package with Internet tools.

* * * *

[added 1998-06-19, updated 2006-08-21]

A remarkable programming effort, Arachne functions very well as a complete browser, online or offline. The polished look and feel is reminiscent of Netscape / MSIE with notable distinguishing features. Keyboard navigation is fully supported, including a lynx navigation emulation mode. Supports wheel mouse, if CuteMouse driver is loaded. Arachne handles tables, frames and images. Includes a very basic built-in editor and has HTML-to-text saving capabilities. Can use external helper apps in addition to the ones in the distribution package (Internet connection kit (DOS PPPD), POP3/SMTP mail client, ftp client, terminal, others). Needs no special configuration, or dummy packet driver, to run offline as a reader only.

Requires 80386, 80387 FPU (or 80486+ CPU), CGA/EGA video (SVGA/VESA recommended). See docs for tips on how to speed up Arachne on slower PCs. Unpacked distribution files require around 3MB disk space. Released under GNU General Public License: "Anyone may use the copyrighted parts of Arachne WWW Browser for private, NON-COMMERCIAL purposes."

Limitations: Not fully HTML 4.0-compliant. Most but not all tags and character codes are recognized. Does not display "&" in directory names – it drops out along with all characters that follow it. If "&" is the first character of a directory name, nothing at all is displayed. No subdirectories of directories with "&" are displayed.

Author: Originally by Michael Polák / Arachne Labs, Czech Republic. Now maintained by Glenn McCorkle and Joe da Silva, US, and the members of the Arachne development team. Suggested by Tomas Brunclik.

2006-08-14: v1.90J1 stable.

Download (1.3MB) and related software from Glenn McCorkle's Arachne page. Or start at his main page, which has even more good stuff.

Mel Evans's Arachne 4 DOS has excellent help and info, including advice on ISP setups in the UK.

Bastiaan's Arachne page has additional info and older versions.

lynx — Text mode Web browser and more, for 80386+ CPUs.

* * * * *

[added 2005-09-24]

lynx is a power user's text-only browser. Setup takes time, but the result will be a package that can do almost anything, online or offline. It knows the http, https (SSL), ftp, file, news, nntp, and gopher protocols. Watt-32 TCP/IP and file compression/decompression (with internal bzip2, or external zip, unzip, gzip, tar, etc.) are included. Navigation can be via keyboard or mouse. lynx can be configured to call external programs to handle, e.g., telnet (Kermit recommended), tn3270, mail and Talk.

Two packages are available: Full, with the main EXE that supports internationalization (language modules are available for Catalan, Chinese [Simplified and Traditional], Czech, Danish, Dutch, Estonian, French, German, Hungarian, Italian, Japanese, Portuguese, Russian, Slovenian, Swedish, Turkish, Ukrainian); And a replacement "small" EXE only, without internationalization capability – get this if you need English operation only, or if you want to run lynx from a diskette.

Requirements: 80386+ CPU; Math coprocessor [80387 emulation is built in, for use on 80386-only machines, but hardware is faster]; DOS Protected Mode Interface server (CWSDPMI, included); Network hardware (modem or Ethernet card); Packet driver (DOS PPPD to get onto a network, or the included NULLPKT for offline use).

Authors: Original lynx for Unix by Lou Montulli, Charles Rezac & Michael Grobe of The University of Kansas, et al. DOS port and package by Doug Kaufman (2004).

2004-04-18: v2.8.5rel.1. "This is for plain DOS only, not for a DOS window under Win9x."

Full installation
Small EXE only

BOBCAT386 users: Install one of the EXEs as an update.

Go to Doug Kaufman's Web Site – DOS ports for more info, language modules & other software.

BLYNX: Lynx Support Files Tailored for Blind and Visually Handicapped Users. See description in More Resource - 1.

Get lots of info & help from the Lynx source distribution and potpourri, at International Systems Consortium, Inc. (ISC).

Bobcat — Text mode Web browser and offline HTML viewer, based on 16-bit lynx.

* * * *

[updated 1998-11-20]

Bobcat is a "lite" real mode clone of lynx that can be used online or offline. The package consists of the browser itself and additional helper apps (dialer, ftp, gopher, telnet, mailer, graphics viewer & others), with integrated setup. Flexible configuration, displays forms, helper apps, bookmark file and history list.

Limitations: Max size of viewable files limited by conventional memory (unless you use EMS). Memory handling needs improvement. Some helper apps are old versions, which can and should be replaced (DOS PPPD is one).

Bobcat is quite easy to set up – allow the self-extracting EXE to create the necessary directories. Run NEWUSER.BAT before attempting to run BOBCAT.BAT.

Our conclusion: An excellent all-in-one package, if you don't want to build your own.

Author: Wayne Buttles / FDISK.COM (1998).

1998-11-03: Issue E-07.

Program package
Version history in plain text

Get more info and source at What is Bobcat?.

BOBCAT386 — Bobcat browser package for 80386+ CPUs.

* * * *

[added 1999-08-18, updated 2005-09-24]

BOBCAT386 is a Bobcat implementation based on lynx for 80386 and higher PCs. "It has the features of Bobcat, without the memory problems. It also displays much faster and will show partial pages while downloading...It is intended to be a complete package containing a dialer, packet drivers for modem communication and additional helper programs."

Package includes DOS PPPD and NULLPKT. Easier to set up than a full installation of lynx, but a little older, and perhaps too rigid for a power-user.

Our conclusion: An excellent all-in-one package, if you don't want to build your own.

Authors: Bobcat by Wayne Buttles, US. Package assembled by John Lewis, Canada (1998).


Based on lynx v2.8.1. This package has more thorough documentation of lynx.
Based on lynx v2.8.4dev.9, with https (SSL) support. Runs in a DOS window under Win3.x (but not Win9x). MiniTelnet is part of this package.
Updates: Install a lynx EXE over the one in BOBCAT386.


Get more info at John Lewis's Internet Programs For DOS. Note: The link for E-04 is broken – use ours.


Message encoding (uue, MIME, etc.): See the Encryption & Encoding page.

Pegasus Mail (PMail) — POP3 & SMTP mailer supports multiple users, and more.

* * * * *

[added 2005-09-24, updated 2006-08-10]

Pegasus Mail is a powerful and flexible program that can run on any DOS machine, connected to the Internet or any other network.

A few features:

Requirements: Any DOS PC, DOS PPPD or other network/Internet gateway, FDSMTPOP or other POP3/SMTP agent.

Getting started: Unzip the download package, then run GUIDE.EXE.

Author: David Harris, New Zealand (1999).

1999-06-23: v3.50.

Download (1.2MB) from any of these sites:
US  —  Switzerland  —  Argentina  — Australia

Also see Short.Stop's Mostly Pegasus Mail Page and the Official Pegasus Mail Site for more information, versions for other OSes, related software, support resources, etc.

Pine (PC–PINE) — Emailer / news reader, ported from Unix.

* * * * *

[added 2005-09-24]

Pine is one of the most widely used email programs on Unix systems. Messages are retrieved by IMAP (Internet Message Access Protocol) from folders on remote machines. Mail sending is via SMTP. Available in four network variants (see Downloads).

Features, from the docs:

Requirements: Any DOS PC with a network connection.

Pine's message editor, Pico (Pine Composer), is also available separately in a 32-bit DOS build. See the extended description in Text Editors - 1. Also, in a Pine installation, Pico may be replaced by some other text editor.

Note: Manual editing of the configuration file is sometimes needed. Get help from the information sites and from your mail service.

Requires ~500K free memory. Last official release for DOS.
Smaller and uses less memory than later versions, works on older machines. (But lacks some interesting newer features).

For WATTCP + packet driver
For Novell LAN Workplace for DOS
For Sun PC-NFS
For WATTCP + packet driver
For Novell LAN Workplace for DOS
For Sun PC-NFS

More info & other files, for PINE and IMAP:
Tthe official Pine Information Center at the University of Washington has later versions for other OSes.
PC-Pine Email Configuration at Oxford University Computing Services.
All About PINE: POP, IMAP, NNTP, & ESMTP Client for Unix, Windows, & MAC OS X by Nancy McGough / Infinite Ink.
IMAP Information Center at the University of Washington.
The IMAP Connection has everything.
Sample setup guide from the mail service provider Fastmail.FM.

FDSMTPOP — Email receive / send agent.

* * * *

[added 2005-09-24]

FDSMTPOP is a POP3/SMTP/ESMTP agent that works with any DOS emailer (like Pegasus Mail), and meets the new authentication requirements of many servers. Uses WATTCP libraries. Package includes thorough docs and C source code.

Authors: Yuri Semënov, Ukraine; John Zappe, US (2002).

2002-05-07: v0.35.

Download (134K).

Yuri Semënov's FreeDOS: Miscellaneous files has the earlier version 0.34, and other interesting software for FreeDOS and other DOSes.


For comprehensive lists of shareware and freeware readers for DOS and other platforms, see Jim Hanoian's Offline Mail Readers pages.

NFX — Offline QWK and Soup Mail read / reply.

* * * *

[updated 2006-08-21]

Read and reply to messages sent in the form of QWK or Soup packets. Uses external archivers (PKZIP, ARJ). Includes built-in editor for replying. NFX automatically creates subdirectories for storing incoming and outgoing packets, config files, etc. Note: A freeware NFX v3.2 for Win3.1 is available at the ref="">BBS Archives of The BBS Organization.

1996-11-17: v3.10.

Author: Nick Onoufriou (1996).

Download (177K).

SLMR (Silly Little Mail Reader) — Offline QWK Mail read / reply with mouse support.

* * * *

Not at all silly – it is an excellent mouse driven, offline QWK packet reader with reply capability. This was the predecessor to the OLX mail reader. SLMR has many many options, most of which I've never tested. SLMR has been free for individual use since 1992. There is still a small nag function left in the program from its shareware days (you have to press a key to activate the main menu). If you are adventurous, instructions to "cure" this have been widely distributed on BBSes in the file SLMRFIX.TXT. Note Y2K issues.

Author: Mustang Software, Inc. (1992).

Nag fix

OLX (Off-Line Xpress) — Offline QWK Mail read / reply with mouse support.


[added 1998-03-06 updated 2004-11-30]

This is Off-Line Xpress 2.1 Test Drive, a non-disabled, no expire version of the OLX reader, the descendant of SLMR. Splashes a message on exit, but otherwise, fully functional. Complete documentation. Note the Y2K issues.

From the docs:
...licensed for individual personal use and evaluation for an unlimited time. Use and evaluation by businesses, corporations or individuals in a commercial venture is limited to 60 days, after which time the REGISTERED version of OLX must be purchased or the use of OLX 2.1 Test-Drive must be discontinued.

Author: Mustang Software, Inc. (1992). Suggested by Robert Bull.

Status: Mustang no longer markets it – sold to Santronics Software, Inc..

Download (196K).

ReadMail — Offline multi-format message reader / creator.


[added 1999-01-03, updated 2005-03-05]

ReadMail is an offline news and message reader that employs the familiar Borland text mode multi-document interface, well-suited to mouse or keyboard users.

From the docs:
The most notable feature of ReadMail is its ability to handle many different message formats, including ones which can be defined by the user. ReadMail allows the user to customize how to read mail, news, bbs bulletins, or other messages by defining their headers in an easy-to-use screen. It opens listserv "digests" in a separate window and lets you read each message in the digest one at a time. It reads, for instance, soup and QWK packets directly, without having to decompress them. And it lets you write mail, news or message replys. ReadMail has a resizable "preview" window just like MS Outlook – you can view the first few lines of each message as you browse a list. It also lets you mark a set of messages and then operate on the set (e.g., delete or save messages 3, 5, 9). You can define your own editor or viewer if you wish to view/edit messages.

Note that an older release of ReadMail is distributed through Simtel mirrors as but it lacks the ability to create mail / messages. The version 5.0 listed here is a free beta from 1995 and seems quite stable.

Author: Jeroen Schipper, Netherlands (1995). Thanks to Howard Schwartz for suggestion & comments.

Download (167K).


NCSA Telnet — Outstanding Telnet terminal and ftp client.

* * * * *

[added 2005-09-24, updated 2006-08-21]

NCSA Telnet provides interactive access between a PC and any TCP/IP network host, LAN or Internet. Anything can be transmitted: text, graphics, mail, chat...

Features, from the docs:

Requirements: Any PC, DOS 2.0+, 384K or more memory, TCP/IP connection, text editor.

Released by National Center for Supercomputing Applications, University of Illinois at Urbana-Champaign (1994).

1994-11-05: v2.3.08. Last version, development has ended.

Binaries, config files, notes
Manual, plain text
Source code (C, ASM)
Binaries, config files, ISO Latin-1 character map & keyboard

NCSA's Telnet page.

Find more downloads at

MiniTelnet (MiniTerm) — Telnet client for low power machines.

* * * * *

[added 2005-09-24]

MiniTelnet is a WATTCP-based program that works on DOS handhelds (HP-LX, etc.) as well as on other low power machines. Terminal emulations: VT52, Heath19 ("Just a mutant VT52"), VT102, VT200, IBM ANSI.SYS, SCO UNIX/XENIX "standard" ANSI. The supplied keyboard drivers (VT, ANSI BBS, SCO UNIX) are editable text files – any key can be set to transmit any string, and entire new drivers can also be added. Requirements: Any PC or compatible with network connection, WATTCP.CFG file. Source code (C) included.

Usage: MT hostname [-Pport] [-Eemulation] [-Kkeyboard]

   -P##         ## = port number (default=23)
   -E##         ## = terminal to emulate (default=VT102)
   -K##         ## = keyboard driver (default=VT52/VT100/VT200)

   Alt-X exits the program, Alt-R resets the emulation

Author: Mark Morley, Canada (1993).

1993-07-02: v1.0.

Download (49K).

MiniTelnet (without source) is also in the lynx and BOBCAT386 E-04 browser packages.

DOS-Telnet — Telnet client for 80386+ CPUs.

* * *

[added 2005-09-24]

This program is based on MiniTelnet, with added excryption, authentication, Xmodem file transfer, & more. It uses Watt-32 TCP/IP libraries, and is compiled with DJGPP. Requires 80386+ CPU, DOS DOS Protected Mode Interface server (CWSDPMI or other), WATTCP.CFG file, and network connection. DOS-Telnet does not have all of the add-ons that NCSA Telnet does, but it can be built up with Watt-32 utilities, Talk and others. The original Unix Telnet manual is included.

Usage: TELNET32 [-Vvd] [-K keydriver] [-E emulation] [-s script] host [port]

   -V##         ## = verbosity level
   -K##         ## = keyboard driver (default=VT52/VT100/VT200)
   -E##         ## = terminal to emulate (default=VT102)

# Example connection script

   wait 5
   match "ogin:" send_login

   send  "user\r"
   wait 5
   match "assword:" send_passwd

#  Send the password.
#  Exit the script with success (nothing more to do)

   send "password\r"
   log "Logged in"

Some of the data stored in the config file: Key mapping, location of status line (row #, or 0=none), screen colors, list of host names.

Author: Gisle Vanem, Norway (2002).

2002-08-21: v1.2.

Download (415K).

From the author of Watt-32 TCP/IP. Find related programs at the Watt-32 tcp/ip Homepage.

cURL — Two-way file transfer between client and server, using Internet protocols.

* * * * *

[added 2006-03-14]

This outstanding program uses standard Internet protocols (ftp, http, https, gopher, dict, telnet, ldap, file) to handle small- or large-scale file transfers, from the command line or from a script, without user interaction or intervention. It offers proxy support, user authentication, cookies and file transfer resume. Can be used standalone or as an external app in a browser or Telnet setup.

Distributed under GNU General Public License. Compilations for many OSes are available. The libcurl library is also available, for providing cURL services in, or to, other programs.

Usage: curl [options...] <url>
Options: (H) means HTTP/HTTPS only, (F) means FTP only
 -a/--append        Append to target file when uploading (F)
 -A/--user-agent <string> User-Agent to send to server (H)
 -b/--cookie <name=string/file> Cookie string or file to read cookies from (H)
 -B/--use-ascii     Use ASCII/text transfer
 -c/--cookie-jar <file> Write all cookies to this file after operation (H)
 -C/--continue-at <offset> Specify absolute resume offset
 -d/--data <data>   HTTP POST data (H)
    --data-ascii <data>   HTTP POST ASCII data (H)
    --data-binary <data>  HTTP POST binary data (H)
    --disable-eprt  Prevents curl from using EPRT or LPRT (F)
    --disable-epsv  Prevents curl from using EPSV (F)
 -D/--dump-header <file> Write the headers to this file
    --egd-file <file> EGD socket path for random data (SSL)
 -e/--referer       Referer page (H)
 -E/--cert <cert[:passwd]> Specifies your certificate file and password (HTTPS)
    --cert-type <type> Specifies certificate file type (DER/PEM/ENG) (HTTPS)
    --key <key>     Specifies private key file (HTTPS)
    --key-type <type> Specifies private key  file type (DER/PEM/ENG) (HTTPS)
    --pass  <pass>  Specifies passphrase for the private key (HTTPS)
    --engine <eng>  Specifies the crypto engine to use (HTTPS)
    --cacert <file> CA certificate to verify peer against (SSL)
    --capath <directory> CA directory (made using c_rehash) to verify
                    peer against (SSL)
    --ciphers <list> What SSL ciphers to use (SSL)
    --compressed    Request a compressed response (using deflate or gzip).
    --connect-timeout <seconds> Maximum time allowed for connection
    --create-dirs   Create the necessary local directory hierarchy
    --crlf          Convert LF to CRLF in upload. Useful for MVS (OS/390)
 -f/--fail          Fail silently (no output at all) on errors (H)
 -F/--form <name=content> Specify HTTP POST data (H)
 -g/--globoff       Disable URL sequences and ranges using {} and []
 -G/--get           Send the -d data with a HTTP GET (H)
 -h/--help          This help text
 -H/--header <line> Custom header to pass to server. (H)
 -i/--include       Include the HTTP-header in the output (H)
 -I/--head          Fetch document info only (HTTP HEAD/FTP SIZE)
 -j/--junk-session-cookies Ignore session cookies read from file (H)
    --interface <interface> Specify the interface to be used
    --krb4 <level>  Enable krb4 with specified security level (F)
 -k/--insecure      Allow curl to connect to SSL sites without certs (H)
 -K/--config        Specify which config file to read
 -l/--list-only     List only names of an FTP directory (F)
    --limit-rate <rate> Limit how fast transfers to allow
 -L/--location      Follow Location: hints (H)
    --location-trusted Same, and continue to send authentication when 
                    following locations, even when hostname changed
 -m/--max-time <seconds> Maximum time allowed for the transfer
 -M/--manual        Display huge help text
 -n/--netrc         Must read .netrc for user name and password
    --netrc-optional  Use either .netrc or URL; overrides -n
 -N/--no-buffer     Disables the buffering of the output stream
 -o/--output <file> Write output to <file> instead of stdout
 -O/--remote-name   Write output to a file named as the remote file
 -p/--proxytunnel   Perform non-HTTP services through a HTTP proxy
 -P/--ftpport <address> Use PORT with address instead of PASV when ftping (F)
 -q                 When used as the first parameter disables .curlrc
 -Q/--quote <cmd>   Send QUOTE command to FTP before file transfer (F)
 -r/--range <range> Retrieve a byte range from a HTTP/1.1 or FTP server
 -R/--remote-time   Set the remote file's time on the local output
 -s/--silent        Silent mode. Don't output anything
 -S/--show-error    Show error. With -s, make curl show errors when they occur
    --stderr <file> Where to redirect stderr. - means stdout.
 -t/--telnet-option <OPT=val> Set telnet option
    --trace <file>  Dump a network/debug trace to the given file
    --trace-ascii <file>  Like --trace but without the hex output
 -T/--upload-file <file> Transfer/upload <file> to remote site
    --url <URL>     Another way to specify URL to work with
 -u/--user <user[:password]> Specify user and password to use
                    Overrides -n and --netrc-optional
 -U/--proxy-user <user[:password]> Specify Proxy authentication
 -v/--verbose       Makes the operation more talkative
 -V/--version       Outputs version number then quits
    --wdebug        Turns on WATT-32 debugging under DJGPP
 -w/--write-out [format] What to output after completion
 -x/--proxy <host[:port]>  Use proxy. (Default port is 1080)
    --random-file <file> File to use for reading random data from (SSL)
 -X/--request <command> Specific request command to use
 -y/--speed-time    Time needed to trig speed-limit abort. Defaults to 30
 -Y/--speed-limit   Stop transfer if below speed-limit for 'speed-time' secs
 -z/--time-cond <time> Includes a time condition to the server (H)
 -Z/--max-redirs <num> Set maximum number of redirections allowed (H)
 -0/--http1.0       Force usage of HTTP 1.0 (H)
 -1/--tlsv1         Force usage of TLSv1 (H)
 -2/--sslv2         Force usage of SSLv2 (H)
 -3/--sslv3         Force usage of SSLv3 (H)
 -#/--progress-bar  Display transfer progress as a progress bar

cURL for DOS is a 32-bit DJGPP compilation, requires 80386+, a DOS Protected Mode Interface server (CWSDPMI, included), modem or network card, and packet driver (DOS PPPD recommended). Automatically converts long file names to DOS 8.3. Not recommended for use with Windows & Winsock.

Authors: cURL by Daniel Stenberg, Sweden; DOS port and package by Doug Kaufman, US (2003).

2003-07-04: v7.10.5 for DOS.

Download (702K).

Go to Doug Kaufman's Web Site – DOS ports for more info & other software.

Go to Daniel Stenberg's cURL groks URLs for latest source, compilations for other OSes, libcurl, news, online manuals & more.

WATTCP FTP — Command line ftp client.

* * * * *

[added 2005-09-24]

This is a 16-bit DOS port of the classic Unix program, A single EXE provides a command line interface, and scripts provide extra power: File transfers can be automated, using any of the program's commands, in much the same way that batch files can automate file copying on a single machine. Requires network connection.

From the manual:
    FTP  [hostname]  [-f cmdfilename]  [portnumber]

    - if you include an optional hostname, FTP opens a connection to that host
    - you can create a file of commands and automatically invoke that command
      file by using the -f option (followed by a space) and the name of the
      FTP command file.
    - if you use an optional port number on the command line, FTP will use
      that port number for all opens until you QUIT. However, if you
      specify a port number on a particular OPEN, that number will only
      be used for that single session.

Script Files
    Script files can be started from the command line by using the -f option,
    or from the session prompt by entering RUN scriptname.

    The commands for a script file should be entered just as you normally
    would type them. You can simply enter the userid and password on a
    separate line as they answer the questions.

    eg. WATSUN.SCR                              This sample script waits until
        wait 2:30                               2:30 am and then opens an
        open             ftp connection to watsun.
        cd msk

Authors: Erick Engelke and Dean Roth, Canada (1993).

1993-11-16: v0.70.

Download (55K). Source code is in the WATTCP package, above.

DOS-ftp — Watt-32 ftp client, for 80386+ CPUs.

* * * *

[added 2005-09-24]

As with WATTCP FTP, a single EXE provides a command line interface, and scripts provide more power: File transfers can be automated in much the same way that batch files automate file copying on a single machine. Requires network connection and a WATTCP.CFG file.

From the docs:
This ftp-client is similar to the "standard" ftp-client found on
most Unix and Windows boxes. The noticeable difference is that
dos-ftp uses conio for printing to the screen. Colours may also
be controlled in the config-file ftp.ini.

A script is invoked with the '-s' command-line option. Script commands
are either from a file, e.g:

  ftp -s script

  ftp -s:script   (to be compatible with Window's ftp-client)

or from stdin, e.g.:

  echo open | ftp -s-

Script commands are normal commands as you would type them interactively.
Use command "?" for a list of commands. Some commands are only available
in a script-file and are prefixed with '@'. These are:

  @wait :  Wait a period of time.
           E.g. "@wait +10"      will pause the script 10 sec.
                "@wait +2:05"    will pause the script 2 min 5 sec.
                "@wait 14:05:00  will pause the script util 14:05.

  @echo :  Simply echo the text. These embedded escape codes are parsed:
           "\a"  -> sounds a beep.
           "\f"  -> clears the screen.
           "\n"  -> does a new line.

           E.g. @echo "\n\fHello\aWorld"

  @stop :  Will terminate the script and return to the command-prompt.

Some of the data stored in the config file: Standard ports (data & control), socket size (transmit & receive), send password after connect (0, 1), test for presence of ANSI driver (0, 1), list of host names.

Two 32-bit compilations are in the download package: The DJGPP-based FTP32.EXE which requires a DOS Protected Mode Interface (CWSDPMI or other); and FTP4.EXE, with the DOS/32A extender built in. Source code (C++) also included.

Oops: FTP4.EXE is not listed in the docs. The listed 16-bit FTP.EXE is not in the download package.

Author: Gisle Vanem, Norway (2004).

2004-11-29: v1.2.

Download (873K).

From the author of Watt-32 TCP/IP (which contains the source code for DOS-ftp). Find related programs at the Watt-32 tcp/ip Homepage.

NcFTP — Set of ftp programs, for 80386+ CPUs.

* * * *

[added 2005-09-24]

The main program in the NcFTP set provides an interactive browser shell for ftp. The other utilities perform a variety of tasks, as noted below. Some shell features: Command line editing, filename completion, list caching, firewall support, on-the-fly TAR (with compatible servers). Requires network connection. Ported from Unix.

32-bit DJGPP build, requires 80386+ and a DOS Protected Mode Interface server (CWSDPMI or other). Does not work with Win9x.

Interactive browser
Downloads a file, from command line or in scripts
Uploads a file, from command line or in scripts
Remote directory lister, from command line or in scripts
Batch processing daemon
Full-screen, interactive bookmark organizer
Usages (lists of flags omitted):
ncftp [-u user] [<host> | <URL>]

ncftpget [flags] remote-host local-dir remote-path-names....
ncftpget [flags] remote-host local-dir remote-path-names...
ncftpget -f login.cfg [flags] local-dir remote-path-names...
ncftpget [flags]

ncftpput [flags] remote-host remote-dir local-files...
ncftpput [flags] remote-host remote-dir local-files...
ncftpput -f login.cfg [flags] remote-dir local-files...
ncftpput -c remote-host remote-path-name < stdin

ncftpls [FTP flags] [-x "ls flags"]

tncftpbatch -d | -D  (start NcFTP batch processing)
tncftpbatch -l  (list spooled jobs)

Author: Mike Gleason / NcFTP Software (2003).

2003-03-04: v3.0beta21.

Download (4.7MB).

Get more info, versions for other OSes, and the NcFTP Server at NcFTP Software.

GNU Wget — Command line ftp / http / https file downloader.

* * * *

[added 2006-03-14]

The ftp command get downloads files from a server. Wget expands on that single command, downloading files under the ftp and http protocols, and with an expanded command set. It supports SSL security (https) and http proxies, and can be used standalone, or as an external app in a browser or Telnet setup. Compilations for many OSes, and source code, are distributed under the GNU General Public License.

From the docs:
Wget is non-interactive, meaning that it can work in the background, while the user is not logged on. This allows you to start a retrieval and disconnect from the system, letting Wget finish the work. By contrast, most of the Web browsers require constant user's presence, which can be a great hindrance when transferring a lot of data.
It can follow links in HTML pages and create local versions of remote web sites, fully recreating the directory structure of the original site. This is sometimes referred to as "recursive downloading." While doing that, Wget respects the Robot Exclusion Standard (/robots.txt). Wget can be instructed to convert the links in downloaded HTML files to the local files for offline viewing.
Recursive downloading also works with FTP, where Wget can retrieve a hierarchy of directories and files.
With both HTTP and FTP, Wget can check whether a remote file has changed on the server since the previous run, and only download the newer files.
Most of the features are configurable, either through command-line options, or via initialization file.
Wget is best run from a batch file that installs the packet driver and sets the necessary environment variables.
Usage: wget.exe [OPTION]... [URL]...

Mandatory arguments to long options are mandatory for short options too.

  -V,  --version           display the version of Wget and exit.
  -h,  --help              print this help.
  -e,  --execute=COMMAND   execute a '.wgetrc'-style command.

Logging and input file:
  -o,  --output-file=FILE     log messages to FILE.
  -a,  --append-output=FILE   append messages to FILE.
  -d,  --debug                print debug output.
       --wdebug               print WATT-32 debug output.
  -q,  --quiet                quiet (no output).
  -v,  --verbose              be verbose (this is the default).
  -nv, --non-verbose          turn off verboseness, without being quiet.
  -i,  --input-file=FILE      download URLs found in FILE.
  -F,  --force-html           treat input file as HTML.
  -B,  --base=URL             prepends URL to relative links in -F -i file.
       --sslcertfile=FILE     optional client certificate.
       --sslcertkey=KEYFILE   optional keyfile for this certificate.
       --egd-file=FILE        file name of the EGD socket.

       --bind-address=ADDRESS   bind to ADDRESS (hostname or IP) on local host.
  -t,  --tries=NUMBER           set number of retries to NUMBER (0 unlimits).
  -O   --output-document=FILE   write documents to FILE.
  -nc, --no-clobber             don't clobber existing files or use .# suffixes.
  -c,  --continue               resume getting a partially-downloaded file.
       --progress=TYPE          select progress gauge type.
  -N,  --timestamping           don't re-retrieve files unless newer than local.
  -S,  --server-response        print server response.
       --spider                 don't download anything.
  -T,  --timeout=SECONDS        set the read timeout to SECONDS.
  -w,  --wait=SECONDS           wait SECONDS between retrievals.
       --waitretry=SECONDS      wait 1...SECONDS between retries of a retrieval.
       --random-wait            wait from 0...2*WAIT secs between retrievals.
  -Y,  --proxy=on/off           turn proxy on or off.
  -Q,  --quota=NUMBER           set retrieval quota to NUMBER.
       --limit-rate=RATE        limit download rate to RATE.

  -nd  --no-directories            don't create directories.
  -x,  --force-directories         force creation of directories.
  -nH, --no-host-directories       don't create host directories.
  -P,  --directory-prefix=PREFIX   save files to PREFIX/...
       --cut-dirs=NUMBER           ignore NUMBER remote directory components.

HTTP options:
       --http-user=USER      set http user to USER.
       --http-passwd=PASS    set http password to PASS.
  -C,  --cache=on/off        (dis)allow server-cached data (normally allowed).
  -E,  --html-extension      save all text/html documents with .html extension.
       --ignore-length       ignore 'Content-Length' header field.
       --header=STRING       insert STRING among the headers.
       --proxy-user=USER     set USER as proxy username.
       --proxy-passwd=PASS   set PASS as proxy password.
       --referer=URL         include 'Referer: URL' header in HTTP request.
  -s,  --save-headers        save the HTTP headers to file.
  -U,  --user-agent=AGENT    identify as AGENT instead of Wget/VERSION.
       --no-http-keep-alive  disable HTTP keep-alive (persistent connections).
       --cookies=off         don't use cookies.
       --load-cookies=FILE   load cookies from FILE before session.
       --save-cookies=FILE   save cookies to FILE after session.

FTP options:
  -nr, --dont-remove-listing   don't remove '.listing' files.
  -g,  --glob=on/off           turn file name globbing on or off.
       --passive-ftp           use the "passive" transfer mode.
       --retr-symlinks         when recursing, get linked-to files (not dirs).

Recursive retrieval:
  -r,  --recursive          recursive web-suck -- use with care!
  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).
       --delete-after       delete files locally after downloading them.
  -k,  --convert-links      convert non-relative links to relative.
  -K,  --backup-converted   before converting file X, back up as X.orig.
  -m,  --mirror             shortcut option equivalent to -r -N -l inf -nr.
  -p,  --page-requisites    get all images, etc. needed to display HTML page.

Recursive accept/reject:
  -A,  --accept=LIST                comma-separated list of accepted extensions.
  -R,  --reject=LIST                comma-separated list of rejected extensions.
  -D,  --domains=LIST               comma-separated list of accepted domains.
       --exclude-domains=LIST       comma-separated list of rejected domains.
       --follow-ftp                 follow FTP links from HTML documents.
       --follow-tags=LIST           comma-separated list of followed HTML tags.
  -G,  --ignore-tags=LIST           comma-separated list of ignored HTML tags.
  -H,  --span-hosts                 go to foreign hosts when recursive.
  -L,  --relative                   follow relative links only.
  -I,  --include-directories=LIST   list of allowed directories.
  -X,  --exclude-directories=LIST   list of excluded directories.
  -np, --no-parent                  don't ascend to the parent directory.

Wget for DOS is a 32-bit DJGPP program, requiring an 80386+ CPU, and a DOS Protected Mode Interface server (CWSDPMI or other). Floating Point Unit emulation is built into the executable, but a real 80387 FPU, or 80486+ CPU, will be used if it is detected. Also requires a modem or network card, and a packet driver (DOS PPPD recommended). This port is not recommended for use with Windows & Winsock.

Authors: Wget by Hrvoje Nikšić, Croatia, et al. DOS port and package by Doug Kaufman, US (2002).

2002-09-02: v1.8.2 for DOS.

Download (526K).

Go to Doug Kaufman's Web Site – DOS ports for more info on this version.

More recent versions, for the Win32 command line, can be found at Dirk Paehl's Opensource page and at Christopher Lewis's Windows Wget files and at Heiko Herold's windows wget spot (last site also has v1.8.2 for Win32).

Find the latest development news at Wget's Website and at the GNU Project's Wget page.

HTGET — Command line http downloader.

* * * *

[added 2005-09-24]

This standalone program uses the http protocol to download files. Easily fits into a Telnet or browser setup. Built with WATTCP libraries, requires a packet driver (DOS PPPD, or Crynwr). Manual (Unix & info formats), tips, source code (Borland C) included.

Usage: HTGET [-h] [-m] [-o file] [-p ident:password] [-v] URL
         -h = get header only
         -m = fetch only if newer than file in -o
         -o file = save output in file
         -p ident:password = send authorisation
         -v = show some progress messages

Author: Ken Yap, Australia (1997).

1997-12-20: v1.02.

Download (109K).

A 32-bit DJGPP version is in the Watt-32 TCP/IP binaries package.

wput — Command line ftp uploader, for 80386+ CPUs.

* * * *

[added 2005-09-24]

The ftp command put uploads files to a server. This program provides a fast, simple way to do the job without a whole ftp client. Two variants in package: WPUT32 is a 32-bit DJGPP build, and requires a DOS Protected Mode Interface server (CWSDPMI or other), a WATTCP.CFG file, and a packet driver. WPUT32-NT is a native Win32 app and requires Winsock.

Usage: WPUT32 -u -p -h -i -d [Other options]

        -u)* user name
        -p)* password
        -t)  turn on port mode ftp (default is passive mode)
        -h)* server hostname
        -i)* input filename (to be uploaded, recursive mode for directory)
        -d)* target directory name (storage location on server)
        -r)  retry count (0 means infinite, default infinite)
        -w)  retry wait interval in minute (default 1)
        -f)  force wput not to be aggressive (default is aggressive)
        -m)  do not resume upload (default is always resume)
        -o)  overwrite remote file even if same size as local
        -D)  debug mode
        -v)  version
           * are required command line options

Author: Gisle Vanem, Norway (2003-04).


(Both in one package)

Download (746K).

From the author of Watt-32 TCP/IP. Find related programs at the Watt-32 tcp/ip Homepage.

Go to Top | Front Page ]

©1994-2004, Richard L. Green.
©2004-2006, Short.Stop.