Hacker News new | comments | show | ask | jobs | submit login
Baretorrent: minimalist open-source Bittorrent client (baretorrent.org)
99 points by soundsop on Oct 27, 2013 | hide | past | web | favorite | 73 comments

This is an interesting space to watch. Over the years, we've seen the cycle happen half a dozen times, where the dominant Bittorrent client gets too big, bloated, and spywarish so somebody introduces a new one with an intentionally silly name meant to evoke just how tiny, pico, µ, (or in this case bare) it is and how it will never ever bloat out like that thing it replaced.

Then it starts adding features. Then it starts getting big. Then somebody starts offering enough ad money that maybe the idea of a tiny little banner ad isn't such a bad idea after all. Then a few years go by, somebody discovers a rootkit in the installer for the 300mb version, and gets annoyed enough to once again implement the protocol in 22kb, name it "scrunchyTorrent" and release it.

It's quite fascinating.

Both qBittorrent and deluge both already fill this open source, minimalistic libtorrent space. There's actually over 20 other GUIs for libtorrent.[1] I've tried most of them and we don't need yet another µtorrent 1.6 imitator based on libtorrent.

We needs more developers to help optimize the libtorrent library so it can download as fast as utorrent and help fix some of the core bugs and memory leaks. In addition, there is still no open source replacement for Bittorrent Sync or streaming torrents. Yes, some clients allow sequential downloading, but this is bad for the health of the swarm.

Like most open source projects, it's easy to find GUI developers and hard to find volunteers to work on the difficult problems.

[1] https://en.wikipedia.org/wiki/Libtorrent#Applications

I'm using rasterbar's libtorrent for a project of mine and I find it already downloads as fast as uTorrent (likely because it implements uTP).

generally I find the libraries are good and the GUIs suck in open source, but I totally agree with you that in the torrent space its reversed. weird.

Does libtorrent include Bittorrent Sync or streaming? If not how much effort ($$$) is to add them?

I'm the baretorrent developer.

> This is an interesting space to watch. Over the years, we've seen the cycle happen half a dozen times

This is not specific to torrent clients. Feature-creep is common. Since this was posted to HN, there's been a couple of posts of the baretorrent forums (and I've received a few emails) about feature requests. Software does not necessarily get bloated because developers keep coming up with new ideas, it's mostly because every user wants something more.

Saying no pisses people off, but I'm hoping I can move most of the requests over to extensions.

> Then somebody starts offering enough ad money that maybe the idea of a tiny little banner ad isn't such a bad idea after all.

Don't worry, I'll tag the source just before that happens so someone sane can fork it.

[edit: also, I'm really sad that I didn't think of "scrunchyTorrent" before]

any plans on making it retina ready?

What happens to it on a retina display?

the text is blurry, much like a lot of the apps that hand't had retina support when the rMBP was released.

This is going to be hard to test, as I don't have the hardware, but I'll look it up. Thanks!

I haven't found anything better than using Transmission[0] as a daemon and Transmission Remote GUI[1] for the adding/removing/management.

I can manage the downloads from any internet capable device from basically anywhere.

Adding CouchPotato[2] and a branch of SickBeard[3] to the mix make it brilliantly easy to download just about anything, automatically, without searching for anything other than the specific title that I'm looking for.

[0] http://www.transmissionbt.com/

[1] https://code.google.com/p/transmisson-remote-gui/

[2] https://couchpota.to/

[3] https://github.com/xbianonpi/Sick-Beard-TPB

+1 for Transmission. I'd also like to add that their OS X GUI[0] is _stellar_, far cry from any other BitTorrent clients I've used. Coupled with its low resource usage and the aforementioned web interface, I've found it hard to beat.

[0]: http://www.transmissionbt.com/images/screenshots/Mac-Large.p...

If you're in to XBMC and Raspberry Pi's, allow me to introduce you to a project I've been working on: http://www.xbmchub.com/forums/general-video-addon-discussion...

NB: New major release which fixes most of Raspberry Pi issues is scheduled for tonight.

Thank you so much. I've been looking for this exact thing for years, but never had the time to make it myself.

Major new release yesterday night. Check out the link :)

Unfortunately, Transmission doesn't exist for the 91% of us that run Windows. That is a bit odd considering it's built with Qt.

Edit: It seems there is an unofficial Windows port that has been described as both 'buggy' and 'quite stable'.

It's released with GUIs in both GTK+ and QT btw

+1 again for Transmission. For Linux and *nix in general, it's the best IMO. Sadly there's no official release for Windows.

