bluesky-osa.js
1// ==UserScript==
2// @name Bluesky age assurance bypass
3// @version 1.0
4// @match https://bsky.app/*
5// @match https://main.bsky.dev/*
6// @grant none
7// @run-at document-start
8// ==/UserScript==
9
10const _fetch = globalThis.fetch;
11globalThis.fetch = async function (req, init) {
12 if (req instanceof Request) {
13 const url = new URL(req.url);
14
15 switch (url.pathname) {
16 case "/xrpc/app.bsky.unspecced.getAgeAssuranceState": {
17 return Response.json({
18 lastInitiatedAt: "2025-07-14T14:22:43.912Z",
19 status: "assured",
20 });
21 }
22 }
23 } else if (req === "https://bsky.app/ipcc") {
24 return Response.json({
25 countryCode: "US",
26 isAgeRestrictedGeo: false,
27 });
28 }
29
30 return _fetch.call(this, req, init);
31};