Skip to content

A modern, full-featured BitTorrent client for Chrome and other MV3-compatible browsers.

License

Notifications You must be signed in to change notification settings

kzahel/JSTorrent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,116 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JSTorrent

JSTorrent

A modern, full-featured BitTorrent client built on a shared TypeScript engine that runs everywhere.

Chrome Web Store | new.jstorrent.com

Platforms

Platform Status Notes
Chrome Extension ✅ Available Chrome, Edge, Brave, and other Chromium browsers
Android ✅ Available Native app with QuickJS engine
Desktop ✅ Available Rust native host for high-performance I/O
ChromeOS ✅ Available Extension + Android companion app
iOS 🚧 Planned Sideload only

Architecture

One TypeScript BitTorrent engine powers all platforms. Platform-specific native code handles networking and disk I/O, while the core protocol logic remains shared and tested across environments.

Features

BitTorrent Protocol

  • ✅ Full BitTorrent protocol implementation
  • ✅ Magnet link support
  • ✅ .torrent file support
  • ✅ Protocol encryption (MSE/PE)
  • ✅ Seeding and leeching
  • ✅ Tit-for-tat choking algorithm
  • ✅ Optimistic unchoking
  • ✅ Rarest-first piece selection
  • ✅ Endgame mode
  • ✅ Request pipelining
  • ✅ SHA1 piece verification
  • ✅ Fast extension (BEP 6)
  • ✅ Extension protocol (BEP 10)
  • ✅ Metadata exchange / magnet resolution (BEP 9)

Networking

  • ✅ UPnP port mapping
  • ✅ DHT (Distributed Hash Table)
  • ✅ PEX (Peer Exchange)
  • ✅ UDP and HTTP trackers
  • ✅ IPv4 and IPv6

Performance

  • ✅ Native host for fast networking and disk I/O
  • ✅ File skipping and priorities
  • ✅ Bandwidth throttling
  • ✅ Connection limits

User Experience

  • ✅ Traditional torrent client UI
  • ✅ Customizable interface
  • ✅ Super responsive
  • ✅ Dark mode
  • ✅ Drag and drop torrents
  • ✅ Click magnet links to add
  • ✅ Per-torrent and global statistics

About

JSTorrent started as a Chrome App, was rebuilt as a Chrome Extension when Apps were deprecated, and has since expanded to Android and desktop platforms—all sharing the same TypeScript engine.

Written in TypeScript with comprehensive test coverage, including integration tests against libtorrent.

Development

See DEVELOPMENT.md for build instructions and project structure.

License

MIT

About

A modern, full-featured BitTorrent client for Chrome and other MV3-compatible browsers.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •