Hacker News new | past | comments | ask | show | jobs | submit login
Transmission v4.0 (github.com/transmission)
335 points by sweetp on Feb 8, 2023 | hide | past | favorite | 161 comments



> The entire codebase has been migrated from C to C++. In the process, we've removed thousands of lines of custom code and used standard C++ tools instead. The core's code has shrunk by 18%. The core codebase has been extensively refactored to be more testable and maintainable.

I love negative-LOC commits! They warm my heart. As do the people who take the time to make them.


At my previous job, we re-did some Java stream processing stuff in Clojure. We added functionality, made it more stable and dropped 6K lines of code (out of 18K for that particular component) in the process. It felt like magic...


That's not a fair comparison, rewriting anything in any lisp will dramatically reduce the amount of cruft, both lines of code and complexity.


It is still a LOC reduction produced via rewrite. I don't think we should hold it against them that they choose a great target language for the rewrite...


Doubt. Plus, essential complexity is non-reducible.


Essential complexity I agree, you cannot get rid of (hence the whole "essential" part). However, when you program, lots of non-essential complexity sneaks in. If you've only ever written code in one language, I bet you wouldn't even be able to notice what is essential vs non-essential.


A lot of those dropped lines of code is gonna be lines which only contain }.


replaced by lines of )))))


> I love negative-LOC commits! They warm my heart. As do the people who take the time to make them.

Agreed, but only if there's adequate test coverage and it's pretty clear how everything should work.

Otherwise it's a very stressful experience, working with a seemingly brittle and puzzling codebase.


One funny consequence is: refactor code only well covered by tests, decrease nb of lines of code => test coverage decreases. This is normal and test coverage is not itself a target, but that's funny.


Brittleness isn't really a property of having tests IMO, more about designing it to reduce unexpected dependencies and interaction-at-a-distance between components. (Part of it is also understanding how the system works. If you are new to a code base, virtually all dependencies are unexpected)

Tests can help reveal when those types of dependencies break, but even so, I would argue that is brittle code held together with cling wrap. The fundamental problem is still there.


> Tests can help reveal when those types of dependencies break, but even so, I would argue that is brittle code held together with cling wrap. The fundamental problem is still there.

Sure, however tests failing after refactoring or removing seemingly unused bits of code will be a great way to figure out when one's assumptions about how everything works are mistaken, or to discover bits of code that one wasn't even aware of.

Along the lines of: "Oh hey, our tests caught that removing this seemingly unused dependency from pom.xml will break PDF export logic, because for some reason it loads classes dynamically and needs that package" or maybe "The tests revealed that our latest refactoring breaks JSON serialization of dates, because while we should be able to use these annotations for our Dtos properly, the underlying framework gets confused because of our serialization library."

The worst cases are where you don't have the tests and things break in ways that might not be immediately obvious. Such codebases will make any attempts at refactoring unsafe and inherently stressful, that's what I meant with brittle - you'll never be able to change anything whilst having confidence that things won't break all over the place.


To be clear, I'm not saying you shouldn't have tests, but if you change your pom.xml and the code starts blowing up at runtime, your code is still brittle.

Code that isn't brittle wouldn't behave like that.

Tests allows you to catch it early, but with the platonic form of non-brittle code, you wouldn't need to run any other tests than the test that tests the module you just changed.


That's a fair point! I guess it's a matter of what's under the hood vs how it appears on the outside. Code that is brittle in obvious ways is still better than code that is brittle in subtle ways and will break later. Code that doesn't have those issues in the first place is the best, of course.


Program size has not shrunk though.

3.9M static binary for 2.84

9.0M static binary for 4.0.0


My god, that's $0.00014 worth of disk space! Or $0.00063 on SSD! Do they think we're made of money?


NB. I compiled these myself on Linux with musl and gcc.


It's a universal binary.


Assuming they share Graphics assets on Mac, it is still larger though.


On the Mac, this is the only working bittorrent client for me.

The uTorrent client moved to the web is simply broken.


I use both transmission and deluge.

Personally - I happen to like deluge more, but they both work fine.

https://deluge-torrent.org/


Could you share the reason you like deluge?


Based on LibTorrent, Lots of features, easy customization, web UI is consistent and stable, API is easy enough to work with.

Plus it generally works everywhere I need it to - as a GUI app (across all major OSes), a web app, or a terminal app. So I can just dump it on whatever machine I'm using without having to think very hard.

