blindsidenetworks / scalelite

Scalable load balancer for BigBlueButton.
GNU Affero General Public License v3.0
465 stars 249 forks source link

Protected recording not working in v1.5.1.x #983

Closed relecand closed 6 days ago

relecand commented 1 year ago

Describe the bug The protected recording feature does not work in Scalelite v1.5.1.2 - all recordings can be accessed via playback link https://SCALELITEURL/playback/presentation/2.3/571d7dee560cb3b8a5604c420285-12222

To Reproduce

  1. Activate protection features in /etc/default/scalelite
PROTECTED_RECORDINGS_ENABLED=true
PROTECTED_RECORDINGS_TOKEN_TIMEOUT=60
PROTECTED_RECORDINGS_TIMEOUT=360

systemctl restart scalelite.target

  1. Open a recording via moodle bbb room. Copy the URL

  2. Open the url in a private tab or another browser: the playback will show up (instead of a 404).

Deployment:

Version: Scalelite v1.5.1.2

Workaround:

Downgrade Scalelite to v1.3.5.2

Ithanil commented 1 year ago

Using GL(v2) with SL 1.5.1.2 I don't see this issue. Protected recording links work as expected. However, my links look as follows: https://SL-URL/recording/ID-XYZ/presentation?token=TOKEN

relecand commented 1 year ago

Thanks for your feedback. I checked it with moodle. There I got this URL-format: https://scaleliteurl/playback/presentation/2.3/571d7dee560cb3b8a5604c420285-12222

farhatahmad commented 12 months ago

Can you make a getRecordings call to Scalelite using API Mate? I believe Moodle imports the recordings (though I'm not 100% sure) and stores the url. You may need to look at "Resyncing" your recordings some how

schrd commented 12 months ago

I can reproduce this error.

This is broken in the containers, specifically blindsidenetwks/scalelite:v1.5.1.2-focal260-alpine-nginx. There are multiple broken things:

I think that #916 and #918 are wrong and broke protected recordings.

schrd commented 11 months ago

The following changes would fix this:

Replace /etc/bigbluebutton/nginx/playback-video.nginx with

location ~ "/playback/video/(.*)$" {
    return 307 /video/$1;
}

Replace /etc/bigbluebutton/nginx/presentation.nginx with

location /playback/presentation/playback.html {
        return 301 /playback/presentation/0.81/playback.html?$query_string;
        # If you have recordings from 0.9.0 beta versions and are sure
        # that you will never want to play recordings made with
        # BigBlueButton 0.81, comment the line above and uncomment the
        # following line:
        #return 301 /playback/presentation/0.9.0/playback.html?$query_string;
}

location /playback/presentation/2.0/playback.html {
        return 301 /playback/presentation/2.3/$arg_meetingId?$query_string;
}
relecand commented 5 months ago

See here: https://github.com/blindsidenetworks/scalelite/issues/1008#issuecomment-1923757343 - still a problem in all new versions of moodle, scalelite and bbb

amg-web commented 1 month ago

actually record can be accessed by direct link starting from v.1.4.2