Avatar
PastaGringo 🤖⚡
b12b632c887f0c871d140d37bcb6e7c1e1a80264d0b7de8255aa1951d9e1ff79
TZ=Europe/Paris BTC, Lightning, Nostr, Self Hosting, Photos, etc. Find me on White Noise 😏 Nostr relays ⤵️ https://alienos.fractalized.net Blossom ⤵️ https://blossom.fractalized.net 🌽 WIP

It's a photo not a gif. Maybe bc the blob doesn't have any extension!

Testing strfry policies

Hi nostr:npub1v0lxxxxutpvrelsksy8cdhgfux9l6a42hsj2qzquu2zk7vc9qnkszrqj49, is there any settings to configure with Snort if we want to use tor socks proxy to browse tor Nostr relays?

is it working? How did you test please?

That was quick! 🔥💪

Will test it during the day and will give you a feedback ⚡

Can someone test my nostr relay on tor please? ⚡

➡️ ws://xvgox2zzo7cfxcjrd2llrkthvjs5t7efoalu34s6lmkqhvzvrms6ipyd.onion

Testing nostr.fractalized.net note from torstrudel (🤣)

To all people providing #tor access to #strfry, did you follow this guide?

Thanks ⚡https://relayable.org/add-tor-hidden-service-strfry-nostr-relay.html

Replying to Avatar Moss

Freese App Android/iOS version update

This version has added the GIF favorites feature, which allows users to directly click to use their favorite favorite GIFs when posting, replying to posts, and DM. But now it can only exist locally. #[0] #[1] gif collection has been implemented. Welcome to try it out.

Thank you #[2] for your feedback. We have made changes to the compatibility issue of the multilingual button UI in English, Japanese, Thai, French, and Portuguese.

Thank you for feedback from #[3] . We have addressed the issues of silent list and blank feed stream.

Thank you #[4] for your support in technical development, which has helped us solve many technical problems.

Many users have previously expressed their desire to provide APK downloads. This time, APK downloads have been added.

Freese's Android has been launched on Google Play. IOS has been successfully launched on the Apple App Store. Enjoy. Welcome everyone's feedback

New function

-Added gif emoji favorites feature.

-Added translation function, default enabled, no translation function required, can be turned off in settings.

-Added a mute list function and fixed the issue with mute accounts.

-Added features for accessing long articles, chatting, and personal profile hyperlinks.

-Added the relay management click relay address copying function.

Fixed

-Fixed the issue of lost post information in trend 24 hours, now everyone can always follow the latest trends on Nostr.

-Fix the issue of blank feed streams.

-Modified the compatibility issue of multilingual button UI in English, Japanese, Thai, French, and Portuguese.

-Optimized translation issues for English, Japanese, Thai, French, and Portuguese.

-Fixed some known issues.

Android Google Play

https://play.google.com/store/apps/details?id=com.apps.freerse

iOS App Store

https://apps.apple.com/au/app/freerse/id6450604093

Android apk

https://github.com/Freerse/Freerse/releases/tag/v1.5.8

https://video.nostr.build/e67704789a10972523328747b76194d207f5744f41cd45b709619678d97e4ec6.mp4

nice job ⚡ from Freerse 🙌

What free app (self-hosted or not) do you use to CI/CD you docker image? I'm doing it with a custom bash script but it's not so efficient.

Why not self-hosting it?

I created an easy python script to generate Nostr accounts with name, banner image, bio, etc. Someone wants to test it?

Same question 🤗😅

The future of LN nodes will be on chinese MiniPC 🤣

Welcomeeeeee 👀⚡️ #strike #finally

Cold with Bluesky 😅

Thanks for your explanation :)

For the test I deleted the image from my blossom drive. Do we need to keep the blob to allow the file to be retrieved in your server? Or the simple fact to upload once a file on a blossom server (+ to be hosted on another blossom server) is enough to keep the file indefinitely? If all the blossom servers delete the file, does the file become unreachable? Will write on a tutorial on blossom I need to understand what I'll say 😅

Replying to Avatar hzrd149

While I was in Mediera with all the other awesome people at the first SEC cohort there where a lot of discussions around data storage on nostr and if it could be made censorship-resistent

I remember lots of discussions about torrents, hypercore, nostr relays, and of course IPFS

There were a few things I learned from all these conversations:

1. All the existing solutions have one thing in common. A universal ID of some kind for files

2. HTTP is still good. we don't have to throw the baby out with the bath water

3. nostr could fix this... somehow

Some of the existing solutions work well for large files, and all of them are decentralization in some way. However none of them seem capable of serving up cat pictures for social media clients. they all have something missing...

