Skip to main content

simpleshare

A local file sharing utility written in Python. Uses multicast UDP to share the list of files, and TCP to transfer the files themselves.

Installation:

  • Source:

    • Install Python 3
    • $ git clone https://github.com/ssebs/simpleshare
      $ cd simpleshare/
      $ python -m venv venv
      
    • Linux:
      • $ source ./venv/bin/activate
    • Windows:
      • > .\venv\Scripts\activate
    • (venv) $ pip install -r requirements.txt
      
  • Binary:

  • PyPI:

    • $ pip install simpleshare
    • $ simpleshare

Usage:

  • CLI
    usage: simpleshare.py [-h] [--type {client,server}] [--ip IP] [FILENAME]
    
    Local file sharing utility. Can be used as server and as a client. Run this
    without any arguments to run GUI.
    
    positional arguments:
      FILENAME              Name of the file you want to share, if running as the
                            server.
    
    optional arguments:
      -h, --help            show this help message and exit
      --type {client,server}
                            Type, how do you want to use this tool
      --ip IP               IP address, only used if you're the server
    
  • GUI
    • Double click the exe / binary.

Building

  • Linux:
    • $ make
  • Windows:
    • > .\Makefile.bat
  • (venv) $ pyinstaller simpleshare/__main__.py --clean -F -n simpleshare

Screenshots

Home

home

Upload

upload

Download

download

TODO:

  • Structure program
    • 3 connections
      • Server: Share filename (Multicast)
      • Client: Reply to server saying that you want the file (UDP)
      • Server: Send file to client (TCP)
    • CLI
    • GUI
  • Server
    • "Broadcast" (multicast) that you're sharing "x" file
    • Have server send files if requested to IP found.
    • CLI
    • GUI
      • DnD
      • Custom timout
  • Client
    • Listen to see if anyone is sharing files
    • List available files
    • Download files to specified file name/path
    • CLI
    • GUI
  • Make this work with 1 file, 1 client
  • Make this work with 1 file, 2 clients
  • Make this work with 2 files (2 servers), 1 client
  • Make this work with 2 files (2 servers), 2 client
  • Binary output (.exe, .app, etc.)
    • Icon support
  • Refactor + document
  • Unit Tests

Bugs:

  • Threads won't stop properly
  • Can't have 2 clients
  • Can't have 2 servers
  • GUI
    • Styling
    • Only Choose IP if more than 1 available
    • Share Thread issues

License

MIT © 2019 Sebastian Safari

Metadata

Release files for simpleshare 1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for simpleshare 1.3
File Size Uploaded
simpleshare-1.3.tar.gz 10.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for simpleshare 1.3
File Interpreter ABI Platform
simpleshare-1.3-py3-none-any.whl Python 3 none any Details

Total release size: 20.5 kB

Release files / simpleshare-1.3.tar.gz

Download URL simpleshare-1.3.tar.gz
Size 10.1 kB
Tags Source
SHA-256 checksum
How to use checksums
744a3036eada80aebb34c6514046e85c47e2da510b3313cebdd54e29901329d5
BLAKE2b-256 checksum
How to use checksums
f3af6e37b1151fc8df22c2c1dad1629d77fa5a07008b62285d98a93a527a1efb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.8.0

Release files / simpleshare-1.3-py3-none-any.whl

Download URL simpleshare-1.3-py3-none-any.whl
Size 10.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b004a0fd756b21dceb01a0eefa0f650fedbcd5c0be91fb8626650561d9735337
BLAKE2b-256 checksum
How to use checksums
84c2198bfef9669d444315a9dfa6ce97518d58dbf23dc29c25ea26f23a074a4e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.8.0

Release history Release notifications | RSS feed

This release

1.3 This release

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2

1 release file

1.1

3 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page