Skip to content


Subversion checkout URL

You can clone with
Download ZIP
A(nother) Bittorrent client written in the go programming language
Go Shell
Branch: master

Apparently empty bind returns "" instead of "<nil>" now.

Wonder if this has to be special cased by OS or golang libray version?
latest commit a995621e5b
@jackpal authored

Taipei Torrent

This is a simple command-line-interface BitTorrent client coded in the go programming language.

Build Status


  • Supports multiple torrent files
  • Magnet links
  • DHT
  • IPv6
  • UDP trackers
  • UPnP / NAT-PMP automatic firewall configuration
  • Socks5 proxy support

Additional Features:

  • It can act as a tracker if you start it with the --createTracker flag
  • SFTP file system proxying enables torrenting large torrents on systems with limited local file storage.


Q: Why is it named Taipei Torrent?

A: I started writing it while visiting beautiful Taipei, Taiwan

Q: What is the license?

A: See the LICENSE file.

Current Status

  • Tested on Go 1.4.2 and tip.
  • Tested on Windows, Linux and Mac OS X.
  • People tell me they've run it on Android, too.

Development Roadmap

  • Full UPnP support (need to be able to search for an unused listener port, detect we have already acquired the port, defend the report against router reboots, release the listener port when we quit.)
  • Clean up source code
  • Deal with TODOs
  • Perhaps a web-based status UI.

Download, Install, and Build Instructions

  1. Download and install the Go tools from

  2. Use the "go" command to download, install, and build the Taipei-Torrent app:

    go get

Usage Instructions

Taipei-Torrent mydownload.torrent
Taipei-Torrent --useDHT "magnet:?xt=urn:btih:bbb6db69965af769f664b6636e7914f8735141b3"


Taipei-Torrent -help

Third-party Packages - Bencode encoder/decoder - LAN gateway discovery - NAT-PMP firewall client - Distributed Hash Table - Network utilities - SFTP protocol

Google+ Community

Other Notable Go BitTorrent Implementations

I haven't used these, but they may be worth checking out:

Something went wrong with that request. Please try again.