Transmission is also fine, but it kinda felt like it was stalled out for a bit - missing features, some ui bugs, not much movement around it. So I switched to Deluge and haven't really had a reason to move anywhere else.


qBitTorrent (https://www.qbittorrent.org) works great on Mac.


I disagree. I was using that because it had RSS integration. Since then - RSS integration got broken for me.

Also there is something wrong with their scheduler/thread performance. Any time I add any torrents to the downloads, GUI starts to pause for multiple seconds at a time. At this point it's unusable unless you are willing to wait multiple seconds for any action that you want to do. I don't know whats wrong, but it shouldn't happen on Mac


Weird, it's always been fast and responsive for me - I haven't noticed any pausing issues. Never tried using RSS, though.


only worked a few times for me. tried a lot of different configs... was just always stuck retrieving the metatdata. Transmission worked straight away and has continued to behave just the same since. very happy with it!


I did use Transmission up until a few years ago. Forget exactly why I switched, but there was some issue with it at the time. qBittorrent has worked great ever since, and I certainly never configured anything more complicated than speed limits.


the uTorrent client on web feels like straight up malware (which it probably is.)


uTorrent desktop used to mine bitcoins. Which is a pretty good deal for a free product.



I kind of thought the project was dead with how long it went without a release. I ended up switching to qBittorrent about 8 months ago as I needed v2 torrent support. So far I have been very satisfied with the switch.


I was a long time user of transmission, but when I redid my *arr setup I devided to go to qbittorrent.

qBittorrent can handle way more simultaneous connections and torrents than transmission. It doesn't slow down, it supports tags, categories and even custom UI (vue-qbittorrent is awesome).

I'm not going back, especially when you have great docker images with WireGuard integrated in them.


From the download page:

> The macOS version is not well supported, because we don't have active macOS developers/contributors.

My hopes were dashed :(


Now you know how Windows users have felt for the past decade!


so you say there is no benefit for me to switch from qbit to transmission for ocassional torrent download? I seed only during download or very shortly after and at max I download 10-15 torrents


I don't think there is any benefit in switching, no.

You can even set proper limits in qbittorrent for your workflow to stop the seeding after X minutes.


Transmission is a no-go because it lacks proxy support, which is absurd.


Every time I try a new Transmission release, I remember why I deleted it last time:

NO PROXY SUPPORT.

Ridiculous.


Docker & VPN all the way.


> Newly-added seeds can start immediately and verify pieces on demand, instead of needing a full verify before seeding can begin.

This is a huge annoyance for me with torrent clients. Files that are 80GB or larger take days to verify before they can seed. Having this feature (which makes sense to do) is a more sane way to do it.


Days? I don't think even my 2nd gen RPi hashes files that slow.


Never have seen that long hashing even on low power devices.


Transmission is like if UNIX CLI design was applied to product interfaces: do one thing (okay, it does a few things) and do it well.


I don't remember why or how I ever picked up uTorrent, but that's the client I've always used. Thinking about torrenting just now, I realize I used to download torrents much more often than I do these days. I guess that's due to greater availability of video content on the streaming platforms and music on Spotify, etc.? What else do people use torrents for from a consumer perspective? Is there a wider everyday use case that I'm unaware of? Genuinely curious.


I use torrents heavily despite subscribing to 4 different streaming services because I live in Canada and we don't yet have Hulu or HBO Max. Plus I also like watching some older movies via 2160p bluray rips and torrents are just the easiest option to do so. That plus it has everything.

I use Transmission for torrents and then https://airflow.app/ to cast movies from my Macbook to my Firestick/Chromecast, which I find just as easy as using a streaming service.

When I a) can't find it on streaming and b) don't feel like waiting for torrent d/ls (even on fiber connection) I just use https://soap2day.id/ and mirror via Chromecast casting, which seems to have every movie/TV show ever. Quality is pretty good, usually 1080p or 720p.


Yeah, streaming has become such a mess. In the beginning, it felt liberating to cut the cord and the promise was, at least in theory, that you could get just what you wanted with a couple streaming services. But now you have to have 5 or 6 and when combined they are more than cable used to be! Even if those services are available where you live, you might not want to subscribe to yet another streaming service just to catch one episode or one show, especially since a many of the streaming services aren't exactly filled with tons of great content that justifies the permanent subscription.

I hadn't heard of Airflow, thanks for the link. Out of curiosity, if my TV is already AirPlay-enabled, what does Airflow do for me that I can't get by just clicking on my Mac to watch on that screen (although I often just end up connecting my Mac via HDMI because that seems more reliable, at least on my TV)?


I'm not sure re: airplay. I personally use a Firestick 4k Max, which I replaced my more custom Android TV box (w/ Plex) because it has a fast CPU and Wifi 6 and was <$50 (vs $75+ for a decent custom android box and >$100 for Apple TV).

Honestly I'm not even sure which protocol Airflow uses to connect with my Firestick + TV, I use an app (AirReceiver) which says "AirPlay, Chromecast, and DLNA" and it works every time so I don't really care :)


