flood icon indicating copy to clipboard operation
flood copied to clipboard

User permissions / private and shared torrent downloads

Open Astridax opened this issue 7 years ago • 11 comments

Hey there, awesome work so far!

So I noticed that while you can create users in the interface, the implementation so far seems pretty limited.

As far as I'm aware, all users seem to be able to see a list of torrents that any user is downloading and what's more, all users seem to have full permission to do as they please to these torrents and even other users, deleting them at will.

My current wish list would be:

  • User groups, so that certain users are set as admins etc. The user groups could be defined by an admin.

  • User groups would come with access controls that limit what they can do, what settings they can change etc.

  • By default downloading a torrent would only be available to the user who downloaded it. Maybe each user could have a separate directory in the downloads folder.

  • However a user can choose to make a downloaded torrent visible to all or a group of other users.

I'd love to work on this. I did a quick google and found this:

https://github.com/ForbesLindesay/connect-roles

that ties in very well with passport.js which you are using.

Astridax avatar Jan 07 '17 00:01 Astridax

You're right, users right now have access to everything. I do agree that some sort of ACL would be beneficial.

I would gladly accept some help in this effort. While this feature would be awesome, I don't think it's the most important feature at the moment, and I think I should be focusing on other features.

If you're up for it, let's discuss how best to implement this before you begin working on it.

Thanks!

jfurrow avatar Jan 11 '17 03:01 jfurrow

Sure sounds good! How do you want to disccus this. Either here, via email or some other method?

Astridax avatar Jan 13 '17 02:01 Astridax

@Astridax Sorry for the delay — I'd love to use Slack for this type of discussion, and then maybe we can use this ticket to document the concrete decisions that come from the discussion(s). How does that sound?

jfurrow avatar Jan 18 '17 04:01 jfurrow

any news on this update ?

neolectron avatar Feb 22 '17 16:02 neolectron

Crikey @jfurrow @neolectron, I totally missed your message, only just now seeing them. For sure, I'm happy to work on this and I currently have a bit of time to do so. Just post your slack details and I'll pop in!

Astridax avatar Feb 22 '17 17:02 Astridax

@Astridax sorry for the delay, I also missed this :(

You can get invited automatically to the Flood Slack channel at https://join-flood-talk.herokuapp.com/

jfurrow avatar Feb 28 '17 06:02 jfurrow

Unfortunately the link appears to be broken.

On Tue, 28 Feb 2017 at 06:01, John Furrow [email protected] wrote:

@Astridax https://github.com/Astridax you can get invited automatically here: https://join-flood-talk.herokuapp.com/

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/jfurrow/flood/issues/216#issuecomment-282950560, or mute the thread https://github.com/notifications/unsubscribe-auth/ABequ1-HTxa5DMRZsPNSHV5kM9bvLiQwks5rg7g_gaJpZM4LdQFC .

Astridax avatar Feb 28 '17 23:02 Astridax

@Astridax sorry again for the delay. Also sorry for the broken link to join the Slack group, my free Heroku instance ran out of resources for the auto-invite app.

After thinking about it some more, I think this is the right place to discuss the implementation, rather than Slack. So let's get it started, if you're still interested!

jfurrow avatar Mar 09 '17 04:03 jfurrow

When this came up a while ago, I was thinking it would make sense to run one instance of rtorrent per user. I'm not sure this is a good idea, anymore, but I'm curious to hear your thoughts.

If we use a single rtorrent instance, then Flood has to manage assigning torrents to individual users and filtering them on each request. I have concerns about the performance implications of this, but maybe it's not such a huge deal.

Anyway, this is really the only detail I wanted to solidify, I guess. I totally agree with the level of access control you described in your original post.

I'd be eternally grateful if you'd be willing to devote some energy to implementing this. Is there anything I can do to help you get started?

jfurrow avatar Mar 09 '17 04:03 jfurrow

I'm down to work on this next.

I think the easiest solution would be to add a property on the torrent that can tell us if a given user can read/write that torrent. I've got some ideas; I'll try to write it up in the next few days.

nVitius avatar May 03 '17 06:05 nVitius

Any update on this?

Hidend avatar Sep 03 '19 17:09 Hidend