ALlodatr LOcal DAta TRansfer is a Python-based application for transferring files and messages between computers on a local network using socket connections.
- Dual Mode Operation: Run as either server or client
- File Transfer: Upload and download files between connected computers
- Message Exchange: Send and receive text messages
- Network Discovery: Automatically discover available connections using a built-in phonebook
- Real-time Progress: Progress indicators for file transfers
- Cross-platform: Works on any system with Python
- Python 3.6 or higher
- Network connectivity between machines
- Clone or download this repository
- Ensure Python 3.6+ is installed on your system
- No additional dependencies required (uses only standard library)
python allodatr.pyWhen prompted, choose your mode:
- Enter
yto run as Server (waits for connections) - Press Enter to run as Client (connects to available servers)
Once connected, you can use the following commands:
L- Listen: Wait for incoming messages or filesS- Send: Send a text message to the connected peerU- Upload: Send a file to the connected peerQ- Quit: Close the connection and exit
The application includes a built-in phonebook with common local IP addresses:
localhost192.168.178.54192.168.0.120192.168.0.118
You can modify the phonebook list in the source code to add your own network addresses.
- Default Port: 4110
- Client Timeout: 3 seconds
- Server Timeout: 60 seconds
- Main Timeout: 10 seconds
- Server Mode: Creates a socket server that listens for incoming connections
- Client Mode: Attempts to connect to known addresses in the phonebook
- Communication: Uses a simple protocol with headers to distinguish between messages and files
- File Transfer: Handles large file transfers in chunks with progress indicators
The application uses a simple binary protocol:
- Header: 1 byte (bit 0: 1 for file, 0 for message)
- Size: 4 bytes (little-endian integer)
- Data: Variable length payload
This application is designed for use on trusted local networks only. It does not include encryption or authentication mechanisms.
- "No socket found": Ensure the server is running and reachable on the network
- Connection timeouts: Check firewall settings and network connectivity
- Port conflicts: Modify the
homeportvariable if port 4110 is in use