If you want quicker speeds, look into usenet. Have to pay for a decent news hosting and indexer, but after some tweaking you can download new releases so much quicker without worrying about vpns and ratios.

At this point I have Plex and Overseer hooked up to Prowlarr, Sonarr, Lidarr and Radarr, with Prowlarr connected to my nzb client and server (it was easy to cut over from transmission, using the secure ports to talk the news hosting and client accounts). Everything is spun up in docker using the linuxserverio images.

I might be mixing up some terms there, but that setup has made downloading content so much easier and quicker.

My current setup:

Plex (Media Content Manager, desktop, mobile, tv apps. Local and external) - https://www.plex.tv/

Overserr (Allows users to request content) - https://overseerr.dev

Prowlarr (Configure your torrent/usenet indexers, Radarr, Sonarr, Lidarr point to Prowlarr) - https://prowlarr.com/

Radarr (Movies) - https://radarr.video/

Sonarr (TV) - https://sonarr.tv/

Lidarr (Music) - https://lidarr.audio/

NZBGet (nzb download client, configure nzb newhosting site, Radarr, Sonarr, Lidarr point NZBGet to download content. I pay for one newshosting site and two separate indexers) - https://nzbget.net/


I don't think I've ever found torrent download speed a limiting problem. I've much more often had problems finding peers to enable downloading 100% of the file at all, because most of what I download is stuff that's old enough (in time since the torrent was created) that mostly the torrent isn't being actively seeded any more. How long do files generally "stick around" on Usenet?


Theoretically, for ever.

In practice most servers offer over 2000 or 3000 days of retention (and growing). It used to be a problem many years ago because shortage wasn’t as cheap as now, but it feels like Usenet will also keep things forever now.


Last week I downloaded a torrent of a rather obscure series that I ripped from DVD and uploaded 16 years ago (I no longer have the DVD).

I was rather surprised to find my old torrent still hanging around. I thought it was pretty neat.


"configure nzb newhosting site"

What's good these days? I used GigaNews back in the day. From memory, there was a content decrease as newsgroups were getting hit hard for take downs. I think I'm remembering this correctly.


eweka


is there something for books and audiobooks in particular?

i am hoping for a audible-like experience which can easily be created using booksonic and other servers but the retrieval part is the most troublesome imo.

movies and tv shows have the best experience


There is: https://lazylibrarian.gitlab.io/

Libgen has almost everything I need and when it doesn’t I can usually find it in #bookz on undernet. If all else fails, bookfinder.com usually knows about used copies. I don’t have the luxury of an English speaking public library where I live.


There is also Readarr, which has a similar interface to the other *arr software.

It was in it's pretty early stages last time i checked it out, but that was a couple years back now.


niether do i. i did manage to get a libby account so that has helped me by a lot but still....

does LL support audiobooks search from torrents? nice. i might have to give this a look afterall


If you want audiobooks, nothing beats myanonamouse.net.

They're a semi-private tracker, registration is open, but you have to actually read the rules, go on IRC and answer a few rules-related questions. It takes a few hours, but it's definitely worth the effort IMO. The amount of content they have is pretty staggering, and I don't think I found a single unseeded torrent so far.

They also offer ebooks, but Anna's Archive and Libgen have a bigger selection of those.


ah.... that brings back old memories.

i've beem a MaM user since 2017. you can't automate it i think. i used a seedbox back when to get a bunch of points so yeah i get your point


Which indexers do you use?


Quite a few people I know use https://nzbs.in/login/ and swear by it. The admins of that site try to masquerade it as another WordPress site. Ingenious. But it is by far the biggest, and the best I am told.


