Skip to main content

Overview

WebSocket trackers (also known as WebTorrent trackers) enable BitTorrent functionality directly in web browsers using WebRTC technology. These trackers use ws:// (WebSocket) or wss:// (WebSocket Secure) protocols instead of traditional HTTP/UDP.
WebSocket trackers are supported by very few BitTorrent clients. Check compatibility before relying on these trackers.

What is WebTorrent?

WebTorrent brings BitTorrent to the web platform:

Browser-Native

Enables torrenting directly in web browsers without plugins

WebRTC Technology

Uses WebRTC for peer-to-peer connections between browsers

WebSocket Trackers

Specialized trackers using WebSocket protocol for browser communication

Hybrid Protocol

Can bridge between traditional BitTorrent and browser-based peers
Learn more about WebTorrent at webtorrent.io

Available WebSocket Trackers

TrackersList maintains 2 active WebSocket trackers:
wss://tracker.files.fm:7073/announce

ws://tracker.files.fm:7072/announce
WSS (Secure):
  • Encrypted connection using TLS
  • Required for HTTPS websites
  • Port 7073 in the example above
WS (Insecure):
  • Unencrypted connection
  • Only works on HTTP websites
  • Port 7072 in the example above
Recommendation: Always prefer wss:// for security and compatibility.

Compatible Clients

WebSocket tracker support is limited to specific clients and platforms:

Native Support

WebTorrent Desktop

Official WebTorrent desktop applicationPlatforms: Windows, macOS, Linux

WebTorrent CLI

Command-line WebTorrent client
npm install -g webtorrent-cli

Browser-Based Clients

Instant.io

Stream torrents instantly in your browser without installation

WebTorrent Library

JavaScript library for embedding torrenting in web applications
npm install webtorrent

Hybrid Clients (Limited Support)

Some traditional clients have experimental WebTorrent support:
Status: No native WebSocket tracker supportqBittorrent can connect to WebTorrent peers using third-party bridges but does not natively support ws:// or wss:// tracker protocols.
Status: No WebSocket tracker supportStandard builds do not support WebSocket trackers.
Status: Partial support via pluginBiglyBT has a WebTorrent plugin that enables limited compatibility.
Most traditional BitTorrent clients DO NOT support WebSocket trackers. They will ignore ws:// and wss:// tracker URLs.

How WebTorrent Works

1

Tracker Connection

Browser or WebTorrent client connects to WebSocket tracker using ws:// or wss:// protocol
2

Peer Discovery

Tracker returns list of peers, including both:
  • WebRTC peers (other browsers)
  • Traditional BitTorrent peers (via bridges)
3

WebRTC Signaling

WebSocket tracker facilitates WebRTC signaling between browser-based peers
4

P2P Connection

Direct peer-to-peer connection established using WebRTC data channels
5

Data Transfer

Torrent data transfers using standard BitTorrent protocol over WebRTC

Using WebTorrent Desktop

Download WebTorrent Desktop:Visit webtorrent.io/desktop and download for your platform:
  • Windows: .exe installer
  • macOS: .dmg disk image
  • Linux: .deb, .rpm, or AppImage
Features:
  • Instant streaming while downloading
  • Chromecast support
  • Modern, user-friendly interface
  • Built-in video player

Using WebTorrent in the Browser

Instant.io

The simplest way to use WebSocket trackers:
1

Visit Instant.io

Go to instant.io in any modern browser
2

Add Torrent

Drop a .torrent file or paste a magnet link
3

Stream

Instantly start streaming or downloading in your browser

Embedding WebTorrent

For developers building web applications:
import WebTorrent from 'webtorrent'

const client = new WebTorrent()

// Magnet URI with WebSocket tracker
const magnetURI = 'magnet:?xt=urn:btih:...&tr=wss://tracker.files.fm:7073/announce'

client.add(magnetURI, (torrent) => {
  // Torrent metadata received
  console.log('Torrent info:', torrent.name)
  
  // Start downloading
  torrent.files.forEach((file) => {
    console.log('File:', file.name)
    
    // Stream to video element
    file.appendTo('body')
  })
})
Check out the WebTorrent API documentation for complete integration guides.

WebSocket vs Traditional Trackers

