New jlibtorrent/libtorrent 1.2.10.0 library

Code BitTorrent apps in Java for Android, Desktop and Servers with the official Java Wrapper for libtorrent 1.2.10.0

1.2.10.0

  • libtorrent 1.2.10 update (70f1de3f7ec4012aaea420ff150ef0135d397706)
  • lt: improve stat_file() performance on Windows
  • lt: fix issue with loading invalid torrents with only 0-sized files
  • lt: fix to avoid large stack allocations
  • lt: add macro TORRENT_CXX11_ABI for clients building with C++14 against
    libtorrent build with C++11
  • lt: removed deprecated wstring overloads on non-windows systems
  • lt: drop dependency on Unicode’s ConvertUTF code (which had a license
    incompatible with Debian)
  • lt: fix bugs exposed on big-endian systems
  • lt: fix detection of hard-links not being supported by filesystem
  • lt: fixed resume data regression for seeds with prio 0 files
  • compiler update: g++-5 -> g++-7

jlibtorrent-1.2.10.0-javadoc.jar 2.51 MB
jlibtorrent-1.2.10.0-sources.jar 408 KB

Java Classes (required)
jlibtorrent-1.2.10.0.jar 675 KB

Then include the jar with the JNI bindings as you need for your architecture

Android 32bit
jlibtorrent-android-arm-1.2.10.0.jar 2.36 MB
jlibtorrent-android-x86-1.2.10.0.jar2.72 MB

Android 64bit
jlibtorrent-android-arm64-1.2.10.0.jar 2.42 MB
jlibtorrent-android-x86_64-1.2.10.0.jar2.7 MB

Windows 64bit
jlibtorrent-windows-1.2.10.0.jar4.71 MB

macOS 64bit
jlibtorrent-macosx-1.2.10.0.jar 2.19 MB

Linux 64bit
jlibtorrent-linux-1.2.10.0.jar5.62 MB

Write runtime libtorrent plugins with Java using frostwire-jlibtorrent #FrostWireLabs

We’ve just pushed upgrades to the frostwire-jlibtorrent API that will allow developers to extend and interact the Bittorrent protocol at a lower level through the implementation of libtorrent plugins.

Before today, a libtorrent plugin developer had to code plugins in C++ and rebuild the libtorrent library binaries for the architectures on which the plugin was meant to be used.

We think that non-bittorrent higher level abstractions (e.g. Bitcoin+Bittorrent integration) that need to occur near the core of the bittorrent protocol can be more easily coded, tested and debugged in a language like Java, without having to touch nor recompile the libtorrent libraries.

Today we’ve made available a new portion of the frostwire-jlibtorrent API that allows you to do this without all the C++ development headaches, you just focus on your plugin logic, and your code will also be available in all platforms with the same .class files.

Here’s an example of a dummy libtorrent Plugin implemented in Java using frostwire-jlibtorrent

To create a Plugin all you need to do is extend the AbstractPlugin class, whose newTorrent method will ask you to provide a TorrentPlugin interface implementation, this is meant to be a plugin instance that takes care of what happens when a torrent is added to the libtorrent session.

We provide an AbstractTorrentPlugin class for you to extend and as you do this you may or may not need to provide your own implementation of the TorrentPlugin::newPeerConnection method, which is meant to return a PeerPlugin, a plugin instance that takes care of what happens for every Peer connection, where probably most of your plugin logic will occur. We also provide an AbstractPeerPlugin implementation that you can extend.

Once you have your plugin ready to go, you can add it to the session with session.addExtension(myPlugin) and all torrents added to the session will invoke hooks that could be handled by your plugin implementations.

New FrostWire 6.0.7 out, now with Preview while you download

Download FrostWire 6.0.7 for Windows
Download FrostWire 6.0.7 for MacOSX
Download FrostWire 6.0.7 for Linux

Screen Shot 2015-04-08 at 11.40.04 PM

One of the most requested features after Gnutella support was dropped over BitTorrent has been the ability to Preview the contents of a media file while it’s being downloaded. As of 6.0.7 FrostWire tries its best to collect download data to let you preview the file while it’s still being downloaded while not hurting the performance of the torrent’s swarm (sequenced piece fetching is done only for a very limited time or data amount depending on the download’s characteristics, once enough pieces are in for a preview the torrent resumes non-sequence downloading mode).

Download Previews are also available for most cloud (http) downloads.

Several search engine providers were fixed, including TPB and KAT, along with numerous upgrades and optimizations, including a refresh with the latest updates from the libtorrent project to make the torrent downloading experience the best out there.

Full Changelog
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, archive.org 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 <contact@frostwire.com> Wed, 08 April 2015 22:24:00 -0500

FrostWire is a free, 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 BitTorrent support. In version 5, Gnutella support was dropped entirely, and FrostWire is only a BitTorrent client. Development of the program has been active since the program was first released in September 2004.

New FrostWire for Android 1.5.0

Download FrostWire for Android 1.5.0

This new FrostWire for Android release includes the latest improvements from libtorrent to make BitTorrent downloading faster and more energy efficient than ever.

TPB, BTJunkie, KAT and Monova search sources have been fixed for much better search results.

donation-icons

FrostWire for Android now recognizes Bitcoin and web tipping/donation addresses on compatible .torrents

Several bugs and crashes on the music player were fixed, and the Chinese, Polish and Spanish translations of the app were updated.

Users getting the app on Google Play will know that YouTube search has been disabled in order to comply with Google Developer Rules, those users looking for a full version of the app can download “FrostWire Plus” at frostwire.com/android

FrostWire 1.5.0 – APRIL/03/2015

– Upgraded frostwire-jlibtorrent to the latest code from libtorrent.
– TPB, BTJunkie, KAT, Monova searches fixed.
– Users can now donate to torrent creators, both Fiat and Bitcoin when available.
– 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 Wins 2nd Place at Miami Bitcoin Hackathon with decentralized shopping marketplace

This weekend our 2 lead developers spent 28 hours hacking away to bring home the silver at the Miami Bitcoin Hackathon organized by BitStop and Blockchain Beach.

hackathon-2nd-place

FrostWire’s project was built using the frostwire-jlibtorrent library and the Bitpay API to create a proof of concept for a p2p shopping marketplace called Seller.Trade on which customers pay with bitcoins.

Seller.Trade home page

End users just need a Bitcoin wallet to pay and web browser to search for products available, and sellers run a server side p2p app that connects to other sellers that participate in the network using the BitTorrent Mainline DHT. Nodes help route searches and products announced.

Seller.Trade search result page

We intend to create a binary release for Linux servers in the coming weeks and see where this experiment takes us.

SellerTrade product page

The project is very simple and it allows anyone in the planet to start their own store on line and accept Bitcoin payments, with the twist, that all the stores are connected to each other using a combination of the Mainline DHT we use for decentralized torrent tracking and an HTTP Rest API.

Check out our presentation to the judges (We finished early and made a video to not leave the presentation to improvisation and Murphy’s whims, and also so the world could see it anytime later on)

And here’s us accepting the prize (In bitcoins of course)

and now it will be in front of our desk to make us proud 🙂

10917564_10153018041182863_463409118_n

question… since you’re still reading all the way down here.

Would you like to see FrostWire yield search results of products that you could buy with Bitcoin?

Would you like to sell things using your own store server without paying any listing or comission fees?

Should we make Seller.Trade into a real world product?