You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+58Lines changed: 58 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -486,6 +486,17 @@ Start:
486
486
487
487
## Tests
488
488
489
+
### Linting and formatting (Biome)
490
+
491
+
Run code quality checks with Biome:
492
+
493
+
```
494
+
npm run lint
495
+
npm run lint:fix
496
+
npm run format
497
+
npm run format:check
498
+
```
499
+
489
500
### Unit tests
490
501
491
502
Open a terminal and change to the project's directory:
@@ -586,6 +597,52 @@ To see the integration test coverage report open `.coverage/integration/lcov-rep
586
597
open .coverage/integration/lcov-report/index.html
587
598
```
588
599
600
+
601
+
## Security & Load Testing
602
+
603
+
Nostream includes a specialized security tester to simulate Slowloris-style connection holding and event flood (spam) attacks. This is used to verify relay resilience and prevent memory leaks.
Export all stored events to a [JSON Lines](https://jsonlines.org/) (`.jsonl`) file. Each line is a valid NIP-01 Nostr event JSON object. The export streams rows from the database using cursors, so it works safely on relays with millions of events without loading them into memory.
@@ -634,6 +691,7 @@ Delete only selected kinds older than N days:
634
691
By default, the script asks for explicit confirmation (`Type 'DELETE' to confirm`).
635
692
Use `--force` to skip the prompt.
636
693
694
+
637
695
## Configuration
638
696
639
697
You can change the default folder by setting the `NOSTR_CONFIG_DIR` environment variable to a different path.
0 commit comments