mTCP Overview
2020-01-01 Version
Michael Brutman (mbbrutman@gmail.com)

Home page: http://www.brutman.com/mTCP/

PDF documentation is available from the home page.  Please
download it!  (It is not included with the executables because small
DOS machines generally can't read PDF files.)



Welcome to mTCP!

mTCP is a set of TCP/IP applications designed to run well on older x86
personal computers running DOS.  Applications include:

 - DHCP.EXE, a DHCP client for simple network configuration
 - FTP.EXE, an FTP client
 - FTPSRV.EXE, an FTP server
 - HTGET.EXE for fetching files from web servers
 - HTTPSERV.EXE for serving files on the web using HTTP 0.9, 1.0 or 1.1
 - IRCJR.EXE, an IRC client for chatting on IRC networks
 - NC.EXE, a version of netcat for sending and receiving data using TCP/IP
 - PING.EXE, a network diagnostic utility
 - PKTTOOL.EXE, a utility (traffic sniffing and packet driver stats)
 - SNTP.EXE, a Simple Network Time Protocol client for synching your clock
 - SPDTEST.EXE, a program for benchmarking your TCP/IP network speed
 - TELNET.EXE, a Telnet client with reasonable good ANSI terminal emulation

The TCP/IP code is compiled into each application allowing for each
application to choose the features that they need.  This approach allows
for better performance, stability, and per-application customization
not possible with other approaches, such as a DOS TSR.

Detailed end user documentation can be found in the mtcp.pdf file.

Included sample files are:

 - SAMPLE.CFG, a sample mTCP configuration file
 - FTPPASS.TXT, a sample password file for the FTP server


Getting started

The documention (mtcp.pdf) has a comprehensive set of instructions for
setup.  Here is the very quick version:

1. Create an mTCP configuration file (a one-time process).
2. Set an environment variable (MTCPCFG) to point at the configuration file.
3. Load the packet driver for your Ethernet card.
4. Run an mTCP program ...

If you need a primer on packet drivers and network cards for DOS,
start here: http://www.brutman.com/Dos_Networking/dos_networking.html.


Support 

I want you to have a great experience with mTCP and I provide support
via email.  Please send your questions and bug reports to me at
mbbrutman@gmail.com.

The latest mTCP code and documentation can always be found at
http://www.brutman.com/mTCP/.  If you are running an older version of
mTCP please try the latest version first before contacting me; your
problem might be a bug that has already been fixed.

Don't understand the documentation?  That might be my fault.  Send me
an email with your question and I'll try to make it more clear.

Can't make it work?  There could be lots of reasons.  I try to explain
the common problems in the documentation.  If you have something
that is truly uncommon and you are tired of banging your head on the
wall send me an email.  There might be a bug or you might just need
a gentle prod in the right direction.

If you do ask for help via email please send me the following:

- the version of mTCP you are running.
- the class/type of hardware you are running on. (e.g.: Compaq Portable,
  PCjr, PS/2, DOSBox, generic Pentium, virtual machine, etc.)
- the version of DOS you are using.
- the details of your problem including what you think the problem is,
  what server you are connecting to, how to recreate the problem, etc.

If your problem is complex I may ask you to collect traces using the
mTCP debug features.  Usually we can get to the bottom of the problem.


Feature requests

In addition to bugs I'm also open to suggestions for new features and
new programs.

If you are looking for enhancements to mTCP to support a commercial use
please send me an email with what you are looking for.  I have never
accepted any money, beer or cookies for my work, however I have added new
features in exchange for a donation to an animal shelter.  (You get
to choose the shelter.)


Licensing

This version (2020-01-01) of mTCP is available as open
source software under the terms of the GNU General Public License
version 3.  Please see COPYING.TXT which includes the terms of the
license.

In short, share and enjoy while respecting the license.  Although
it is open source software I still maintain the copyright to all of
my contributions.  As I retain my copyright I am able to offer other
licenses; please contact me if you have a special project that requires
a different license.

The source code is available for download at http://www.brutman.com/mTCP/,
which is the projects official home page.  Other versions that you might
see elsewhere on github, ibiblio, etc. are not official and are not
contributed by me.  At some point I will upload the source to github under
my account there as a backup to my personal web site, but for now the only
blessed/verified/official source is at http://www.brutman.com/mTCP/.
(I use SVN for my repository; it fits my workflow and the project needs
well.)

This version of mTCP is free to use.  There is no warranty of any kind.
While I take pride in my work, this is a hobby project so if it burns
down your house, causes an Martian invasion, or gives you indigestion I
will feel badly but I'm not legally responsible.


Comments or questions?  Email me at mbbrutman@gmail.com

Lastly, enjoy!

-Mike
