Tiny Interactive File Transfer Application

Related tags

Networkingtifta
Overview

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

For users

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:

tifta --help

Finally, generate a new fresh TIFTA configuration by running:

tifta config clean

For developers

Start by cloning the repository within your local machine. Installation process only differs when installing the package, as you need now to pass the --editable flag:

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:

cat ~/.tifta/conf/client.conf

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 server's 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.

Owner
Jorge Martínez
Jorge Martínez
9SPY: a Windows RAT built in Python using sockets

9SPY 👁‍🗨 9SPY is a Windows RAT built in Python using sockets Features Features will be listed here soon, there are currenly 14 Information This is a

doop 12 Dec 01, 2022
Blockchain-Enabled IoT Sensor Framework that uses Augmented Reality and Artificial Intelligence.

Arduino + Raspberry Pi + Unity3D + Cloud + Hyperledger Our Mission: Keep it simple, leave no one behind. Blockchain-Enabled Smart Sensor Framework usi

DappAR 23 Dec 05, 2021
BLE parser for passive BLE advertisements

This pypi package is parsing BLE advertisements to readable data for several sensors and can be used for device tracking, as long as the MAC address is static. The parser was originally developed as

Ernst Klamer 19 Dec 26, 2022
msgspec is a fast and friendly implementation of the MessagePack protocol for Python 3.8+

msgspec msgspec is a fast and friendly implementation of the MessagePack protocol for Python 3.8+. In addition to serialization/deserializat

Jim Crist-Harif 414 Jan 06, 2023
This is a top level socket library, making servers and clients EASY!

quick-net Sockets don't have to be a pain That's the motto this library was built with, and that's exactly what we made! This is a top-level socket li

Nate the great 15 Dec 17, 2021
Roadster - Distance to Closest Road Feature Server

Roadster: Distance to Closest Road Feature Server Milliarium Aerum, the zero of

Textualization Software Ltd. 4 May 23, 2022
A Simplest TCP client and echo server

Простейшие TCP-клиент и эхо-сервер Цель работы Познакомиться с приемами работы с сетевыми сокетами в языке программирования Python. Задания для самост

Юля Нагубнева 1 Oct 25, 2021
forward several ports into a single port

port forwarding Multi-Input-Single-Output forward several ports into a single one this tool forwards packets from several ports into one single port.

Erfan Kheyrollahi Qaroğlu 3 Sep 11, 2021
Automated network configuration backups using Github actions and git-scraping

Network Config Scraper This repository demonstrates the use of Github Actions and git-scraping to build an automated backup solution for network confi

WWT 19 Dec 14, 2022
Dnspython is a DNS toolkit for Python.

dnspython is a DNS toolkit for Python. It supports almost all record types. It can be used for queries, zone transfers, and dynamic updates. It supports TSIG authenticated messages and EDNS0.

Bob Halley 2.1k Jan 06, 2023
A gRPC-Web implementation for Python

Sonora Sonora is a Python-first implementation of gRPC-Web built on top of standard Python APIs like WSGI and ASGI for easy integration. Why? Regular

Alex Stapleton 216 Dec 30, 2022
Building a Robust IOT device which is customizable, encrypted, secure and user friendly

Building a Robust IOT device which is customizable, encrypted, secure and user friendly, which uses a single GPIO pin to extract multiple sensor values

1 Jan 03, 2022
Send files to your friends over network! (100mb max)

PyServed v2.0.1 Made by Shaurya Pratap Singh Installation Using pip(for stable releases.) - $ pip install pyserved Using Git (for latest updates) -

Sblip.dev 4 Mar 22, 2022
telnet implementation over TCP socket with python

This a P2P implementation of telnet. This program transfers data on TCP sockets as plain text

10 May 19, 2022
A simple framwork to streamline the Domain Adaptation training process.

FastDA Introduction This is a simple framework for domain adaptation training. You can use it to build your own training process. It heavily relies on

Vincent Zhang 7 Nov 22, 2022
Nyx-Net: Network Fuzzing with Incremental Snapshots

Nyx-Net: Network Fuzzing with Incremental Snapshots Nyx-Net is fast full-VM snapshot fuzzer for complex network based targets. It's built upon kAFL, R

Chair for Sys­tems Se­cu­ri­ty 146 Dec 16, 2022
Query protocol and response

whois Query protocol and response _MᵃˢᵗᵉʳBᵘʳⁿᵗ_ _ ( ) _ ( )( ) _ | | ( ) | || |__ _ (_) ___ | | | | | || _ `\ /'_`\ | |/',__) |

MasterBurnt 4 Sep 05, 2021
Using AWS's API Gateway + Lambda + Python to run a simple websocket application. For learning/testing

Using AWS's API Gateway + Lambda + Python to run a simple websocket application. For learning/testing. The AWS Resources seemed overly complex and were missing some critical gotchas in setting up a s

Seth Miller 15 Dec 23, 2022
ARTEMIS: Real-Time Detection and Automatic Mitigation for BGP Prefix Hijacking.

ARTEMIS: Real-Time Detection and Automatic Mitigation for BGP Prefix Hijacking. This is the main ARTEMIS repository that composes artemis-frontend, artemis-backend, artemis-monitor and other needed c

INSPIRE Group @FORTH-ICS 273 Jan 01, 2023
league-connection is a python package to communicate to riot client and league client

league-connection is a python package to communicate to riot client and league client.

Sandbox 1 Sep 13, 2022