A local file sharing utility written in Python. Uses multicast UDP to share the list of files, and TCP to transfer the files themselves.
Project description
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:
- TBD, just download a binary for your platform
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
Upload
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
- 3 connections
- 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
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Simpleshare-1.1.tar.gz
(8.4 kB
view hashes)
Built Distributions
simpleshare-1.1-py3-none-any.whl
(10.0 kB
view hashes)
Simpleshare-1.1-py3-none-any.whl
(10.0 kB
view hashes)
Close
Hashes for simpleshare-1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b32abeaa32aecd5fcc75163bc1d446a6656ab15030a2c3d5fbba7b0ad68ffca |
|
MD5 | 2a2d4756b155a74320ed4bbfda13a521 |
|
BLAKE2b-256 | e9b50c2db81214a8f1472331247db09ab43dd3c66a0e2f02c297ff56bfa9740b |
Close
Hashes for Simpleshare-1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cac4c08fa6c9ad138aa6ced4bbf78d1098c028da6a9b8c87747ef1c628842c84 |
|
MD5 | bebe8429ad62279c2ca66f4c277042fb |
|
BLAKE2b-256 | 5044aae3eda8919e0c066317772245dcc719655f88067e8c6999b56c28116ee1 |