aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorla-ninpre <leobrekalini@gmail.com>2021-05-23 20:20:13 +0300
committerla-ninpre <leobrekalini@gmail.com>2021-05-23 20:20:13 +0300
commit19673654ab83e7a9735c64dad632899855620c9c (patch)
tree23b14f00c9f11e7638fd9c4afe08056f8bee03bd
parent7d046658ee53378e88404f40aac4a2c8e2d97bf1 (diff)
downloadaaoth.xyz-19673654ab83e7a9735c64dad632899855620c9c.tar.gz
aaoth.xyz-19673654ab83e7a9735c64dad632899855620c9c.zip
add info about my matrix server
:)
-rw-r--r--_data/links.yml3
-rw-r--r--_posts/2021-05-23-join-the-test-of-my-matrix-server.md58
-rwxr-xr-xaaoth_new_post.sh102
-rw-r--r--assets/img/matrix-icon.pngbin0 -> 5686 bytes
-rw-r--r--tags/matrix.md6
-rw-r--r--tags/testing.md6
6 files changed, 175 insertions, 0 deletions
diff --git a/_data/links.yml b/_data/links.yml
index b9af95e..8848978 100644
--- a/_data/links.yml
+++ b/_data/links.yml
@@ -19,3 +19,6 @@
- name: hälsorisk
link: https://haelsorisk.bandcamp.com
type: bandcamp
+#- name: element
+ #link: https://element.aaoth.xyz
+ #type: matrix
diff --git a/_posts/2021-05-23-join-the-test-of-my-matrix-server.md b/_posts/2021-05-23-join-the-test-of-my-matrix-server.md
new file mode 100644
index 0000000..12ec953
--- /dev/null
+++ b/_posts/2021-05-23-join-the-test-of-my-matrix-server.md
@@ -0,0 +1,58 @@
+---
+title: join the test of my matrix server
+date: 2021-05-23T19:57:34+03:00
+author: la-ninpre
+tags: openbsd testing matrix
+---
+
+i launched my instance of [matrix][0] server recently. it runs on my openbsd vps
+and the server software i'm using is [synapse][1]. homeserver address is
+(unsurprizingly) `matrix.aaoth.xyz`.
+
+i also launched an instance of [element][2] matrix web-client on
+[element.aaoth.xyz][3], so you can try it.
+
+[0]:https://matrix.org
+[1]:https://matrix.org/docs/projects/server/synapse"
+[2]:https://element.io
+[3]:https://element.aaoth.xyz
+
+<!--more-->
+
+matrix is relatively new standard for instant messaging. the main reason i am
+interested in it is that it's open-source. it means that anyone could launch
+their instance of synapse and be happy with it.
+it also means that the whole system is decentralized, providing protection
+against global surveillance.
+
+## about my server
+
+after you create an account, you will be connected to the broadcast room.
+it is unencrypted and read-only.
+there are some links to other rooms.
+
+note that everything going on with my server should be considered temporary
+and i could be able to stop, disable or wipe everything completely,
+so don't rely on this as production-ready tool.
+
+also note that pretty much everything is in russian, because i launched matrix
+primarily for my friends.
+
+## about openbsd
+
+here is a tutorial by the great man **robert d herb** who addressed a lot of
+quirks installing synapse on openbsd, which helped me a lot:
+[running a matrix homeserver with synapse and element][4]
+
+because i haven't figured out completely how openbsd's relayd is working,
+i broke my [fossils][5]. i hope i'll fix them later, but now they look messy.
+there are some issues, i think, with internal structure of fossil's ui.
+it needs to be served directly by httpd. but for synapse to work it is mandatory
+to run relayd as reverse proxy.
+
+if you know how to shift some portion of traffic to relayd and some to httpd,
+please, [drop me a line][6].
+
+[4]:https://robertdherb.com/things/matrix.html
+[5]:https://fsl.aaoth.xyz
+[6]:mailto:aaoth@aaoth.xyz
diff --git a/aaoth_new_post.sh b/aaoth_new_post.sh
new file mode 100755
index 0000000..2a7c7c9
--- /dev/null
+++ b/aaoth_new_post.sh
@@ -0,0 +1,102 @@
+#!/bin/sh
+
+SITE_DIR="$HOME/Documents/aaoth.xyz"
+POSTS_DIR="$SITE_DIR/_posts"
+
+DATE_SHORT=$(date -I)
+DATE_LONG=$(date -Isec)
+
+usage() {
+ echo "usage:"
+ echo " $0 [OPTIONS]"
+ echo
+ echo "options:"
+ echo " -t, --title <title>"
+ echo " specify new post title"
+ echo " -g, --tags <tags>"
+ echo " specify new post tags"
+ echo " -h, --help"
+ echo " print usage information"
+}
+
+read_title() {
+ echo -n "new post title: "
+ read TITLE
+}
+
+read_tags() {
+ echo -n "new post tags: "
+ read TAGS
+}
+
+create_tag_page() {
+ cat <<- TAG > "$SITE_DIR/tags/$1.md"
+---
+layout: tagsort
+tag: $1
+title: "tags: $1"
+permalink: /tags/$1/
+---
+TAG
+}
+
+cd $SITE_DIR
+
+# if there are no arguments specified, run interactively
+if [ $# -gt 0 ]
+then
+ while [ -n "$1" ]
+ do
+ case "$1" in
+ --title|-t)
+ shift
+ TITLE=$1
+ ;;
+ --tags|-g)
+ shift
+ TAGS=$1
+ ;;
+ --help|-h)
+ usage
+ exit 2
+ ;;
+ *)
+ usage
+ exit 1
+ ;;
+ esac
+ shift
+ done
+fi
+
+[ -z "$TITLE" ] && read_title
+[ -z "$TITLE" ] && echo "title could not be empty" && exit 1
+
+[ -z "$TAGS" ] && read_tags
+[ -z "$TAGS" ] && echo "specify at least one tag" && exit 1
+
+TITLE_FILE=$(echo $TITLE | tr '[A-Z]' '[a-z]' | sed 's/ /-/g')
+
+POST_FILENAME="$POSTS_DIR/$DATE_SHORT-$TITLE_FILE.md"
+
+for _tag in $TAGS
+do
+ [ ! -f "./tags/$_tag.md" ] \
+ && echo "tag $_tag is not present, creating one" \
+ && create_tag_page $_tag
+done
+
+# template is currently hardcoded
+cat <<-EOF > "$POST_FILENAME"
+---
+title: $TITLE
+date: $DATE_LONG
+author: la-ninpre
+tags: $TAGS
+---
+
+<!--more-->
+
+EOF
+
+nvim -c "normal 6jo" -c "startinsert" $POST_FILENAME
diff --git a/assets/img/matrix-icon.png b/assets/img/matrix-icon.png
new file mode 100644
index 0000000..d259dc9
--- /dev/null
+++ b/assets/img/matrix-icon.png
Binary files differ
diff --git a/tags/matrix.md b/tags/matrix.md
new file mode 100644
index 0000000..42fe51c
--- /dev/null
+++ b/tags/matrix.md
@@ -0,0 +1,6 @@
+---
+layout: tagsort
+tag: matrix
+title: "tags: matrix"
+permalink: /tags/matrix/
+---
diff --git a/tags/testing.md b/tags/testing.md
new file mode 100644
index 0000000..9e16aba
--- /dev/null
+++ b/tags/testing.md
@@ -0,0 +1,6 @@
+---
+layout: tagsort
+tag: testing
+title: "tags: testing"
+permalink: /tags/testing/
+---