Default avatar
npub1n0k5...dwhk
npub1n0k5...dwhk
nostr:npub146y59dkatpwkx0ncs9u34vhmm60dedmdla0s8zy8yw22pqfj4huq36dp2y
sucessfully transferred 560 kB file over bittorrent/i2p, seeding from #qBittorrent to #BiqlyBt both clients have #i2p support, but with qBittorrent its just one checkbox in settings, while with BiqlyBT you have to download i2p addon when it prompts about it im not sure whether these clients include i2p binaries or not. if not i recommend #i2pd which is way better than the java version #anonymous #bittorrent
#ipfs #embed fix for #coracle and #iris browser script ```js window.update_embeds = function(){ document.querySelectorAll("video,img").forEach(v => { if(v.src.match(/ipfs:\/\/([^ \/]+)(\S*)/)){ console.log("ipfs video replace coracle") v.src = v.src.replace(/ipfs:\/\/([^ \/]+)(\S*)/, "http://$1.ipfs.localhost:8080/$2") } }) document.querySelectorAll(".text-frag").forEach(t => { if(t.innerHTML.match(/ipfs:\/\/([^ \/]+)(\S*)/)){ console.log("ipfs img replace coracle") t.innerHTML = t.innerHTML.replace(/ipfs:\/\/([^ \/]+)(\S*)\.(jpg|jpeg|png|webp)/, "<img src=\"http://$1.ipfs.localhost:8080$2\.$3\"\/>") } }) document.querySelectorAll(".text-frag").forEach(t => {let m = t.innerText.match(/ipfs:\/\/([^ \/]+)(\S*)\.(webm|mp4)/); if(m){ console.log("ipfs video replace iris"); t.innerHTML = t.innerHTML.replace(m[0], '<video class="max-h-[80vh]" loop controls src="http://' + decodeURI(m[1]+".ipfs.localhost:8080"+m[2]+"."+m[3]) + '"/>') }}) } addEventListener("load", () => { let to = null const observer = new MutationObserver(() => { if(to != null){ return } to = setTimeout(() => { to = null }, 50) console.log("update ipfs embeds") update_embeds() }) observer.observe(document.body, { childList: true, subtree: true }); }) ```
while we keep waiting browsers to support ipfs:// protocol properly, here is a fix to redirect to localhost or any ipfs gateway of choise. we should not link to ipfs gateways directly. it should be up to the client to decide how to retrieve the content. document.querySelectorAll("video,img").forEach(v => v.src = v.src.replace(/ipfs:\/\/([^ \/]+)(\S*)/, "http://$1.ipfs.localhost:8080/$2"))
creating gallery with preview montage -mode concatenate -tile 5x $(find /path/to/images/ | sort | tail -n +2 | head -n 9) -resize 200x200 -quality 59 gallery.webp cat gallery.webp | base64 -w 0 > gallery.webp.base64 <meta property="og:type" content="article" /> <meta property="og:title" content="00004-716949222.png" /> <meta property="og:site_name" content="hostr" /> <meta property="og:description" content="image description" /> <meta property="og:image" content="data:image/webp;base64,imagedata"/> <meta property="og:image:width" content="665" /> <meta property="og:image:height" content="400" /> https://npub10yjtwupadl7hvgkun2xju8yp3dhgwy5cskw6wunhdduzwxhhklnq3g0zkr.hostr.cc/d/gallery.html?x