Skip to main content

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: /users command to see who's connected
  • 📖 Help System: /help command for quick reference
  • 🔄 Auto-Reconnect: Automatically reconnects on connection loss (up to 3 attempts)
  • 🖥️ Better CLI: Just run velora to 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:

GitHub Repository

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

velora_chat-1.1.1.tar.gz (16.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

velora_chat-1.1.1-py3-none-any.whl (15.4 kB view details)

Uploaded Python 3

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

Hashes for velora_chat-1.1.1.tar.gz
Algorithm Hash digest
SHA256 baee58382637a34440fe96304894b223cc945275aa485bff4451e95b12a985d1
MD5 53cf73a69fe216807a7e737a8818bf00
BLAKE2b-256 97edc16d23435c4cbaec15921f1e54e2e8b7dccc85b95036e87559a6e4e2cf7e

See more details on using hashes here.

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

Hashes for velora_chat-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e9de4051c9ffca79d4553ec471e6d683fab50fd04efdb1769cfbcb4c1a798006
MD5 32cbde001869f2504d807f1818c8868c
BLAKE2b-256 297908ad07b17298e5732840d12c4ae53505265b67f8a32f95a5c46099cbad87

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page