For downloading automation, I use FlexGet (http://flexget.com/).

I used Transmission way back when it was only for Mac, around 2008-2008, but since then I've switched to Deluge as my main torrent client. I find its got the snappiest interface, and that it handles remote administration the best.

I'm a huge fan of deluged running as a daemon- it's so good at getting out of my way. With a couple of plugins to give it rss support and email notifications, it's almost fully automatic.

Transmission is fantastic but it's web ui lacks the ability to read trackers from magnet links. That's my only real complaint about it.

does it? It works for me: "Open Torrent", paste magnet link, click upload.

At-least that's the case with transmission-daemon.

Undoubtedly many of you know of it already, but Transmission (http://www.transmissionbt.com/) is an amazing, lightweight Bittorrent client which includes a web interface and things like scheduling. It's included by default in many Linux distros.

The headless daemon works great on a Raspberry Pi, too (assuming the Pi has some storage to use). Transmission-remote-gtk used as a client for it is heavenly.

Or the remote-transmission chrome plugin, or setting up transmission to watch a dropbox folder for torrents, etc. -- lots of great ways to interact with the transmission daemon.

I use the headless transmission daemon on a 25$ Seagate Dockstar (hacked to Debian) and command it via

-Chrome plugin on my main computer + webUI on other computers (or for additional commands)

-Transdroid Android client on my Nexus phone and tablet

Almost perfect (almost because sometimes there are some minor glitches)

I found two non-torrent-related Android apps called "Transdroid" and one called "Transdrone". Is that the one you use?

This is the app: http://www.transdroid.org/ it's not on the Google App store (It has been removed) so you have to download the APK from their site and install it (enabling non trusted sources on the phone) There's also a companion Search app, it should be this one: http://code.google.com/p/transdroid-search/

It appears that Transdrone is a build of Transdroid with search and RSS removed.

This is one of the few apps I really miss now that I'm on Windows rather than Mac OS.

There is a Windows port, but it was a bit buggy the last time I checked (about a year ago).


Is it really? I've used it for months and haven't had any problem. I didn't even know it was a port until very recently.

s/included by default/available in the repositories/

rtorrent is great too. http://en.wikipedia.org/wiki/RTorrent I put it in a screen session and detach and log out ...

I wish it had just a little more polish on the UX side of things (sometimes it lags and doesnt say why), I know there are patches, I just wonder why they're not mainstream. Also an emacsy keyboard interface would be pure awesomeness.

You can change the bindings for keys. I think Pyroscope is what you are talking about for the plugin? Archlinux provides rtorrent-pyro in the AUR which you could use without patching.

I wasn't even aware of the pyroscope project, but it seems it's an integration of many patches including those I've seen. Thanks a lot.

Which has the nice feature of being able to watch a directory for .torrent files and automatically starting downloads.

I've been using Baretorrent for a while now. It's a great torrent client if you don't need a lot of features such as automatic RSS downloading, although technically there is a plugin system if one did want to implement that :). It's worth noting that there is a small bug regarding duplicate torrent entries in the current version that may or may not effect you[1]. It is easily avoidable and soon to be fixed. The author of the software is very responsive on his forums if you have feature requests or encounter any bugs.

[1] http://baretorrent.org/forum/thread.html?id=40

How does it compare to Deluge? http://deluge-torrent.org/

Deluge has the killer feature of being able to run in client-server mode. You can leave a persistent instance running on one machine and connect to it in adhoc fashion from say your laptop.

To accomplish this with baretorrent or other simple gui client, you have to run it in some vm or make it accessible with remote desktop/X windows. Even then, there is no facility (which Deluge does provide) to click a torrent link in your local browser and have it initiate a download on your remote server-instance.

For a real barebones non-gui option, rtorrent tui client with tmux detachable text session is quite workable even though it too lacks the advanced features provided by Deluge.

EDIT: Baretorrent does offer an extension that allows you to remotely add a torrent, but doesn't give you a full local client as Deluge does.

> For a real barebones non-gui option, rtorrent tui client with tmux detachable text session is quite workable even though it too lacks the advanced features provided by Deluge.

I prefer aria2c for this. Much more agile than rtorrent or deluge-cli if you like the terminal. You can have one instance of the app per torrent, each in its own screen or tmux and it's up-to-date regarding torrent protocol. It also supports RPC but the few webUI I found aren't really good. I was using solely that until I needed to select a few files in a torrent that held thousands. The deluge GUI was more practical to do that.

edit: to be honest, one of the primary reason I drove off away from rtorrent was that I could never remember the key bindings correctly and setting a ratio per torrent to stop sharing wasn't possible easily.

You also have deluge-console a console client to connect to deluge server.

And it's a lot easier to use than rtorrent that has some insane shortcuts you will never remember.

You don't even need tmux/screen as with rtorrent/aria2c, just connect with deluge-console whenever you want, it's deluge server that is doing everything in background.

The problem for me is with new Torrent clients that they must gain approval by private trackers. There is so much ratio cheating going on that unless they are whitelisted it is pointless to get banned by private tracker for using them.

Private trackers are the only reason why I am still using torrents as there are some super specialized small communities around that share otherwise incredibly difficult to get material.

Can't this be solved by spoofing the user agent (or equivalent) of a white-listed client?

This can be detected fairly easily, and guarantees no appeal when you get caught

Always nice to have a simple alternative now that uTorrent is dead (well, as the product/app it once was anyway).

Looking briefly at the code, it appears to be c++ (which is fine) -- but also entirely without tests? Or did I miss something?

I'm the baretorrent developer.

> it appears to be c++ (which is fine)

It also supports python extensions.

> but also entirely without tests? Or did I miss something?

You did not, but I'm up to a point where this is becoming very difficult to manage without unit testing, and it slows down and reduces the quality of my releases. I'm actively using baretorrent on debian and developing it on windows, but my tests on osx are limited. It also became a complex system much quicker than I anticipated (like most systems do).

Automated tests will come soon.

> minimalist open-source Bittorrent client

Total Installed Size: 40.79 MiB


I never claimed to be minimalist in size, only in features. Most of the stuff that gets installed is to support python extensions.

The UI on OSX is not pretty but decent.

There's problem with less well-known client is that private trackers may not allow them which make it useless for users who use those trackers.

> The UI on OSX is not pretty but decent.

At least it's native instead of GTK. I'm not a osx user, although I understand the desire to have pretty and consistent user interfaces. My problem is that I'm limited by what wxWidgets makes available on its cocoa port, and not all widgets are available. This is why the toolbar looks out of place.

As soon as wxWidgets gets more widgets, I'll make it look better.

> private trackers may not allow them

Yep, but that's a policy of private trackers, and not something I can easily overcome. I'm not sure whining in the public forums would give me anything except rants. The only way this can be fixed is by people using baretorrent and asking their favorite private tracker to support it.

Regardless of the quality of the software, I really like the privacy page. Too much sites says they care about our privacy, but they use every trick to track their users (with google analytics, ad agency trackers, ip log without any clear policy, fingerprinting, etc.). I have no assurance the author does what he claims to do, but at least, such policies are a step in the good direction. For other sites, requestpolicy still manage to do a good job.

Use Transmission, it fits the bill and is a more mature implementation.

Also has a nicer GUI as far as I'm concerned(although I no longer use the GUI frontend).

It uses libtorrent which is excellent There is a list of libtorrent based projects here: http://www.libtorrent.org/projects.html

It's not clear form the site how this is different from any of the other gui based liborrent software such as qtorrent or halite. Does anyone know if this has any unique features?

I'll be adding a list of features on the website soon.

It doesn't seem to work in OS X 10.8, it starts then closes immediately. Also the choice of wxWIdgets for a new app is quite unfortunate, I think Qt is generally easier to develop with and to make it work on different platforms.

The idea of a minimalist cross-platform and open source Bittorrent client is great though, I really wish there was some good alternative to replace uTorrent.

> It doesn't seem to work in OS X 10.8, it starts then closes immediately.

I'm opening a bug report for this. I didn't check 10.8 yet.

> Also the choice of wxWIdgets for a new app is quite unfortunate, I think Qt is generally easier to develop with and to make it work on different platforms.

wxWidgets is the only toolkit I know of that uses native widgets on all platforms. Other toolkits draw things manually, although some (such as Qt) are getting better at integrating with the graphics and metrics of individual platforms.

Using wxWidgets was a deliberate decision that I made early in the process.

You really want Transmission.


Does it have categories/labels? Priorities? There absolutely needs to be a features list on the homepage.

> Does it have categories/labels?


> Priorities?


> There absolutely needs to be a features list on the homepage.

Will do.

While most of us have multi TB drives, it's still a bit "wrong" to see that the "minimalist" clients have +25 MB install kits while utorrent 2.2.1 is still rocking in 300 kb. Just saying...

baretorrent is not "small", it's simple. Most of its size comes from wxWidgets and python, which are there for the extensions. Linking statically to all the libraries and ditching python could probably reduce the size by an order of magnitude.

You can't call 20MB+ download minimalistic, can you?

Is utorrent really that bad? I'm still using it and it still works fine for me. I just disable any of the stupid new features they add and move on.

This is good for Windows. On Mac/Linux we have Transmission (which is quite small, fast and not bloated) and rtorrent for the minimalists.

The Windows port for Transmission is actually quite good in my opinion (http://sourceforge.net/projects/trqtw/)

Personally using qBittorrent (on both Mac and Windows), and I'm really satisfied so far.

Anyone know how this compares to qbittorrent?

Minimalist... Yet not a UNIX program

If you see the changelog, feature creep already started.. Sorting, etc. all that could have been piped to a specialized program.

People never learn.

Does it have RSS feeds?

Applications are open for YC Summer 2018

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact