Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No way to restrict uploading to peers #220

Closed
DoctorRyner opened this issue Aug 27, 2024 · 30 comments
Closed

No way to restrict uploading to peers #220

DoctorRyner opened this issue Aug 27, 2024 · 30 comments

Comments

@DoctorRyner
Copy link

How to make sure it'll not upload anything? I have really low upload speeds

@ikatson
Copy link
Owner

ikatson commented Aug 27, 2024

How to make sure it'll not upload anything?

There's no way at the moment. The best you can do atm is --disable-upnp which will not expose your IP to the internet. But it'll still upload to peers made with outgoing connections if they need pieces.

I have really low upload speeds

If it uploads as fast as it can though, is it creating any issues? It's not obvious how is that a problem

@DoctorRyner
Copy link
Author

DoctorRyner commented Aug 27, 2024

If it uploads as fast as it can though, is it creating any issues? It's not obvious how is that a problem

That's the issue, I can't upload anything if I use torrent since it uses pretty much all of my bandwidth, that's old German internet via DSL lines, it's stupidly bad. I can't send messages/images properly in messaging apps, etc.

And I also live in Germany, if it turns out there is something licensed in the torrent for some reason, like discontinued ISO files for Nintendo Wii games or just anything, I'm gonna get a fine of few thousands euro. We actually really have to use torrents carefully since there are lawyer companies sending those claims left and right on anything suspicious, since uploading/sharing data in Germany can be a heavy crime. I would prefer to be absolutely sure

@ikatson
Copy link
Owner

ikatson commented Aug 27, 2024

While I can't comment on legal matters, it's important to use rqbit responsibly and in accordance with local laws.

However, I understand that the client using all available upload bandwidth can make it difficult for other apps to function properly. I'll consider adding a feature to disable uploading to help manage this.

@DoctorRyner
Copy link
Author

@ikatson or I can actually implement it for you if you give me some leads how your app handles uploading

@ikatson
Copy link
Owner

ikatson commented Aug 28, 2024

Done this here #223, please validate if this works as expected

@ikatson
Copy link
Owner

ikatson commented Aug 29, 2024

Done in #223, closing

@ikatson ikatson closed this as completed Aug 29, 2024
@DoctorRyner
Copy link
Author

@ikatson
CleanShot 2024-08-29 at 17 56 42@2x

CleanShot 2024-08-29 at 17 56 28@2x

Hm, it seems not to work in GUI

@ikatson ikatson reopened this Aug 29, 2024
@ikatson
Copy link
Owner

ikatson commented Aug 29, 2024

You're right! Thanks for spotting. Fixing in 6ca3561, will merge into main once the tests finish https://github.com/ikatson/rqbit/actions/runs/10618548241

@ikatson
Copy link
Owner

ikatson commented Aug 29, 2024

Merged into main

@ikatson ikatson closed this as completed Aug 29, 2024
@Pentaphon
Copy link

Pentaphon commented Oct 1, 2024

@ikatson This feature will just make sure nobody except leechers use your client since it hurts the swarms that depend on all clients to contribute to the swarm. There's a reason that no major client allows this except the leecher modded clients. Your client will very likely be banned by any client or tracker that doesn't want to connect to people who leech and never seed. You should really rethink this decision.

@DoctorRyner
Copy link
Author

DoctorRyner commented Oct 1, 2024

@Pentaphon this is not true, all major clients I ever used had this feature. But think about 2 things:

  1. People with low upload speed will suffer and will not contribute anything substantial anyway. Any person that doesn't have good internet, will have to stop using this client if they can't restrict uploading because they will not have enough bandwidth to use the internet
  2. In Europe you LITERALLY getting fined THOUSANDS of euros if even 1 bit of a copyrighted material happens to be uploaded to someone else. And THIS is sure a thing that avert any person in Europe from using the client

@ikatson
Copy link
Owner

ikatson commented Oct 1, 2024

@Pentaphon

This feature will just make sure nobody except leechers use your client

Why? This is an optional, disabled by default feature. People were and are using rqbit before this feature was added, and they can keep using it after it was added like it never existed.

There's a reason that no major client allows this except the leecher modded clients

Is that true though? @DoctorRyner says it's not. I don't know, I don't use other clients. Just one other major client that has this feature would be enough to dispel this argument. @DoctorRyner can you name the ones that have it?

