Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A(nother) Bittorrent client written in the go programming language

branch: master
Octocat-spinner-32 testData Fix "go test" January 24, 2014
Octocat-spinner-32 .gitignore Fix "go test" January 24, 2014
Octocat-spinner-32 LICENSE Initial commit January 06, 2010
Octocat-spinner-32 README.md Clarify who "I" is. December 04, 2013
Octocat-spinner-32 bitset.go Fix upload issues July 13, 2013
Octocat-spinner-32 files.go Open files at read/write time only January 12, 2014
Octocat-spinner-32 files_test.go Fix "go test" January 24, 2014
Octocat-spinner-32 listen.go Fix misc errors January 14, 2014
Octocat-spinner-32 lpd.go Fix multiple tidbits April 14, 2014
Octocat-spinner-32 main.go Fix multiple tidbits April 14, 2014
Octocat-spinner-32 metainfo.go Support IPV6 trackers. April 12, 2014
Octocat-spinner-32 nat.go Add preliminary support for NAT-PMP port forwarding. January 01, 2013
Octocat-spinner-32 natpmp.go Move NAT-PMP protocol support to a separate package. January 01, 2013
Octocat-spinner-32 peer.go Support IPV6 trackers. April 12, 2014
Octocat-spinner-32 pieces.go Improve error reporting when SHA1 sums don't match December 31, 2012
Octocat-spinner-32 pieces_test.go Squash the taipei directory into the base directory. September 22, 2012
Octocat-spinner-32 proxy.go Squash the taipei directory into the base directory. September 22, 2012
Octocat-spinner-32 test.bash Add preliminary support for NAT-PMP port forwarding. January 01, 2013
Octocat-spinner-32 testdht.bash Update tests to new command line syntax September 06, 2012
Octocat-spinner-32 torrent.go Support IPV6 trackers. April 12, 2014
Octocat-spinner-32 trackerClient.go Support IPV6 trackers. April 12, 2014
Octocat-spinner-32 upnp.go Add preliminary support for NAT-PMP port forwarding. January 01, 2013
Octocat-spinner-32 uri.go Add support for magnet December 01, 2013
Octocat-spinner-32 uri_test.go Squash the taipei directory into the base directory. September 22, 2012
README.md

Taipei Torrent

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

FAQ:

Q: Why call it Taipei Torrent?

A: I (jackpal) started writing it while visiting Taipei, Taiwan

Q: What is the license?

A: See the LICENSE file.

Current Status

Tested on Windows, Linux and Mac OSX.

Development Roadmap

  • Implement choke/unchoke logic
  • Full UPnP support (need to be able to search for an unused listener port, detect we have already acquired the port, release the listener port when we quit.)
  • Clean up source code
  • Deal with TODOs
  • Add a way of quitting other than typing control-C

Download, Install, and Build Instructions

  1. Download and install the Go tools from http://golang.org

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

    go get github.com/jackpal/Taipei-Torrent

Usage Instructions

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

or

Taipei-Torrent -help

Third-party Packages

http://code.google.com/p/bencode-go - Bencode encoder/decoder

http://code.google.com/p/go-nat-pmp - NAT-PMP firewall client

https://github.com/hailiang/gosocks - SOCKS5 proxy support

https://github.com/nictuku/dht - Distributed Hash Table

https://github.com/nictuku/nettools - Network utilities

Related Projects

https://github.com/nictuku/Taipei-Torrent is an active fork.

Something went wrong with that request. Please try again.