Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>PeerDrop - P2P File Transfer & VoiceNew to Visual Studio Code? Get it now.
PeerDrop - P2P File Transfer & Voice

PeerDrop - P2P File Transfer & Voice

Macha Praveen

|
5 installs
| (0) | Free
Right-click P2P file transfer combined with integrated voice calls. Zero accounts, no third-party apps. True peer-to-peer via WebRTC.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

PeerDrop — P2P File Transfer & Voice for VS Code

Right-click P2P file transfer combined with integrated voice calls. Zero accounts, no third-party apps. True peer-to-peer via WebRTC.

PeerDrop fills a genuine gap in the VS Code ecosystem: no existing extension combines seamless file sending with voice communication in a lightweight, privacy-first package.

Features

  • Right-click file transfer: Select files in the explorer, right-click, and send directly to a connected peer
  • Integrated voice calls: Start voice calls with your peer without leaving VS Code
  • Zero accounts required: No Microsoft, GitHub, or any other account needed
  • True P2P: File data and voice streams travel directly between developers via WebRTC
  • Privacy-first: Only a lightweight signaling server is used for initial connection — it never sees your data
  • Cross-platform: Works on Windows, macOS, and Linux

Quick Start

  1. Install the PeerDrop extension
  2. Person A: Open Command Palette → PeerDrop: Generate Room Code → share the 6-digit code
  3. Person B: Open Command Palette → PeerDrop: Connect to Peer → enter the code
  4. Send files: Right-click any file → Send File to Peer
  5. Voice call: Click the microphone icon in the PeerDrop sidebar

How It Works

[VS Code A] ←→ [Signaling Server] ←→ [VS Code B]
                     ↓
              (initial handshake only)
                     ↓
[VS Code A] ←——— Direct P2P (WebRTC) ———→ [VS Code B]
              files + voice encrypted
  1. A lightweight signaling server helps peers discover each other using 6-digit room codes
  2. Once connected, all data flows directly between peers via WebRTC
  3. WebRTC mandates encryption: DTLS for data, SRTP for voice
  4. The signaling server never sees file content or voice audio

Commands

Command Keybinding Description
Generate Room Code Ctrl+Shift+D Ctrl+Shift+R Create a room and copy code to clipboard
Connect to Peer Ctrl+Shift+D Ctrl+Shift+C Join a room with a 6-digit code
Open PeerDrop Panel Ctrl+Shift+D Ctrl+Shift+L Focus the PeerDrop sidebar
Start Voice Call Ctrl+Shift+D Ctrl+Shift+V Begin a voice call with connected peer

Configuration

Setting Default Description
peerdrop.signalingServerUrl wss://... Signaling server WebSocket URL
peerdrop.displayName OS username Your display name
peerdrop.autoAcceptTransfers false Auto-accept incoming files
peerdrop.maxFileSizeMB 500 Max file size (1-10240 MB)
peerdrop.defaultIncomingPath — Default save folder for received files

Self-Hosting the Signaling Server

cd signaling-server
docker build -t peerdrop-signaling .
docker run -d -p 3001:3001 peerdrop-signaling

Then set peerdrop.signalingServerUrl to your server address.

Documentation

See the docs/ folder for detailed documentation:

  • Architecture
  • Setup
  • Signaling Server
  • File Transfer Protocol
  • Voice Calls
  • Security
  • Deployment
  • API Reference
  • Troubleshooting

Tech Stack

Component Technology
Language TypeScript 5.x
WebRTC Native browser RTCPeerConnection
Voice Native getUserMedia + Opus codec
Signaling WebSocket (ws library)
NAT Traversal STUN/TURN (configurable)
Bundler webpack 5 (dual config)
Testing Mocha + @vscode/test-electron

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft