Configuration ============= The configuration files is located in: .. code:: sh micro ~/.config/rivista/settings.toml .. code-block:: 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).