Instantly serve any folder over HTTP with zero configuration and one-click downloads.
Project description
sharemydir
Effortlessly serve any folder over HTTP with zero configuration, featuring a mobile-friendly web interface, QR code access, and downloadable folders as ZIP files. Perfect for developers, testers, and anyone needing to share files quickly.
Features
- Instant HTTP Server: Serve any folder with a single command.
- Automatic IP Detection: Works seamlessly on your local network.
- Mobile-Friendly: Access via QR code or URL on any device.
- Download Folders as ZIP: Easily share entire directories.
- Individual File Downloads: Grab single files directly from the browser.
- Clean Web UI: Responsive, intuitive interface for all devices.
- Zero Config CLI: No setup, just run and share.
- Elegant Terminal Output: Clear URLs and QR codes for quick access.
Installation
Install sharemydir directly from PyPI:
pip install sharemydir
Alternatively, clone the repository for development:
git clone https://github.com/anilrajrimal1/sharemydir.git
cd sharemydir
Dependencies
- Requires
qrcodefor QR code generation:pip install qrcode
Usage
Serve the current directory:
sharemydir
Serve a specific folder on a custom port:
sharemydir /path/to/folder -p 9000
Example Output
+------------------------------------------------------------+
| Serving folder: /home/anil/demo/sharemydir-demo |
| URL: http://192.168.1.42:9000/ |
| Scan this QR code for mobile access: |
+------------------------------------------------------------+
Open the URL in a browser or scan the QR code on your mobile device.
Web Interface
- Table View: Clean, organized display of files and folders.
- Download Options: Buttons for downloading files or entire folders as ZIP.
- Responsive Design: Optimized for desktops, tablets, and phones.
CLI Options
| Option | Description | Default |
|---|---|---|
FOLDER |
Folder to serve | Current (.) |
-p, --port |
Port for the server | 8080 |
Graceful Shutdown
Stop the server cleanly with Ctrl+C.
Development
To run locally for development:
python sharemydir.py
Contributing
We welcome contributions! To get started:
- Fork the repository.
- Create a feature branch (
git checkout -b feat/name-your-feature). - Commit your changes (
git commit -m 'add amazing feature'). - Push to the branch (
git push origin feat/name-your-feature). - Open a Pull Request.
Releases
Check out the Releases page for the latest updates, changelogs, and version history.
License
Distributed under the MIT License. © 2025 Anil Raj Rimal. See LICENSE for more information.
Acknowledgments
- Built with 💖 by Anil Raj Rimal.
- Powered by Python and open-source libraries.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters