{"guid":"e8c945c4-d11c-5fc4-a469-cc4b975af772","title":"Trusted CDNs without gatekeepers","subtitle":null,"slug":"mch2022-198-trusted-cdns-without-gatekeepers","link":"https://program.mch2022.org/mch2022/talk/W7MB7H/","description":"I want a Web where CDNs are unnecessary.\n\nWhere different organizations, different website operators, can help each other out by hosting assets for each others' websites, thus spreading the load across many orgs in solidarity, instead of centralizing it in gatekeepers.\n\nI believe I might slowly be getting to a point of having a decent answer to that question. No blockchain required.\n\nWhat if I told you the [code for this is already mostly there](https://gitlab.com/rysiekpl/libresilient/)?\n\nAll major browsers support Service Workers and Subresource Integrity, which means we can have a piece of JS that:\n1. only gets updated from the original domain\n2. handles all requests for the website\n3. routes these requests to the original domain, or hits third party endpoints when the original domain is unavailable for whatever reason\n4. has ways of distributing and checking Subresource Integrity on any fetched resource.\n\nAnd we do!\n\nPoints 1. and 2. are assured by Service Workers API, so browsers enforce that.\n\nPoint 3. can be achieved with [LibResilient's the alt-fetch plugin](https://gitlab.com/rysiekpl/libresilient/-/blob/master/plugins/alt-fetch.js).\n\nPoint 4. is the job of [LibResilient's signed-integrity plugin](https://gitlab.com/rysiekpl/libresilient/-/blob/master/plugins/signed-integrity.js).\n\nThis is all very PoC. Documentation is lacking or non-existent. But it's already there, ready to be tested and improved.","original_language":"eng","persons":["rysiek"],"tags":["mch2022","198","2022","MCH2022 Curated content"],"view_count":298,"promoted":false,"date":"2022-07-24T14:00:00.000+02:00","release_date":"2022-07-25T00:00:00.000+02:00","updated_at":"2026-03-21T13:30:07.084+01:00","length":2805,"duration":2805,"thumb_url":"https://static.media.ccc.de/media/events/MCH2022/198-e8c945c4-d11c-5fc4-a469-cc4b975af772.jpg","poster_url":"https://static.media.ccc.de/media/events/MCH2022/198-e8c945c4-d11c-5fc4-a469-cc4b975af772_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/MCH2022/198-e8c945c4-d11c-5fc4-a469-cc4b975af772.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/MCH2022/198-e8c945c4-d11c-5fc4-a469-cc4b975af772.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/mch2022-198-trusted-cdns-without-gatekeepers","url":"https://api.media.ccc.de/public/events/e8c945c4-d11c-5fc4-a469-cc4b975af772","conference_title":"May Contain Hackers 2022","conference_url":"https://api.media.ccc.de/public/conferences/MCH2022","related":[],"recordings":[{"size":273,"length":2805,"mime_type":"video/webm","language":"eng","filename":"mch2022-198-eng-Trusted_CDNs_without_gatekeepers_webm-hd.webm","state":"new","folder":"webm-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2022-07-25T13:14:13.316+02:00","recording_url":"https://cdn.media.ccc.de/events/MCH2022/webm-hd/mch2022-198-eng-Trusted_CDNs_without_gatekeepers_webm-hd.webm","url":"https://api.media.ccc.de/public/recordings/60384","event_url":"https://api.media.ccc.de/public/events/e8c945c4-d11c-5fc4-a469-cc4b975af772","conference_url":"https://api.media.ccc.de/public/conferences/MCH2022"},{"size":121,"length":2805,"mime_type":"video/webm","language":"eng","filename":"mch2022-198-eng-Trusted_CDNs_without_gatekeepers_webm-sd.webm","state":"new","folder":"webm-sd","high_quality":false,"width":720,"height":576,"updated_at":"2022-07-25T13:11:07.442+02:00","recording_url":"https://cdn.media.ccc.de/events/MCH2022/webm-sd/mch2022-198-eng-Trusted_CDNs_without_gatekeepers_webm-sd.webm","url":"https://api.media.ccc.de/public/recordings/60382","event_url":"https://api.media.ccc.de/public/events/e8c945c4-d11c-5fc4-a469-cc4b975af772","conference_url":"https://api.media.ccc.de/public/conferences/MCH2022"},{"size":101,"length":2805,"mime_type":"video/mp4","language":"eng","filename":"mch2022-198-eng-Trusted_CDNs_without_gatekeepers_sd.mp4","state":"new","folder":"h264-sd","high_quality":false,"width":720,"height":576,"updated_at":"2022-07-25T12:01:07.095+02:00","recording_url":"https://cdn.media.ccc.de/events/MCH2022/h264-sd/mch2022-198-eng-Trusted_CDNs_without_gatekeepers_sd.mp4","url":"https://api.media.ccc.de/public/recordings/60366","event_url":"https://api.media.ccc.de/public/events/e8c945c4-d11c-5fc4-a469-cc4b975af772","conference_url":"https://api.media.ccc.de/public/conferences/MCH2022"},{"size":42,"length":2805,"mime_type":"audio/mpeg","language":"eng","filename":"mch2022-198-eng-Trusted_CDNs_without_gatekeepers_mp3.mp3","state":"new","folder":"mp3","high_quality":false,"width":0,"height":0,"updated_at":"2022-07-25T11:53:04.527+02:00","recording_url":"https://cdn.media.ccc.de/events/MCH2022/mp3/mch2022-198-eng-Trusted_CDNs_without_gatekeepers_mp3.mp3","url":"https://api.media.ccc.de/public/recordings/60364","event_url":"https://api.media.ccc.de/public/events/e8c945c4-d11c-5fc4-a469-cc4b975af772","conference_url":"https://api.media.ccc.de/public/conferences/MCH2022"},{"size":31,"length":2805,"mime_type":"audio/opus","language":"eng","filename":"mch2022-198-eng-Trusted_CDNs_without_gatekeepers_opus.opus","state":"new","folder":"opus","high_quality":false,"width":0,"height":0,"updated_at":"2022-07-25T11:38:04.054+02:00","recording_url":"https://cdn.media.ccc.de/events/MCH2022/opus/mch2022-198-eng-Trusted_CDNs_without_gatekeepers_opus.opus","url":"https://api.media.ccc.de/public/recordings/60359","event_url":"https://api.media.ccc.de/public/events/e8c945c4-d11c-5fc4-a469-cc4b975af772","conference_url":"https://api.media.ccc.de/public/conferences/MCH2022"},{"size":288,"length":2805,"mime_type":"video/mp4","language":"eng","filename":"mch2022-198-eng-Trusted_CDNs_without_gatekeepers_hd.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2022-07-25T11:09:18.508+02:00","recording_url":"https://cdn.media.ccc.de/events/MCH2022/h264-hd/mch2022-198-eng-Trusted_CDNs_without_gatekeepers_hd.mp4","url":"https://api.media.ccc.de/public/recordings/60354","event_url":"https://api.media.ccc.de/public/events/e8c945c4-d11c-5fc4-a469-cc4b975af772","conference_url":"https://api.media.ccc.de/public/conferences/MCH2022"}]}