How I Built PC Link to Ditch Emailing Files to Myself



This content originally appeared on DEV Community and was authored by Ojalla

PC Link: Turning a Frustration in the Computer Lab Into a Cross-Platform Remote PC Manager

It started in my university’s computer lab, on what I thought would be a normal morning.
I sat down at a lab PC and faced the same question I’ve faced too many times:

How do I move files and clipboard content between my personal PC and the machine I’m using right now without jumping through a dozen hoops?

My usual method? A roundabout mess — downloading from cloud storage, re-uploading, or emailing files to myself. Slow. Clumsy. Not exactly 21st-century magic.

I even asked GitHub Copilot for ideas. Its suggestion: email automation. Which, to me, felt like a step backwards.

So instead, I opened GPT-5, had a little back-and-forth, started tinkering, and built what would become PC Link — a cross-platform host agent with a browser-based remote control panel. In a few hours, I had my first working version.

What I didn’t expect was how much I’d enjoy certain features:

  • Real-time clipboard sync — copy text on the host PC, paste it instantly on any connected browser.
  • Peer-to-peer browser file transfer — send files directly from one browser to another without touching the host machine.
  • Optional remote shell execution — whitelist commands and run them from anywhere.

The result? A tool that makes my old file-transfer rituals look like sending smoke signals.

What PC Link Can Do

  • Clipboard sync between host PC and all connected devices (with optional remote modification).
  • File system browsing (sandboxed) and bidirectional file transfer.
  • Peer-to-peer browser-to-browser sharing via relay.
  • Remote shell commands with configurable whitelists.

It runs locally, or you can expose it securely with something like ngrok.

Quick Start

  1. Clone the repo:
   git clone https://github.com/Parado-xy/pclink
   cd pclink
   npm install
  1. Create a .env file:
   SERVER_TOKEN=$(openssl rand -hex 32)
   ROOT_DIR=/path/to/shared/folder
  1. Start the server:
   npm start
  1. (Optional) Expose it online with ngrok:
   ngrok http 8443
  1. Open the browser URL, enter your token, and start connecting devices.

Why I’m Sharing This

I built PC Link to solve my own daily annoyance, but I think it can help others — especially students, remote workers, and anyone juggling multiple machines.

It’s open source, and I’d love feedback, contributions, or even just a star on GitHub:
https://github.com/Parado-xy/pclink

If you’ve ever cursed at the process of moving something between two computers, maybe this can save you a few sighs.

Security Caveats

While PC Link can be exposed over the internet, security is in your hands:

  • Always use strong, unique tokens.
  • Restrict the ROOT_DIR to a safe, non-sensitive folder.
  • Avoid enabling remote shell unless you fully trust your network and have a strict whitelist.
  • Consider running it only over HTTPS (ngrok handles this for you).
  • Remember: once accessible over the internet, any exposed feature is a potential attack surface.

Treat it like you would any remote access tool — with care.

Here’s a linkedIn post with a demo vid: Here!


This content originally appeared on DEV Community and was authored by Ojalla