/tftpgui

Automatically exported from code.google.com/p/tftpgui

Primary LanguagePythonOtherNOASSERTION

TFTPgui Version : 2.2
Date 20110908

This program is a TFTP server.

It is intended to run as a user initiated program, rather than a service daemon,
and displays a gui interface allowing the user to stop and start the tftp server.

It provides a simple tftp server for engineers to download and upload
configuration files from equipment such as routers and switches.


Installation

Download the tar file tftpgui_2_2.tar : Untar it into a directory of your
choice, and running "python tftpgui.py" will run the program.

Or if using Windows: download tftpgui_2_2.zip, unzip it and run
'python tftpgui.pyw'

The full command is run:

python tftpgui.py [options] <configuration-file>

The command line options are:

--nogui : in which case the tftp server is run, but no GUI is created.
--version : prints the version number and exits
--help : prints a usage message and exits

<configuration-file> : The optional location of a configuration file.

Windows users may need to replace the 'python' with the path to their Python
interpreter, i.e. C:\Python27\python tftpgui.pyw

It would also be possible to associate the .pyw extension with the python
interpreter, in which case merely double clicking on the tftpgui.pyw file
will run the program.

This version of tftpgui requires python 2.5 to 2.7 to be installed, and also the
python tk modules.

On Ubuntu/Debian this is package python-tk, on Widows it is built into
Python and does not need to be separately installed.

(A version 3 of TFTPgui exists which works with Python 3)


Usage

The program presents you with a graphical window, with start, stop,
setup and exit buttons.

Start - will start the server, which will then listen for file
        transfers from remote tftp clients.

Stop - will stop the server.

Setup - will open a window giving various options described below.

Exit - will close the program.


Setup Options

TFTP ROOT Folder: set the folder where files will be sent and received

TFTP LOGS Folder: During transmission, the program writes log entries,
these are held in this folder, which you can set.

Allow access from any remote IP Address, or just a specified subnet:

If any remote address is allowed, then any client can call this server.

If a subnet is specified, then you may input the subnet and mask, and
the server will only accept calls from clients within this subnet.
If you wish to limit remote access from a single device, set the subnet
to the remote device IP address, and the mask to 32.

PORT: The port which the tftp server listens on, as standard this is 69

It should be noted that on Linux, to set up a server listening on any
port below 1000 requires root permission, therefore you will need
to be root (or use sudo) to run this program on port 69.

APPLY - Save and implement the options.

CANCEL - Discard any option changes you have done.

DEFAULT - Set options to the initial defaults.


Configuration file

Under normal use, the hidden file .tftpgui.cfg is automatically created
in the users home directory (on Linux, or the equivalent per user
application directory on Windows).  This file is initially created
with default values and changed whenever the user sets changes on
the graphical interface. The file is subsequently read on startup,
so the users changes are persistent.

Most users need never look at, or edit the file, however a configuration
file location can be specified on the command line, which may be
useful if the program is to be started without a GUI.

Typical contents of configuration file:

---------------------------------------------------
[IPsetup]
clientmask = 16
listenport = 69
anyclient = 1
listenipaddress = 0.0.0.0
clientipaddress = 192.168.0.0

[Folders]
tftprootfolder = /home/bernie/tftpgui/tftproot
logfolder = /home/bernie/tftpgui/tftplogs
----------------------------------------------------

The value 'anyclient' is set to 1 to indicate any client can contact
the server, or zero if only a client with an ip address in the given
subnet will be accepted.

The folder locations will be set to appropriate locations on your
own PC the first time you run the program.

The configuration file has one option not set via the GUI. This
is 'listenipaddress' which is normally set to 0.0.0.0 - meaning
the server will listen on any ip address. If however you have a
machine with multiple IP addresses and you want the tftp service
to only listen on one, you can set the IP address here. 


version 2.2 changes:

Refactored, to make the code more flexible.
The configuration file now created in the users home as an hidden
file.


New in version 2:

Using the --nogui option on the command line allows the server to be
run without a graphical environment, in which case the configuration
file is the only form of controlling the server. In this case, a
configuration file location can be set on the command line.