this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Chrome Working

+42 -5
+2
.gitignore
··· 1 1 **/.DS_Store 2 + extension_packages/* 3 + extension_packages
+1 -1
README.md
··· 2 2 3 3 [![Chrome Web Store](https://img.shields.io/chrome-web-store/v/aflpfginfpjhanhkmdpohpggpolfopmb)](https://chrome.google.com/webstore/detail/skylink-bluesky-did-detector/aflpfginfpjhanhkmdpohpggpolfopmb) 4 4 5 - A simple Chrome extension that detects if the current website is connected to a Bluesky user. 5 + A simple web extension that detects if the current website is connected to a Bluesky user. 6 6 7 7 Remember the good 'ol days of visiting someone's blog and being delighted when the "RSS" lit up in your browser? This is meant to capture that same magic. No more hunting on a page for a random bird icon to see if you can find their online profile. 8 8
+3 -3
background.js
··· 2 2 const runtime = typeof browser !== 'undefined' ? browser.runtime : chrome.runtime; 3 3 const tabs = typeof browser !== 'undefined' ? browser.tabs : chrome.tabs; 4 4 const storage = typeof browser !== 'undefined' ? browser.storage.local : chrome.storage.local; 5 - const browserAction = typeof browser !== 'undefined' ? browser.browserAction : chrome.browserAction; 5 + const action = typeof browser !== 'undefined' ? browser.action : chrome.action; 6 6 7 7 // On extension installation, check if privacy consent was already accepted and show it if not 8 8 runtime.onInstalled.addListener(() => { ··· 28 28 29 29 // Function to set the extension icon 30 30 function setIcon(tabId, iconName) { 31 - browserAction.setIcon({ path: iconName, tabId }); 31 + action.setIcon({ path: iconName, tabId }); 32 32 } 33 33 34 34 // On extension installation, set the icon to gray for all tabs ··· 50 50 }); 51 51 52 52 // When the extension icon is clicked, open the profile page if there's a DID 53 - browserAction.onClicked.addListener((tab) => { 53 + action.onClicked.addListener((tab) => { 54 54 const did = tabsWithDID.get(tab.id); 55 55 if (did) { 56 56 const newUrl = `${bskyAppUrl}/profile/${did}`;
+4
build_extension.sh
··· 1 + mkdir -p ./extension_packages/ff_build 2 + cp manifest-firefox.json ./extension_packages/ff_build/manifest.json 3 + cp ./*.png ./*.js ./*.html ./*.md LICENSE ./extension_packages/ff_build/ 4 + zip -j ./extension_packages/skylink-firefox.zip ./extension_packages/ff_build/*
+31
manifest-firefox.json
··· 1 + { 2 + "manifest_version": 3, 3 + "name": "SkyLink - Bluesky DID Detector", 4 + "short_name": "SkyLink", 5 + "version": "1.2.0", 6 + "author": "jesse@adhdjesse.com", 7 + "action": { 8 + "default_icon": { 9 + "48": "logo48_gray.png", 10 + "128": "logo128_gray.png" 11 + } 12 + }, 13 + "icons": { 14 + "48": "logo48.png", 15 + "128": "logo128.png" 16 + }, 17 + "description": "Detects Decentralized Identifiers (DIDs) in a domain's TXT records and links to the associated Bluesky profile.", 18 + "permissions": ["tabs", "management", "storage", "<all_urls>"], 19 + "content_security_policy": { 20 + "extension_pages": "script-src 'self'; object-src 'self'" 21 + }, 22 + "background": { 23 + "scripts": ["background.js"] 24 + }, 25 + "browser_specific_settings": { 26 + "gecko": { 27 + "id": "sanitybit@gmail.com", 28 + "strict_min_version": "109.0" 29 + } 30 + } 31 + }
+1 -1
manifest.json
··· 9 9 }, 10 10 "icons": { "48": "logo48.png", "128": "logo128.png" }, 11 11 "description": "Detects Decentralized Identifiers (DIDs) in a domain's TXT records and links to the associated Bluesky profile.", 12 - "permissions": ["activeTab", "tabs"], 12 + "permissions": ["activeTab", "tabs", "storage", "management"], 13 13 "background": { "service_worker": "background.js" }, 14 14 "content_scripts": [{ "matches": ["<all_urls>"], "js": ["content.js"] }] 15 15 }