Fenrir-s เป็น Nostr Relay ที่ปฏิบัติตามข้อกำหนดของ Nostr Protocol ซึ่งพัฒนาด้วย Kotlin/JVM
โปรเจคนี้มุ่งเน้นสำหรับการใช้งานส่วนตัวหรือในกลุ่มเพื่อน สามารถกำหนดค่านโยบาย Relay ตามความต้องการ และติดตั้งได้ง่าย
- 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
ไฟล์กำหนดค่าอยู่ที่ src/main/resources/application.toml
[nostr.relay.info]
name = "lnwza007"
description = "นึกแล้ว มึงต้องอ่าน"
npub = "npub1ujevvncwfe22hv6d2cjv6pqwqhkvwlcvge7vgm3vcn2max9tu03sgze8ry"
contact = "rushmi0@getalby.com"
พารามิเตอร์ | คำอธิบาย |
---|---|
name | ชื่อของ Relay |
description | คำอธิบายเกี่ยวกับ Relay |
npub | npub ของเจ้าของ Relay |
contact | ที่อยู่อีเมลที่สามารถติดต่อได้ |
หากไม่ได้กำหนดค่าใดๆ ค่าเริ่มต้นจะเป็น Public Relay ที่เปิดให้ทุกคนใช้งานได้
[nostr.relay.policy]
all-pass = true
follows-pass = false
[nostr.relay.policy.proof-of-work]
enabled = false
difficulty-minimum = 32
พารามิเตอร์ | คำอธิบาย | ค่าเริ่มต้น | ลำดับความสำคัญ |
---|---|---|---|
all-pass | รับ Event จากทุกคน | true | รองลงมา |
follows-pass | รับ Event เฉพาะจากคนที่เจ้าของ Relay ติดตาม (NIP-02) | false | สูง |
proof-of-work.enabled | เปิดใช้งานการตรวจสอบ Proof of Work | false | สูง |
proof-of-work.difficulty-minimum | ค่าความยากขั้นต่ำสำหรับ Proof of Work | 32 | - |
Warning
ค่าความยากระดับ 32 ค่อนข้างสูง หากต้องการลดความเข้มงวด แนะนำให้ตั้งค่าที่ น้อยลง หรือปิดไปเลยก็ได้
[nostr.relay.database.backup]
enabled = false
sync = ["wss://relay.damus.io", "wss://relay.snort.social", "wss://relay.siamstr.com", "wss://relay.notoshi.win"]
พารามิเตอร์ | คำอธิบาย | ค่าเริ่มต้น |
---|---|---|
enabled | เปิดใช้งานการดึงข้อมูลผู้ติดตามของเจ้าของ Relay (NIP-02) จาก Relay อื่น | false |
sync | รายการ Relay อื่นๆ ที่จะดึงข้อมูลมา | - |
Important
ต้องติดตั้ง Docker ให้เสร็จเรียบร้อยก่อนนะครับ และแน่ใจว่าเปิดใช้งานอยู่
- โคลนโปรเจคและเข้าสู่ไดเรกทอรี:
git clone https://github.com/rushmi0/Fenrir-s.git
cd Fenrir-s
-
ปรับแต่งไฟล์
application.toml
ตามต้องการ -
รัน Docker Compose:
docker compose up relay-db relay-cache relay-app
- สร้าง Cloudflare Tunnel และรับ Token
- แก้ไขไฟล์ docker-compose.yml และใส่ Token ในส่วนของ
cloudflared-tunnel
service
หลังจากรัน Docker สำเร็จ คุณสามารถเข้าถึง Relay ได้ที่:
- ws://localhost:6724 (ภายในเครื่อง)
- wss://your-domain.com (ผ่าน Cloudflare Tunnel, หากตั้งค่าไว้)
-
ปัญหา: Docker ไม่สามารถรันได้ วิธีแก้: ตรวจสอบว่า Docker ทำงานอยู่และมีสิทธิ์เพียงพอ
-
ปัญหา: ไม่สามารถเชื่อมต่อกับ Relay ได้ วิธีแก้: ตรวจสอบการตั้งค่า firewall และพอร์ตที่ใช้
เมื่อมีเวอร์ชันใหม่ของ Fenrir-s:
- หยุดการทำงานของ Docker containers
- Pull โค้ดล่าสุดจาก GitHub
- รีบิวด์และรีสตาร์ท containers
git pull
docker compose down
docker compose up --build -d
- รายงานปัญหา -> Open Issue บน GitHub
- ส่ง Pull Request พร้อมคำอธิบายการปรับปรุงเปลี่ยนแปลง
- Nostr : npub1ujevvncwfe22hv6d2cjv6pqwqhkvwlcvge7vgm3vcn2max9tu03sgze8ry
- Zap : ⚡rushmi0@getalby.com
หากมีคำถามหรือข้อเสนอแนะเพิ่มเติม Open Issue ได้เลย!