Your client will very likely be banned by any client or tracker that doesn't want to connect to people who leech and never seed

This seems a bit far fetched? Again, if this is an optional feature and it also exists in other major clients and they are not banned this would dispel this argument.

But if it turns out rqbit is the first to implement this out of major clients and they don't have it for the reasons stated, I can reconsider. We can put this under e.g. a build flag so that if people want it they go build rqbit themselves.

@Pentaphon
Copy link

all major clients I ever used had this feature

There is not a single major client that does this. qBittorrent, the most popular client right now, has no such feature. Neither does Transmission, Deluge, rtorrent, BiglyBT, etc. Otherwise, you would just use any of the major clients. Many clients, trackers, and the overall community looks down on this kind of feature. You are simply trying to torrent without uploading because of where you live. You're trying to get a relatively new torrent developer @ikatson to do this for you so you can benefit while his client loses respect from the community by enabling leechers. This feature basically makes his client akin to a leecher mod that is typically banned by every torrenting community. Hopefully, he will change his mind on this before this leeching feature shows up in a stable release.

@DoctorRyner
Copy link
Author

DoctorRyner commented Oct 1, 2024

@DoctorRyner can you name the ones that have it?

Sure, that's what I used before
CleanShot 2024-10-01 at 14 22 58@2x
CleanShot 2024-10-01 at 14 23 48@2x

@Pentaphon
Copy link

Pentaphon commented Oct 1, 2024

Sure, that's what I used before

Lol this is nonsense. That's not disabling upload. That's turning the speed down to zero, which also severely limits your download speed as punishment for leeching.

@ikatson here's an example of somebody trying to manipulate the qBittorrent dev years ago into allowing disabling upload. The dev responded with a firm no, closing the issue and locking the conversation. That's the most popular torrent client in the world right now.

@DoctorRyner
Copy link
Author

DoctorRyner commented Oct 1, 2024

Lol this is nonsense. That's not disabling upload. That's turning the speed down to zero, which also severely limits your download speed as punishment for leeching

I don't know what you are talking about, it gives me the same speed no matter this setting

The dev responded with a firm no

Well, It's his political opinion

That's the most popular torrent client in the world right now

To be honest, I didn't even know qbittorrent exist until like 2022. Transmission is quite popular and I knew it since, well, 2014 maybe.

I'm not sure if Software should be about politics, some agenda or looking down on people and features of Software

@Pentaphon
Copy link

Pentaphon commented Oct 1, 2024

I don't know what you are talking about, it gives me the same speed no matter this setting

So why didn't you just keep using Transmission then? Why did you make @ikatson go even further than Transmission and disable upload entirely? Why doesn't Transmission have a "disable seeding" setting like you got rqbit to have?

By the way, qBittorrent went even further to stop people who try limiting their upload to ZERO by automatically resetting the upload limit back to infinity. As soon as you type in "zero" and move away from that field, it resets to infinity.

{67FD1180-4A96-47BE-979C-935C50F80B9C}

Also, here's a Transmission contributor explaining what happens when you set upload to zero.

@DoctorRyner
Copy link
Author

DoctorRyner commented Oct 1, 2024

@Pentaphon because I tend to switch all tools I have to Rust written ones.

Like vim->helix, I even maintain my fork of it to have some features like file-tree until plugin system is released.

Some other examples would be RustDesk instead of TeamViewer and https://github.com/ClementTsang/bottom instead of top.

I'm a big fan of Rust and Software written in it, it's just so much better

@DoctorRyner
Copy link
Author

@ikatson if you fear political pressure or negative consequences by not obeying @Pentaphon's community, then I'm fine if you revert the change. Transmission is up and running for a couple of decades already tho

@Pentaphon
Copy link

I'm a big fan of Rust and Software written in it, it's just so much better

That's fine but what you are having this dev do by taking advantage of his naivete regarding torrents is just plain wrong. The reputation of his client will suffer. @ikatson I suggest you do your own research into whether all the popular clients allow seeding to be disabled instead of just listening to some random user. You will find that disabling seeding entirely is almost universally frowned upon and such behavior is met with different types of bans.

@ikatson
Copy link
Owner

