WinMX
WinMX (Windows Music Exchange) is a freeware peer-to-peer file sharing program authored in 2000 by Kevin Hearn (president of Frontcode Technologies) in Windsor, Ontario (Canada). According to one study, it was the number one source for online music in 2005 with an estimated 2.1 million users. "Frontcode Technologies" itself abandoned development of WinMX in September 2005, but developers brought the service back online within a few days by releasing patches. WinMX continues to be used by a community of enthusiasts. Kevin Hearn released "Tixati" in 2009 and "Fopnu" in 2017. "Fopnu" is a client and a network  with some similarities to WinMX. In 2021, he released DarkMX, a serverless file sharing client with built-in privacy preserving features and a built-in TOR client, as well as the ability to host a .onion file-sharing that is reachable via the TOR Browser. History. Beginnings. WinMX began its life as an OpenNAP client capable of connecting to several servers simultaneously. "Frontcode Technologies" later created a proprietary protocol, termed "WinMX Peer Network Protocol" (WPNP), which was used starting with "WinMX 2" in May 2001. "Frontcode Technologies" had operated several peer cache servers to aid WPNP network operation. Downloads can  be very fast for popular songs since the user can run a "multi-point download" that simultaneously downloads the same file in small pieces from several users. The WinMX program houses a few built-in features such as bandwidth monitoring, short messaging, and hosting chatrooms and functions as an OpenNap client. Users could negotiate an exchange of their files with the help of the short messaging system or chat. After the transfers start, each has the option of selecting bandwidth for the other to make sure both transfers end more or less at the same time. Closure of "Frontcode Technologies . On September 13, 2005, Frontcode Technologies" received a cease and desist letter from the "Recording Industry Association of America" demanding that they either implement filters to make it impossible for users to download copyrighted material from WinMX, or shut down. On September 21, 2005, the WinMX homepage and "Frontcode Technologies"' peer cache servers (central servers essential for the "WinMX Peer Network") went offline. Resurrection. By September 23, 2005, users were able to download two unofficial patches for WinMX from two unrelated websites. These patches worked by modifying the DNS lookup WinMX uses to find peer caches. When WinMX tries to  find the "Frontcode Technologies"' peer caches, it is instead directed to look up one of the new peer caches set up by the WinMX communities. In 2008 a new patch was released to coincide with the third anniversary of the two previous patches' release date. Known as the "WinMX Community Patch", it was created through the joint effort of an independent, third-party programmer and the cooperative input and testing from the two communities. Supported and available for download by both groups, it is intended to replace the previous patches being used, allowing all users to once again connect to  a single set of peer caches, unifying all users for the first time since the official closure of WinMX in 2005. Network attacks. Commencing in May 2011, the WinMX network had been under protocol level attack from a disgruntled community developer (program hacker) who disagreed with those operating the network support infrastructure (user support forums & peer cache operators). As a result of those attacks the WPNP network searches would return random query results (alongside relevant results) that were unrelated to the specific term searched for, and also users were unable to receive a full chat room list. A web based  WinMX Chat Room List was set up for users to retrieve a full room list, and also offered the ability to manually add chat rooms to the web list. In addition to offering a live list of chat rooms, it also offered a one click solution for joining chat rooms in WinMX via the web page itself with the WinMX Link Handler. As mentioned above, the protocol level attacks have ceased and the network has been operating normally albeit with a reduction in network users; it's currently too early to assess the percentage of "lost" users but it most  certainly exceeds several thousand and may act as a warning for other P2P networks that have protocol weaknesses that can be exploited. Tixati and Fopnu. In 2009, Kevin Hearn released "Tixati", an ad-free freeware P2P file sharing program based on the "BitTorrent" protocol, enhanced with a channels function where users can chat, share lists of web and media links, stream audio and video media, with all communications being encrypted. In 2017, Kevin Hearn released "Fopnu", a client and network with some similarities to "WinMX". "Fopnu" is a decentralized network with the latest advances in P2P technology, pure UDP and  with all communications being encrypted. The ad-free freeware client includes chat rooms, contacts list (with private messages), search windows, browsing of a contact's library and creation of contacts groups (to control access to your library). Sharing massive amounts of files is much easier (than creating a lot of "Torrent" files) and has very little overhead. Function. There is an upper limit to the size of files that can be shared : 2 GB. This design decision was to maintain Windows 98 support. The program runs also on "Windows XP", "Vista", "7", "8" and "10", as long as the relevant  Microsoft C++ run time libraries are present. It runs on Linux under Wine. To get started, users connect to the "WinMX Peer Network" (WPN) either as a primary or secondary user. A majority of the functions on the WPN are available to both users, but primary users need to spend more bandwidth, tend to have better connections, and have the ability to host chat rooms. Secondary users use very little idle bandwidth, but their prolonged connection to the network is not always stable. Sharing files in WinMX. WinMX users can share nearly every type of file using the network. The  most common file types such as audio, video, images, and archive files are available by default, and all others could be configured in the program's settings. WinMX has a file-size restriction limiting shared files to 2GB in size. A user can also only share 5,000 visible files for a Primary connection (unknown if other files would be shared but not listed), and 3,000 files (maximum sent to the primary) for a Secondary connection. These limitations do not apply on OpenNap servers. Searching for files. Users can search for almost any file in WinMX. When a user sends  out a search, the search is spread throughout the network. If a file is found, the hash of the file along with IP address and Primary node details of the user with the file is sent to the user who made the search. Searches can also be made with hashes instead of words and numbers. Chatting. WinMX allows a person to host chatrooms with its built-in Chat function. There are some rooms reserved for chat, some for trading files, and some which allow both. At its height WinMX typically had around 1,500 to 2,000 chatrooms at any given time  in a multitude of languages. WinMX also allows its users to message each other using its Private Message function regardless of whether or not they were in the same chat room or are downloading from/uploading to each other. However, settings allow any user to block messages from users if they choose. It is also possible to host chatrooms in languages other than English, such as Japanese, German, French and Italian. OpenNap. WinMX started out as a Peer-to-Peer program that connected to OpenNap servers. It can still connect to many OpenNap servers. These servers enable users to connect  to a wider userbase and also receive many more search results. Two advantages of running OpenNap is the ability to have a permanent list of friends called a hotlist and the ability to display an unlimited number of files for sharing. Translations. WinMX is natively English, but language files can be installed to translate menus into the following languages: Chinese, Dutch, Finnish, French, German, Greek, Hungarian, Italian, Japanese, Norwegian, Polish, Portuguese, Russian, Sardinian, Spanish and Swedish. A fair number of the chat rooms are in German, Dutch or Italian. In 2002, the Recording Industry Association of Japan releases a report  finding 84% of Japanese who had used file sharing software reported using WinMX, mainly to share J-pop mp3's. WinMX continued to be the main file sharing client in Japan until it was overtaken by Winny and LimeWire in 2007. Even as late as 2013, Palo Alto Networks was finding that WinMX was the 6th most popular network in Japan. Third-party programs. In addition to the program and patches, developers and WinMX users created third party programs to either enhance the chat room function or to control uploading by other peers. Chat. Most of the software was made  by third-party developers for use in the WinMX chat rooms. They include bots, servers to host rooms, and plugins. Bots were used in the chat rooms to either make it more lively, introduce games, or to moderate users, maintain lists of the files a user in a chat room has, and more. Other plugins performed automatic functions including displaying music files currently playing on the user's computer and aid in posting colored ASCII pictures in rooms. Third party chat servers were used primarily to host chat rooms on the network. This is because of the improved administration systems  in third party servers as well as the ability to host a chat room without having to use the winmx client. Some Third party chat clients also contained useful shortcuts or menus to make administrating a channel easier. For normal users, chat clients or the WinMX client itself could be used to view rooms independently of the server. Web listings of the chat room were also available. Upload managers. Upload managers (MxMonitor and Leechhammer) can be used to control the upload rate of peers and can block certain kinds of peers from downloading, including those who do not share any  files. Replacement clients. An initial project called WinPY attempted to make a replacement open source WinMX client. The WinPY project was the most successful replacement client project as a preview alpha version with limited basic functionality was released; however, it quickly stalled due to lack of interest. There have also been several attempts to start new projects to create replacement clients however most have stalled before releasing anything fully completed. One project announced on a major WinMX community site was initially scheduled to be released in November 2012, however there were many published delays due to lack of skilled programming  support. The project was finally released to public testers as a beta version on September 22, 2013, and under a new name (OurMx) and further releases will continue to be made prior to a formal client release. Historical information regarding the OurMX client progress can be viewed by following the link below.