FrostWire’s improved Magnet URI support (BEP 0009)


As of FrostWire +6.3.0 for Desktop, and FrostWire +1.7.4 for Android, all FrostWire clients can now interpret the new peer= parameter


Where <peer-address>…

<peer-address>A peer address expressed as hostname:port, ipv4-literal:port or [ipv6-literal]:port. This parameter can be included to initiate a direct metadata transfer between two clients while reducing the need for external peer sources. It should only be included if the client can discover its public IP address and determine its reachability. Note: Since no URI scheme identifier has been allocated for bittorrent xs= is not used for this purpose.

The immediate result of being able to pass and receive this parameter on magnet addresses is that FrostWire will try to include as many ip:port available it can find so that others can connect to your peer, try sharing files on your local Wi-Fi network now, vs doing the same on older networks.

We don’t know if other BitTorrent clients already support this parameter, therefore we suggest that when sharing Magnets from your computer, you tell the other party to use a new version of FrostWire and you’ll have a greater chance of connecting right away.

libtorrent team announces 1.1 release

Arvid Norberg, lead developer of libtorrent, the library FrostWire’s jlibtorrent wraps into has announced today a 1.1 release. In the paragraph’s below Arvid’s words from the BitTorrent developer mailing list.

You can get it here:


Since this major release has been in the works for quite a while, the
changelog is too long to include here. Instead, here are the highlights:

* disk I/O and piece hashing can now be done in multiple threads.

* The internal allocation of alerts is a lot more efficient now, and
requires alerts to be owned by libtorrent. The pop_alerts() function that
returns a container of raw alert pointers are owned by libtorrent and will
be freed by the subsequent call to pop_alerts(). The previous alert popping
functions will still be around when deprecated functions are enabled, but
they will cause more copying and likely have worse performance.

* experimental support for BEP 38 (mutable torrents). Basically this will
attempt to merge torrents that share files.

* there’s a new bdecoder which is a lot quicker than the previous
lazy_bdecode() ( )

* improved shutdown delay by canceling unimportant DNS lookups. (stalled
DNS lookups for tracker announces can cause significant delays when
shutting down).

* verbose logging is now done through alerts (which is possible now since
alerts are a lot more efficient). This means a production build can have
logging enabled at compile time, and enabled on demand when trouble

* SSL over uTP connections is now supported.

* settings of various kinds have moved into the session_settings structure
(proxy settings, listen-interface, protocol encryption). A session can now
be constructed from a session_settings object, allowing for single-phase
initialization. (no more setting settings on the session object right after
constructing it).

* support for part-files. This is still a bit rough on the edges. Files
with priority 0, will have their pieces stored away in a single
consolidated file of partial pieces.

* there’s been countless scalability improvements. It’s possible to seed
tens of thousands, if not hundred of thousands torrents in a single
libtorrent instance. (Just make sure to use efficient APIs when interacting
with such instance, to not make yourself the bottleneck).

* A lot of build configuration defines have been removed or moved out of
public headers (to not affect ABI), as ABI incompatibility caused by
configuration options is a common mistake.

API compatibility:

I’ve tried hard to keep this release API compatible the the 1.0.x series.
If you find a function that behaves differently in 1.1, please file a
ticket on github or bring it up on the mailing list. There are definitely
cases where using deprecated APIs will have worse performance now (because
they’re implemented on top of a new, higher performance, API).

There are some noteworthy exceptions though, that were hard to keep

