a3db453942
- BlossomClient: unauthenticated fetch, kind 24242 signed upload - Parser: capture `url` tag from NIP-35 events as blossom_url - Reader: spawn background fetch + cache of blob when url tag present - Writer: include `url` tag in published NIP-35 events when blob uploaded - Watcher: upload .torrent file to Blossom before publishing, attach URL - Migration 007: adds blossom_url + torrent_blob columns to torrents - Route GET /torrent/<info_hash>.torrent serves cached blobs - Config: blossom.enabled + blossom.server (disabled by default)
76 lines
2.5 KiB
YAML
76 lines
2.5 KiB
YAML
# kindexr config — copy to /etc/kindexr/config.yaml and edit as needed.
|
|
|
|
server:
|
|
listen: "127.0.0.1:9117"
|
|
base_url: "https://kindexr.example.com" # used in Torznab feed magnet links
|
|
|
|
database:
|
|
path: "/var/lib/kindexr/kindexr.db"
|
|
|
|
logging:
|
|
level: "info" # debug | info | warn | error
|
|
format: "json" # json | text
|
|
|
|
# Nostr relays to subscribe to for NIP-35 (kind 2003) events.
|
|
relays:
|
|
- "wss://relay.damus.io"
|
|
- "wss://nos.lol"
|
|
- "wss://relay.primal.net"
|
|
- "wss://nostr.mom"
|
|
- "wss://relay.snort.social"
|
|
- "wss://sovbit.host"
|
|
|
|
backfill_days: 365 # how far back to go on first connect per relay
|
|
negentropy_bootstrap: true
|
|
|
|
# Curation / trust settings
|
|
curation:
|
|
wot_only: false # if true, drop events from pubkeys outside your WoT graph
|
|
follow_depth: 2
|
|
operator_pubkey: "" # your npub or hex pubkey — defines WoT root
|
|
allowlist: []
|
|
blocklist: []
|
|
curation_sets: [] # kind 30004 naddr URIs to subscribe to
|
|
exclude_categories: [6000, 6010, 6020, 6030, 6040, 6050, 6060, 6070, 6080, 6090]
|
|
auto_block_threshold: 5 # auto-block a publisher after this many reports
|
|
|
|
# TMDB enrichment — title → TMDB ID lookup (optional)
|
|
tmdb:
|
|
enabled: true
|
|
api_key: "${TMDB_API_KEY}" # or set KINDEXR_TMDB.API_KEY env var
|
|
cache_ttl: "168h"
|
|
|
|
# Health scraping (off by default — can be rude to private trackers)
|
|
health:
|
|
enabled: false
|
|
method: "dht" # dht | tracker | both
|
|
refresh_interval: "30m"
|
|
|
|
# Blossom binary bridge (BUD-01)
|
|
# When enabled, kindexr will:
|
|
# - Cache .torrent files linked via `url` tags in incoming NIP-35 events
|
|
# - Upload .torrent files to this server before publishing your own NIP-35 events
|
|
# - Serve cached files at /torrent/<info_hash>.torrent for *arr apps
|
|
# The server can be self-hosted (e.g. https://github.com/hzrd149/blossom-server).
|
|
blossom:
|
|
enabled: false
|
|
server: "https://blossom.example.com"
|
|
|
|
# Publisher — publish your own torrents as NIP-35 events
|
|
publisher:
|
|
enabled: false
|
|
outbox: # relays to publish your events to
|
|
- "wss://sovbit.host"
|
|
- "wss://relay.damus.io"
|
|
publish_delay_secs: 1800 # 30 min hold before publishing
|
|
identity:
|
|
nsec: "" # local signing key (bech32 nsec or hex); run: kindexr-cli identity init
|
|
bunker_url: "" # NIP-46 bunker URI (takes precedence over nsec when set)
|
|
qbittorrent:
|
|
url: "http://127.0.0.1:8080"
|
|
username: "admin"
|
|
password: "${QBIT_PASSWORD}"
|
|
poll_interval_secs: 60
|
|
categories:
|
|
- "publish-nostr" # only publish torrents with this category label
|