TIFTA: Tiny Interactive File Transfer Application
This repository holds all the source code, tests and documentation of the TIFTA
software. The main goals of this program are:
- Ensure a safe and secure connection via SSH.
- Take advantage of SSH to establish an SFTP secure channel.
- Allow users to upload, download and remove files from remote server.
The TIFTA software is nuder heavy development and ships in the form of a command
line application. No graphical user interface is provided yet.
How to install
If you would like to install TIFTA software, start by creating a new Python
environment and activate it. This is a good practice so you do no break your
system’s Python installation:
python -m venv -venv && source .venv/bin/activate
Make sure you upgrade to the latest
pip version by running:
python -m pip install -U pip
Finally, you can install TIFTA by running the following:
python -m pip install git+https://github.com/jorgepiloto/tifta.git
Now you should be able to run TIFTA in any working directory of your system as
long as your new Python environment is active. Try:
Finally, generate a new fresh TIFTA configuration by running:
tifta config clean
Start by cloning the repository within your local machine. Installation process
only differs when installing the package, as you need now to pass the
python -m pip install -e /path/to/tifta/cloned/repo
How to use
Make sure that your client is properly configured and points to the right
server. You can see tifta client configuration by running:
Add or modify any existing varname or value using:
tifta config client varname "valuename"
as an example:
tifta config client hostname "192.168.X.X" # For local networks (usually). tifta config client username "runner" # For GitHub CI virtual machines.
Do not store server’s password in your config files: TIFTA will ask you to
input your password if required at any time!
When operating files within a server, all paths are assumed to be relative to
home/ directory. Furthermore, you need to specity the final name of
the uploaded/downloaded/removed/ files.. Examples:
tifta upload path/to/local/file.txt path/to/remote/uploaded_file.txt # Uploads file to server tifta download path/to/remote/file.txt path/to/remote/downloaded_file.txt # Downloads file from server tifta remove path/to/remote/file.txt # Removes file from server
TIFTA CLI is properly documented, so you can always run:
tifta upload --help tifta download --help tifta remove --help
in case you need more help.