Seems their start was less than savory. Dog and Slug are the usual starter pair and cover 99% of folks' use cases.

https://old.reddit.com/r/usenet/comments/20v5es/so_apparentl...


It's so well masqueraded that there doesn't even seem to be a way to sign up!



I never torrent for ethical reasons, but I just jumped onto soap2day to check if they had something that I've been on the lookout for (Abacus: Small Enough to Jail) and they don't have it.


Yeah, not everything, but between torrents + paid streaming + soap I dont have a problem.

I google'd "Abacus: Small Enough to Jail", the full thing is (legally) on Youtube https://www.youtube.com/watch?v=GKPa4OIVN4U

But geo-locked to US only. You can still download it using any YT downloader @ 1080p (851mb), for ex:

https://offeo.com/download/youtube-downloader/#url=https://w...


you could also watch it through an Invidious instance located in the US.


s/torrent/pirate?

context for unaware: torrents are more general. for example, official releases of open source operating systems, such as debian [1], are available via torrents.

[1]: https://cdimage.debian.org/debian-cd/current/amd64/bt-dvd/


I'm pretty sure HN users know what torrents mean. Context does the rest.


All the more reason not to conflate copyright infringement with the BitTorrent protocol.


Boy, airflow looks the GOAT. Never knew such things existed. Thought Airplay was bandwidth limited and just thing for easy watching 1080p.


I simply prefer watching stuff via a video player of my choice (mpv). That way I can do stuff like frame-by-frame playback, and take screenshots / video clips with conveniently named files. Niche, I know, but I watch a lot of animation, and like to study and discuss how different artists approach and implement their scenes. So these are all essential features for me.

Also, some stuff I want to watch is not available legally anywhere in my territory.



For more FOSS torrents, see FossTorrents.com [1] :)

[1] https://fosstorrents.com/


Well, it can be used to transfer any large files amongst a bunch of people.

I like the protocol in theory. If n people want the same resource, it seems better if they get that in a sort of distributed way rather than all of them connecting to a central server to get that resource. Can be useful if you're on a slow network. I wonder if existing routers along the way make this efficient regardless.

Some Linux distros nudge you towards torrents to download its .iso file even if direct download methods are available. Xubuntu is one such distro [1].

Also, can anybody from Germany confirm if there's a ban on torrenting over there? I hear some governments/ISPs etc are starting to blanket-ban the entire protocol to prevent proliferation of pirated movies, which seems to be what the protocol is used for in practice.

[1] https://xubuntu.org/download/


Torrenting is not banned in Germany. You are just easily sued if you distribute copyrighted material. Not just isp warnings and the like


These days it’s much more practical to just upload it to cloud storage and share a link.

Sure in theory it’s not the absolute fastest way but it’s massively more convenient and regular users aren’t sharing 1TB files.


The bandwidth isn't much fun to pay for though.


No consumer cloud storage charges you for transfers.


If I'm reading the AWS S3 pricing charts right[0], you get charged 0.09 USD per GB for the first 10 Tb of transfer out of US East.

If 1000 people download my 1 GB file that I host on S3, that'll run me 90 USD.

You can host on Wasabi which is the only object storage I know where out is free, but my understanding is that the storage is more expensive.

[0] Which I might not be because I'm pretty sure you need an astrologer.


By "consumer cloud storage" the GP commenter likely meant to refer to services like Dropbox, Mega, etc.; not to IaaS object storage (which would more appropriately be called "commercial cloud storage.")


Ah that makes sense! I occasionally use Wasabi to sling files around so that's where my mind was when I made the original comment.

I do feel like you do end up paying for storage if you're sharing anything significant in size, which is where torrents become more convenient imho if both parties know how to use a torrent client.


> What else do people use torrents for from a consumer perspective?

We have three streaming services: Netflix, Prime and Disney+.[1] Not everything I want to see is on those services.

[1] And "youtube with ads", i.e. standard free youtube. Dunno if that counts though.


Oh for sure. I wasn't suggesting there's no need for torrents anymore. Like I said, I still torrent, just a lot less than I used to. And I was speculating that this is due, at least in part, to the increased availability of video content on streaming platforms. It used to be that the only way I could see a certain show or movie was by torrenting it.


There are multiple torrent/download services like Put.io that make it much easier and more useful.

