Transmission (BitTorrent client)

Transmission is a BitTorrent client which features a variety of user interfaces on top of a cross-platform back-end. Transmission is free software licensed under the terms of the GNU General Public License, with parts under the MIT License.[6]

Transmission
Original author(s)Eric Petit, Josh Elsasser, Bryan Varner
Developer(s)Mike Gelfand (Windows), Charles Kerr (aka Jordan Lee), Mitchell Livingston
Initial release15 September 2005; 18 years ago (2005-09-15)[1][2]
Stable release
4.0.5[3] Edit this on Wikidata / 6 December 2023; 3 months ago (6 December 2023)
Repository
Written inC++, Objective-C++
Operating systemUnix-like, macOS, Microsoft Windows[4]
TypeBitTorrent client
LicenseGPL-2.0-only or GPL-3.0-only[a][b], MIT[5]
Websitetransmissionbt.com

Features edit

Transmission allows users to quickly download files from multiple peers on the Internet and to upload their own files.[7] By adding torrent files via the user interface, users can create a queue of files to be downloaded and uploaded. Within the file selection menus, users can customise their downloads at the level of individual files. Transmission also seeds, that is, it will automatically share downloaded content.[8]

Transmission allows the assigning of priorities to torrents and to files within torrents, thus potentially influencing which files download first. It supports the Magnet URI scheme[9] and encrypted connections. It allows torrent-file creation and peer exchange compatible with Vuze and μTorrent. It includes a built-in web server so that users can control Transmission remotely via the web.[10] It also supports automatic port-mapping using UPnP/NAT-PMP, peer caching, blocklists for bad peers, bandwidth limits dependent on time-of-day, globally or per-torrent, and has partial support for IPv6.[11] It allows the use of multiple trackers simultaneously,[12] Local Peer Discovery,[13] Micro Transport Protocol (μTP),[14] and UDP tracker.[15] It does not support directly subscribing to RSS feeds containing torrent files for automatic download, but third-party add-ons can supply this functionality.[10]: 229 

macOS-specific features include Dock and Growl notifications, automatic updates using Sparkle and Universal Binary (up until version 2.22).

Transmission 4.0.0, released in February 2023, added support for version 2 of the BitTorrent protocol while maintaining backward compatibility with the older v1 torrents.[16]

Development edit

 
Transmission's torrent activity and settings window.

Transmission 1.60 and later removed support for Mac OS X v10.4. Currently, Transmission 1.54 is the last version that runs on Mac OS X 10.4. Although it is possible to compile later versions from source, either by downloading from the project's website[17] or using a package manager like Fink or MacPorts, it is unsupported and any bugs specific to 10.4 will not be fixed. Starting with Transmission 2.30[18] an Apple Mac with an Intel CPU is needed; PowerPC-based systems are no longer supported natively.

The Transmission back-end (libTransmission) also serves as the basis of the Transmission daemon. The daemon supports a web front-end called Clutch. Older versions have been ported to form the basis of the update system for the video game Metal Gear Online on PlayStation 3,[19][20] as well as the backend for ImageShack's BitTorrent service.

Distribution and ports edit

A portable version is available on PortableApps.com.[21]

Ports edit

Transmission is a set of lightweight BitTorrent clients (in GUI, CLI and daemon form). All its incarnations feature a very simple, intuitive interface on top on an efficient, cross-platform back-end.

There are several transmission clients for different operating systems including Unix-like, macOS and BeOS/ZETA. Each operating system front-end is built using native widget toolkits.[6] For example, transmission-gtk uses the GTK interface, transmission-qt the Qt interface, and transmission-cli a command-line interface. Transmission-remote-cli is an ncurses interface for the transmission-daemon. Python-transmissionrpc is a Python module implementing the JSON-RPC protocol for Transmission.

An unofficial port of Transmission using a command-line interface (CLI) on iOS was accomplished on 3 March 2008.[22] In November 2010, iTransmission, another unofficial port, was released for jailbroken iPhones sporting a GUI that is capable of downloading directly to the device over WiFi or 3G.[23] A Transmission remote was released for Android, with the name of Transdroid but does not currently support downloading directly to devices.[24]

On Windows, Transmission-Qt can be built with MinGW,[25] the daemon and console tools can be built with Cygwin,[26] also there are two third-party GUIs: transmission-remote-dotnet[27] and Transmission Remote GUI,[28] as well as unofficial full builds of Transmission's Qt Client.[29][30] There is also an unofficial full build of Transmission daemon which can be run as a Windows service.[31] This same unofficial full build of Transmission daemon running as a Windows service can be used for direct streaming of the downloading file(s).[32]

