Skip to content

XNtriCT/SharKK

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

SharKK

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.


The Story

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).


Features

πŸ“ File Sharing

  • 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

πŸ” Vault

  • 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

πŸ’¬ Chat

  • Persistent messaging with white-space: pre-wrap formatting
  • 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

🌐 Cross-Network Access (Travel Mode)

  • 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

πŸ“± Mobile Support

  • 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)

🎨 Design

  • 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

How It Works

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  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)  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Installation

Download (Windows)

  1. Go to the Releases page
  2. Download the latest SharKK.exe
  3. 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.

Build from Source

Prerequisites

  • Python 3.13+
  • pip

Setup

# 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.txt

Run (Development)

python SharKK.py

This launches the Flask server + pywebview desktop window. Open http://localhost:5000 in any browser on the same network.

Build Executable (Windows)

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.py

The .exe will be in the dist/ folder.


Usage

Quick Start

  1. Run SharKK.exe
  2. A desktop window opens with the SharKK interface
  3. Note the URL shown in the top badge (e.g., http://192.168.1.100:5000)
  4. Open that URL on any device on the same Wi-Fi network

From Mobile

  • 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

Cloudflare Tunnel

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.


Dependencies

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

Tech Stack

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

Project Structure

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)

API Endpoints

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

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is open source. Feel free to use, modify, and distribute.


Acknowledgements

  • 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

About

Born out of necessity when Telegram was temporarily banned in India, Share confidential files, social media marketing materials, captions, text messages, and creative assets between team members, without relying on any third party cloud service.

Topics

Resources

Stars

Watchers

Forks

Packages