Skip to content

fabiodcorreia/catch-my-file

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

catch-my-file logo

Catch My File

Catch My File lets you easily send and receive files between peers on the local network.

Why?

I wanted a tool that allows to:

  • Share a files between peers without managing shared folders or file servers
  • Auto discover other peers without looking for IPs and/or ports to connect
  • Be indepemdent of the platform where it runs
  • No need for configuration or user accounts, just run and share

Features

  • Discover other peers on the local network without any configuration
  • Send specific files to specific peers
  • Accept or reject files sent by other peers
  • Follow the transfer progress
  • Checksum (SHA256) verification of the file when transfer is completed

Installation

  • Download the latest release package
  • Extract the package and run the application
  • MacOS
    • Copy the application to the applications folder or just run it directly
    • On the frist run need to allow the app to run and make network connections
  • Linux
    • Run the command sudo make install to install the application
    • Run the command sudo make uninstall to remove the application
  • Windows
    • Just run the executable

Usage

Peers Panel

This panel will show all the other peers using the application on the local network. Pressing send button we can select a file from the filesystem and send it to that peer.

peers-view

Sender

After the file is selected a checksum(SHA256) is generated and a file transfer request is sent to the target peer.

prepar-for-sending

Transfers Panel

After the request is send a record is added to the Transfers tab where the sender can follow the progress.

At the same time on the receiver side a similar record is added with the options to Accept or Reject the transfer, if rejected nothing will be transferred.

receiver-view

When accepted we select where on the filesystem the file will be stored and the transfer start.

receiving

The sender can also see the progress.

sending

Once the transfer is completed on the sender side, the receiver will start the verification to insure the file integrity.

verifying

When the verification is completed with success the transfer will be completed.

completed

Built With

  • Go
  • TCP Sockets - Data transfer between the peers
  • Go Modules
    • Zeroconf - Service registration and discovery
    • Fyne UI - Cross platform GUI inspired by Material Design

Development

Requirements

Changelog

The changelog can be founda at CHANGELOG

License

Distributed under the Elipse Public License. See LICENSE for more information.