## An Identity system

An identity system would allow files to be "owned" by users. and once files have owners servers could start grouping files into a single thing instead of a 1000+ loose files

This can also greatly simplify the question of "what is spam" for a server hosting (or seeding) these files. since it could simply have a whitelist of owners (and maybe their friends)

## What is blossom?

Blossom is a set of HTTP endpoints that allow nostr users to store and retrieve binary data on public servers using the sha256 hash as a universal id

## What are Blobs?

blobs are chunks of binary data. they are similar to files but with one key difference, they don't have names

Instead blobs have a sha256 hash (like `b1674191a88ec5cdd733e4240a81803105dc412d6c6708d53ab94fc248f4f553`) as an ID

These IDs are universal since they can be computed from the file itself using the sha256 hashing algorithm ( you can get a files sha256 hash on linux using: `sha256sum bitcoin.pdf` )

## How do the servers work?

Blossom servers expose four endpoints to let clients and users upload and manage blobs

- `GET /` (optional file `.ext`)

- `PUT /upload`

- `Authentication`: Signed [nostr event](https://github.com/hzrd149/blossom/blob/master/Server.md#upload-authorization-required)

- Returns a blob descriptor

- `GET /list/`

- Returns an array of blob descriptors

- `Authentication` _(optional)_: Signed [nostr event](https://github.com/hzrd149/blossom/blob/master/Server.md#list-authorization-optional)

- `DELETE /`

- `Authentication`: Signed [nostr event](https://github.com/hzrd149/blossom/blob/master/Server.md#delete-authorization-required)

## What is Blossom Drive?

Blossom Drive is a nostr app built on top of blossom servers and allows users to create and manage folders of blobs

## What are Drives

Drives are just nostr events (kind `30563`) that store a map of blobs and what filename they should have along with some extra metadata

An example drive event would be

```json

{

"pubkey": "266815e0c9210dfa324c6cba3573b14bee49da4209a9456f9484e5106cd408a5",

"created_at": 1710773987,

"content": "",

"kind": 30563,

"tags": [

[ "name", "Emojis" ],

[ "description", "nostr emojis" ],

[ "d", "emojis" ],

[ "r", "https://cdn.hzrd149.com/" ],

[ "x", "303f018e613f29e3e43264529903b7c8c84debbd475f89368cb293ec23938981", "/noStrudel.png", "15161", "image/png" ],

[ "x", "a0e2b39975c8da1702374b3eed6f4c6c7333e6ae0008dadafe93bd34bfb2ca78", "/satellite.png", "6853", "image/png" ],

[ "x", "e8f3fae0f4a43a88eae235a8b79794d72e8f14b0e103a0fed1e073d8fb53d51f", "/amethyst.png", "20487", "image/png" ],

[ "x", "70bd5836807b916d79e9c4e67e8b07e3e3b53f4acbb95c7521b11039a3c975c6", "/nos.png", "36521", "image/png" ],

[ "x", "0fc304630279e0c5ab2da9c2769e3a3178c47b8609b447a30916244e89abbc52", "/primal.png", "29343", "image/png" ],

[ "x", "9a03824a73d4af192d893329bbc04cd3798542ee87af15051aaf9376b74b25d4", "/coracle.png", "18300", "image/png" ],

[ "x", "accdc0cdc048f4719bb5e1da4ff4c6ffc1a4dbb7cf3afbd19b86940c01111568", "/iris.png", "24070", "image/png" ],

[ "x", "2e740f2514d6188e350d95cf4756bbf455d2f95e6a09bc64e94f5031bc4bba8f", "/damus.png", "32758", "image/png" ],

[ "x", "2e019f08da0c75fb9c40d81947e511c8f0554763bffb6d23a7b9b8c9e8c84abb", "/old emojis/astral.png", "29365", "image/png" ],

[ "x", "d97f842f2511ce0491fe0de208c6135b762f494a48da59926ce15acfdb6ac17e", "/other/rabbit.png", "19803", "image/png" ],

[ "x", "72cb99b689b4cfe1a9fb6937f779f3f9c65094bf0e6ac72a8f8261efa96653f5", "/blossom.png", "4393", "image/png" ]

]

}

```

There is a lot going on but the main thing is the list of "x" tags and the path that describes the folder and filename the blob should live at

If your interested, the full event definition is at [github.com/hzrd149/blossom-drive](https://github.com/hzrd149/blossom-drive/blob/master/docs/drive.md)

## Getting started

Like every good nostr client it takes a small instruction manual in order to use it properly. so here are the steps for getting started

### 1. Open the app

Open https://blossom.hzrd149.com

### 2. Login using extension

![]()

You can also login using any of the following methods using the input

- NIP-46 with your https://nsec.app or https://flare.pub account

- a NIP-46 connection string

- an `ncryptsec` password protected private key

- a `nsec` unprotected private key (please don't)

- bunker:// URI from nsecbunker

### 3. Add a blossom server

![]()

Right now `https://cdn.satellite.earth` is the only public server that is compatible with blossom drive. If you want to host your own I've written a basic implementation in TypeScript [github.com/hzrd149/blossom-server](https://github.com/hzrd149/blossom-server)

### 4. Start uploading your files

**NOTE: All files upload to blossom drive are public by default. DO NOT upload private files**

![]()

### 5. Manage files

![]()

## Encrypted drives

There is also the option to encrypt drives using [NIP-49](https://github.com/nostr-protocol/nips/blob/master/49.md) password encryption. although its not tested at all so don't trust it, verify

![]()

## Whats next?

I don't know, but Im excited to see what everyone else on nostr builds with this. I'm only one developer at the end of the day and I can't think of everything

also all the images in this article are stored in one of my blossom drives [here](nostr:naddr1qvzqqqrhvvpzqfngzhsvjggdlgeycm96x4emzjlwf8dyyzdfg4hefp89zpkdgz99qq8xzun5d93kcefdd9kkzem9wvr46jka)

nostr:naddr1qvzqqqrhvvpzqfngzhsvjggdlgeycm96x4emzjlwf8dyyzdfg4hefp89zpkdgz99qq8xzun5d93kcefdd9kkzem9wvr46jka

Thanks nostr:nprofile1qyd8wumn8ghj7urewfsk66ty9enxjct5dfskvtnrdakj7qg3waehxw309ahx7um5wgh8w6twv5hszxnhwden5te0dehhxarj9e6xsetnv9kk2cmpwshxjme0qqszv6q4uryjzr06xfxxew34wwc5hmjfmfpqn229d72gfegsdn2q3fg848xvh for your work on #Blossom! 🌸⚡

Just setup it on fractalized.net and everything seems to work fine!

Here is an image hosted on my own blossom-drive:

blossom-drive is accessible here: https://blossom-drive.fractalized.net

blossom-server is accessible here: https://blossom.fractalized.net

I've built a docker image for blossom-drive: https://hub.docker.com/r/pastagringo/blossom-drive-docker/

Anyone interested by a tutorial to self-host it?

*DEMO* NostrRelayPerf (BETA)

Good timing to show you my first Python Nostr script: NostrRelayPerf ⚡

This script will write/read in Nostr relays to show its live performances:

Available on ⤵️ https://gitworkshop.dev/repo/nostrrelayperf

Spoiler: Damus relay relay will block you pretty quickly 💀😆

Fave fun! ⚡

nostr:nevent1qvzqqqqqqypzpvftvvkgslcvsuw3grfhhjmw0s0p4qpxf59hm6p9t2se28v7rlmeqyg8wumn8ghj7mn0wd68ytnddakj7qghwaehxw309aex2mrp0yh8qunfd4skctnwv46z7qpqv3km56s6vmlpt3qy88cs3rnwenxmeuk63xcpd6xscucg38he4m0qp2au2q

GM EVERYONE 🔥

KEEP NOSTRING ⚡

How to well begin the journey ⚡🙏 #nostrdev #obtainium

That was my first Idea!

But I told me "it's gonna be easier and quicker".

Easier I suppose quicker definitely not 😅

Nostr relay will be down during few minutes

Nostr relay nostr.fractalized.net is available from Tor network :

at tor URL 🧅 umptgtde5tgs5krrscfrjc2g7ux4526hy3b7b2obqvyxyh6qzf6bimqd.onion:80 🧅

Why? Because I can thanks to onionpipe: https://github.com/cmars/onionpipe

It won't work because it seems we can't use websockets on tor network but I found this repo: https://github.com/SlowsieNT/nodejs-tor-websocket-client-server

Would that be possible ? 👀 ⚡🤖

Test from tor network

Oh, you take the risk to go there sometimes? 😅

So cool! Might be the first BTC related event I may attend! :D

Best dates. Especially if you are bit drunk 😏

Replying to Avatar frogmech

nostr:npub1aghreq2dpz3h3799hrawev5gf5zc2kt4ch9ykhp9utt0jd3gdu2qtlmhct node syncing up! Going to spin up a #lightning node next in my quest to get a wallet connected on #nostr

Which computer do you use ?

Navalny is dead.

European Media :