Built to order

LAN File Transfer Desktop App with Drag-and-Drop Sharing

This project builds a desktop application that sends files between computers on the same local network without the internet — drag files in, pick a discovered device, and watch chunked, checksummed transfers with live speed graphs. It covers real networking concepts: TCP framing, mDNS-style discovery, TLS encryption and resume-after-interrupt. A working demo with simulated transfers, receive requests and a settings panel is included. Suitable for B.E./B.Tech final-year projects in Computer Science and IT.

Computer / IT GitPython 3PyQt · desktop UITCP sockets · TLS 1.3LAN discoverySHA-256 integrityHTML · CSS · JS demoSoftware
LAN File Transfer Desktop App with Drag-and-Drop Sharing — project thumbnail preview
More project photos (3)

The problem

Moving large files between lab computers still means USB drives, email attachments or uploading to the cloud and downloading again — slow, and every hop leaves a copy somewhere else. On a local network, machines can talk to each other directly at full LAN speed, but students rarely get to build that path themselves: socket programming, peer discovery, chunked transfers with integrity checks, and resume logic are usually just theory. This project turns them into a working desktop app. Files are split into 1 MiB chunks, each hashed with SHA-256, streamed over a TLS-encrypted TCP connection to a peer discovered on the LAN, and reassembled at the other end. If the connection drops, the transfer resumes from the last confirmed chunk instead of starting over. The demo shows the full experience: a device list, a send queue with per-file progress and an aggregate speed chart, incoming transfer requests, a history log, and a settings panel covering ports, chunk size and bandwidth limits.

SYSTEM FLOW

4 components 5 connections

Live flow
Drag to explore
100%
userSender

Drops files into the send queue, picks a discovered device, and watches the transfer progress.

Follow the working sequence

How it works

  1. On launch, the app broadcasts its presence on the LAN (mDNS-style discovery) and listens for other instances, building the device list.
  2. The user drops files into the send queue and selects a destination device from the sidebar.
  3. Each file is split into 1 MiB chunks; a manifest with file name, size and chunk hashes is sent first over a TLS 1.3 TCP connection on the configured port.
  4. Chunks stream to the peer, which acknowledges each one and verifies its SHA-256 hash before writing it to disk.
  5. If the connection breaks, both sides remember the last acknowledged chunk and resume from there on reconnect.
  6. The receiver gets an accept/decline prompt (unless the sender is a trusted device with auto-accept on), and completed files land in the configured save folder.
  7. Every transfer — sent or received — is recorded in the history log with timestamps for the report.

Tech stack:

  • Python 3 · PyQt / Tkinter desktop UI
  • TCP sockets · TLS 1.3
  • mDNS-style LAN discovery
  • SHA-256 chunk integrity
  • Matplotlib-style live charts
  • Single-file web demo (HTML/CSS/JS)
  • Git
Parameter Value
Transfer protocol Framed TCP with TLS 1.3 (design target)
Chunk size 1 MiB, configurable (design target)
Integrity check SHA-256 per chunk (design target)
Discovery LAN broadcast, no manual IP entry (design target)
Throughput Approximately 30–60 MB/s on Gigabit LAN (expected, network-dependent)
Resume granularity Per-chunk resume after interruption (design target)
Platforms Windows, macOS, Linux (expected)
Demo Single-file web app replicating the desktop UI

Project features

  • [Drag-and-drop send queue] Drop files into the app or browse for them; each file queues with a per-file progress bar, live speed, chunk counter and pause/cancel controls.
  • [LAN device discovery] Peers appear automatically with names and IP addresses, the way mDNS/Bonjour discovery works — no manual IP entry needed.
  • [Chunked, checksummed transfer] Files move in 1 MiB chunks with a per-chunk SHA-256 hash, so corruption is detected before a single bad byte lands on disk.
  • [Auto-resume] If a transfer is interrupted, it restarts from the last acknowledged chunk instead of from zero.
  • [TLS encryption] All transfer traffic runs over TLS 1.3, so files cannot be sniffed on shared lab or hostel networks.
  • [Live speed graph] An aggregate throughput chart plus per-session totals shows exactly how the network behaves under load.
  • [Receive requests & history] Incoming transfers need an explicit accept, and every completed transfer is logged with peer, size, direction and timestamp.
  • [Configurable settings] Device name, port, chunk size, bandwidth cap, save location and auto-accept rules are all adjustable from the settings panel.

What is included

  • Complete desktop application source code (Python)
  • Protocol design document (framing, discovery, chunk format, resume logic)
  • Working demo replicating the full UI and transfer flow
  • Project report PDF (background, networking concepts, methodology, testing procedure)
  • PPT presentation for final review
  • Viva Q&A preparation document (sockets, TCP vs UDP, TLS, hashing, discovery)

Limitations & prerequisites

  • Transfers work only between devices on the same local network — there is no internet relay or NAT traversal.
  • Discovery depends on the network allowing LAN broadcast/multicast; some locked-down college networks block it.
  • Throughput figures are expected ranges on a Gigabit LAN, not measured claims — the report includes a buyer-run speed-test procedure.
  • The demo simulates transfers in the browser; actual socket code ships in the Python application.
  • Mobile apps are out of scope — this is a desktop-to-desktop utility.

Frequently Asked Questions

How is this different from cloud sharing or USB drives?

Files travel directly between the two computers over the LAN at full network speed, with no upload to a third-party server and no physical drive to lose. Everything stays inside your own network.

Does it need the internet?

No. Discovery and transfer both work on an offline LAN — a router or even a direct cable between two machines is enough.

What happens if the Wi-Fi drops mid-transfer?

The transfer pauses and resumes from the last acknowledged 1 MiB chunk when the connection returns, so a 2 GB file does not restart from zero.

Is the transfer secure?

Yes — the design uses TLS 1.3 for the transfer channel and SHA-256 hashes per chunk, so eavesdropping and silent corruption are both addressed.

What will I actually learn building this?

Socket programming, TCP framing, peer discovery, TLS setup, chunked transfer design, checksum-based integrity and desktop UI development — a complete networking project.

Is this project suitable for a final-year project?

Yes — for Computer Science and IT programs. It demonstrates applied computer networking, security basics and desktop application development with a working, demonstrable product. Suitable for B.E./B.Tech final-year projects in Computer Science and IT.

Components & software requirements
  • Python 3 · PyQt / Tkinter desktop UI
  • TCP sockets · TLS 1.3
  • mDNS-style LAN discovery
  • SHA-256 chunk integrity
  • Matplotlib-style live charts
  • Single-file web demo (HTML/CSS/JS)
  • Git
Delivery information

Built-to-order project. Delivery timeline is shared after order confirmation based on current queue.

Support terms

Complete documentation, setup guide, and viva preparation included. Support for setup and explanation provided.

Download free synopsis (PDF)

Enter your name and WhatsApp number — the synopsis PDF downloads immediately. We may send occasional project updates on WhatsApp; no spam.

Get a quotation