ikatson commented Oct 1, 2024

if you fear political pressure or negative consequences by not obeying

this dev do by taking advantage of his naivete

Let's keep this civilized, folks. Noone is taking advantage of noone here - someone needed help, and it was easy for me to help, and I like working on rqbit, so I implemented this.

I did some quick googling / ChatGPT'ing and here's what it seems:

  • No major client has an explicit "disable upload" feature
  • Most clients (except Transmission's global upload rate), when limiting upload speed limit everything, including protocol messages. So setting upload speed to 0 would slow down the torrent to 0
  • According to both forums linked by @Pentaphon and @DoctorRyner Transmission works differently, and still sends protocol messages even when global upload rate is set to 0 - which would make it function more or less like rqbit's "disable upload".

Overall, I don't like the idea of rqbit client being controversial / bad BT citizen (other than not supporting all the million modern BT features).
But at the same time the potential downsides seem stretched for an optional feature. I do see though how with rqbit being very widespread it could harm the swarm quality and make this more pronounced.

So, I'm leaning to this as a compromise:
making this a build flag that is disabled by default. You must build rqbit from source with this flag set if you want this behavior. That should add enough friction for it not to become widespread, but would keep the behavior if the user is ready to figure out how to build rqbit from source.

@Pentaphon it occurs to me this shouldn't be "controversial", certainly not worse than what Transmission lets you do already without building it from source. Agree?

@Pentaphon
Copy link

@ikatson With open source clients, people can do literally whatever they want when building from source or they can simply download a leecher mod client, but I do suggest never distributing official builds that have this feature in order to protect the reputation of your client and to keep swarms healthy. As long as you follow what major torrent clients do, you should be OK.

@DoctorRyner
Copy link
Author

I guess transmission has terrible reputation with 12K GitHub stars

@Pentaphon
Copy link

I guess transmission has terrible reputation with 12K GitHub stars

Transmission has a good reputation partially because it does not and never will have a "disable upload" setting as shown in your screenshot posted above. Just having that setting alone would get Transmission banned from pretty much every private tracker, for example.

@ikatson
Copy link
Owner

ikatson commented Oct 3, 2024

Addressed in #251

@DoctorRyner
Copy link
Author

@Pentaphon well, transmission does pretty much the same and it was never banned

@Pentaphon
Copy link

transmission does pretty much the same and it was never banned

Again, Transmission does not have a "disable upload" setting like in the screenshot above. That's going too far for many people in the torrenting community and is why you don't see it on uTorrent, qBittorrent, Deluge, etc. Anyway, this whole thing has been resolved. I'm glad the dev did what is best for his client and the community.

@DoctorRyner
Copy link
Author

DoctorRyner commented Oct 3, 2024

.@Pentaphon dude, it's the same setting that does pretty much the same thing
CleanShot 2024-10-03 at 13 22 40@2x

There is a practical reason why we use Transmission in Europe. It's not safe to use a torrent client in Europe with upload enabled, plain and simple. It's really upsetting for me that we can't escape politics even on GitHub. From my point of view, safety and user experience should come first no brainer. But I guess let's go and pressure and censor programmers and say what features they can write and what they cannot write, have a nice day, I'm leaving. Good luck to people with bad internet I guess

@Pentaphon
Copy link

@DoctorRyner the key words are "more or less" and "pretty much". Its not the exact same thing. There is no setting on Transmission, nor any major client that says "disable upload". Simple as that.

Also, are you kidding me? Pressuring and censoring programmers? You're the one pressuring him to do something that you know other clients refuse to do because you know he's a new torrent dev who doesn't know what other clients do. I'm simply trying to help the dev not have his client's reputation ruined by pointing him towards what all the major clients do, which is wise advice, like a new email client dev doing what other email client devs do to follow standards.

If you want to pirate, use a leecher mod, buy a VPN or use another way to pirate. It is not this dev's responsibility to help you pirate by sacrificing his client's reputation with the larger torrenting community.

@DoctorRyner
Copy link
Author

DoctorRyner commented Oct 3, 2024

I don't care anymore, go preach to someone else. No amount of gaslighting will help. I'll just switch back to Transmission without any leeching mod, compiling from source or buying a VPN. All. Straightforward. and. Simple, like every Software ought to be

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants