ViperTransfer is a lightweight, standalone server powered by Python3's built-in HTTP server. It allows you to serve files, upload via browser, and automatically handle filename collisions - All without a single external dependency.
- Smart Directory Listing Styled HTML UI that displays file names, sizes, and last modified timestamps.
- Human-Readable File Sizes Files are displayed in B, KB, MB, GB, etc., with clean formatting.
- Drag-and-Drop File Uploads Upload single or multiple files directly from your browser using a clean form interface.
- Safe File Saving Prevents overwriting by appending numeric suffixes to duplicate file names.
- No External Dependencies
Built entirely with Python's standard libraries (
http.server,cgi,os,urllib, etc.).
git clone https://github.com/LilSuperUser/ViperTransfer.git
cd ./ViperTransfer
chmod +x file-server.pyThis allows you to run the server from anywhere and serve the directory you are currently in.
file-server.py [port]
# or
python file-server.py [port]- If no port is provided, it defaults to 8000
- Example:
file-server.py 8080
http://localhost:[port]/
# if port is 8000 then
http://localhost:8000/
You'll see the directory contents and a file upload form.
-
The server binds to
0.0.0.0, making it accessible from all local network interfaces. -
To transfer files between two machines (on same network):
-
Start the server on machine A.
-
Find its local IP address (eg: 192.168.100.9)
-
From machine B, open:
http://192.168.100.9:8000 (or whatever port you used)
-
You can expose the server globally by using port forwarding - but do so with caution and proper security in place.
This project is licensed under the GPL v3 License. You are free to use, modify, and distribute this software under the terms of the GPL v3 license
Contributions are welcome!!
- Fork this repository
- Create a new branch
- Commit your changes
- Push to your fork
- Open a pull request
