profile-pic

Jordan Hook

Software Developer


Featured Project
Last Modified: 04/08/2020
project-header

FastFileTransfer is a .NET application that implements it's own file transfer protocol to provide file management over a network connection; WAN or LAN. The purpose of this application was to further develop my skills such as networking, data streams and file manipulation. The application utilizes a TCP connection between the file host (server) and the client in order to provide directory listings, directory management and even the ability to download files. A full listing of features will be available below:

Completed Functionality

The items listed below are currently in a complete status and have been tested over a WAN connection.

  • TCP Asynchronous connection
    • All data is encrypted with the RC4, XOR, AES 256 (CBC Mode) or Blowfish (ECB Mode)  algorithm
    • All data is compressed with GZIP before encryption
  • File Browser
    • Traverse through the file system similar to how you would any other FTP system by click on drives / directories
    • Directory Management - Create, Move, Delete
    • File Management - Move, Delete
  • File Transfers
    • Download and upload files with status tracking
    • Ability to pause/resume and cancel file transfers
    • Calculate transfer speeds
  • Preferences
    • Saves user configurations to file (loaded on startup)
    • Preferences such as:
      • Choose encryption algorithm
      • Choose compress algorithm
To do

The following functionality are items I would like to add to the software in the future in order to improve and further enhance it's current state. The functionality is not listed in any particular order and maybe completed at any time.

  • File Transfer Updated 22/03/2020
    • Ability to pause/resume and cancel file transfers
    • Calculate transfer speeds
  • Cryptography
    • Add additional algorithms: XOR, AES, blowfish?, others? Updated 23/03/2020
  • Compression
    • Add ability to compress data streams or files before transferring: GZIP, LZO, LZMA Updated 21/03/2020
    • Ability to compress a directory or file from the file browser before transferring
  • User preferences Updated 22/03/2020
    • There is no customization currently available for application, most settings are hard coded with the exception of the password
    • Preferences such as:
      • Choose encryption algorithm
      • Choose compress algorithm
      • Limit connection speed
      • Modify server settings (such as listening port)
  • File Searching
    • Ability to search through the whole file system or a specified directory for a defined string(s)
Download
Screenshots









Recent Activity
  • Detecting Malware: Part 1
    09/03/2020

    Before reading this article I strongly recommend taking a quick peak at my previous tutorials with regards to scraping for malware (links below). They will help get you started on your malware anal...

  • Scraping for malware: Part 2
    11/05/2019

    If you haven't already done so, please read Part 1 to learn about how we developed the scraper...

  • Scraping for malware
    28/04/2019

    One of my more popular projects on GitHub as of recently is the MalwareFinder application that was written in C# .NET. The purpos...

  • A Fresh Start
    28/04/2019

    If you have ever visited my website you may have noticed at this point that there is a completely new look and feel. I've recently allotted some time in order to improve and redesign my personal we...