Regardless of streaming service subscriptions, nothing beats raw files for high-fidelity playback without buffering and instant replay/seeking.


Same situation as you. Used to be involved in the whole private tracker thing too. Was a mix of online services getting better, and me having more money.

Hardly ever torrent stuff now.


I use torrents for full videos of porn, UFC, ebooks, professional tutorials, expensive software and for anything that isn’t available on Netflix since that’s the only subscription service I have.

Also subscription services don’t let you select the bitrate for streaming- this way I can make sure I watch the entire program in 4K.



I'll be honest, I'm glad people are working on this again but the most important change for me would be fixing this minor UI issue:

https://github.com/transmission/transmission/issues/261


At a glance, it seems like a issue Apple needs to fix. What could the developers do to fix it here?


It's not Apple's issue to fix, I don't know what that person is talking about. On macOS the scroll bar is hidden and only shown when you scroll, over the window's content and gets wider if you mouse over it. It has worked this way since 2011 and it's not going to change. There's a setting to disable it system-wide but 1) I'm not going to enable something that permanently takes away 1% of my screen space systemwide just for this 2) this is the default scroll bar behavior, so most macOS users have this issue where clicking the most important "open torrent" button requires waiting a few seconds for the scroll bar to go away.

Transmission needs to add like 20 pixels of padding after the magnifying glass for the scroll bar if the user is on macOS and has this setting enabled.


It seems one of the "Collaborators" already replied to that with the following:

> If we move the buttons away, then it will negatively impact the UI for the users in Automatic (depending on their mouse) or Always configuration.

https://github.com/transmission/transmission/issues/261#issu...

If you think you have a solution ("move the buttons anyways"), maybe reply in the issue and help solve a problem for FOSS that seems to annoy some of you.

Edit: for even more context, it seems they did try to solve it but didn't reach optimal solution for it: https://github.com/transmission/transmission/pull/1


Put some padding on the UI. I had a quick look and I couldn’t find any app that had UI in the space the scroll bar shows in.

Apple is clearly never changing this as they and every other app developer puts a 10px padding in and it looks better while not having a scroll bar obscure anything.


> Put some padding on the UI. I had a quick look and I couldn’t find any app that had UI in the space the scroll bar shows in.