A port for all platforms enhanced with streaming of the downloading file(s) is located on GitHub.[33]

It is also ported to the Maemo OS of the Nokia N810 internet tablet and N900 smartphone as well as to the MeeGo/Harmattan OS of the Nokia N9 and N950 smartphones, on which it does download the torrents to the device.

Website breach edit

In March 2016, Palo Alto Networks reported that Transmission's official website was compromised and tainted .dmg files were uploaded to the site, using an Apple Developer signature to bypass the OS X gatekeeper feature.[34][35][36]

The tainted packages installed a ransomware application (a variant of Linux.Encoder.1, but recompiled for Mac, known as KeRanger) that encrypts the user's files and attempts to force users to pay 1 Bitcoin (worth roughly US$404 at the time of the attack) in order to get the decryption pack. The Transmission website advised Mac users to immediately upgrade to a new version that removes the malware-infected file. Apple revoked the developer certificate that was used to sign the tainted package, and added the package's signature to the XProtect anti-malware system.

Reception edit

Transmission is the default BitTorrent client of many Unix and Linux distributions,[37] including Ubuntu,[38] Mint,[39] Fedora,[40] Puppy,[41] Zenwalk,[42] and the GNOME flavor of openSUSE.[43]

Fon ships its routers with Transmission pre-installed.[44]

CNET editor Paul Huges praised Transmission for its "simplicity, lightweight, as well as being feature-packed" and as of April 2017 the software ranked third in P2P downloads for Mac on CNET.[45][46]

See also edit

Notes edit

  1. ^ GPL-2.0-only or GPL-3.0-only or any future license endorsed by Mnemosyne LLC.
  2. ^ With OpenSSL exception.

