No Description

Adam Evyčędo c12bcc3790 fix mimir and hermodr 8 months ago
eostre 0dfd439d35 change first ēostre to gott 10 months ago
gersemi d8b5ec1c65 fix gersemi not moving messages 9 months ago
hermodr c12bcc3790 fix mimir and hermodr 8 months ago
himinbjorg c12bcc3790 fix mimir and hermodr 8 months ago
idavollr c12bcc3790 fix mimir and hermodr 8 months ago
jotunheim d051fc6746 make separate packages 10 months ago
mimir c12bcc3790 fix mimir and hermodr 8 months ago
templates 6cbd3c7e72 add mimir 2 years ago
tyr d051fc6746 make separate packages 10 months ago
vor d051fc6746 make separate packages 10 months ago
.gitignore f9eeafab56 add readme 2 years ago
CHANGELOG.adoc f9eeafab56 add readme 2 years ago
CODE_OF_CONDUCT 6fcf4ed19d add code of merit 2 years ago
LICENSE f9eeafab56 add readme 2 years ago
README.asciidoc 83a379c7bc add eostre 2 years ago
config_example.dirty 38f2cbc12a conflict 10 months ago
eostre.sh e5d54a64f2 try XDG directories in sequence 10 months ago
go.mod d051fc6746 make separate packages 10 months ago
go.sum d85b753bc6 fix sqlite3 error 11 months ago
main.go d051fc6746 make separate packages 10 months ago
mkfile d8b5ec1c65 fix gersemi not moving messages 9 months ago

README.asciidoc

= asgard
apiote
:toc:

asgard is a suite of modules based on email workflow.

hermodr (Hermóðr, the messenger) forwards messages from IMAP inbox to another address; it’s designed to be used with https://github.com/emersion/hydroxide[hydroxide].

mimir (Mímir, renowned for his knowledge) is a client-side topic-based mailing list and archive; it acts as a mailing list, forwarding messages based on their In-Reply-To header, and stores them in public archive. Best used as a companion to an open source project.

tyr (Týr, valorous and powerful) is an address-based filter; it lets messages pass through if the pair (sender, recipient) is allowed, directs messages to junk if the pair is explicitly not allowed, and sends a notification to sender if the pair is not known.

vor (Vör, associated with wisdom) is a client-side address-based mailing list. It forwards messages sent to a specific address to all interested parties.

eostre (Ēostre, spring goddess) donwloads journal entries in asciidoc and converts them to html.

== Building

Because asgard uses generics, go >= 1.18 is needed (currently in beta).

All You have to do is run `go build`.

== Running

----
asgard serve
serves the public archive of mimir, and self-release webpage for tyr

asgard hermodr
runs one-time forward of hermodr

asgard mimir
runs one-time archiving and forwarding of mimir

asgard tyr
runs on time filter of tyr
asgard tyr list
lists currently quarantined messages
asgard release ID [recipient]
releases message from quarantine (and saves rule); if recipient is not given, sender can send messages to any address directed to this inbox
asgard offend ID
moves message to junk and saves sender as known offender
----

== Configuration

asgard is configured with a configuration file (currently read from current directory). Example file can be found in `config_example.dirty`. All fields are mandatory.

== Contribute

This project uses The Code of Merit, which is available as CODE_OF_CONDUCT file.

The roadmap is available in `CHANGELOG.adoc` file and—although it’s not set in stone—feature requests are highly discouraged. Contributions, however, are welcome as patches; please send them to `asgard@git.apiote.xyz` using `git send-email`. Patches must include a sign-off to certify agreement to https://developercertificate.org/[Developer Certificate of Origin].

All communication—questions, bugs, etc.—should go through the mailing list available at `asgard@git.apiote.xyz`. Note that all communication will be made public at https://asgard.apiote.xyz/.

== Mirrors

The canonical repository for this project is https://git.apiote.xyz/asgard.git it’s mirrored at https://notabug.org/apiote/asgard

Mirrors exist solely for the sake of the code and any additional functions provided by third-party services (including but not limited to issues and pull requests) will not be used and will be ignored.

== Licence

----
asgard Copyright (C) 2021–2022 apiote

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program. If not, see .
----