What about Xcode? According to the PR where they tried to solve it (https://github.com/transmission/transmission/pull/1), it seems it suffers from the same problem.


That comment is 7 years old. I clicked around in Xcode for a bit and it doesn’t anymore.

I didn’t expect “I can’t click “Open Downloaded File” on a file downloading application because the scroll bar is in the way” would generate any discussion. It should be obvious to everyone that it’s an issue and should be fixed.


> It should be obvious to everyone that it’s an issue and should be fixed.

Yes, everyone seems to agree it should be fixed, not sure why you felt the need to write this?

There was a PR (https://github.com/transmission/transmission/pull/1) and there is a issue (https://github.com/transmission/transmission/issues/261) where they have been trying to come up with a solution, but seems they've been unable to.

If you know how to fix it (even if just by written word), please do help them to fix it by sharing the solution, as you don't seem to be the only one who is disturbed by the issue.


Send a PR?


GP might not be a software engineer and even if they were they might not be in a position to submit a PR.


One of my favourite pieces of software. Simple and stable


For whatever reason the ARM version of Transmission does not work well on my M2 laptop - it downloads quickly at first and then drops off to zero, and had some other bugs (the x86 version always worked flawlessly). I tried playing around with different settings, running their nightly builds, etc, and nothing fixed it for me. In the end I searched for other clients and found them all filled with ads and bloatware, and decided to use this excellent open source command line client instead:

https://github.com/anacrolix/torrent

It has a few frontends built on top of it (linked in the project readme), but I just run `torrent download <magnet link>` and it downloads at full speed / with no issues.


After uTorrent went south, I started using qBittorent on all platforms and haven't looked back since. Found it better than any alternative, might want to give it a try if you want client+ui in one package: https://www.qbittorrent.org/


I wanted to evaluate it in the past but their downloads page has a giant warning, "The macOS version is not well supported", so I didn't bother downloading it.


I am actively trying to use it on macOS/M1 and it does have bugs. Random crashes every few days, UI crawling (doing anything, right click, whatever) with more than 20 torrents, etc.


The GUI is buggy to say the least, but the actual torrent transfers are faster in every step of the way compared to Transmission 3.x in my testing.


I encountered a similar issue on my M1 machine in the 4.0 betas. I went back to 3.00. Hopefully this has been fixed in the final release.


I just downloaded Transmission 4 via Github and it works on my M1 Macbook. I previously had problems with beta versions as well, so I guess they addressed that.


:)


Related: the Transmission Remote GUI that allows to control the client from elsewhere. I use it with the Transmission client contained in the XigmaNAS NAS software which I run headless.

https://github.com/transmission-remote-gui/transgui


The release notes say, "The remote control GUIs (transmission-qt and transmission-web) now use the RPC API "table" mode, resulting in smaller payloads / less bandwidth use.", but the GUI hasn't been updated in 3+ years, so what is this referring to?


It probably refers to the official remote gui which is not the one I linked. Mine works because I'm connecting to the transmission daemon shipped with XigmaNAS, an older version since it updates with the NAS firmware, which currently is the latest stable one, yet over 1 year old.


> Support for using BitTorrent v2 torrents and hybrid torrents

This is a big deal. The FOSS world has been unable to switch to hybrid or v2 torrents for years, entirely because Transmission would completely break if handed an v2 or hybrid file and the developers declined to address it.

libtorrent supported v2 roughly three years ago.


Transmission is free, free of bloat, and it works well. Cannot ask for more.


I stopped torrenting some time ago, but what are people's experience with webtorrent?

https://webtorrent.io/

I'd just as soon avoid running additional software if possible.


Finally... j/k I'm glad to see that it's still being actively worked on. The now previous version has appeared to be languishing for a long time now.


Why not rewritten in rust?

(someone had to do this)


Actually, not such a bad question, if worded poorly. There's at least Synapse[1]. It even has a third-part broker to accept transmission GUIs by Drew DeVault[2]. Why didn't they just reuse Transmission protocol from the get-go, to leverage the great Transmission-Remote-GUI[3] for example, is beyond me.

Unfortunately, there's just not enough interest in the project and no adoption.

Transmission, at least previously, never have been too resource-friendly, so a lean and mean Rust alternative would be great.

1. https://github.com/Luminarys/synapse

2. https://sr.ht/~sircmpwn/broca/

3. https://github.com/transmission-remote-gui/transgui


Rust evangelist strikeforce strikes again...

No seriously, I am a rustacean too, but please stop telling everyone to Rewrite everything in Rust (even if its only a joke), its becoming slightly annoying


>its becoming slightly annoying

Its becoming ? Its been annoying since Day 1.


> its becoming slightly annoying

Tbh it’s been always annoying


On Windows I've used Tixati previously, because it doesn't do ads and has a rather pleasant UI: https://tixati.com/

On Linux, however, Transmission is great! Actually, Transmission also runs on Windows, so if the simpler UI is enough for you, then it's also a great choice across multiple platforms.


Man, this is a throwback. Nice to see the project is still alive. Does it support thin client setups?

I might have to get the ol’ seed box going again.


I have it setup in on a vps in foreign lands and ssh forward the web control port to use it without having to worry about opening up ports on the server to get the script kiddies interested.


Yup - there's a built-in web UI and a number of native desktop clients (Tremotesf is a good one).


On an Intel Mac Mini I've got 4.0 Beta 2 installed the Check Updates doesn't detect anything and on the website there is only an Apple-based Mac option listed. Did they drop Intel support or is that coming later? Or does it matter and it is really a universal package with a poor name choice (and failed update check)?


Transmission on Ubuntu has been so hopelessly booked for so long... maybe in a couple years when they upgrade to thr 4.0 code base, it'll be okay.

Happy to hear people are working on this.



how does this differ from qbittorrent?


It looks like a Mac app on macOS instead of a relic of Windows XP. (I use qbittorrent as well, it performs well and would work with some trackers that didn't play nice with Transmission 3).


it works (but seriously, I had so many issues with qbittorrent. probably because of being on m1 mac).

It's also much more simplified / basic.


I use it but I don't like how the app language = system language, you can't change it

>It's not technically challenging to add a drop-down list of languages to the UI, as least for the Qt client, but I'm still not convinced it'll be used by a lot of people.

https://github.com/transmission/transmission/issues/1152


Almost all Mac apps work this way. All apps use the global language and region settings. It would be against platform conventions to override the system settings, and in my opinion it's a waste of developer time to add such a setting in the app (especially because that popup needs to be tested, maintained, localized....).

If you really want the app to use a different language than the system, you can just override the user default per app:

    defaults write org.m0k.transmission AppleLanguages '(de_at)'


It's possible to select a preferred language for each app in System Preferences / System Settings since macOS 10.15 (or 10.14? anyway since some years ago).


Oof yeah that's a faux pas. Apps also frequently use the wrong setting and try to set their language using location rather than the user's selected language. So on Windows VLC for me is in Czech since that's where I chose my location (for the correct time), even though my UI language + kb layout is US English. Quite a few apps make this mistake :-/


On MacOS you can set specific language for each app from the system settings, so It should be possible to set Transmission's language too.


Honest question. What kinds of things are people using torrents for in 2023?


With the insane proliferation of streaming services... lots and lots of Linux distro installation ISOs.


Prrrrrretty sure it's the same thing they were using torrents for 10 years ago.


Owning their media.


Stuff that's not on streaming services


Huh, sharing files?


no linuxserver docker image yet unfortunately


I have a major soft spot for Transmission, congrats!


From the release notes:

> The entire codebase has been migrated from C to C++. In the process, we've removed thousands of lines of custom code and used standard C++ tools instead. The core's code has shrunk by 18%. The core codebase has been extensively refactored to be more testable and maintainable.

From the user perspective I don't particularly care (although I've been using it for more than a decade) but it excites the inner developer in me.


Nice! "Transmission now uses Sonarcloud, Coverity, LGTM, and clang-tidy static analysis on new code. Several hundred code warnings have been fixed compared to Transmission 3.00."


GPL licensed so it seems relevant. For closed-source apps I wouldn't think these need to be in the release notes but for FLOSS apps, many "users" are developers.


The app told me that there was an update available. I clicked on install, it downloaded an 8MB binary, installed and restarted it within a few seconds. After years of apps which update twice a week by downloading half a GB and then waste my time by grabbing focus multiple times in a row while restarting (hello Signal), this was the best update experience I can remember in a long time.


I cannot find it on the main site but this software was at one time scriptable.

We used to use it to distribute really large files around to tons of machines using the scripting. It worked really well.


Still no proxy support, so still no dice.


Yep, I need to make sure my ISP doesn't figure out that I'm torrenting Ubuntu.


[flagged]


Do you write similar screeds for HTTP and CD-RW? I've committed piracy with both of those in the past as well.

As a sysadmin I have used bittorrent many times to ship legitimate bits over subgrade connections. Hard to think of a more durable and reliable protocol and it absolutely has a place on HN despite it being the favored tool of pirates.


But the evidence tells us that piracy increases purchases, not deters them. So it seems that by censoring bittorent clients, we're harming those who make a living selling their intellectual property.


Why do you assume that? I only use transmission to download my Linux ISOs.


> Transmission is a great bittorrent client, but last time I checked they purposely didn't want to support sequential downloads, which is useful for media streaming, so I'll stick with qBittorrent.

I hate ideologically driven coding decisions


There's a long history of antisocial-behavior-prevention stuff in peer to peer sharing applications. Overall they're usually a good thing.

I'm with them on this. Sequential downloading leads to a bias in what pieces are available.

If you're not sequentially downloading, you're contributing evenly back to the swarm. If you sequential-download, you're not...and you're potentially leaving the stream much sooner (if you don't finish watching etc.)


It's not anymore. See https://github.com/transmission/transmission/issues/597, tagged "pr welcome".


sure... the code fix has been around for over 15 years at this point. Its even in their old tracker wiki

Replace:

/* otherwise go with our random seed / return tr_compareUint16( a->random, b->random ); With:

/ otherwise download the pieces in order */ return tr_compareUint16( a->piece, b->piece );


Surprisingly trivial. Hopefully, someone who cares about this will contribute!


Its been contributed for a decade. And rejected for as long. I myself just have a patched version running. Yay for open source I guess


The nutty thing is that BitTorrent is set up to handle this. If you don't like peers that download sequentially, deprioritize serving those peers.


< 3.0 was pretty stable.

Does the -daemon server still randomly crash and corrupt/forget its downloads? Because 3.x on Linux beyond toy uses doesn't work so well.

Obligatory: "And why not rewrite network-facing processes in Rust to ensure memory safety and fewer CVE risks?"




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

Search: