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 (any file type, up to 1GB)
- 🌐 Multiple connection modes (local, 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 a chat server
velora server
Join a chat
velora chat
Share a file
velora share /path/to/file.pdf
velora share document.pdf 192.168.1.100:5003
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
Local Network: Connect devices on the same network
velora chat # Choose option 1
IP-based: Connect across networks using IP addresses
velora chat --host 192.168.1.100
Global (ngrok): Share globally using ngrok tunneling
velora chat # Choose option 3
In-Chat Commands
- Type any text to send a message
/file /path/to/file.pdf- Share a file/quit- Exit the chat
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.0.tar.gz.
File metadata
- Download URL: velora_chat-1.1.0.tar.gz
- Upload date:
- Size: 16.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5b3d7e2de1e2f67a9f090446c084e4036cc2d3be11695e6b468d42fdf19c54e1
|
|
| MD5 |
6661bddd8afda396424a053916a3bc8d
|
|
| BLAKE2b-256 |
fb873a49428ea57ed33df0508aa412be17b95118589a2aa6ab01d7c232270628
|
File details
Details for the file velora_chat-1.1.0-py3-none-any.whl.
File metadata
- Download URL: velora_chat-1.1.0-py3-none-any.whl
- Upload date:
- Size: 15.0 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 |
f726aba9525cee8084a0db68ea7f0c75138f7949cd3a76cd423ce0cb6e977043
|
|
| MD5 |
95e9bb145fbe9888d50590b75eef1f6b
|
|
| BLAKE2b-256 |
e1db54e5e6445be35181aa432e9a41f276b208555ada8d62a0d656483389d848
|