References edit

  1. ^ "MovedToGitHub/Changes – Transmission". trac.transmissionbt.com. Archived from the original on 28 November 2018. Retrieved 25 February 2017.
  2. ^ "transmission: Official Transmission BitTorrent client repository". 4 December 2017. Archived from the original on 18 October 2016. Retrieved 25 February 2017 – via GitHub.
  3. ^ "4.0.5". 6 December 2023. Retrieved 6 December 2023.
  4. ^ Transmission-Qt for Windows | A Fast & Easy BitTorrent Client. Trqtw.sourceforge.net. Retrieved on 9 December 2013.
  5. ^ COPYING in trunk – Transmission Archived 28 November 2018 at the Wayback Machine. Trac.transmissionbt.com. Retrieved on 9 December 2013.
  6. ^ a b Transmission – About, www.transmissionbt.com, 2009, archived from the original on 7 July 2009, retrieved 4 July 2009
  7. ^ Richard Petersen (2 July 2014). Beginning Fedora Desktop: Fedora 20 Edition. Apress. pp. 209–. ISBN 978-1-4842-0067-4. Archived from the original on 17 January 2023. Retrieved 1 November 2016.
  8. ^ Richard Petersen (2011). Red Hat Enterprise Linux 6: Desktop and Administration. Surfing Turtle Press. pp. 246–. ISBN 978-1-936280-25-4. Archived from the original on 17 January 2023. Retrieved 1 November 2016.
  9. ^ Magnet links, extension for peers to send metadata files, Trac.transmissionbt.com, archived from the original on 5 August 2017, retrieved 24 August 2012
  10. ^ a b Scott Granneman (18 October 2010). Mac OS X Snow Leopard for Power Users. Apress. pp. 237–. ISBN 978-1-4302-3031-1. Archived from the original on 17 January 2023. Retrieved 1 November 2016.
  11. ^ IPv6 does not work against dual-stacked trackers, Trac.transmissionbt.com, archived from the original on 5 August 2017, retrieved 24 August 2012
  12. ^ Adding lists of trackers to torrents, Trac.transmissionbt.com, archived from the original on 5 August 2017, retrieved 24 August 2012
  13. ^ Local Peer Discovery protocol implementation, Trac.transmissionbt.com, archived from the original on 5 August 2017, retrieved 24 August 2012
  14. ^ Add uTP support, Trac.transmissionbt.com, archived from the original on 13 July 2019, retrieved 24 August 2012
  15. ^ UDP tracker protocol support, Trac.transmissionbt.com, 12 February 2011, archived from the original on 5 August 2017, retrieved 24 August 2012
  16. ^ Moharir, Rishabh (8 February 2023). "Transmission 4.0 Upgrade is Here After Two Years". It's FOSS News. Retrieved 8 February 2023.
  17. ^ "Building – Transmission". trac.transmissionbt.com. Archived from the original on 31 August 2011. Retrieved 4 May 2011.
  18. ^ "Transmission ChangeLog". Archived from the original on 24 May 2015. Retrieved 19 May 2011.
  19. ^ [1][dead link]
  20. ^ "P2P Communication Technology: BitTorrent Large-capacity Data Distribution" (PDF). Archived from the original (PDF) on 5 March 2012. Retrieved 31 July 2021.
  21. ^ "Transmission-Qt Portable". PortableApps.com - Portable software for USB, portable and cloud drives. Archived from the original on 2 December 2014. Retrieved 29 November 2014.
  22. ^ "Torrent | CoreOS - iPhoneUnix". Archived from the original on 8 March 2008. Retrieved 6 April 2008.
  23. ^ iTransmission, a native BitTorrent client on iOS, github.com, archived from the original on 29 January 2016, retrieved 27 July 2016
  24. ^ "Readme - About". Transdroid. GitHub.com. Archived from the original on 17 January 2023. Retrieved 14 July 2018.
  25. ^ Building TransmissionQt in Windows, Trac.transmissionbt.com, archived from the original on 14 August 2012, retrieved 24 August 2012
  26. ^ Building, Trac.transmissionbt.com, archived from the original on 14 May 2012, retrieved 24 August 2012
  27. ^ A µTorrent like Windows remote control for the Transmission client, archived from the original on 8 August 2012, retrieved 24 August 2012
  28. ^ Cross platform remote GUI for the Transmission daemon, github.com, archived from the original on 27 July 2016, retrieved 27 July 2016
  29. ^ Transmission 1.76 Windows, Sb-innovation.de, archived from the original on 19 July 2011, retrieved 24 August 2012
  30. ^ Transmission-Qt, Sourceforge.net, archived from the original on 25 August 2012, retrieved 24 August 2012
  31. ^ transmission-daemon-cygwin, Sourceforge.net, archived from the original on 2 February 2014, retrieved 27 January 2014
  32. ^ Streaming - The Simplified HOW TO, Sourceforge.net, archived from the original on 10 December 2015, retrieved 27 April 2016
  33. ^ cfpp2p/transmission: Up to date Fork of the Transmission BitTorrent client, github.com, archived from the original on 16 April 2018, retrieved 27 April 2016
  34. ^ Clark/Nikdel/Powell (6 March 2016). "New OS X Ransomware KeRanger Infected Transmission BitTorrent Client Installer". Palo Alto Networks Blog. Archived from the original on 7 March 2016. Retrieved 7 March 2016.
  35. ^ Jim Finkle (7 March 2016). "Apple users targeted in first known Mac ransomware campaign". Reuters. Archived from the original on 1 July 2017. Retrieved 2 July 2017.
  36. ^ "Apple Macs targeted by KeRanger ransomware for first time". the Guardian. 7 March 2016. Archived from the original on 7 March 2016. Retrieved 8 March 2016.
  37. ^ Mike McGrath (10 June 2010). Linux in easy steps, 5th edition. In Easy Steps. pp. 85–. GGKEY:EE005NUYU77. Archived from the original on 17 January 2023. Retrieved 1 November 2016.
  38. ^ Pitt, Martin (14 January 2008), Ubuntu Changelog, archived from the original on 13 August 2011, retrieved 15 May 2008
  39. ^ Elyssa Release Notes, archived from the original on 31 July 2015, retrieved 23 August 2009
  40. ^ Distribution/Download/BitTorrent, archived from the original on 4 August 2019, retrieved 19 August 2009
  41. ^ Puppy Linux 4.2 Release Notes, archived from the original on 19 July 2009
  42. ^ Zenwalk Package List, archived from the original on 3 March 2016, retrieved 20 March 2021
  43. ^ Make Transmission the default BitTorrent client in 11.2, archived from the original on 13 January 2016, retrieved 19 August 2009
  44. ^ FON Starts Selling Fonera 2.0n Router with Transmission, archived from the original on 20 January 2015, retrieved 9 December 2009
  45. ^ "Transmission for Mac", download.cnet.com, archived from the original on 12 May 2017, retrieved 12 April 2017
  46. ^ "P2P & File-Sharing Software for Mac". download.cnet.com. Archived from the original on 12 April 2017. Retrieved 11 April 2017.

External links edit