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).