Configuration
The configuration files is located in:
micro ~/.config/rivista/settings.toml
# Routine properties of articles.
[document]
locale = "en-ie"
rights = "Unless stated otherwise, content is licensed under GFDL."
[journal]
directories = ["posts"]
directory = "posts"
[account.activitypub]
hostname = ""
token = ""
# XMPP configurations.
# Publishing account to publish information with.
[account.xmpp.publisher]
address = ""
password = ""
[account.xmpp.comments]
address = ""
password = ""
# Messaging account to send notification messages to publishing account.
[account.xmpp.messenger]
address = ""
password = ""
[account.xmpp.operator]
address = ""
password = ""
# PERMANENT MEDIUMS
# =================
# Enabling permanent mediums is advantageous, as it allows you to have your
# subscribers and readers to reduce your internet costs by distributing your
# articles and contents via PPN (Peer-to-peer network).
# To utilize this feature you are required to have compatible software clients
# with which you initially distribute contents.
# Be sure to enable mediums to which you have compatible PPN client software
# of; and ensure that you either share the contents of data directory of your
# system at ~/.local/share/rivista/output/ or selectively copy the content
# thereof, and include it with your PPN software.
# BitTorrent : aMuTorrent, aria2, Deluge, Halite, Hashimi, KMLDonkey, KTorrent, Lopster, MLDonkey, Tixati, TransmissionBT, qBitTorrent, Shareaza, Tewi.
# Direct Connect : DC++, Lopster, NCDC.
# eDonkey2000 : aMule, aMuTorrent, eMule, KMLDonkey, Lopster, MLDonkey, Shareaza, XDonkey.
# Gnutella : Gtk-Gnutella, KCeasy, KMLDonkey, LimeWire, Lopster, MLDonkey, Phex, Shareaza.
# Hypercore : Agregore, Peersky.
# IPFS : Agregore, Galacteek, Peersky.
# MUTE : MUTE.
# OpenFT : KCeasy, KMLDonkey, Lopster, MLDonkey, Shareaza.
# Slavanap : Lopster, MLDonkey.
# SoulSeek : KMLDonkey, Nicotine+, Lopster, MLDonkey, Museek.
# TEMPORARY MEDIUMS
# =================
# Enabling temporary mediums is adventurous, unless you utilize reliable
# networks such as CJDNS, I2P, Yggdrasil, et cetera.
# These temporary mediums are based upon archaic systems that were traditionally
# available during the 1990's, due to lack of proper information and ignorance.
# It is mostly encouraged to utilize Gemini; yet, if you desire to have a fancy
# XHTML interface (XSLT and CSS), then you might want to enable FTP and HTTP.
# Be sure to enable mediums to which you have compatible server software of.
# Direct Connect :
# Finger :
# FTP : copyparty, ftpd, prim-ftpd.
# Gemini : Atlas, bifrons, Dremini, Gemserve, GmCapsule, gmid, gMNd, HodHod, Maple, Molly Brown, Vostok.
# Gopher : GeGoBi, gbs, Geomyid, Gophernicus, HURG, pituophis, PyGopherd.
# HTTP : BaShare, copyparty, Gunicorn, HFS, HTTPd, kHTTPd, NGINX, TinyProxy.
# NEX :
# RSYNC :
# Samba : copyparty.
# Scroll :
# SoulSeek : slskd, Soulfind.
# Spartan : Atlas.
# Text :
# TFTP : copyparty.
# WebDAV : copyparty.
[medium.client.activitypub]
enabled = false
scheme = "acct"
server = ["localhost:443"]
visibility = "public"
[medium.client.nostr]
enabled = false
scheme = "nostr"
server = ["localhost", "relay.nostr.i2p"]
# XMPP is the crown jewel of content publication which is an enhanced form of
# similar systems such as of usenet systems such as of E-Mail and NNTP.
# It is encouraged to utilize this uniquely formed and vital type of resource.
# Content over an account PEP (XEP-0163) be realized as a Journal and include
# the articles that are set at "journal.directory"; and, Content over a PubSub
# service (XEP-0060) be realized as CMS, which would deploy all of the documents
# of all directories.
[medium.client.xmpp]
enabled = true
scheme = "xmpp"
server = "pubsub.localhost"
#server = "pubsub.localhost" # CMS
#server = "pubsub@localhost" # Journal (urn:xmpp:microblog:0_)
[medium.magnet.adc]
enabled = false
hash = ["sha1", "tigertree"]
scheme = "adc"
server = ["localhost:2780", "hub.dc.i2p"]
[medium.magnet.adcs]
enabled = false
hash = ["sha1", "tigertree"]
scheme = "adcs"
server = ["localhost:2781"]
[medium.magnet.bittorrent]
enabled = false
hash = ["btih", "btmh"]
tracker = [
"udp://tracker.openbittorrent.com:80",
"udp://tracker.opentrackr.org:1337/announce",
"http://tracker2.postman.i2p/announce.php"]
[medium.magnet.dc]
enabled = false
hash = ["bitprint", "tigertree"]
scheme = "dchub"
server = ["localhost:411"]
[medium.magnet.ed2k]
enabled = false
hash = ["md4"]
server = [""]
[medium.magnet.fasttrack]
enabled = false
hash = ["kzhash"]
[medium.magnet.freenet]
enabled = false
hash = ["furi"]
[medium.magnet.g2]
enabled = false
hash = ["bitprint", "sha1", "tigertree"]
server = [""]
[medium.magnet.gnutella]
enabled = false
hash = ["sha1"]
server = [""]
[medium.magnet.hyphanet]
enabled = false
[medium.magnet.hypercore]
enabled = false
[medium.magnet.ipfs]
enabled = false
hash = ["cid"]
[medium.magnet.mute]
enabled = false
hash = ["sha1"]
server = [""]
[medium.magnet.nmdc]
enabled = false
hash = ["bitprint", "tigertree"]
scheme = "nmdc"
server = ["localhost"]
[medium.magnet.openft]
enabled = false
hash = ["md5", "sha1"]
server = [""]
[medium.magnet.retroshare]
enabled = false
hash = ["sha1"]
# To utilize SoulSeek (slsk), set your alias (i.e. "username") and path
# to the directory in which files of this publication are stored at.
# slsk://alias/path/to/journal?server=server.slsknet.org:2242
[medium.magnet.soulseek]
enabled = false
alias = ""
scheme = "slsk"
hostname = ["server.slsknet.org:2242"]
pathname = ""
[medium.server.finger]
enabled = false
scheme = "finger"
hostname = ["localhost:79"]
pathname = ""
[medium.server.ftp]
enabled = false
scheme = "ftp"
hostname = ["localhost:21"]
pathname = ""
[medium.server.ftps]
enabled = false
scheme = "sftp"
hostname = ["localhost:990"]
pathname = ""
[medium.server.gemini]
enabled = true
scheme = "gemini"
hostname = ["localhost:1965"]
pathname = ""
[medium.server.gopher]
enabled = false
scheme = "gopher"
hostname = ["localhost:70"]
pathname = ""
[medium.server.http]
enabled = true
scheme = "http"
hostname = ["localhost:80"]
pathname = ""
[medium.server.https]
enabled = true
scheme = "https"
hostname = ["localhost:443"]
pathname = ""
[medium.server.nex]
enabled = false
scheme = "nex"
hostname = ["localhost:1900"]
pathname = ""
[medium.server.nntp]
enabled = false
scheme = "nntp"
hostname = ["localhost:119"]
pathname = ""
[medium.server.nntps]
enabled = false
scheme = "nntps"
hostname = ["localhost:563"]
pathname = ""
[medium.server.rsync]
enabled = false
scheme = "rsync"
hostname = ["localhost:873"]
pathname = ""
[medium.server.samba]
enabled = false
scheme = "smb"
hostname = ["localhost:445"] # 139 (NetBIOS)
pathname = ""
[medium.server.scroll]
enabled = false
scheme = "scroll"
hostname = ["localhost:5699"]
[medium.server.sftp]
enabled = false
scheme = "sftp"
hostname = ["localhost:22"]
pathname = ""
[medium.server.spartan]
enabled = false
scheme = "spartan"
hostname = ["localhost:300"]
pathname = ""
[medium.server.ssh]
enabled = false
scheme = "ssh"
hostname = ["localhost:22"]
pathname = ""
[medium.server.telnet]
enabled = false
scheme = "telnet"
hostname = ["localhost:23"]
pathname = ""
[medium.server.text]
enabled = false
scheme = "text"
hostname = ["localhost:1961"]
pathname = ""
[medium.server.tftp]
enabled = false
scheme = "tftp"
hostname = ["localhost:69"]
pathname = ""
[medium.server.webdav]
enabled = false
scheme = "dav"
hostname = ["localhost:443"]
pathname = ""
# Services and nodes to publish content and comments.
[medium.server.xmpp.publish]
# Account (PEP) or PubSub service.
pubsub = ""
# For an account, node name should be urn:xmpp:microblog:0
# For PubSub service, node name may be anything else.
node = "urn:xmpp:microblog:0"
# Comments should be hosted over a PubSub service; yet it is possible to host
# comments under PEP node name urn:xmpp:microblog:0/comments of an account, yet
# PEP is not encouraged for comments if comments are to be publicly accessible.
comments = ""
[medium.server.xmpp.pubsub]
#FORM_TYPE = ["http://jabber.org/protocol/pubsub#node_config"]
#"pubsub#access_model" = "open"
access_model = "open"
body_xslt = ""
collection = ""
contact = []
dataform_xslt = ""
deliver_payloads = true
description = "The journal of the voyager"
itemreply = ""
language = "English"
max_items = "max"
max_payload_size = "10485760"
node_type = "leaf"
notify_config = true
notify_delete = true
notify_retract = true
owner = ["publisher@localhost", "sch@localhost"]
persist_items = true
presence_based_delivery = false
publish_model = "publishers"
publisher = ["publisher@localhost", "sch@localhost"]
replyroom = []
replyto = []
roster_groups_allowed = []
send_item_subscribe = true
subscribe = true
subscription_required = false
title = "Rivista Voyager Journal"
type = "http://www.w3.org/2005/Atom"
# Properties of Metalink.
[metalink]
copyright = ""
language = "en"
logo = "http://localhost:8080/logo.svg"
[metalink.publisher]
name = "Rivista Voyager"
url = "http://localhost:8080"
[metalink.signature]
mediatype = "application/pgp-signature"
key = ""
# Properties of search plugin.
[search]
attribution = "Search Information © 2025, Rivista Voyager LLC"
contact = ""
description = "Search Rivista Voyager - Journals and Torrents"
image = ""
language = "en-ie"
suggestions = 1
syndication_right = "open"
[search.name]
long = "Rivista Voyager Search System"
short = "Rivitsa Voyager"
[search.encoding]
input = "UTF-8"
output = "UTF-8"
# Routine stylesheets of documents.
[stylesheet]
routine = "article.xslt"
theme = "vivista"
[stylesheet.custom]
"collection.opml" = "opml.xslt"
"contact.atom" = "contact.xslt"
"connect.atom" = "connect.xslt"
#"index.atom" = "main.xslt"
"rivista.doap" = "doap.xslt"
"search.atom" = "search.xslt"
"sitemap.xml" = "sitemap.xslt"
"urlset.xml" = "sitemap.xslt"
# Server configuration.
[server.gemini]
# Listening address and port.
host = "127.0.0.1"
port = 1965
# Hostname has to be a fully qualified domain name which is matching the given
# certificate, if you are hosting publicly.
hostname = "localhost"
certfile = ""
keyfile = ""
#cafile = ""
#capath = ""
#proxy_protocol = 0
#use_tls = 1
format = "gmi" # Define routine format (atom, gmi).
[server.http]
# Listening address and port.
host = "127.0.0.1"
port = 8080
#path = ""
#sock = ""
#shutdown_timeout = 60.0
#keepalive_timeout = 75.0
#ssl_context = ""
#print = ""
#backlog = 128
#access_log_class = ""
#access_log_format = ""
#access_log = ""
#handle_signals = 1
#reuse_address = ""
#reuse_port = ""
#handler_cancellation = 0
format = "html" # Define routine format (atom, html, xhtml).