Transmission (BitTorrent client)

Last updated

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;17 years ago (2005-09-15) [1] [2]
Stable release
4.0.4 [3]   OOjs UI icon edit-ltr-progressive.svg / 23 August 2023;2 days ago (23 August 2023)
Repository
Written in C++, Objective-C++
Operating system Unix-like, macOS, Microsoft Windows [4]
Type BitTorrent client
License GPL-2.0-only or GPL-3.0-only [lower-alpha 1] [lower-alpha 2] , MIT [5]
Website transmissionbt.com

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]

Contents

Features

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

Transmission's torrent activity and settings window. Transmission 2.94 on 18.10 Info window.png
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

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

Ports

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

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

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

Notes

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

Related Research Articles

<span class="mw-page-title-main">Qt (software)</span> Object-oriented framework for software development

Qt is free and open-source cross-platform software for creating graphical user interfaces as well as cross-platform applications that run on various software and hardware platforms such as Linux, Windows, macOS, Android or embedded systems with little or no change in the underlying codebase while still being a native application with native capabilities and speed.

BitTorrent is a communication protocol for peer-to-peer file sharing (P2P), which enables users to distribute data and electronic files over the Internet in a decentralized manner.

MLDonkey is an open-source, multi-protocol, peer-to-peer file sharing application that runs as a back-end server application on many platforms. It can be controlled through a user interface provided by one of many separate front-ends, including a Web interface, telnet interface and over a dozen native client programs.

<span class="mw-page-title-main">Soulseek</span> Peer-to-peer (P2P) filesharing network

Soulseek is a peer-to-peer (P2P) file-sharing network and application. The term Soulseek might refer to (1) one of the two networks, or (2) one of the three official user client interfaces. Soulseek is used mostly to exchange music, although users are able to share a variety of files. Soulseek was created by Nir Arbel, an Israeli programmer from Safed.

<span class="mw-page-title-main">Cyberduck</span> Software

Cyberduck is an open-source client for FTP and SFTP, WebDAV, and cloud storage, available for macOS and Windows licensed under the GPL. Cyberduck is written in Java and C# using the Cocoa user interface framework on macOS and Windows Forms on Windows. It supports FTP/TLS, using AUTH TLS as well as directory synchronization. The user interacts with the user interface (GUI), including file transfer by drag and drop and notifications via Growl. It is also able to open some files in external text editors.

<span class="mw-page-title-main">Twisted (software)</span> Event-driven network programming framework

Twisted is an event-driven network programming framework written in Python and licensed under the MIT License.

BitTorrent is a proprietary adware BitTorrent client developed by Bram Cohen and Rainberry, Inc. used for uploading and downloading files via the BitTorrent protocol. BitTorrent was the first client written for the protocol. It is often nicknamed Mainline by developers denoting its official origins. Since version 6.0 the BitTorrent client has been a rebranded version of μTorrent. As a result, it is no longer open source. It is currently available for Microsoft Windows, Mac, Linux, iOS and Android. There are currently two versions of the software, "BitTorrent Classic" which inherits the historical version numbering, and "BitTorrent Web", which uses its own version numbering.

Music Player Daemon (MPD) is a free and open source music player server. It plays audio files, organizes playlists and maintains a music database. In order to interact with it, a client program is needed. The MPD distribution includes mpc, a simple command line client.

<span class="mw-page-title-main">FrostWire</span> Free and open-source BitTorrent client

FrostWire is a free and open-source BitTorrent client first released in September 2004, as a fork of LimeWire. It was initially very similar to LimeWire in appearance and functionality, but over time developers added more features, including support for the BitTorrent protocol. In version 5, support for the Gnutella network was dropped entirely, and FrostWire became a BitTorrent-only client.

<span class="mw-page-title-main">Pando (application)</span>

Pando was an application which was mainly aimed at sending files which would normally be too large to send via more "conventional" means. It used both peer-to-peer and client-server architectures and was released for Windows and Mac OS X operating systems.

Free Download Manager is a download manager for Windows, macOS, Linux and Android.

Peer exchange or PEX is a communications protocol that augments the BitTorrent file sharing protocol. It allows a group of users that are collaborating to share a given file to do so more swiftly and efficiently.

qBittorrent Free and open source BitTorrent client

qBittorrent is a cross-platform free and open-source BitTorrent client written in native C++. It relies on Boost, Qt 6 toolkit and the libtorrent-rasterbar library, with an optional search engine written in Python.

Rainberry, Inc., formerly known as BitTorrent, Inc., is an American company responsible for μTorrent and BitTorrent Mainline. The company was founded on September 22, 2004 by Bram Cohen and Ashwin Navin. It was successful during the Great Recession under the leadership of CEO Eric Klinker. In 2018, the company was acquired by cryptocurrency startup TRON, and Bram Cohen left the company. In March 2022, the SEC charged Rainberry with fraud for selling cryptocurrencies Tronix (TRX) and BitTorrent (BTT) as unregistered securities.

The following is a general comparison of BitTorrent clients, which are computer programs designed for peer-to-peer file sharing using the BitTorrent protocol.

A seedbox is a high-bandwidth remote server for uploading and downloading of digital files from a P2P network. The bandwidth ranges generally from 100 Mbit/s to 20 Gbit/s. After the seedbox has acquired the files, people with access to the seedbox can download the file to their personal computers.

<span class="mw-page-title-main">Gatekeeper (macOS)</span> Security feature of macOS

Gatekeeper is a security feature of the macOS operating system by Apple. It enforces code signing and verifies downloaded applications before allowing them to run, thereby reducing the likelihood of inadvertently executing malware. Gatekeeper builds upon File Quarantine, which was introduced in Mac OS X Leopard and expanded in Mac OS X Snow Leopard. The feature originated in version 10.7.3 of Mac OS X Lion as the command-line utility spctl. A graphical user interface was originally added in OS X Mountain Lion (10.8) but was backported to Lion with the 10.7.5 update.

μTorrent Proprietary adware BitTorrent client

μTorrent, or uTorrent is a proprietary adware BitTorrent client owned and developed by Rainberry, Inc. The "μ" in its name comes from the SI prefix "micro-", referring to the program's small memory footprint: the program was designed to use minimal computer resources while offering functionality comparable to larger BitTorrent clients such as Vuze or BitComet. μTorrent became controversial in 2015 when many users unknowingly accepted a default option during installation which also installed a cryptocurrency miner.

<span class="mw-page-title-main">KeRanger</span>

KeRanger is a ransomware trojan horse targeting computers running macOS. Discovered on March 4, 2016, by Palo Alto Networks, it affected more than 7,000 Mac users.

OSX.Keydnap is a MacOS X based Trojan horse that steals passwords from the iCloud Keychain of the infected machine. It uses a dropper to establish a permanent backdoor while exploiting MacOS vulnerabilities and security features like Gatekeeper, iCloud Keychain and the file naming system. It was first detected in early July 2016 by ESET researchers, who also found it being distributed through a compromised version of Transmission Bit Torrent Client.

References

  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.4". 23 August 2023. Retrieved 24 August 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. 1 2 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. 1 2 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. [ 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.