https://github.com/anilrajrimal1/sharemydir
Simple and elegant CLI tool that lets you instantly share any local directory over HTTP. It requires zero configuration and is perfect for quickly transferring files across devices on the same network.
https://github.com/anilrajrimal1/sharemydir
cli-tool file-sharing http-server local-network mobile-access qr-code zero-config
Last synced: 11 months ago
JSON representation
Simple and elegant CLI tool that lets you instantly share any local directory over HTTP. It requires zero configuration and is perfect for quickly transferring files across devices on the same network.
- Host: GitHub
- URL: https://github.com/anilrajrimal1/sharemydir
- Owner: anilrajrimal1
- License: mit
- Created: 2025-05-26T01:49:11.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-06-12T08:39:56.000Z (12 months ago)
- Last Synced: 2025-07-13T01:34:04.836Z (11 months ago)
- Topics: cli-tool, file-sharing, http-server, local-network, mobile-access, qr-code, zero-config
- Language: Python
- Homepage:
- Size: 38.1 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
ShareMyDir
Effortlessly serve any folder over HTTP with zero configuration.
Mobile-friendly interface, QR code access, and downloadable folders as ZIP files.
| **PyPI** | **Python Version** | **License** | **GitHub Release** | **Downloads** |
| ----------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
| [](https://pypi.org/project/sharemydir/) | [](https://pypi.org/project/sharemydir/) | [](https://github.com/anilrajrimal1/sharemydir/blob/main/LICENSE) | [](https://github.com/anilrajrimal1/sharemydir/releases) | [](https://pypi.org/project/sharemydir/) |
## 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.
## Demo

## Installation
Install `sharemydir` directly from PyPI:
```bash
pip install sharemydir
```
Alternatively, clone the repository for development:
```bash
git clone https://github.com/anilrajrimal1/sharemydir.git
cd sharemydir
```
### Dependencies
- Requires `qrcode` for QR code generation:
```bash
pip install qrcode
```
## Usage
Serve the current directory:
```bash
sharemydir
```
Serve a specific folder on a custom port:
```bash
sharemydir /path/to/folder -p 9000
```
### Example Output
```text
+------------------------------------------------------------+
| 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:
```bash
python sharemydir.py
```
### Contributing
We welcome contributions! To get started:
1. Fork the repository.
2. Create a feature branch (`git checkout -b feat/name-your-feature`).
3. Commit your changes (`git commit -m 'add amazing feature'`).
4. Push to the branch (`git push origin feat/name-your-feature`).
5. Open a Pull Request.
## Releases
Check out the [Releases](https://github.com/anilrajrimal1/sharemydir/releases) page for the latest updates, changelogs, and version history.
- **Latest Release**: [v1.0.3](https://github.com/anilrajrimal1/sharemydir/releases/latest)
- Available on [PyPI](https://pypi.org/project/sharemydir/).
## License
Distributed under the MIT License. © 2025 Anil Raj Rimal. See [LICENSE](LICENSE) for more information.
## Acknowledgments
- Built with 💖 by [Anil Raj Rimal](https://github.com/anilrajrimal1).
- Powered by Python and open-source libraries.