Shareholders: Kunju & Kunjan
A lightweight, GPU-friendly LAN file-sharing desktop app with a premium dark UI, persistent vault (credentials/memos), real-time chat, and automatic Cloudflare Tunnel for remote access β all wrapped in a single portable executable.
Born out of necessity when Telegram was temporarily banned in India, SharKK replaces Telegram for sharing confidential files, social media marketing materials, captions, text messages, and creative assets between team members β without relying on any third-party cloud service.
My partner and I rely on Telegram daily to transfer files, text messages, captions, social media content, and other working materials. When Telegram was temporarily banned in India, we lost access to our primary collaboration tool. We needed something β fast β that could:
- Share files securely over the local network
- Store credentials and notes that sync across devices
- Let us chat without messages disappearing
- Work without any internet dependency
SharKK started as a quick LAN file-sharing tool and escalated as we kept adding features: a vault for passwords and prompts, a persistent chat that keeps formatting, and eventually a Cloudflare Tunnel for when we're away from home. No servers, no cloud subscriptions, no data leaving your network (unless you want it to).
- Drag-and-drop or click-to-browse uploads
- Supports images, videos, audio, archives, documents, PDFs, and code files
- Thumbnail previews for images and videos
- Download individual files or browse the full inventory
- Up to 15 GB per transfer
- Store credentials, passwords, emails, API keys, prompts β anything
- Syncs across all connected devices automatically
- Toggle visibility (show/hide values)
- One-tap copy to clipboard
- Add, edit, and delete entries
- Persistent messaging with
white-space: pre-wrapformatting - Preserves newlines, indentation, and multiple spaces β perfect for code snippets and formatted text
- Copy individual messages
- Delete or clear all messages
- Timestamps on every message
- Default: Works over LAN β zero setup, instant connection
- Away from home: Automatic Cloudflare Tunnel provides a public URL
- Scan the QR code on the PC screen with your phone to connect from anywhere
- Fallback: camera-based QR scanner in the PWA for when you're on a different network
- Full responsive design (tablets + phones)
- Collapsible Vault / Chat / Files panels
- Mobile action bar: QR code, Sync, QR Scanner
- PWA-ready β install to home screen like a native app
- Works offline from cache (service worker)
- Premium dark UI with GPU-composited animations only (
transform/opacity) - Zero backdrop filters, blurs, or GPU-heavy effects β stays cool even on laptops
- Space Grotesk + Inter typography
- Custom frameless window with native drag, maximize, snap, and close
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β PC (Host) β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β SharKK.exe (Flask + pywebview) ββ
β β βββ Web Server (port 5000) ββ
β β βββ Cloudflare Tunnel (optional, auto) ββ
β β βββ .sharkk_data.json (vault + chat on disk) ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β LAN: http://192.168.x.x:5000 β
β Internet: https://xxxx.trycloudflare.com β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β² β²
β LAN / Tunnel β QR Scan
βΌ βΌ
ββββββββββββββββββββ ββββββββββββββββββββ
β PC Browser β β Mobile Browser β
β (pywebview) β β (PWA / Browser) β
ββββββββββββββββββββ ββββββββββββββββββββ
- Go to the Releases page
- Download the latest
SharKK.exe - Run it β no installation required
β οΈ Windows SmartScreen may show a warning. Click "More info" β "Run anyway". This is a PyInstaller-bundled executable, not a signed Microsoft Store app.
- Python 3.13+
- pip
# Clone the repository
git clone https://github.com/XNtriCT/SharKK.git
cd SharKK
# Create a virtual environment (recommended)
python -m venv venv
.\venv\Scripts\Activate # Windows
source venv/bin/activate # Linux / macOS
# Install dependencies
pip install -r requirements.txtpython SharKK.pyThis launches the Flask server + pywebview desktop window. Open http://localhost:5000 in any browser on the same network.
pip install pyinstaller
pyinstaller --onefile --windowed --icon=logo.ico --add-data "logo.png;." --name "SharKK" --hidden-import=flask --hidden-import=webview --hidden-import=pythonnet --hidden-import=bottle --hidden-import=proxy_tools --hidden-import=requests SharKK.pyThe .exe will be in the dist/ folder.
- Run
SharKK.exe - A desktop window opens with the SharKK interface
- Note the URL shown in the top badge (e.g.,
http://192.168.1.100:5000) - Open that URL on any device on the same Wi-Fi network
- Same network: Open the URL shown in the app badge
- Away from home: Tap the QR button β scan the QR code from the PC screen β mobile connects via Cloudflare Tunnel
- Install as app: Open in Chrome β "Add to Home Screen" β launches as a standalone PWA
The tunnel starts automatically when the app launches. A green dot on the QR button indicates the tunnel is active. The QR popup's "Internet" tab shows the public URL.
Note: First launch may take ~30 seconds while cloudflared downloads.
| Package | Version | Purpose |
|---|---|---|
| Flask | 3.1+ | Web framework |
| pywebview | 6.2+ | Native desktop window (WebView2) |
| qrcode | 8.2+ | QR code generation |
| pyngrok | (optional) | Fallback tunnel |
| pyinstaller | (build only) | Package into .exe |
| requests | HTTP for API calls |
For development:
pip install flask pywebview qrcode pyngrok requests pyinstaller| Layer | Technology |
|---|---|
| Backend | Python 3.13, Flask 3.1 |
| Desktop UI | pywebview 6.2 (WebView2) |
| Frontend | Vanilla JS, CSS3 |
| Typography | Space Grotesk + Inter (Google Fonts) |
| Tunneling | Cloudflare Tunnel (cloudflared) |
| Persistence | JSON on disk (.sharkk_data.json) |
| QR Code | qrcode (Python) + BarcodeDetector API |
| Packaging | PyInstaller 6.21 |
SharKK/
βββ SharKK.py # Main application (Flask + pywebview + all UI)
βββ SharKK.exe # Pre-built portable executable
βββ SharKK.bat # Launcher script
βββ logo.png # App icon (178 KB)
βββ logo.ico # Windows icon (100 KB)
βββ .gitignore
βββ README.md
βββ shared_files/ # Uploaded files directory (auto-created)
βββ .sharkk_data.json # Vault + chat data (auto-created)
| Endpoint | Method | Purpose |
|---|---|---|
/ |
GET | Main page (rendered HTML) |
/upload |
POST | Upload files (multipart) |
/files/<name> |
GET | Download a file |
/delete/<name> |
POST | Delete a file |
/api/vault |
GET/POST | Vault data CRUD |
/api/chat |
GET/POST | Chat messages CRUD |
/api/files |
GET | File list (JSON) |
/api/qr |
GET | QR code SVG generator |
/api/tunnel |
GET | Cloudflare tunnel URL |
/api/ping |
GET | Connectivity check |
/api/public-ip |
GET | Detect public IP |
/logo.png |
GET | App icon |
/manifest.json |
GET | PWA manifest |
/sw.js |
GET | Service worker |
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is open source. Feel free to use, modify, and distribute.
- Built with β€οΈ by Kunju & Kunjan
- Cloudflare Tunnel for making remote access free and simple
- The pywebview team for excellent native window integration
- Everyone who believed a simple LAN tool could be this powerful