FeatureWebSocket (ws/wss)HTTP/HTTPSUDP
Browser Support✅ Yes❌ Limited❌ No
Real-time Updates✅ Yes❌ Polling✅ Yes
Firewall-Friendly✅ Yes✅ Yes⚠️ Sometimes
Desktop Client Support⚠️ Limited✅ Universal✅ Universal
Encryption✅ WSS only✅ HTTPS only❌ No
WebSocket Advantages:
  • Persistent connection (no reconnection overhead)
  • Real-time peer updates
  • Lower latency for peer discovery
WebSocket Disadvantages:
  • Limited client support
  • Higher server resource usage
  • WebRTC NAT traversal challenges
Best for WebSocket:
  • Browser-based applications
  • Streaming media players
  • Real-time collaboration tools
  • Progressive web apps
Best for Traditional:
  • Desktop torrenting
  • Maximum peer availability
  • Legacy client support
  • Server-less operation (DHT/PEX)

Browser Compatibility

Chrome/Edge

✅ Full WebTorrent supportRequirements: Version 60+

Firefox

✅ Full WebTorrent supportRequirements: Version 60+

Safari

⚠️ Limited supportIssues: WebRTC restrictions on iOS

Opera

✅ Full WebTorrent supportRequirements: Version 47+
iOS Safari: Apple restricts WebRTC on iOS, making WebTorrent unreliable on iPhone/iPad browsers.

Troubleshooting

Solutions:
  1. Add traditional trackers - Mix http://, udp://, and wss:// trackers
  2. Enable DHT - Allows peer discovery without trackers
  3. Check firewall - Ensure WebRTC is not blocked
  4. Wait longer - WebRTC peer discovery takes time
Common Causes:
  • Limited WebTorrent peer pool
  • Browser resource constraints
  • WebRTC NAT traversal issues
Solutions:
  • Use WebTorrent Desktop instead of browser
  • Add more WebSocket trackers
  • Include traditional trackers for hybrid swarm
Issues:
  • Corporate firewall blocking WebSocket
  • Browser security settings
  • HTTPS mixed content restrictions
Solutions:
  • Use wss:// (secure WebSocket) on HTTPS sites
  • Check browser console for errors
  • Try different network (mobile hotspot)
Reality Check:Most traditional BitTorrent clients (qBittorrent, Transmission, Deluge, etc.) do not support WebSocket trackers.Options:
  1. Use WebTorrent Desktop
  2. Use browser-based WebTorrent
  3. Accept that WebSocket trackers won’t work in traditional clients
  4. Include traditional trackers alongside WebSocket trackers

Best Practices

1

Mix Tracker Types

Always include both WebSocket and traditional trackers for maximum compatibility:
wss://tracker.files.fm:7073/announce
udp://tracker.opentrackr.org:1337/announce
http://tracker.openbittorrent.com:80/announce
2

Prefer WSS over WS

Use secure WebSocket (wss://) for:
  • Better security
  • HTTPS website compatibility
  • Future-proofing
3

Enable DHT

WebTorrent supports DHT - enable it for tracker-less peer discovery
4

Test in Target Environment

If building a web app, test on actual browsers and devices, not just WebTorrent Desktop

Why So Few WebSocket Trackers?

WebTorrent is still a niche technology. Most BitTorrent usage happens on desktop clients that don’t support WebSocket trackers.
WebSocket connections are more expensive to maintain than HTTP/UDP:
  • Persistent connections consume server resources
  • Requires more sophisticated infrastructure
  • Higher bandwidth costs
WebTorrent peers often form separate swarms from traditional BitTorrent peers, fragmenting the network.
Despite limited tracker availability, WebTorrent remains valuable for browser-based applications and streaming use cases.

Future of WebSocket Trackers

Growing Adoption

More web applications are adopting WebTorrent for:
  • Decentralized file sharing
  • Live streaming
  • CDN alternatives

Protocol Evolution

WebTransport and other modern protocols may replace WebSocket in the future

Hybrid Bridges

Better bridges between traditional BitTorrent and WebTorrent networks

Desktop Integration

More desktop clients adding WebSocket tracker support

I2P Trackers

Anonymous network trackers

Yggdrasil Trackers

Mesh network trackers

Tracker Blacklist

Why some trackers are excluded
Want to run your own WebSocket tracker? Check out bittorrent-tracker - an open-source tracker server with WebSocket support.

Build docs developers (and LLMs) love