Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/r3drun3/nostro
Nostr Osint Tool π π
¦
https://github.com/r3drun3/nostro
golang nostr nostr-protocol nostr-tools osint osint-tool
Last synced: 3 days ago
JSON representation
Nostr Osint Tool π π ¦
- Host: GitHub
- URL: https://github.com/r3drun3/nostro
- Owner: R3DRUN3
- License: other
- Created: 2023-10-05T07:42:33.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-12-11T08:30:09.000Z (11 months ago)
- Last Synced: 2024-02-16T05:34:39.530Z (9 months ago)
- Topics: golang, nostr, nostr-protocol, nostr-tools, osint, osint-tool
- Language: Go
- Homepage:
- Size: 386 KB
- Stars: 17
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-nostr - nostro - nostr osint (open source intelligence) tool (Tools / Client reviews and/or comparisons)
README
# NostrO
[![License: ODbL](https://img.shields.io/badge/License-PDDL-brightgreen.svg)](https://opendatacommons.org/licenses/pddl/) [![Go Report Card](https://goreportcard.com/badge/github.com/r3drun3/nostro)](https://goreportcard.com/report/github.com/r3drun3/nostro) [![goreleaser](https://github.com/R3DRUN3/nostro/actions/workflows/release.yaml/badge.svg)](https://github.com/R3DRUN3/nostro/actions/workflows/release.yaml) [![Latest Release](https://img.shields.io/github/v/release/r3drun3/nostro?logo=github)](https://github.com/r3drun3/nostro/releases/latest)**Nostr Osint Tool** π π ¦
`NostrO` is a tool designed for conducting *Open Source Intelligence* (OSINT) operations on [Nostr](https://nostr.com/).
NostrO facilitates operations such as retrieving relay or user infos, search on notes, and more.## Development
I welcome pull requests and contributions!
This tool is a CLI implemented with [cobra](https://github.com/spf13/cobra) and [go-nostr](https://github.com/nbd-wtf/go-nostr) library.
I suggest using `VS Code` for local development.
For debugging you can create a `launch.json` file similar to the following (change the command you want to test):
```json
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch Package",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${workspaceFolder}/main.go",
"args": ["relay", "--info", "bitcoinmaximalists.online"],
"env": {},
"showLog": true
}
]
}
```
## Examples
Command Help
```console
nostro --help
Welcome to NostrO π π ¦Usage:
nostro [flags]
nostro [command]Available Commands:
completion Generate the autocompletion script for the specified shell
dm Operations on direct messages
event Operations on events
help Help about any command
notes Operations on notes
relay Operations on relays
user Operations on usersFlags:
-h, --help help for nostroUse "nostro [command] --help" for more information about a command.
```
```console
nostro relay --help
Retrieve data on nostr relaysUsage:
nostro relay [flags]Flags:
-h, --help help for relay
--info Retrieve relay information document (nip-11)
```
Retrieve relay info
```console
nostro relay --info relay.nostrview.com
####################### RELAY INFO #######################
NAME: relay.nostrview.com
DESCRIPTION: Nostrview relay
PUB KEY: 2e9397a8c9268585668b76479f88e359d0ee261f8e8ea07b3b3450546d1601c8
CONTACT: 2e9397a8c9268585668b76479f88e359d0ee261f8e8ea07b3b3450546d1601c8
SUPPORTED NIPS: [1 2 4 9 11 12 15 16 20 22 26 28 33 40 111]
SOFTWARE: git+https://github.com/Cameri/nostream.git
VERSION: 1.22.2
LIMITATION: &{524288 10 10 5000 256 4 2500 102400 0 false true}
PAYMENTSURL: https://relay.nostrview.com/invoices
##########################################################
```
Retrieve user info from the specified relay
```console
nostro user --info npub1rusgp3upyrtpsy2pcqznl6e8hejg9ne8u2eg05gzc4n2cctsugksvcx2np nos.lol
####################### USER INFO #######################
[[i github:R3DRUN3 0f954e6fada304dacdb8e7389eefaf2b]]
Name: r3drun3
Picture: https://i.postimg.cc/rwTgJm0G/symbol-1.gif
Username: r3drun3
Display Name: r3drun3
Banner: https://i.postimg.cc/90FYS0D7/1327483.png
Website:
About: α±αα§α±VαΊα
Jus a collection of quantum bits,
constantly phasing between cyberspace and meatspace.
Running #Bitcoin
Nip05: [email protected]
Lud16: [email protected]
Lud06:
Created At: 1689593935
Nip05 Valid: false
##########################################################
```
Retrieve the specified event from the specified relay
```console
nostro event --info note1se5g5crjxaaet4vzy3xtpurv4as3dsfd5dteglk4z3f2xafstl5qyry4m3 nos.lol####################### EVENT INFO #######################
ID: 86688a6072377b95d582244cb0f06caf6116c12da357947ed51452a375305fe8
PubKey: 1f2080c78120d6181141c0053feb27be6482cf27e2b287d102c566ac6170e22d
Kind: 1
Created At: 1696529147
Tags: [[t osint] [t osint] [t Nostr] [t nostr] [t github] [t github] [r https://github.com/r3drun3/nostro] [r https://image.nostr.build/7a83f1b7b006bdecd047731c6b0fcec54d1a5186ae222f3e98e15953850712f4.jpg]]
Content: I believe that one of the best ways to learn a technology is to experiment and build upon it. That's why I've started developing a tool for performing #osint operations on #Nostr on my #github.
Feel free to collaborate if you want βΊ
https://github.com/r3drun3/nostrohttps://image.nostr.build/7a83f1b7b006bdecd047731c6b0fcec54d1a5186ae222f3e98e15953850712f4.jpg
Signature: 9b3b4af0bac8df5f62dd54b8f5be34bdee7545e0a6453fe6e3462861d29390282e95a4e85f8d2bf801d1f0da3ccc955b3ecff0ffbc6786ffa7d1c7017650b34a
##########################################################
```
Retrieve a user contact list from the specified relay
```console
nostro user --contactlist npub1rusgp3upyrtpsy2pcqznl6e8hejg9ne8u2eg05gzc4n2cctsugksvcx2np nos.lol
returned events saved to user_contact_list.json
```
Retrieve from the specified relay the last 300 direct messages that the specified user received
```console
nostro dm --userreceived npub1rusgp3upyrtpsy2pcqznl6e8hejg9ne8u2eg05gzc4n2cctsugksvcx2np nos.lol
returned events saved to user_received_direct_messages.json
```
Retrieve from the specified relay the last 300 notes that the specified user wrote
```console
nostro notes --userwritten npub1rusgp3upyrtpsy2pcqznl6e8hejg9ne8u2eg05gzc4n2cctsugksvcx2np nos.lol
returned events saved to user_written_notes.json
```
Retrieve from the specified relay the last 300 notes in which the specified user has been tagged
```console
nostro notes --usertagged npub1rusgp3upyrtpsy2pcqznl6e8hejg9ne8u2eg05gzc4n2cctsugksvcx2np nos.lol
returned events saved to user_tagged_notes.json
```
Retrieve from the specified relay the last 300 notes from the specified user that have been reposted
```console
nostro notes --userreposted npub1rusgp3upyrtpsy2pcqznl6e8hejg9ne8u2eg05gzc4n2cctsugksvcx2np nos.lol
returned events saved to user_reposted_notes.json
```Retrieve from the specified relay the last 300 reaction received by notes from the specified user
```console
nostro notes --userreacted npub1rusgp3upyrtpsy2pcqznl6e8hejg9ne8u2eg05gzc4n2cctsugksvcx2np nos.lol
returned events saved to user_reacted_notes.json
```
For all available command use the cli `help` function.