Fenrir-s เป็น Nostr Relay ที่ปฏิบัติตามข้อกำหนดของ Nostr Protocol ซึ่งพัฒนาด้วย Kotlin
โปรเจคนี้มุ่งเน้นสำหรับการใช้งานส่วนตัวหรือในกลุ่มเพื่อน สามารถกำหนดค่านโยบาย 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
ไฟล์กำหนดค่าอยู่ที่ .env
NAME=lnwza007
DESCRIPTION=นึกแล้ว มึงต้องอ่าน
NPUB=npub1ujevvncwfe22hv6d2cjv6pqwqhkvwlcvge7vgm3vcn2max9tu03sgze8ry
CONTACT=[email protected]
พารามิเตอร์ | คำอธิบาย |
---|---|
NAME |
ชื่อของ Relay |
DESCRIPTION |
คำอธิบายเกี่ยวกับ Relay |
NPUB |
npub ของเจ้าของ Relay |
CONTACT |
ที่อยู่อีเมลที่สามารถติดต่อได้ |
หากไม่ได้กำหนดค่าใดๆ ค่าเริ่มต้นจะเป็น Public Relay ที่เปิดให้ทุกคนใช้งานได้
ALL_PASS=true
FOLLOWS_PASS=false
POW_ENABLED=false
MIN_DIFFICULTY=32
พารามิเตอร์ | คำอธิบาย | ค่าเริ่มต้น | ลำดับความสำคัญ |
---|---|---|---|
ALL_PASS |
รับ Event จากทุกคน | true | รองลงมา |
FOLLOWS_PASS |
รับ Event เฉพาะจากคนที่เจ้าของ Relay ติดตาม (NIP-02) | false | สูง |
POW_ENABLED |
เปิดใช้งานการตรวจสอบ Proof of Work | false | สูง |
MIN_DIFFICULTY |
ค่าความยากขั้นต่ำสำหรับ Proof of Work | 32 | - |
Warning
ค่าความยากระดับ 32 ค่อนข้างสูง หากต้องการลดความเข้มงวด แนะนำให้ตั้งค่าที่ น้อยลง หรือปิดไปเลยก็ได้
BACKUP_ENABLED=false
SYNC=wss://relay.rushmi0.win, wss://relay.plebstr.com
พารามิเตอร์ | คำอธิบาย | ค่าเริ่มต้น |
---|---|---|
BACKUP_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-app-jvm
relay-app-jvm
: JVM 21relay-app-native
: Native Binaries
- สร้าง Cloudflare Tunnel และรับ Token
- แก้ไขไฟล์ docker-compose.yml และใส่ Token ในส่วนของ
cloudflared-tunnel
service
หลังจากรัน Docker สำเร็จ คุณสามารถเข้าถึง Relay ได้ที่:
- ws://localhost:6724 (ภายในเครื่อง)
- wss://your-domain.com (ผ่าน Cloudflare Tunnel, หากตั้งค่าไว้)
Web-page.mp4
-
ปัญหา: 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 :
[email protected]
- Zap : ⚡[email protected]
หากมีคำถามหรือข้อเสนอแนะเพิ่มเติม Open Issue ได้เลย!