Fenrir-s is a Nostr Relay that adheres to the specifications of the Nostr Protocol, developed using Kotlin.
This project is intended for private use or within a group of friends. It allows for custom Relay policy configurations and is easy to set up.
- Fenrir-s
- ✅ NIP-01 Basic protocol flow
- ✅ NIP-02 Follow List
- ✅ NIP-04 Encrypted Direct Message
- ✅ NIP-09 Event Deletion
- ✅ NIP-11 Relay Information
- ✅ NIP-13 Proof of Work
- ✅ NIP-15 Marketplace
- ✅ NIP-28 Public Chat
- ⬜ NIP-40 Expiration Timestamp
- ⬜ NIP-42 Authentication of clients to relays
- ✅ NIP-50 Search Capability
Configuration file is located at .env
NAME=lnwza007
DESCRIPTION=นึกแล้ว มึงต้องอ่าน
NPUB=npub1ujevvncwfe22hv6d2cjv6pqwqhkvwlcvge7vgm3vcn2max9tu03sgze8ry
CONTACT=[email protected]
Parameter | Description |
---|---|
NAME |
Name of the Relay |
DESCRIPTION |
Description of the Relay |
NPUB |
Relay owner's npub |
CONTACT |
Contact email address |
If no configuration is set, the default will be a Public Relay open for everyone.
ALL_PASS=true
FOLLOWS_PASS=false
POW_ENABLED=false
MIN_DIFFICULTY=32
Parameter | Description | Default | Priority |
---|---|---|---|
ALL_PASS |
Accept Events from everyone | true | Low |
FOLLOWS_PASS |
Accept Events only from followed users (NIP-02) | false | High |
POW_ENABLED |
Enable Proof of Work verification | false | High |
MIN_DIFFICULTY |
Minimum difficulty level for Proof of Work | 32 | - |
Warning
A difficulty level of 32 is quite high. If you want to lower the strictness, it is recommended to set a lower value or disable it altogether.
BACKUP_ENABLED=false
SYNC=wss://relay.rushmi0.win, wss://relay.plebstr.com
Parameter | Description | Default |
---|---|---|
BACKUP_ENABLED |
Enable fetching follower data (NIP-02) from other Relays | false |
SYNC |
List of other Relays to fetch data from | - |
Important
Make sure you have Docker installed and running.
- Clone the project and navigate to the directory::
git clone https://github.com/rushmi0/Fenrir-s.git
cd Fenrir-s
-
Customize the application.toml file as needed.
-
Run Docker Compose:
docker compose up relay-db relay-app-jvm
relay-app-jvm
: JVM 21relay-app-native
: Native Binaries
- Create a Cloudflare Tunnel and obtain a Token.
- Edit the docker-compose.yml file and insert the Token under the
cloudflared-tunnel
service
Once Docker is successfully running, you can access the Relay at:
- ws://localhost:6724 (local machine)
- wss://your-domain.com (via Cloudflare Tunnel, if configured)
-
Issue: Docker is not running
Solution: Ensure Docker is running and has sufficient permissions. -
Issue: Unable to connect to the Relay
Solution: Check firewall settings and the port being used.
When a new version of Fenrir-s is available:
- Stop the running Docker containers.
- Pull the latest code from GitHub.
- Rebuild and restart the containers.
git pull
docker compose down
docker compose up --build -d
- Report issues -> Open an Issue on GitHub.
- Submit a Pull Request with a description of the improvements or changes.
- Nostr :
[email protected]
- Zap : ⚡[email protected]
If you have any questions or suggestions, feel free to open an issue!