* Instead of using boost.intrusive_ptr<> for torrent_info objects,
boost.shared_ptr<> is used. (this is a step in the direction of adopting

* the storage_interface has changed, to support multi-threaded disk I/O.

* the declarations of some functions and classes have been factored out
into their own header files. You may find yourself having to include some
new headers.

Deprecated features:

* deprecated adding torrents by URL. This feature introduced a lot of
complexity and does not fit well at the libtorrent layer. It’s often easier
for a client to download a .torrent file anyway, and then add it to

* sparse-regions feature was removed. This was a feature that attempted to
keep the number of extents per file low, to circumvent a bug in early
versions of vista.

* deprecated RSS feeds. The API for RSS feeds was awkward and did not fit
well with libtorrent. It’s likely easier for clients to use a separate RSS
feed library.

* deprecated lazy_bdecode and lazy_entry, as it’s been replaced by
bdecode() and bdecode_node.

* deprecated time functions in favor of using boost.chrono.

* compact file allocation was removed (it was deprecated in 1.0 iirc)

* deprecated explicit cache feature

* deprecated resolve-countries feature (not in scope of libtorrent, can
easily be done by client)

* deprecated set_tracker_login() (to use basic auth with http trackers).

* deprecated session_status, cache_status and session::status() (use
post_session_stats() instead)

What is a torrent?

FrostWire utilizes torrents to accomplish peer to peer file sharing. There seems to be a lot of confusion on what a torrent is and how it is used.

First, let’s consider how files are organized and accessed. Any file can be considered as a string of bytes, starting at one and going to the end of the file. In most files systems, data can be read and written to a specific point in the file by using the character number, which can be expressed in many ways, but that’s not your problem. If you want character 10, ask the file system to give you character 10, and you don’t care how that happened.

You can think of torrents as two basic types: File torrents and Folder torrents. A file torrent names one file and only one file. If you wanted to obtain an album of 20 songs, you’d have to use 20 different torrents, if you used file torrents.

A folder torrent describes all of the data in a folder, which can include sub-folders. If an album of 20 songs is contained in one folder, that one torrent will allow you to obtain that entire album. Some torrents can contain a primary folder containing sub-folders, each containing many files. Torrents containing over a thousand files are NOT uncommon.

Even with a folder torrent, there is provision to select specific files and exclude others from the download process. This can vary from program to program. For FrostWire, its fairly easy and covered in many help articles.

The key is that a torrent is NOT the data that you want. It is a description of the data you want. Torrents are created by torrent programs. They organized the data into chunks and provide a data map of the file structure, based on those chunks, so that data matching the torrent description can be read and written, randomly, from the disk.

Because the data can be read and written randomly you can send to and receive from multiple people at one time. This means that the data describe by a torrent MUST be and remain unchanged on the disk, once the torrent is made. If the data is changed, it will invalidate the torrent and cause errors, which the system will catch and attempt to deal with, usually by disabling the offending torrent.

Each torrent can be identified by a unique hash total of the data layout. The hash description is not so large as to be difficult to handle, but is large enough to make generation of the same hash from different data almost impossible.

The hash is considered a unique identifier for each torrent and is the mechanism that torrent programs use to exchange information about who has what torrent.

Here are some facts.
A torrent contains NO data from the files it describes. It only contains a mapping of the way the data is organized on disk.

A torrent has NO information about who has the file described. If someone decides to share files from a torrent, the torrent program will advertise the hash, and those looking for that file will be so informed.

New FrostWire Plus (1.6.5) for Android released

Download FrostWire Plus 1.6.5 for Android now

This release makes FrostWire for Android compatible with the new Android 6 Marshmallow release. Now when FrostWire starts up for the first time, Android 6 users will be explicitely asked to let FrostWire have disk access to media files.
This is only asked once and this annoyance is there thanks to your friends at Google.
As a result FrostWire will no longer crash on startup on Android 6 devices.

Integration with search engines such as SoundCloud, TPB, BTJunkie, Torlock and TPB has been fixed.

A very annoying usability bug on which searches would appear never end has finally been fixed, we had users waiting for searches to end for over 12 hours!!! when all they had to do was click on other search result tabs to notice that the search had ended, but this was completely our fault.

Multiple rare crash fixes on the music player will continue to make the app more stable as we continue reach new lower records on daily crash reports.

Fixes a bug where FrostWire wouldn’t know how to open finished .apk files from the “Transfers” screen.

New .APK search result icon

Apk search results icon is now an Android head, many users would think the former gear icon represented “settings”, our bad. Thanks for the feedback.

Let’s grow the community!

There’s a new “Keep In Touch” dialog after the installation wizard, we’d like to grow our community, many people think FrostWire is dead, but we never left, thanks media.

New: Copy Magnet, Copy InfoHash

We’ve added a couple of advanced torrent actions for users that may want to know the infohash of a torrent, or who may want to share the magnet link of a torrent with a friend for sharing content.

New “Help” menu entry

Updated Spanish, Polish, Croatian translations.

FrostWire 6.15 brings back 32bit compatibility to Linux

The new FrostWire 6.1.5 installer for Linux is a universal architecture binary.


The installer is now a bit bigger since we include 2 copies of our C++ native libraries, one for 32bit another one for 64bit intel cpus.

FrostWire will automatically pick up your architecture and use the right DLL.

We highly recommend you run the latest version of Oracle’s Java Runtime 1.8, preferrably the one for your CPU.

Thanks For Your Support In 2015

If you told a friend about FrostWire, RTed one of our posts, liked or shared on FB, sent us a donation, bought some gear on the FrostWire store, or used FrostWire this year, a million thanks for your support, we really appreciate it!

thank you

Thanks to your support we’ve been able to survive lots of obstacles put in front of us in 2015, along the way we made some technological breakthroughs and created a new open source Java library called “jlibtorrent”,
the goal is to put the powerful, lightweight and efficient libtorrent library into the hands of Java programmers worldwide to quickly be able to develop apps and services of enterprise quality taking advantage of the decentralization powers BitTorrent brings to the table in much less time than coding and building binaries with C/C++.

Through the use of this library we were able to bring the number of crashes to an all time low and we’ve increased user satisfaction on both FrostWire for Desktop and FrostWire for Android.
Best of all, several other projects have started using jlibtorrent on android, linux, and even set top box software, some of them are already contributing to the source code with patches, feedback, questions and feature requests.

Next we’ll share all of the work we were able to do this year thanks to your support on both FrostWire for Desktop and FrostWire for Android.
If you don’t have time to scroll through all the changes, just know that we’re just getting started and we’re keen and focused on building the best file sharing clients of the planet thanks to your support.

frostwire (6.1.5) stable; urgency=high
* New http engine based on okhttp, uses pooled connections, less threads,
less memory. Faster and more reliable search & cloud downloads.
* libtorrent/jlibtorrent core update (v
* Fixes KAT search.
* Fixes Bitsnoop search.
* Fixes EZTV search.
* Removes Radio functionality from Library.
* When the search options are opened, the keyword textfield is autofocused.
* Java Runtime upgrade to v1.8.0_60.
* Codebase cleanup and refactors.

— FrostWire Team <> Thu, 25 Sep 2015 11:04:00 -0500

frostwire (6.1.4) stable; urgency=high
* libtorrent/jlibtorrent core update (v
* Torrent settings issues fixed.
* Fixes TorLock search.
* Considerably faster search source processing (new regex engine).
* Fixes YouTube search.

— FrostWire Team <> Aug, 14 Jul 2015 16:15:00 -0500

frostwire (6.1.3) stable; urgency=high
* libtorrent/jlibtorrent core update.
* downloads are pausable/resumable.
* Soundcloud search & download API update.
* Hungarian translation update.
* Simplified seeding settings. No more need to treat handpicked/partial
downloads differently with jlibtorrent updates.
* Fixes crash when setting default save folder to the root
of a drive.

— FrostWire Team <> Wed, 29 Jul 2015 10:04:32 -0500

frostwire (6.1.2) stable; urgency=high
* Search performance improvements. New RxJava-based implementation.
* Search box suggestions improved.
* New Check/uncheck all search engines checkbox.
* TorLock search fixed.
* Added SSL (https) support for torrent web seeds.
* Options window remembers last pane opened.
* Fixes painting issues when searching Starred audio files on the library.
* frostwire-jlibtorrent library updates.
* Library user experience bug fixes.

— FrostWire Team <> Wed, 24 Jun 2015 11:44:00 -0500

frostwire (6.1.1) stable; urgency=high
* TPB search fixed.
* KAT search fixed.
* Monova search fixed.
* Bitsnoop downloads fixed.
* BTJunkie downloads fixed.
* EZTV search engine removed after scammers took over.
* YouTube search fixes for non-english users.
* Russian translation update.

— FrostWire Team <> Tue, 12 May 2015 15:20:28 -0500

frostwire (6.1.0) stable; urgency=high
* YouTube search fixes.
* Domain alias manager removed.

— FrostWire Team <> Thu, 7 May 2015 14:31:08 -0500

frostwire (6.0.9) stable; urgency=high
* Jlibtorrent updates.
* Crash fixes.

— FrostWire Team <> Tue, 5 May 2015 10:30:00 -0500

frostwire (6.0.8) stable; urgency=high
* Significant improvements in search result availability.
* Faster Bitsnoop, Extratorrent and KAT individual file search results.
* Reduced use of DHT network for search.
* Faster torrent download start time.
* Fixes download error on some search results.
* Fixes Yify search.
* Misc fixes in Library functionality.
* Crash fixes.

— FrostWire Team <> Fri, 24 April 2015 04:44:00 -0500

frostwire (6.0.7) stable; urgency=high
* New feature: Preview while you download.
* Memory and CPU savings when parsing search results on some search engines.
* BTJunkie fixed.
* TPB search fixed.
* KAT search fixed.
* Monova search fixed.
* Fixes bug where soundcloud, audio downloads would not be automatically
be scanned by iTunes.
* Croatian translation updates.
* Torrent creation and parsing now done using frostwire-jlibtorrent api. More
Azureus cleanups.
* Fixes run on startup issue on Windows. Thanks to @win32re.
* Upgraded java virtual machine to 1.8.0_40 with hundreds of fixes and upgrades.
* Upgraded H2 database engine.
* Upgraded frostwire-jlibtorrent to the latest code from libtorrent.
* UX-improvement: A repeated search will honor active search engines.

— FrostWire Team <> Wed, 08 April 2015 22:24:00 -0500

frostwire (6.0.6) stable; urgency=high
* Fixes bug where default save location for torrents would not be accounted for.
* New: When changing default save location, any ongoing torrent transfers are
moved to the new location.
* Romanian and Finnish translation updates.
* New: Option to turn off Bittorrent DHT.
* YT search upgrades.
* New: Supports shortened url searches.
* OSX: When shutting down to start the installer for an update
now the window is focused to make sure the user doesn’t get lost during the
update process.

— FrostWire Team <> Thu, 17 February 2015 14:44:30 -0500

frostwire (6.0.5) stable; urgency=high
* Fixes out of memory crash and freeze when importing lots of songs from the FrostWire
library to iTunes.
* Removed Litecoin and Dogecoin from torrent creation dialog, Bitcoin and payment
urls only. Litecoin and Dogecoin are pretty much dead compared to Bitcoin.
* Remove Download and Data now enabled for http downloads too.
* Fixes possible errors for SoundCloud downloads.
* Updates on Hungarian and Romanian translations.
* Fixes YT search issues.
* New mplayer binaries with HTTPS support.

— FrostWire Team <> Wed, 28 January 2015 14:18:12 -0500

frostwire (6.0.4) stable; urgency=high
* Implements torrent loading algorithm to avoid CPU overuse when checking
torrent integrity.
* When transfers are finished they no longer show as ‘Paused’,
they show as ‘Finished’.
* Fixes issues with incomplete files.
* Fixes issues importing too many songs to iTunes playlist.
* Fixes issue on which adding a whole torrent after starting a partial
download would not merge the two and continue to download the rest
of the torrent.

— FrostWire Team <> Fri, 16 January 2015 14:31:06 -0500


FrostWire 1.6.4 – SEPTEMBER/24/2015
– New http engine based on okhttp, uses pooled connections, less threads, less memory.
– Visited previews also marked as visited and remembered during session.
– Fixes SoundCloud.
– Fixes KAT search.
– Fixes BitSnoop search.
– Browse and manage your .torrent files.
– Browsing document files now reveals all saved .apk files.
– Multiple crash fixes on audio player.
– No more annoying yellow notification messages when removing tracks.
– UX: My files won’t forget your search filter if you overscroll for a refresh.

FrostWire 1.6.3 – SEPTEMBER/06/2015
– Upgraded Picasso library for image caching.
– Code/library cleanup.
– New ‘Remove Torrent and Data’ action on finished torrent transfers.
– Clicked search results are marked as visited and remembered during session.
– jlibtorrent update, rebuilt with new swig library, memory optimizations, crashes fixed.
– Fixes EZTV, BtJunkie search.
– Fixes issue where torrent downloads would start on 3g/4g disregarding setting.
– Multiple crash fixes on audio player.

FrostWire 1.6.2 – AUGUST/14/2015
– Multiple crash fixes on audio player.
– Updated jlibtorrent library to version
– Improvement of file type selector look, better layouts for tablets.
– FrostWire Plus YouTube search fixed.

FrostWire 1.6.1 – AUGUST/10/2015
– Fixes TorLock search.
– Crash fixes on libtorrent/jlibtorrent.
– Considerably faster search source processing.
– Search engines maintenance fix high cpu usage.
– Brings back “Send to/Upload” feature. Deleted by mistake.

FrostWire 1.6.0 – AUGUST/03/2015
– Streaming Previews on search results before download. (FrostWire Plus only)
– Play .torrent media files while downloading.
– Upgrade bittorrent engine to jlibtorrent 1.0
– Updated SoundCloud search & download api.
– Improved search suggestions.
– Improved transition between My Music and Home screens.
– Multiple crash fixes in music player.

FrostWire 1.5.8 – JUNE/16/2015
– Search performance improvements.
– Issues where subsequent searches would stop working fixed.
– TorLock search fixed.
– Added SSL (https) support for torrent web seeds.
– Icons/graphics update.
– New ‘Rate us’ reminder notification.
– WiFi sharing functionality removed. Less than 0.2% of the user
base making use of this, despite multiple rewrites we never
managed to get it to work 100% of the time.
– frostwire-jlibtorrent library updates.

FrostWire 1.5.7 – MAY/15/2015
– KAT search fixed.
– Monova search fixed.
– EZTV search fixed.
– Bitsnoop downloads fixed.
– BTJunkie downloads fixed.

FrostWire 1.5.6 – MAY/08/2015
– Further YouTube search fixes for non-english users.

FrostWire 1.5.5 – MAY/07/2015
– YouTube search fixed. (FrostWire Plus only)
– Domain alias manager removed.

FrostWire 1.5.4 – MAY/04/2015
– Crash fixes.
– Major icons make over. Crisp look on higher density screens.

FrostWire 1.5.3 – APRIL/23/2015
– Crash fixes.
– Reduced installer size to 7.6 MB.
– Lollipop compatibility fixes.
– Bitsnoop search faster for individual files.
– Binary Optimizations.
– libtorrent updates.
– Spanish, Portuguese, Polish translation updates.

FrostWire 1.5.2 – APRIL/17/2015
– Significant improvements in search results for individual files.
– Significant reduction of DHT queries, freeing up networking resources.
– Faster torrent download start.
– Fixes download error on some search results.
– When no search results are found, search suggestions are calculated from search keywords.
– Fixes Yify search.
– Icon/buttons refresh on transfer screen.
– Fixes issues with SD Card storage on Android 5.0 (Lollipop)
– FrostWire notification icon now Lollipop compatible.

FrostWire 1.5.1 – APRIL/07/2015
– Removed all notifications explaining why no more YouTube search results on Basic version.
– Updated about screen to denote what FrostWire distribution is installed.

FrostWire 1.5.0 – APRIL/03/2015
– Upgraded frostwire-jlibtorrent to the latest code from libtorrent.
– Users can now donate to torrent creators, both Fiat and Bitcoin when available.
– TPB, BTJunkie, KAT, Monova searches fixed.
– New Bittorrent setting to enable/disable DHT connectivity.
– YouTube search disabled for Google Play distribution.
– Fixes annoying bug where user would be notified for old finished downloads.
– Fixes bug where songs that were deleted were not being cleared from playlists.
– Fixes bug where removing last song from Favorites playlist would not clear.
– Fixes bug where it would show “Play All” menu action on empty playlists.
– Fixes bug where sharing on WiFi from certain 3rd-party file explorers wouldn’t work.
– Fixes bug where file descriptors fetched by content:// uris wouldn’t have a disk path available.
– Fixes 2 crashes on music player.
– Chinese, Polish, Spanish translations update.

FrostWire 1.4.9 – MARCH/03/2015
– New KAT search.
– Fixed BTJunkie search issues causing ANR crashes.
– Fixed Mininova search. Few results coming in due to low seed numbers.
– Removed Appia Search.
– Clean up: Removed Appia, RevMob, Google In-App purchasing libraries.
– Updated Croatian translation. Thanks @win32re.
– Refactors, cleanup, misc fixes.

FrostWire 1.4.8 – FEBRUARY/25/2015
– Fixes YT file save issue.

FrostWire 1.4.7 – FEBRUARY/23/2015
– TPB search fixed.
– Monova search fixed.
– Removed Support FrostWire controls.
– SoundCloud download issue fixed.
– RevMob integration.
– Crashes and bug fixes.
– Croatian translation update.

FrostWire 1.4.6 – FEBRUARY/09/2015
– Fixes issue where finished torrents would re-download the last pieces on startup.
– Updated Picasso image caching library.

FrostWire 1.4.5 – FEBRUARY/06/2015
– Youtube search improvements.
– Removed search, service was shutdown.
– Fixes issue when removing last song on a playlist.

FrostWire 1.4.4 – JANUARY/29/2015
– Finished transfers no longer should show as paused.
– Fixes issue adding a whole torrent after having added a single
file belonging to that same torrent to transfers. Now the whole
torrent will be downloaded as expected.
– Fixes Out of memory errors on MobileCore library.
– Fixes possible crash when exiting the app right after launching it.
– If storage location has ran out of space available FrostWire
will show a descriptive error message explaining why the download
has failed.
– Removes free apps ads from home page and sticky ads on transfer screens.
– Fixes issue where toast about shared file would not go away.
– Fixes settings screen issue where some android devices would automatically
toggle the BitTorrent connection.
– Fixes issues with YouTube search.
– Urdu translation started.

FrostWire 1.4.3 – JANUARY/05/2015
– Player un/favorites current track on double tap. Thanks @votaguz.
– Music Player database errors reported fixed.
– MobileCore ads integration. Ads can be turned off under settings.

If you have any ideas on how to make FrostWire better check out the new

If you’d like to get some FrostWire stickers to help spread the word, please order them here (shipping is free in the US)

If you haven’t already, please join us on Facebook

Got Twitter? keep in touch, complain or send us some love at @frostwire.

Also, If you’re geeky enough like a few people in the community, perhaps you want to try FrostWire for Android betas, you get to test the software and help us fix it before anybody else, oin us here:!forum/android-frostwire

Cheers and Thanks!,
Angel, Team FrostWire

New FrostWire 1.6.4 for Android is here.

Download FrostWire Plus, free, now.

(If you are on Android right now, don’t download it with Chrome, as Google now wants to censor out apps outside of Google Play and it will not open the installer after you download it, use Firefox instead, or a use File Explorer to open the .apk installer after you have downloaded it)


Saturday, Sep. 26th 2015
Miami, FL.

We have replaced our web engine and now we have an even better app.
This means, faster search results, faster-more reliable cloud downloads and previews, less memory usage, less battery usage.

We’ve also fixed several search sources, SoundCloud, Bitsnoop and KAT are back.

There’s also a ton of user experience details we’ve taken care of that we hope you don’t even notice, as everything should just work.

FrostWire is 100% Free, Support FrostWire Developers with a donation today

FrostWire 1.6.4 – SEPTEMBER/24/2015
– New http engine based on okhttp, uses pooled connections, less threads, less memory.
– Visited previews also marked as visited and remembered during session.
– Fixes SoundCloud.
– Fixes KAT search.
– Fixes BitSnoop search.
– Browse and manage your .torrent files.
– Browsing document files now reveals all saved .apk files.
– Multiple crash fixes on audio player.
– No more annoying yellow notification messages when removing tracks.
– UX: My files won’t forget your search filter if you overscroll for a refresh.