Simple file sharing and chat over TCP sockets
Project description
Velora
Simple file sharing and chat over TCP sockets
A lightweight Python library for peer-to-peer file sharing and real-time chat. Zero external dependencies - pure Python using only the standard library.
Features
- 💬 Real-time text chat over TCP
- 📁 File sharing with progress bars and speed indicators
- 🔔 System notifications when files are received
- 🎯 Drag-and-drop file support
- 🔄 Automatic reconnection on connection loss
- 👥 User list and management commands
- 🌐 Multiple connection modes (IP-based, global with ngrok)
- 🔧 Zero dependencies - pure Python
- ⚡ One-command file sharing
- 📦 Easy CLI and programmatic usage
Installation
pip install velora-chat
Quick Start
Start chatting (simplest way)
velora
Or use specific commands
# Start a chat server
velora server
# Join a chat
velora chat
# Share a file
velora share /path/to/file.pdf
Command Line Interface
Chat
# Interactive chat client
velora chat
# Connect to specific server
velora chat --host 192.168.1.100 --port 5003 --name "Your Name"
Server
velora server --host 0.0.0.0 --port 5003
File Sharing
# Local sharing
velora share document.pdf
# Remote sharing
velora share document.pdf 192.168.1.100:5003
# Share via ngrok
velora share document.pdf 0.tcp.ngrok.io:12345
Python API
import velora
# Start a server
server = velora.VeloraServer(host="0.0.0.0", port=5003)
server.start()
# Connect and send messages
client = velora.VeloraClient()
client.connect("127.0.0.1", 5003)
client.send_message("Hello!")
# Quick file sharing
velora.quick_share("/path/to/file.pdf", "192.168.1.100:5003", "YourName")
Connection Modes
IP-based: Connect across networks using IP addresses
velora # Choose option 1 - create or join room
Global (ngrok): Share globally using ngrok tunneling
velora # Choose option 2 - create or join ngrok tunnel
Direct Connection: Connect to a specific server
velora chat --host 192.168.1.100
In-Chat Commands
- Type any text to send a message
- Drag and drop files to share them instantly
/file /path/to/file.pdf- Share a file/users- List all connected users/help- Show all available commands/quit- Exit the chat
New in v1.1.0
- ⚡ Progress Bars: Real-time progress with transfer speed and ETA for large files
- 🔔 Notifications: Audio alerts when files are received (cross-platform)
- 🎯 Drag & Drop: Simply paste file paths to send files
- 👥 User Management:
/userscommand to see who's connected - 📖 Help System:
/helpcommand for quick reference - 🔄 Auto-Reconnect: Automatically reconnects on connection loss (up to 3 attempts)
- 🖥️ Better CLI: Just run
velorato start chatting instantly
Requirements
- Python 3.7+
- No external dependencies
- Port 5003 (default) or custom port
File Sharing Details
- Formats: Any file type
- Size limit: Up to 1GB
- Download location:
~/Downloads - Duplicate handling: Automatic renaming
Documentation
For complete documentation, examples, and contribution guidelines, visit:
Links
License
MIT License - see LICENSE for details.
Security Notice
Designed for trusted networks and personal use. For production environments, consider adding authentication, encryption, input validation, and rate limiting.
Made with ❤️ by Pavan Sai Tanguturi
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
File details
Details for the file velora_chat-1.1.1.tar.gz.
File metadata
- Download URL: velora_chat-1.1.1.tar.gz
- Upload date:
- Size: 16.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
baee58382637a34440fe96304894b223cc945275aa485bff4451e95b12a985d1
|
|
| MD5 |
53cf73a69fe216807a7e737a8818bf00
|
|
| BLAKE2b-256 |
97edc16d23435c4cbaec15921f1e54e2e8b7dccc85b95036e87559a6e4e2cf7e
|
File details
Details for the file velora_chat-1.1.1-py3-none-any.whl.
File metadata
- Download URL: velora_chat-1.1.1-py3-none-any.whl
- Upload date:
- Size: 15.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e9de4051c9ffca79d4553ec471e6d683fab50fd04efdb1769cfbcb4c1a798006
|
|
| MD5 |
32cbde001869f2504d807f1818c8868c
|
|
| BLAKE2b-256 |
297908ad07b17298e5732840d12c4ae53505265b67f8a32f95a5c46099cbad87
|