pre-commit applying mess round one

This commit is contained in:
Aminda Suomalainen 2023-02-26 19:01:13 +02:00
parent b5137190cd
commit 40b44495fe
Signed by: Mikaela
SSH Key Fingerprint: SHA256:CXLULpqNBdUKB6E6fLA1b/4SzG0HvKD19PbIePU175Q
82 changed files with 1999 additions and 1858 deletions

View File

@ -3,13 +3,12 @@ root = true
[*] [*]
# Future: https://github.com/editorconfig/editorconfig/issues/89 # Future: https://github.com/editorconfig/editorconfig/issues/89
# Handled by git when not set # Handled by git when not set
#end_of_line = lf end_of_line = lf
trim_trailing_whitespace = true trim_trailing_whitespace = true
insert_final_newline = true insert_final_newline = true
charset = utf-8 charset = utf-8
# Accessibility reasons. Vim: :%retab! (note also :set ts=4) # Accessibility reasons. Vim: :%retab! (note also :set ts=4)
indent_style = tab indent_style = space
indent_size = tab
#tab_width = #tab_width =
[*.{markdown,md}] [*.{markdown,md}]

2
.gitattributes vendored
View File

@ -1,6 +1,6 @@
# Normalize line endings for text files # Normalize line endings for text files
# https://www.git-scm.com/docs/gitattributes#_end_of_line_conversion # https://www.git-scm.com/docs/gitattributes#_end_of_line_conversion
* text=auto linguist-detectable * text=auto eol=lf linguist-detectable
# Unlikely to be ran under Windows, Linux line endings # Unlikely to be ran under Windows, Linux line endings
*.bash text eol=lf *.bash text eol=lf

1
.gitignore vendored
View File

@ -303,4 +303,3 @@ TSWLatexianTemp*
# option is specified. Footnotes are the stored in a file with suffix Notes.bib. # option is specified. Footnotes are the stored in a file with suffix Notes.bib.
# Uncomment the next line to have this generated file ignored. # Uncomment the next line to have this generated file ignored.
#*Notes.bib #*Notes.bib

27
.pre-commit-config.yaml Normal file
View File

@ -0,0 +1,27 @@
# Remember to run `pre-commit install` at least once!
# Manual test run: `pre-commit run --all-files`
# Update? `pre-commit autoupdate`
#
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
hooks:
- id: check-added-large-files
- id: check-case-conflict
- id: check-executables-have-shebangs
- id: check-shebang-scripts-are-executable
- id: destroyed-symlinks
- id: detect-private-key
- id: end-of-file-fixer
- id: fix-byte-order-marker
- repo: https://github.com/pre-commit/mirrors-prettier
rev: "v3.0.0-alpha.4"
hooks:
- id: prettier
- repo: https://github.com/editorconfig-checker/editorconfig-checker.python
rev: "2.7.1"
hooks:
- id: editorconfig-checker
alias: ec

1
.prettierignore Normal file
View File

@ -0,0 +1 @@
associations

1
LaTeX/.gitignore vendored
View File

@ -302,4 +302,3 @@ TSWLatexianTemp*
# option is specified. Footnotes are the stored in a file with suffix Notes.bib. # option is specified. Footnotes are the stored in a file with suffix Notes.bib.
# Uncomment the next line to have this generated file ignored. # Uncomment the next line to have this generated file ignored.
#*Notes.bib #*Notes.bib

View File

@ -2,8 +2,8 @@
To possibly save your self from headache: To possibly save your self from headache:
* Fedora: `sudo dnf install texlive-scheme-full -y` - Fedora: `sudo dnf install texlive-scheme-full -y`
* Debian: `sudo apt install texlive-full -y` - Debian: `sudo apt install texlive-full -y`
## Simple boilerplate ## Simple boilerplate
@ -14,8 +14,8 @@ answers.
## Package management ## Package management
***Don't do this, use `YOURFAVOURITEPACKAGEMANAGER search texlive-moderncv` **_Don't do this, use `YOURFAVOURITEPACKAGEMANAGER search texlive-moderncv`
or whatever*** or whatever_**
Fedora: remember to `sudo dnf install texlive-msg texlive-texlive-msg-translations` to Fedora: remember to `sudo dnf install texlive-msg texlive-texlive-msg-translations` to
remove one nag. Which doesn't work with Finnish, naturally. remove one nag. Which doesn't work with Finnish, naturally.
@ -28,10 +28,12 @@ tlmgr --ignore-warning --usermode install moderncv
## Installing custom templates ## Installing custom templates
1. Put them to `~/texmf/tex/latex/local/` The `tlmgr init-usertree` might be useful? 1. Put them to `~/texmf/tex/latex/local/` The `tlmgr init-usertree` might be useful?
* This can be verified with `kpsewhich -var-value=TEXMFHOME` in case this
happened to be not-Linux. - This can be verified with `kpsewhich -var-value=TEXMFHOME` in case this
happened to be not-Linux.
2. Run `texhash ~/texmf` 2. Run `texhash ~/texmf`
### Noteworthy templates ### Noteworthy templates
* [Finnish standard document](https://github.com/datakurre/vakioasiakirja) - [Finnish standard document](https://github.com/datakurre/vakioasiakirja)

View File

@ -9,7 +9,7 @@ their relationship with the
# LICENSING # LICENSING
`3ea1645f746abf8de4683aadf07202bce38480f5` (*Tue Feb 21 14:15:46 2023 +0200*) switches from BSD-3 clause to `3ea1645f746abf8de4683aadf07202bce38480f5` (_Tue Feb 21 14:15:46 2023 +0200_) switches from BSD-3 clause to
CC0. I don't think anything here qualifies as original work or licensable CC0. I don't think anything here qualifies as original work or licensable
in general. in general.

View File

@ -7,9 +7,9 @@ for multiple devices. They possibly should be in aminda.eu, but I don't
know what would be a good way to show them as browser integrated CSV know what would be a good way to show them as browser integrated CSV
viewers are rare and I don't think these would be in so much demand. viewers are rare and I don't think these would be in so much demand.
*Note that as per the FAQ, the connection request needs to be accepted _Note that as per the FAQ, the connection request needs to be accepted
within 48 hours by entering your Briar address. However after that within 48 hours by entering your Briar address. However after that
introductions can be made without timeout concerns.* introductions can be made without timeout concerns._
Briar doesn't hold as big place in my heart as IRC or Matrix to have a Briar doesn't hold as big place in my heart as IRC or Matrix to have a
dedicated page either and my HTML table tendency is effort even if the page dedicated page either and my HTML table tendency is effort even if the page
@ -37,12 +37,12 @@ add new users)</s> or blogs.
## Further reading and quotes ## Further reading and quotes
* https://briarproject.org/quick-start/ - https://briarproject.org/quick-start/
* > Please note that Briar will only synchronize messages with your contacts, not with nearby strangers who are running Briar. And it will only sync the messages youve chosen to share with each contact. For example, if you invite your contacts X and Y to join a forum, and they accept, then messages in that forum will be synced with X or Y whenever theyre within range. So you can receive forum messages from X in one location, travel to another location, and deliver those messages to Y. - > Please note that Briar will only synchronize messages with your contacts, not with nearby strangers who are running Briar. And it will only sync the messages youve chosen to share with each contact. For example, if you invite your contacts X and Y to join a forum, and they accept, then messages in that forum will be synced with X or Y whenever theyre within range. So you can receive forum messages from X in one location, travel to another location, and deliver those messages to Y.
* > But this doesnt work for private messages: theyre only synchronized directly between the sender and recipient. - > But this doesnt work for private messages: theyre only synchronized directly between the sender and recipient.
* https://code.briarproject.org/briar/briar/-/wikis/FAQ - https://code.briarproject.org/briar/briar/-/wikis/FAQ
* > Your Briar link contains a public key and it is safe to publish in the same way as a PGP public key. If you want to contact someone via Briar, both of you need to add each other's links. - > Your Briar link contains a public key and it is safe to publish in the same way as a PGP public key. If you want to contact someone via Briar, both of you need to add each other's links.
* > No, your online status isn't exposed by publishing your `briar://` link. Only your contacts can tell whether you're online. - > No, your online status isn't exposed by publishing your `briar://` link. Only your contacts can tell whether you're online.
* > No. Unlike with adding contacts at a distance and its 48 hours timeout, there's no such thing for introductions. - > No. Unlike with adding contacts at a distance and its 48 hours timeout, there's no such thing for introductions.
* https://code.briarproject.org/briar/briar-desktop/-/wikis/Changelog - https://code.briarproject.org/briar/briar-desktop/-/wikis/Changelog
* > \[0.2.0-beta 2022-02-22\] Synchronize messages via local LAN - > \[0.2.0-beta 2022-02-22\] Synchronize messages via local LAN

View File

@ -3,18 +3,18 @@
Briar Forums are groups where anyone can add anyone. They have no further Briar Forums are groups where anyone can add anyone. They have no further
moderation options than people cutting contact with abusive users. moderation options than people cutting contact with abusive users.
* `PandaCoderPL` introduced many to Briar forums and messages from them are - `PandaCoderPL` introduced many to Briar forums and messages from them are
visible in many forums especially those they list. To avoid duplication, visible in many forums especially those they list. To avoid duplication,
I have included their repository as a submodule. I have included their repository as a submodule.
* `started-by-me.csv` has those I created, but due to the way how Briar - `started-by-me.csv` has those I created, but due to the way how Briar
works I have no special access/power over others there. works I have no special access/power over others there.
* This is intentionally missing forums that contain just me and another - This is intentionally missing forums that contain just me and another
person with multiple devices as Briar doesn't have multidevice support person with multiple devices as Briar doesn't have multidevice support
and groups being untransferrable is too painful to use them, although and groups being untransferrable is too painful to use them, although
it carries risk of someone accidentally oversharing forums and thus it carries risk of someone accidentally oversharing forums and thus
revealing past messages. A dead friend forum where everyone else may revealing past messages. A dead friend forum where everyone else may
have stopped using Briar is also omitted. have stopped using Briar is also omitted.
* I mostly have `date +%Y-%j` in the end of forums I create so in case - I mostly have `date +%Y-%j` in the end of forums I create so in case
someone else has the same idea, there is unlikely to be two forums with someone else has the same idea, there is unlikely to be two forums with
the exact same name (which is possible and not a problem for Briar). the exact same name (which is possible and not a problem for Briar).

View File

@ -1,9 +1,9 @@
# Call forwarding, relevant commands edition # Call forwarding, relevant commands edition
*This is widely documented around the internet, but everything has a lot _This is widely documented around the internet, but everything has a lot
of details irrelevant to my case of two phones and it's always effort to of details irrelevant to my case of two phones and it's always effort to
cherry-pick the relevant parts. This file may be unintentionally Finland cherry-pick the relevant parts. This file may be unintentionally Finland
specific.* specific._
1. Open dialer 1. Open dialer
2. Enter command. +358 is Finnish international format, remove leading 0 from 2. Enter command. +358 is Finnish international format, remove leading 0 from
@ -12,11 +12,11 @@
## Commands ## Commands
* `##002#` - Remove all call forwards - `##002#` - Remove all call forwards
* `**61*+358…**30#` - forward if call is not answered in 30 seconds - `**61*+358…**30#` - forward if call is not answered in 30 seconds
* 30 may be replaced with multiples of 5 between 5 and 30. - 30 may be replaced with multiples of 5 between 5 and 30.
* `**62*+358…#` - forward if phone is not connected to network. - `**62*+358…#` - forward if phone is not connected to network.
* `**67*+358…#` - forward if phone is on another call. - `**67*+358…#` - forward if phone is on another call.
Copy-paste template for text editor: Copy-paste template for text editor:
@ -28,18 +28,18 @@ Copy-paste template for text editor:
## Status check ## Status check
* `*#002#` - Supposedly status for all forwards. Will respond with everything - `*#002#` - Supposedly status for all forwards. Will respond with everything
has failed. has failed.
* `*#61#` - Status for forward while not answered. Doesn't show the amount of seconds as - `*#61#` - Status for forward while not answered. Doesn't show the amount of seconds as
that would likely make life too easy? that would likely make life too easy?
* `*#62#` - Status for forward when not connected to network. - `*#62#` - Status for forward when not connected to network.
* `*#67#` - Status for when being in other calls. - `*#67#` - Status for when being in other calls.
## GUI ## GUI
* Apple: has no proper GUI for the cases above, only on/off toggle on forwarding - Apple: has no proper GUI for the cases above, only on/off toggle on forwarding
every call. https://support.apple.com/guide/iphone/iphe9bdd027a/ios every call. https://support.apple.com/guide/iphone/iphe9bdd027a/ios
* Android: likely OEM-dependent and I don't have an Android with a SIM. - Android: likely OEM-dependent and I don't have an Android with a SIM.
* SailfishOS: Settings → Applications → Phone → Call forwarding. Case forward when - SailfishOS: Settings → Applications → Phone → Call forwarding. Case forward when
not answered in X time has no option how long to wait and I am not going to try not answered in X time has no option how long to wait and I am not going to try
whether it forwards in 5 or 30 seconds. whether it forwards in 5 or 30 seconds.

View File

@ -3,9 +3,9 @@
Finnish identity cards have been electronic for ages and as I tend to forget Finnish identity cards have been electronic for ages and as I tend to forget
how to use it on Linux again, here are my notes. how to use it on Linux again, here are my notes.
* Official application: https://dvv.fi/en/card-reader-software - Official application: https://dvv.fi/en/card-reader-software
* Fedora/rpm is hidden under "All versions", "Linux versions" - Fedora/rpm is hidden under "All versions", "Linux versions"
* DVV certificate newsletter: https://uutiskirjeet.dvv.fi/uutiset/varmennepalvelut.html - DVV certificate newsletter: https://uutiskirjeet.dvv.fi/uutiset/varmennepalvelut.html
## Requirements for everything ## Requirements for everything
@ -30,15 +30,15 @@ the browser was started.
## Firefox and Thunderbird ## Firefox and Thunderbird
***This doesn't apply if the above libcryptoki.so is created **_This doesn't apply if the above libcryptoki.so is created
and preferably `libcryptoki.so` would be loaded anyway*** and preferably `libcryptoki.so` would be loaded anyway_**
In Settings, Advanced, Security devices load the module from (DVV app) `/usr/lib64/libcryptoki.so` or (OpenSC): In Settings, Advanced, Security devices load the module from (DVV app) `/usr/lib64/libcryptoki.so` or (OpenSC):
* Debian: `/usr/lib/x86_64-linux-gnu/onepin-opensc-pkcs11.so` - Debian: `/usr/lib/x86_64-linux-gnu/onepin-opensc-pkcs11.so`
* Package: `opensc-pkcs11` - Package: `opensc-pkcs11`
* Fedora: `/usr/lib64/onepin-opensc-pkcs11.so` - Fedora: `/usr/lib64/onepin-opensc-pkcs11.so`
* Package: `opensc` - Package: `opensc`
`onepin` is a workaround to not ask for PIN2 which is only used for legal agreements, `onepin` is a workaround to not ask for PIN2 which is only used for legal agreements,
email signing also uses PIN1. email signing also uses PIN1.
@ -47,17 +47,17 @@ email signing also uses PIN1.
Okular is the KDE document viewer and supports signing PDF files using FINEID! Okular is the KDE document viewer and supports signing PDF files using FINEID!
There are three ways to go, they all begin with *Settings* menu, *Configure backends* There are three ways to go, they all begin with _Settings_ menu, _Configure backends_
and *PDF*. and _PDF_.
Set the certificate database to one of the three: Set the certificate database to one of the three:
* `/etc/nssdb` with password that I don't know. - `/etc/nssdb` with password that I don't know.
* `~/.pki/nssdb` which password theoretically reads in `~/.digisign/Seed.txt` assuming the official DigiSignApplication is used. - `~/.pki/nssdb` which password theoretically reads in `~/.digisign/Seed.txt` assuming the official DigiSignApplication is used.
* `~/.mozilla/firefox/<randomString>.<ProfileName>` - when Firefox is used (may require the configuration above), didn't ask me for a password, which may be the main password and directly offers the certificates from FINEID. - `~/.mozilla/firefox/<randomString>.<ProfileName>` - when Firefox is used (may require the configuration above), didn't ask me for a password, which may be the main password and directly offers the certificates from FINEID.
Next Apply or OK and restart Okular, open *Tools* menu and select Next Apply or OK and restart Okular, open _Tools_ menu and select
*Digitally sign...*, draw an area for the signature (which FINEID wants to be big), _Digitally sign..._, draw an area for the signature (which FINEID wants to be big),
select where to save the signed .pdf and enter the signing PIN a few times. select where to save the signed .pdf and enter the signing PIN a few times.
These signed documents can then be verified at [English](https://dvv.fi/en/validate-pdf-document), These signed documents can then be verified at [English](https://dvv.fi/en/validate-pdf-document),
@ -82,18 +82,20 @@ Time of signature: ... (Time stamp not validated by a time stamp authority (TSA)
While I don't think the user necessarily needs them, my notes mention `DVV Gov. Root CA`. While I don't think the user necessarily needs them, my notes mention `DVV Gov. Root CA`.
* https://dvv.fi/en/ca-certificates - https://dvv.fi/en/ca-certificates
## Testing ## Testing
* https://dvv.fineid.fi/en/authentication - https://dvv.fineid.fi/en/authentication
## FINEID as SSH key ## FINEID as SSH key
0. I would start by `ssh-add -D` to remove other keys from the ssh-agent. 0. I would start by `ssh-add -D` to remove other keys from the ssh-agent.
1. Add the key to the agent 1. Add the key to the agent
* Debian: `ssh-add -s /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so`
* Fedora: `ssh-add -s /usr/lib64/opensc-pkcs11.so` - Debian: `ssh-add -s /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so`
- Fedora: `ssh-add -s /usr/lib64/opensc-pkcs11.so`
2. Export the public key by `ssh-add -L|head -n1` (the comment should be "todentamis- ja salausavain" ("authentication and encryption key")) 2. Export the public key by `ssh-add -L|head -n1` (the comment should be "todentamis- ja salausavain" ("authentication and encryption key"))
3. Naturally put it into `~/.ssh/authorized_keys`, but SSH should detect 3. Naturally put it into `~/.ssh/authorized_keys`, but SSH should detect
it automatically. The file could also be mentioned in `ssh_config` it automatically. The file could also be mentioned in `ssh_config`

View File

@ -25,8 +25,8 @@ gamescope --steam --borderless -- %command%
See also `gamescope --help` See also `gamescope --help`
* `--steam` - enables Steam integration, whatever that is - `--steam` - enables Steam integration, whatever that is
* `--borderless` borderless full-screen mode (that Sway may be making - `--borderless` borderless full-screen mode (that Sway may be making
windowed though) windowed though)
##### Graphics corruption such as display full of black dots ##### Graphics corruption such as display full of black dots
@ -44,4 +44,4 @@ which says it's tracked at [freedesktop.org/mesa/mesa#6029](https://gitlab.freed
Close/logoff friends window/network or disable its animations. Close/logoff friends window/network or disable its animations.
* https://github.com/ValveSoftware/steam-for-linux/issues/7245#issuecomment-897417115 - https://github.com/ValveSoftware/steam-for-linux/issues/7245#issuecomment-897417115

View File

@ -5,30 +5,30 @@ help with mainly resolution and bitrate.
## resolution & bitrate ## resolution & bitrate
* Settings --> Output: - Settings --> Output:
* Video Bitrate: CHECK BELOW! - Video Bitrate: CHECK BELOW!
* [x] Enable Advanced Encoder Settings - [x] Enable Advanced Encoder Settings
* [x] Enforce streaming site bitrate limits - [x] Enforce streaming site bitrate limits
* Encoder preset: Low-Latency Performance - Encoder preset: Low-Latency Performance
* Settings --> Video: - Settings --> Video:
* Base (Canvas) Resolution: DEPENDS ON STREAMED GAME OR FULL DESKTOP RESOLUTION, CHECK GAME/DISPLAY SETTINGS! - Base (Canvas) Resolution: DEPENDS ON STREAMED GAME OR FULL DESKTOP RESOLUTION, CHECK GAME/DISPLAY SETTINGS!
* *I was mainly playing Final Fantasy X with 1280x720 base/canvas resolution.* - _I was mainly playing Final Fantasy X with 1280x720 base/canvas resolution._
* Output (Scaled) Resolution: WHAT VIEWERS WILL SEE, SEE BELOW - Output (Scaled) Resolution: WHAT VIEWERS WILL SEE, SEE BELOW
* Downscale filter: Bilinear (Fastest, but blurry if scaling) - Downscale filter: Bilinear (Fastest, but blurry if scaling)
* Common FPS Values: 30 - Common FPS Values: 30
### Suggestions ### Suggestions
* DVD quality? 250 Kbps bitrate with output scaled 424x240 - DVD quality? 250 Kbps bitrate with output scaled 424x240
* Steam minimums: 750 Kbps & 640x350 (360p) - Steam minimums: 750 Kbps & 640x350 (360p)
* Note that the second number in resolution is the quality - Note that the second number in resolution is the quality
* Twitch suggested: 3000 Kbps for 1280x720p - Twitch suggested: 3000 Kbps for 1280x720p
* *I may have been trying 1080p but potential settings were lost with hardware issue.* - _I may have been trying 1080p but potential settings were lost with hardware issue._
### External links ### External links
* https://stream.twitch.tv/?kbid=100005 - https://stream.twitch.tv/?kbid=100005
* https://support.google.com/youtube/answer/2853702 - https://support.google.com/youtube/answer/2853702
***NOTE: written from memory and [my TODO entry for this file](https://gitea.blesmrt.net/mikaela/gist/issues/6) **_NOTE: written from memory and [my TODO entry for this file](https://gitea.blesmrt.net/mikaela/gist/issues/6)
without actually having OBS Studio or anything in front of me.*** without actually having OBS Studio or anything in front of me._**

View File

@ -1,7 +1,7 @@
# Random git files # Random git files
* `gitignore` - `.gitignore` templates I may or may not use - `gitignore` - `.gitignore` templates I may or may not use
* `etc/gitconfig` - a `/etc/gitconfig` for accepting signed pushes - `etc/gitconfig` - a `/etc/gitconfig` for accepting signed pushes
## Tracking GitHub pull requests with `git` ## Tracking GitHub pull requests with `git`
@ -12,6 +12,6 @@ git config --add remote.GITHUB.fetch '+refs/pull/*/head:refs/remotes/GITHUB/pr/*
Replace `GITHUB` with the `git remote` name. I have picked this up from a Replace `GITHUB` with the `git remote` name. I have picked this up from a
dead `git.io` link. dead `git.io` link.
* TODO: Figure out if this also works for GitLab or what is the GitLab version? - TODO: Figure out if this also works for GitLab or what is the GitLab version?
Gitea too. Gitea too.
* https://gitea.blesmrt.net/mikaela/gist/issues/39 - https://gitea.blesmrt.net/mikaela/gist/issues/39

View File

@ -1,10 +1,9 @@
*This work by <NAME> is licensed under a _This work by <NAME> is licensed under a
[Creative Commons Attribution 4.0 International License].* [Creative Commons Attribution 4.0 International License]._
[Creative Commons Attribution 4.0 International License]:https://creativecommons.org/licenses/by/4.0/ [creative commons attribution 4.0 international license]: https://creativecommons.org/licenses/by/4.0/
Creative Commons Attribution 4.0 International Public License # Creative Commons Attribution 4.0 International Public License
=============================================================
By exercising the Licensed Rights (defined below), You accept and agree By exercising the Licensed Rights (defined below), You accept and agree
to be bound by the terms and conditions of this Creative Commons to be bound by the terms and conditions of this Creative Commons
@ -15,76 +14,72 @@ these terms and conditions, and the Licensor grants You such rights in
consideration of benefits the Licensor receives from making the consideration of benefits the Licensor receives from making the
Licensed Material available under these terms and conditions. Licensed Material available under these terms and conditions.
## Section 1 -- Definitions.
Section 1 -- Definitions. a. Adapted Material means material subject to Copyright and Similar
------------------------- Rights that is derived from or based upon the Licensed Material
and in which the Licensed Material is translated, altered,
arranged, transformed, or otherwise modified in a manner requiring
permission under the Copyright and Similar Rights held by the
Licensor. For purposes of this Public License, where the Licensed
Material is a musical work, performance, or sound recording,
Adapted Material is always produced where the Licensed Material is
synched in timed relation with a moving image.
a. Adapted Material means material subject to Copyright and Similar b. Adapter's License means the license You apply to Your Copyright
Rights that is derived from or based upon the Licensed Material and Similar Rights in Your contributions to Adapted Material in
and in which the Licensed Material is translated, altered, accordance with the terms and conditions of this Public License.
arranged, transformed, or otherwise modified in a manner requiring
permission under the Copyright and Similar Rights held by the
Licensor. For purposes of this Public License, where the Licensed
Material is a musical work, performance, or sound recording,
Adapted Material is always produced where the Licensed Material is
synched in timed relation with a moving image.
b. Adapter's License means the license You apply to Your Copyright c. Copyright and Similar Rights means copyright and/or similar rights
and Similar Rights in Your contributions to Adapted Material in closely related to copyright including, without limitation,
accordance with the terms and conditions of this Public License. performance, broadcast, sound recording, and Sui Generis Database
Rights, without regard to how the rights are labeled or
categorized. For purposes of this Public License, the rights
specified in Section 2(b)(1)-(2) are not Copyright and Similar
Rights.
c. Copyright and Similar Rights means copyright and/or similar rights d. Effective Technological Measures means those measures that, in the
closely related to copyright including, without limitation, absence of proper authority, may not be circumvented under laws
performance, broadcast, sound recording, and Sui Generis Database fulfilling obligations under Article 11 of the WIPO Copyright
Rights, without regard to how the rights are labeled or Treaty adopted on December 20, 1996, and/or similar international
categorized. For purposes of this Public License, the rights agreements.
specified in Section 2(b)(1)-(2) are not Copyright and Similar
Rights.
d. Effective Technological Measures means those measures that, in the e. Exceptions and Limitations means fair use, fair dealing, and/or
absence of proper authority, may not be circumvented under laws any other exception or limitation to Copyright and Similar Rights
fulfilling obligations under Article 11 of the WIPO Copyright that applies to Your use of the Licensed Material.
Treaty adopted on December 20, 1996, and/or similar international
agreements.
e. Exceptions and Limitations means fair use, fair dealing, and/or f. Licensed Material means the artistic or literary work, database,
any other exception or limitation to Copyright and Similar Rights or other material to which the Licensor applied this Public
that applies to Your use of the Licensed Material. License.
f. Licensed Material means the artistic or literary work, database, g. Licensed Rights means the rights granted to You subject to the
or other material to which the Licensor applied this Public terms and conditions of this Public License, which are limited to
License. all Copyright and Similar Rights that apply to Your use of the
Licensed Material and that the Licensor has authority to license.
g. Licensed Rights means the rights granted to You subject to the h. Licensor means the individual(s) or entity(ies) granting rights
terms and conditions of this Public License, which are limited to under this Public License.
all Copyright and Similar Rights that apply to Your use of the
Licensed Material and that the Licensor has authority to license.
h. Licensor means the individual(s) or entity(ies) granting rights i. Share means to provide material to the public by any means or
under this Public License. process that requires permission under the Licensed Rights, such
as reproduction, public display, public performance, distribution,
dissemination, communication, or importation, and to make material
available to the public including in ways that members of the
public may access the material from a place and at a time
individually chosen by them.
i. Share means to provide material to the public by any means or j. Sui Generis Database Rights means rights other than copyright
process that requires permission under the Licensed Rights, such resulting from Directive 96/9/EC of the European Parliament and of
as reproduction, public display, public performance, distribution, the Council of 11 March 1996 on the legal protection of databases,
dissemination, communication, or importation, and to make material as amended and/or succeeded, as well as other essentially
available to the public including in ways that members of the equivalent rights anywhere in the world.
public may access the material from a place and at a time
individually chosen by them.
j. Sui Generis Database Rights means rights other than copyright k. You means the individual or entity exercising the Licensed Rights
resulting from Directive 96/9/EC of the European Parliament and of under this Public License. Your has a corresponding meaning.
the Council of 11 March 1996 on the legal protection of databases,
as amended and/or succeeded, as well as other essentially
equivalent rights anywhere in the world.
k. You means the individual or entity exercising the Licensed Rights ## Section 2 -- Scope.
under this Public License. Your has a corresponding meaning.
a. License grant.
Section 2 -- Scope.
-------------------
a. License grant.
1. Subject to the terms and conditions of this Public License, 1. Subject to the terms and conditions of this Public License,
the Licensor hereby grants You a worldwide, royalty-free, the Licensor hereby grants You a worldwide, royalty-free,
@ -138,7 +133,7 @@ Section 2 -- Scope.
the Licensor or others designated to receive attribution as the Licensor or others designated to receive attribution as
provided in Section 3(a)(1)(A)(i). provided in Section 3(a)(1)(A)(i).
b. Other rights. b. Other rights.
1. Moral rights, such as the right of integrity, are not 1. Moral rights, such as the right of integrity, are not
licensed under this Public License, nor are publicity, licensed under this Public License, nor are publicity,
@ -158,14 +153,12 @@ Section 2 -- Scope.
licensing scheme. In all other cases the Licensor expressly licensing scheme. In all other cases the Licensor expressly
reserves any right to collect such royalties. reserves any right to collect such royalties.
## Section 3 -- License Conditions.
Section 3 -- License Conditions.
--------------------------------
Your exercise of the Licensed Rights is expressly made subject to the Your exercise of the Licensed Rights is expressly made subject to the
following conditions. following conditions.
a. Attribution. a. Attribution.
1. If You Share the Licensed Material (including in modified 1. If You Share the Licensed Material (including in modified
form), You must: form), You must:
@ -211,70 +204,64 @@ following conditions.
License You apply must not prevent recipients of the Adapted License You apply must not prevent recipients of the Adapted
Material from complying with this Public License. Material from complying with this Public License.
## Section 4 -- Sui Generis Database Rights.
Section 4 -- Sui Generis Database Rights.
-----------------------------------------
Where the Licensed Rights include Sui Generis Database Rights that Where the Licensed Rights include Sui Generis Database Rights that
apply to Your use of the Licensed Material: apply to Your use of the Licensed Material:
a. for the avoidance of doubt, Section 2(a)(1) grants You the right a. for the avoidance of doubt, Section 2(a)(1) grants You the right
to extract, reuse, reproduce, and Share all or a substantial to extract, reuse, reproduce, and Share all or a substantial
portion of the contents of the database; portion of the contents of the database;
b. if You include all or a substantial portion of the database b. if You include all or a substantial portion of the database
contents in a database in which You have Sui Generis Database contents in a database in which You have Sui Generis Database
Rights, then the database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database
Rights (but not its individual contents) is Adapted Material; and Rights (but not its individual contents) is Adapted Material; and
c. You must comply with the conditions in Section 3(a) if You Share c. You must comply with the conditions in Section 3(a) if You Share
all or a substantial portion of the contents of the database. all or a substantial portion of the contents of the database.
For the avoidance of doubt, this Section 4 supplements and does not For the avoidance of doubt, this Section 4 supplements and does not
replace Your obligations under this Public License where the Licensed replace Your obligations under this Public License where the Licensed
Rights include other Copyright and Similar Rights. Rights include other Copyright and Similar Rights.
## Section 5 -- Disclaimer of Warranties and Limitation of Liability.
Section 5 -- Disclaimer of Warranties and Limitation of Liability. a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
------------------------------------------------------------------ EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE c. The disclaimer of warranties and limitation of liability provided
TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, above shall be interpreted in a manner that, to the extent
NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, possible, most closely approximates an absolute disclaimer and
INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, waiver of all liability.
COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
c. The disclaimer of warranties and limitation of liability provided ## Section 6 -- Term and Termination.
above shall be interpreted in a manner that, to the extent
possible, most closely approximates an absolute disclaimer and
waiver of all liability.
a. This Public License applies for the term of the Copyright and
Similar Rights licensed here. However, if You fail to comply with
this Public License, then Your rights under this Public License
terminate automatically.
Section 6 -- Term and Termination. b. Where Your right to use the Licensed Material has terminated under
---------------------------------- Section 6(a), it reinstates:
a. This Public License applies for the term of the Copyright and
Similar Rights licensed here. However, if You fail to comply with
this Public License, then Your rights under this Public License
terminate automatically.
b. Where Your right to use the Licensed Material has terminated under
Section 6(a), it reinstates:
1. automatically as of the date the violation is cured, provided 1. automatically as of the date the violation is cured, provided
it is cured within 30 days of Your discovery of the it is cured within 30 days of Your discovery of the
@ -286,46 +273,42 @@ Section 6 -- Term and Termination.
right the Licensor may have to seek remedies for Your violations right the Licensor may have to seek remedies for Your violations
of this Public License. of this Public License.
c. For the avoidance of doubt, the Licensor may also offer the c. For the avoidance of doubt, the Licensor may also offer the
Licensed Material under separate terms or conditions or stop Licensed Material under separate terms or conditions or stop
distributing the Licensed Material at any time; however, doing so distributing the Licensed Material at any time; however, doing so
will not terminate this Public License. will not terminate this Public License.
d. Sections 1, 5, 6, 7, and 8 survive termination of this Public d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
License. License.
## Section 7 -- Other Terms and Conditions.
Section 7 -- Other Terms and Conditions. a. The Licensor shall not be bound by any additional or different
---------------------------------------- terms or conditions communicated by You unless expressly agreed.
a. The Licensor shall not be bound by any additional or different b. Any arrangements, understandings, or agreements regarding the
terms or conditions communicated by You unless expressly agreed. Licensed Material not stated herein are separate from and
independent of the terms and conditions of this Public License.
b. Any arrangements, understandings, or agreements regarding the ## Section 8 -- Interpretation.
Licensed Material not stated herein are separate from and
independent of the terms and conditions of this Public License.
a. For the avoidance of doubt, this Public License does not, and
shall not be interpreted to, reduce, limit, restrict, or impose
conditions on any use of the Licensed Material that could lawfully
be made without permission under this Public License.
Section 8 -- Interpretation. b. To the extent possible, if any provision of this Public License is
---------------------------- deemed unenforceable, it shall be automatically reformed to the
minimum extent necessary to make it enforceable. If the provision
cannot be reformed, it shall be severed from this Public License
without affecting the enforceability of the remaining terms and
conditions.
a. For the avoidance of doubt, this Public License does not, and c. No term or condition of this Public License will be waived and no
shall not be interpreted to, reduce, limit, restrict, or impose failure to comply consented to unless expressly agreed to by the
conditions on any use of the Licensed Material that could lawfully Licensor.
be made without permission under this Public License.
b. To the extent possible, if any provision of this Public License is d. Nothing in this Public License constitutes or may be interpreted
deemed unenforceable, it shall be automatically reformed to the as a limitation upon, or waiver of, any privileges and immunities
minimum extent necessary to make it enforceable. If the provision that apply to the Licensor or You, including from the legal
cannot be reformed, it shall be severed from this Public License processes of any jurisdiction or authority.
without affecting the enforceability of the remaining terms and
conditions.
c. No term or condition of this Public License will be waived and no
failure to comply consented to unless expressly agreed to by the
Licensor.
d. Nothing in this Public License constitutes or may be interpreted
as a limitation upon, or waiver of, any privileges and immunities
that apply to the Licensor or You, including from the legal
processes of any jurisdiction or authority.

View File

@ -5,15 +5,15 @@ Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met: modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, 1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer. this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright 2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution. documentation and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its 3. Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from this contributors may be used to endorse or promote products derived from this
software without specific prior written permission. software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE

View File

@ -1,13 +1,13 @@
<!DOCTYPE html> <!doctype html>
<html> <html>
<head> <head>
<meta charset="UTF-8"/> <meta charset="UTF-8" />
<!-- This is just stupid page to put to web browser homepage to have some <!-- This is just stupid page to put to web browser homepage to have some
content on start page while not being empty or pointing to any external content on start page while not being empty or pointing to any external
location... --> location... -->
<title>OK.</title> <title>OK.</title>
</head> </head>
<body> <body>
<p>Your browser has loaded this page.</p> <p>Your browser has loaded this page.</p>
</body> </body>
</html> </html>

View File

@ -3,18 +3,17 @@
This is unlike the Atheme cstemplate as Anope doesn't have similar template This is unlike the Atheme cstemplate as Anope doesn't have similar template
system, but these are the pre-defined ones on irc.anope.org system, but these are the pre-defined ones on irc.anope.org
XOP # XOP
===
* QOP = owner - QOP = owner
* GREET, AUTOOP, GETKEY, HALFOP, INVITE, OPME, PROTECTME, SAY, TOPIC - GREET, AUTOOP, GETKEY, HALFOP, INVITE, OPME, PROTECTME, SAY, TOPIC
* SOP = admin - SOP = admin
* ACCESS_CHANGE, AKICK, AUTOPROTECT, BADWORDS, MEMO, OP - ACCESS_CHANGE, AKICK, AUTOPROTECT, BADWORDS, MEMO, OP
* AOP = op - AOP = op
* GREET, AUTOOP, GETKEY, HALFOP, INVITE, OPME, PROTECTME, SAY, TOPIC - GREET, AUTOOP, GETKEY, HALFOP, INVITE, OPME, PROTECTME, SAY, TOPIC
* HOP = half op - HOP = half op
* AUTOHALFOP, BAN, HALFOPME, KICK, UNBAN, VOICE - AUTOHALFOP, BAN, HALFOPME, KICK, UNBAN, VOICE
* VOP = voice - VOP = voice
* ACCESS_LIST, AUTOVOICE, FANTASIA, NOKICK, VOICEME - ACCESS_LIST, AUTOVOICE, FANTASIA, NOKICK, VOICEME
Higher privilege also includes the lower ones. Higher privilege also includes the lower ones.

View File

@ -1,24 +1,24 @@
# HexChat configs # HexChat configs
* Timestamp format: `[%Y-%j %H.%M.%S]` or `[%G-W%V-%u %H:%M:%S]` - Timestamp format: `[%Y-%j %H.%M.%S]` or `[%G-W%V-%u %H:%M:%S]`
* Example: `2021-173 19.40.50` or `2021-W34-5 13:44:50` - Example: `2021-173 19.40.50` or `2021-W34-5 13:44:50`
* Nickname length: `/set text_max_indent 640` - Nickname length: `/set text_max_indent 640`
* so huge nicknames (especially with RELAYMSG) won't overlap timestamps - so huge nicknames (especially with RELAYMSG) won't overlap timestamps
* source: https://hexchat.readthedocs.io/en/latest/faq.html#why-does-the-timestamp-overlap-some-nicknames - source: https://hexchat.readthedocs.io/en/latest/faq.html#why-does-the-timestamp-overlap-some-nicknames
* Auto-reconnect: `/set net_ping_timeout 90` - Auto-reconnect: `/set net_ping_timeout 90`
* https://hexchat.readthedocs.io/en/latest/faq.html#how-do-i-auto-reconnect-after-my-computer-wakes-up-from-being-in-sleep-hibernate-mode - https://hexchat.readthedocs.io/en/latest/faq.html#how-do-i-auto-reconnect-after-my-computer-wakes-up-from-being-in-sleep-hibernate-mode
## Settings changes ## Settings changes
* When using playback script (might be undesirable due to Ergo with - When using playback script (might be undesirable due to Ergo with
@clientid behaving better) @clientid behaving better)
* Disable logging? - Disable logging?
* Disable scrollback - Disable scrollback
* Realname (or `/set irc_real_name Mikaela <email@example.net>` - Realname (or `/set irc_real_name Mikaela <email@example.net>`
### Settings → Text events ### Settings → Text events
* Channel messages to show prefix - Channel messages to show prefix
* original: `%C18%H<%H$4$1%H>%H%O$t$2` - original: `%C18%H<%H$4$1%H>%H%O$t$2`
* new: `%C18%H<%H$4$3$1%H>%H%O$t$2` - new: `%C18%H<%H$4$3$1%H>%H%O$t$2`
* source: https://hexchat.readthedocs.io/en/latest/faq.html#how-do-i-show-and-in-front-of-nicknames-that-are-op-and-voice-when-they-talk - source: https://hexchat.readthedocs.io/en/latest/faq.html#how-do-i-show-and-in-front-of-nicknames-that-are-op-and-voice-when-they-talk

View File

@ -1,65 +1,69 @@
var realuserConfig = { var realuserConfig = {
Mikaela: { Mikaela: {
aliases: ['Mkaysi Mkays| Mkaysi- Mkaysi_ TDA_Anima Ciblia Mikaela Mikaela_ Michaela *Mikaela* Ciblia*'], aliases: [
}, "Mkaysi Mkays| Mkaysi- Mkaysi_ TDA_Anima Ciblia Mikaela Mikaela_ Michaela *Mikaela* Ciblia*",
notifico: { ],
aliases: ['Not-*'], },
}, notifico: {
onnz423: { aliases: ["Not-*"],
aliases: ['Onni*'], },
}, onnz423: {
foxiepaws: { aliases: ["Onni*"],
aliases: ['foxwolfblood'], },
}, foxiepaws: {
Nikashi: { aliases: ["foxwolfblood"],
aliases: ['Nikashi Nikashi2'] },
}, Nikashi: {
} aliases: ["Nikashi Nikashi2"],
},
};
var GA = { var GA = {
customHeadHtml: '<script>\r\n (function(i,s,o,g,r,a,m){i[\'GoogleAnalyticsObject\']=r;i[r]=i[r]||function(){\r\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\r\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\r\n })(window,document,\'script\',\'\/\/www.google-analytics.com\/analytics.js\',\'ga\');\r\n\r\n ga(\'create\', \'UA-40171169-4\', \'kapsi.fi\');\r\n ga(\'send\', \'pageview\');\r\n\r\n<\/script>' customHeadHtml:
} "<script>\r\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\r\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\r\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\r\n })(window,document,'script','//www.google-analytics.com/analytics.js','ga');\r\n\r\n ga('create', 'UA-40171169-4', 'kapsi.fi');\r\n ga('send', 'pageview');\r\n\r\n</script>",
};
var config = { var config = {
channels: [ channels: [
{ {
name: '##Mikaela', name: "##Mikaela",
theme: 'default', theme: "default",
destination: '/home/users/mkaysi/public_html/jsis/mikaela', destination: "/home/users/mkaysi/public_html/jsis/mikaela",
logFormat: 'supybot', logFormat: "supybot",
logEncoding: 'UTF-8', logEncoding: "UTF-8",
logTimezone: '+00:00', logTimezone: "+00:00",
logPath: '/home/users/mkaysi/Yvzabevn3/logs/ChannelLogger/freenode/##mikaela', logPath:
logFileFilter: /\.log/, "/home/users/mkaysi/Yvzabevn3/logs/ChannelLogger/freenode/##mikaela",
recursive: true, logFileFilter: /\.log/,
maxLogFiles: Infinity, recursive: true,
statsTimezoneText: 'Europe/Helsinki', maxLogFiles: Infinity,
userConfig: realuserConfig, statsTimezoneText: "Europe/Helsinki",
customHeadHtml: GA userConfig: realuserConfig,
}, customHeadHtml: GA,
{ },
name: '#refud0ge', {
theme: 'default', name: "#refud0ge",
destination: '/home/users/mkaysi/public_html/jsis/refud0ge', theme: "default",
logFormat: 'weechat', destination: "/home/users/mkaysi/public_html/jsis/refud0ge",
logEncoding: 'UTF-8', logFormat: "weechat",
logPath: '/home/users/mkaysi/.weechat/logs/', logEncoding: "UTF-8",
logFileFilter: /\/irc.freenode.#refud0ge.weechatlog[^/]*/i , logPath: "/home/users/mkaysi/.weechat/logs/",
recursive: true, logFileFilter: /\/irc.freenode.#refud0ge.weechatlog[^/]*/i,
maxLogFiles: Infinity, recursive: true,
statsTimezoneText: 'Europe/Helsinki', maxLogFiles: Infinity,
userConfig: realuserConfig, statsTimezoneText: "Europe/Helsinki",
customHeadHtml: GA userConfig: realuserConfig,
}, customHeadHtml: GA,
], },
log: { ],
'DEBUG': ['STDOUT'], log: {
'INFO': ['STDOUT'], DEBUG: ["STDOUT"],
'MESSAGE': ['STDOUT'], INFO: ["STDOUT"],
'WARNING': ['errors.log', 'STDERR'], MESSAGE: ["STDOUT"],
'ERROR': ['errors.log', 'STDERR'], WARNING: ["errors.log", "STDERR"],
'CRITICAL': ['errors.log', 'STDERR'] ERROR: ["errors.log", "STDERR"],
} CRITICAL: ["errors.log", "STDERR"],
},
}; };
module.exports = config; module.exports = config;

View File

@ -1,10 +1,10 @@
# Hardening Limnoria # Hardening Limnoria
* Upstream documentation: https://docs.limnoria.net/use/security.html - Upstream documentation: https://docs.limnoria.net/use/security.html
## Passwordless users ## Passwordless users
*This is subject to moving to the upstream documentation, see [Limnoria/Limnoria-doc#91](https://github.com/Limnoria/Limnoria-doc/issues/91)* _This is subject to moving to the upstream documentation, see [Limnoria/Limnoria-doc#91](https://github.com/Limnoria/Limnoria-doc/issues/91)_
Passwordless user accounts have been supported since version 2021-05-27. Passwordless user accounts have been supported since version 2021-05-27.
They must login by some other mechanism such as NickAuth, GPG or hostmasks. They must login by some other mechanism such as NickAuth, GPG or hostmasks.

View File

@ -10,9 +10,11 @@ However this is easy to avoid with a couple of plugins
1. `load Aka` 1. `load Aka`
1. `load <Reply|Utilities>` meaning to load either Reply or Utilities 1. `load <Reply|Utilities>` meaning to load either Reply or Utilities
1. `aka add announce "<reply reply|utilities echo> You didn't mean for me to send that message everywhere, so I am hijacking it instead"` 1. `aka add announce "<reply reply|utilities echo> You didn't mean for me to send that message everywhere, so I am hijacking it instead"`
* here again one is picked, "utilities echo" will just repeat the message
on channel while "reply reply" will ping you. The name of the plugin is - here again one is picked, "utilities echo" will just repeat the message
specified in case the command "echo" or "reply" was in multiple plugins. on channel while "reply reply" will ping you. The name of the plugin is
specified in case the command "echo" or "reply" was in multiple plugins.
1. `defaultplugin announce aka` so that when `announce` is called, it's 1. `defaultplugin announce aka` so that when `announce` is called, it's
assumed that our new `aka` is meant instead of Owner which is an important assumed that our new `aka` is meant instead of Owner which is an important
plugin and loaded by default. plugin and loaded by default.

View File

@ -14,14 +14,14 @@ config channel #CHAN supybot.reply.whenAddressedBy.strings ""
config channel #CHAN supybot.reply.whenNotAddressed False config channel #CHAN supybot.reply.whenNotAddressed False
``` ```
* disables prefix char (note how "" means empty by default - disables prefix char (note how "" means empty by default
(`supybot.commands.quotes`), not to be confused with """) (`supybot.commands.quotes`), not to be confused with """)
* disables nick as prefix - disables nick as prefix
* disables nick as suffix (disabled by default) - disables nick as suffix (disabled by default)
* disables replying with other nicks as prefix (disabled by default) - disables replying with other nicks as prefix (disabled by default)
* disables replying with strings as prefix (disabled by default, I think, - disables replying with strings as prefix (disabled by default, I think,
might be an option in `supybot-wizard`) might be an option in `supybot-wizard`)
* disables replying to all messages on channel (disabled by default and I - disables replying to all messages on channel (disabled by default and I
have no idea why one would enable that globally anyway) have no idea why one would enable that globally anyway)
Here also `channel #CHAN` could be `network NETWORKNAME` to disable Here also `channel #CHAN` could be `network NETWORKNAME` to disable

View File

@ -20,7 +20,7 @@ channel-specific
config channel #CHAN supybot.plugins.RSS.notice False config channel #CHAN supybot.plugins.RSS.notice False
``` ```
* RSS announces as NOTICEs - RSS announces as NOTICEs
### Reverting ### Reverting

View File

@ -11,17 +11,17 @@ config supybot.protocols.http.userAgents "Limnoria UrlPreviewBot"
config supybot.protocols.http.peekSize 1048576 config supybot.protocols.http.peekSize 1048576
``` ```
* enables the plugin (shipped with Limnoria) - enables the plugin (shipped with Limnoria)
* enables titlefetching for all links on line, not just the first one - enables titlefetching for all links on line, not just the first one
* disables showing domain (small protection against multiple titlesfetcherrs - disables showing domain (small protection against multiple titlesfetcherrs
entering a loop or simply not annoying users with clientside link previews entering a loop or simply not annoying users with clientside link previews
(Matrix/Telegram bridges/relays included)) (Matrix/Telegram bridges/relays included))
* disables showing redirect target (see previous point) - disables showing redirect target (see previous point)
* sets user-agent to "Limnoria UrlPreviewBot" instead of ['Mozilla/5.0 (compatible; utils.web python module)' from 2005](https://github.com/ProgVal/Limnoria/blame/2990fcd302afdc6a3b741594017c3959fd5da2fd/src/utils/web.py#L120) - sets user-agent to "Limnoria UrlPreviewBot" instead of ['Mozilla/5.0 (compatible; utils.web python module)' from 2005](https://github.com/ProgVal/Limnoria/blame/2990fcd302afdc6a3b741594017c3959fd5da2fd/src/utils/web.py#L120)
* I have heard that it's bad to pretend to be something you aren't and - I have heard that it's bad to pretend to be something you aren't and
Twitter will only give you HTML `<title>`s if your user-agent contains Twitter will only give you HTML `<title>`s if your user-agent contains
`UrlPreviewBot`, [thanks Tulir's Synapse patch](https://mau.dev/maunium/synapse/-/commit/55d926999cffee893cb4951890a33985beaf70ba) `UrlPreviewBot`, [thanks Tulir's Synapse patch](https://mau.dev/maunium/synapse/-/commit/55d926999cffee893cb4951890a33985beaf70ba)
* search for HTML titles from the first MEGABYTE of the webpage as modern - search for HTML titles from the first MEGABYTE of the webpage as modern
web is horrible (looking at you [HS](https://hs.fi) & [YouTube](https://youtube.com)) web is horrible (looking at you [HS](https://hs.fi) & [YouTube](https://youtube.com))
## Actually enabling it ## Actually enabling it
@ -30,11 +30,11 @@ config supybot.protocols.http.peekSize 1048576
config channel #CHAN plugins.web.titleSnarfer True config channel #CHAN plugins.web.titleSnarfer True
``` ```
* enables titlefetching per-channel, on #CHAN to be accurate - enables titlefetching per-channel, on #CHAN to be accurate
(avoiding unwanted channels in case of botloop) (avoiding unwanted channels in case of botloop)
* `"channel #CHAN"` could also be replaced with `network NETWORKNAME` for - `"channel #CHAN"` could also be replaced with `network NETWORKNAME` for
every channel on network or `config` (or omitted entirely) for every channel on network or `config` (or omitted entirely) for
everywhere (channel takes priority over network which *probably* takes everywhere (channel takes priority over network which _probably_ takes
priority over global) priority over global)
## Excluding domains from titlefetching ## Excluding domains from titlefetching
@ -43,7 +43,7 @@ config channel #CHAN plugins.web.titleSnarfer True
config supybot.plugins.Web.nonSnarfingRegexp m/(t.me|matrix.to|facebook.com|instagram.com|imgur.com)/ config supybot.plugins.Web.nonSnarfingRegexp m/(t.me|matrix.to|facebook.com|instagram.com|imgur.com)/
``` ```
* regexp to block the listed domains, which are the first useless - regexp to block the listed domains, which are the first useless
examples I have encountered recently. I just stole the regexp from examples I have encountered recently. I just stole the regexp from
[canonical Limnoria](https://github.com/ProgVal/Limnoria/wiki/Canonical-%23limnoria-doc) [canonical Limnoria](https://github.com/ProgVal/Limnoria/wiki/Canonical-%23limnoria-doc)

View File

@ -1,19 +1,20 @@
# Matterbridge resources # Matterbridge resources
Mainly *myrelays.md* documenting what my personal matterbridge instance is Mainly _myrelays.md_ documenting what my personal matterbridge instance is
doing and *matterbridge-example.toml* as an example on what config file doing and _matterbridge-example.toml_ as an example on what config file
could look like. could look like.
## My other resources ## My other resources
* systemd units (including timers to not have to use cron and to see specific
- systemd units (including timers to not have to use cron and to see specific
restart times, even randomized, before they happen in `systemctl status`) restart times, even randomized, before they happen in `systemctl status`)
* [matterbridge.service](https://gitea.blesmrt.net/mikaela/shell-things/src/branch/master/etc/systemd/system/matterbridge.service) - [matterbridge.service](https://gitea.blesmrt.net/mikaela/shell-things/src/branch/master/etc/systemd/system/matterbridge.service)
* [matterbridge-restart.service](https://gitea.blesmrt.net/mikaela/shell-things/src/branch/master/etc/systemd/system/matterbridge-restart.service) and to run it [matterbirdge-restart.timer](https://gitea.blesmrt.net/mikaela/shell-things/src/branch/master/etc/systemd/system/matterbridge-restart.timer) - [matterbridge-restart.service](https://gitea.blesmrt.net/mikaela/shell-things/src/branch/master/etc/systemd/system/matterbridge-restart.service) and to run it [matterbirdge-restart.timer](https://gitea.blesmrt.net/mikaela/shell-things/src/branch/master/etc/systemd/system/matterbridge-restart.timer)
* [matterbridge-cleanup.service](https://gitea.blesmrt.net/mikaela/shell-things/src/branch/master/etc/systemd/system/matterbridge-cleanup.service) and to run it [matterbridge-cleanup.timer](https://gitea.blesmrt.net/mikaela/shell-things/src/branch/master/etc/systemd/system/matterbridge-cleanup.timer) - [matterbridge-cleanup.service](https://gitea.blesmrt.net/mikaela/shell-things/src/branch/master/etc/systemd/system/matterbridge-cleanup.service) and to run it [matterbridge-cleanup.timer](https://gitea.blesmrt.net/mikaela/shell-things/src/branch/master/etc/systemd/system/matterbridge-cleanup.timer)
to not store media uploads for longer than a week. to not store media uploads for longer than a week.
* [sudoers.d/matterbridge-restart](https://gitea.blesmrt.net/mikaela/shell-things/src/branch/master/etc/sudoers.d/restart-matterbridge) - [sudoers.d/matterbridge-restart](https://gitea.blesmrt.net/mikaela/shell-things/src/branch/master/etc/sudoers.d/restart-matterbridge)
for passwordless `sudo systemctl restart matterbridge.service` for passwordless `sudo systemctl restart matterbridge.service`
## Other resources ## Other resources
* [Upstream wiki](https://github.com/42wim/matterbridge/wiki/) - [Upstream wiki](https://github.com/42wim/matterbridge/wiki/)

View File

@ -9,16 +9,16 @@ knows everyone and more people aren't likely to appear).
In format label (shown as source of the message), proper name and address. In format label (shown as source of the message), proper name and address.
IRC labels begin with IRC for easier ignoring by bots. IRC labels begin with IRC for easier ignoring by bots.
* ircErgo - ErgoChat - ircs://irc.ergo.chat:6697 - ircErgo - ErgoChat - ircs://irc.ergo.chat:6697
* ircEtro - IRC@Etro - ircs://etro.mikaela.info:6697 - ircEtro - IRC@Etro - ircs://etro.mikaela.info:6697
* ircIn - IRCnet - irc://open.ircnet.net:6667 - ircIn - IRCnet - irc://open.ircnet.net:6667
* ircLc - LiberaChat - ircs://irc.libera.chat:6697 - ircLc - LiberaChat - ircs://irc.libera.chat:6697
* ircLca - LibertaCasa - ircs://irc.liberta.casa:6697 - ircLca - LibertaCasa - ircs://irc.liberta.casa:6697
* `[m]` - Matrix - https://matrix.org - `[m]` - Matrix - https://matrix.org
* ircPirate - PirateIRC - ircs://irc.pirateirc.net:6697 - ircPirate - PirateIRC - ircs://irc.pirateirc.net:6697
* Tg - Telegram - https://telegram.org - Tg - Telegram - https://telegram.org
* Twitch - Twitch - https://twitch.tv - Twitch - Twitch - https://twitch.tv
* XMPP - XMPP - https://xmpp.org - XMPP - XMPP - https://xmpp.org
## Gateways ## Gateways
@ -26,37 +26,37 @@ Sorted in order of popularity or likeliness to be asked about.
### Mikaela.info ### Mikaela.info
* ircEtro - ircEtro
* ircLc - ircLc
* ircLca - ircLca
* `[m]` - `[m]`
* ircPirate - ircPirate
* Tg - Tg
* Twitch - Twitch
* XMPP - XMPP
### Tanukis (or "Pillow Fortress") ### Tanukis (or "Pillow Fortress")
* ircEtro - ircEtro
* ircLc - ircLc
* ircLca - ircLca
* `[m]` - `[m]`
* ircPirate - ircPirate
* Tg - Tg
* XMPP - XMPP
### ABGILPQT+ ### ABGILPQT+
* ircEtro - ircEtro
* ircLc - ircLc
* `[m]` - `[m]`
### Test ### Test
Handled by different instance, please see its csv's Handled by different instance, please see its csv's
* https://git.piraattipuolue.fi/Pikaviestimet/Pikaviestimet/src/branch/master/kanavat.csv - https://git.piraattipuolue.fi/Pikaviestimet/Pikaviestimet/src/branch/master/kanavat.csv
* mirror https://gitea.blesmrt.net/mikaela/public-ppfi-im/src/branch/master/kanavat.csv - mirror https://gitea.blesmrt.net/mikaela/public-ppfi-im/src/branch/master/kanavat.csv
### Antikupla ### Antikupla
@ -72,5 +72,5 @@ TBD
## borni ## borni
* ircEtro - ircEtro
* ircIn - ircIn

View File

@ -2,17 +2,17 @@
Upstream: https://palaverapp.com/guides/commands/set.html Upstream: https://palaverapp.com/guides/commands/set.html
* `/set ui.time_format YY-'W'w-e HH.mm.ss` - `/set ui.time_format YY-'W'w-e HH.mm.ss`
* e.g. 21-W50-2 14.59.12 (on 2021, week 50, the second day (Tuesday) of the week) - e.g. 21-W50-2 14.59.12 (on 2021, week 50, the second day (Tuesday) of the week)
* `/set ui.nick_show_mode on` - `/set ui.nick_show_mode on`
* makes prefixes visible - makes prefixes visible
* `/set ui.nick_prefix <` - `/set ui.nick_prefix <`
* `/set ui.nick_suffix >` - `/set ui.nick_suffix >`
* `/set ui.browser system_default` - `/set ui.browser system_default`
## Other timestamp formats ## Other timestamp formats
Detailed spec: https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Format_Patterns Detailed spec: https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Format_Patterns
* `/set ui.time_format yy-D HH.mm.ss` - `/set ui.time_format yy-D HH.mm.ss`
* e.g. 21-173 19.51.30 (on 2021-06-22, 173th day of 2021) - e.g. 21-173 19.51.30 (on 2021-06-22, 173th day of 2021)

View File

@ -7,16 +7,16 @@ other directories around them and
I won't promise to keep this up-to-date, but I think it might be better I won't promise to keep this up-to-date, but I think it might be better
than nothing. than nothing.
***READ ALSO https://wiki.piraattipuolue.fi/K%C3%A4ytt%C3%A4j%C3%A4:Mikaela !*** **_READ ALSO https://wiki.piraattipuolue.fi/K%C3%A4ytt%C3%A4j%C3%A4:Mikaela !_**
Notes: Notes:
* teleirc.service is not used by the PirateIRC instance that I run. It has - teleirc.service is not used by the PirateIRC instance that I run. It has
to be started manually as I don't have root on Kapsi and they don't have to be started manually as I don't have root on Kapsi and they don't have
systemd or user services at the time of writing and without lithing that systemd or user services at the time of writing and without lithing that
would require logging in once after every reboot for it to start doing would require logging in once after every reboot for it to start doing
anything anything
* discord-irc assumes that you have cloned the git repo and installed using - discord-irc assumes that you have cloned the git repo and installed using
npm there. npm there.
* offtopic, but remember to enable Discord developer mode in settings - offtopic, but remember to enable Discord developer mode in settings
for being able to right click channel name to copy ID. for being able to right click channel name to copy ID.

View File

@ -1,68 +1,66 @@
[ [
{ {
"nickname": "D6", "nickname": "D6",
"server": "fi.pirateirc.net", "server": "fi.pirateirc.net",
"discordToken": "CENSORED", "discordToken": "CENSORED",
"autoSendCommands": [ "autoSendCommands": [
["NICKSERV", "IDENTIFY D6 CENSORED"], ["NICKSERV", "IDENTIFY D6 CENSORED"],
["NICKSERV", "REGAIN D6 CENSORED"], ["NICKSERV", "REGAIN D6 CENSORED"],
["MODE", "D6", "-i"] ["MODE", "D6", "-i"]
], ],
"webhooks": { "webhooks": {},
"channelMapping": {
}, "374659905983873025": "#piraattinuoret",
"channelMapping": { "374867585868496897": "#pinu_hallitus",
"374659905983873025": "#piraattinuoret", "375207988459470849": "#test",
"374867585868496897": "#pinu_hallitus", "381011785962225664": "#aaltopiraatit",
"375207988459470849": "#test", "389413571831791626": "#hepihalko",
"381011785962225664": "#aaltopiraatit", "412240406902865920": "#helsinki",
"389413571831791626": "#hepihalko", "412254021521506305": "#mediaseuranta",
"412240406902865920": "#helsinki", "412254070150135808": "#toiminta",
"412254021521506305": "#mediaseuranta", "412258283546476555": "#piraatit",
"412254070150135808": "#toiminta", "412258307647078401": "#ppfi",
"412258283546476555": "#piraatit", "412293076917288970": "#messi",
"412258307647078401": "#ppfi", "412511326766759936": "#keski-suomi",
"412293076917288970": "#messi", "431034872333598720": "#uusimaa",
"412511326766759936": "#keski-suomi", "413041315270492160": "#likakaivo",
"431034872333598720": "#uusimaa", "413247653015715840": "#verkkopalvelut",
"413041315270492160": "#likakaivo", "414400615591051274": "#sivusto",
"413247653015715840": "#verkkopalvelut", "416285084912451595": "#grafiikka",
"414400615591051274": "#sivusto", "417031598685552640": "#akateemisetpiraatit",
"416285084912451595": "#grafiikka", "424514192113008650": "#hallituskokous",
"417031598685552640": "#akateemisetpiraatit", "426034481095376926": "#sateenkaaripiraatit",
"424514192113008650": "#hallituskokous", "426703063970086912": "#antikupla",
"426034481095376926": "#sateenkaaripiraatit", "426703083574394881": "#syotteet",
"426703063970086912": "#antikupla", "432465953293336579": "#puoluetoimisto",
"426703083574394881": "#syotteet", "444816560150937610": "#pirkanmaa",
"432465953293336579": "#puoluetoimisto", "449854986919084032": "#piraattivpn",
"444816560150937610": "#pirkanmaa", "451295033488965652": "#hame",
"449854986919084032": "#piraattivpn", "422390844612411402": "#suomiareena",
"451295033488965652": "#hame", "482982233649446926": "#satakunta",
"422390844612411402": "#suomiareena", "504190490086998026": "#viestinta_markkinointi CENSORED",
"482982233649446926": "#satakunta", "511566906843463680": "#oulu",
"504190490086998026": "#viestinta_markkinointi CENSORED", "511566931837321216": "#kaakko",
"511566906843463680": "#oulu", "511801896478965772": "#varsinais-suomi",
"511566931837321216": "#kaakko", "511825011951140865": "#savo-karjala",
"511801896478965772": "#varsinais-suomi", "511826019464904704": "#vaasa",
"511825011951140865": "#savo-karjala", "511827216397631490": "#lappi"
"511826019464904704": "#vaasa", },
"511827216397631490": "#lappi" "ircOptions": {
}, "userName": "D6",
"ircOptions": { "realName": "mailto:pikaviestimet+DiscordRele@piraattipuolue.fi",
"userName": "D6", "password": "CENSORED",
"realName": "mailto:pikaviestimet+DiscordRele@piraattipuolue.fi", "port": "6697",
"password": "CENSORED", "secure": "true",
"port": "6697", "sasl": "true",
"secure": "true", "stripColors": "true",
"sasl": "true", "debug": "false",
"stripColors": "true", "encoding": null
"debug": "false", },
"encoding": null "format": {
}, "ircText": "<{$displayUsername}> {$text}",
"format": { "discord": "<`{$author}`> {$withMentions}"
"ircText": "<{$displayUsername}> {$text}", },
"discord": "<`{$author}`> {$withMentions}" "ircNickColor": false
}, }
"ircNickColor": false
}
] ]

View File

@ -9,4 +9,3 @@ User=discord-irc
[Install] [Install]
WantedBy=default.target WantedBy=default.target

View File

@ -15,4 +15,3 @@ User=teleirc-freenode
[Install] [Install]
WantedBy=default.target WantedBy=default.target

View File

@ -1 +1,44 @@
{"Antikupla":"-1001235442861","Global Pirates":"-1001057453853","Helsinki":-1001116081415,"Mediaseuranta":-1001106763853,"Mikaela - supergroup":"-1001149130394","PPFI - Aaltopiraatit":"-1001090737719","PPFI - Grafiikka":"-1001133635073","PPFI - Helsingin Hallituskokoukset":"-1001122135183","PPFI - Helsinki":"-1001116081415","PPFI - Keski-Suomi":"-1001121256763","PPFI - Mediaseuranta":"-1001106763853","PPFI - Messi":"-1001137586553","PPFI - Sivusto":"-1001379936008","PPFI - Toiminta":"-1001103875498","PPFI - Uusimaa":"-1001096588605","PPFI - Varsinais-Suomi":"-1001139315365","PPFI - Verkkopalvelut":"-1001115432082","PPFI - Yleiskeskustelu (EI EDUSTA PUOLUEEN LINJAA!)":-1001128288801,"PiNu hallitus":"-1001142160911","Piraatit":"-1001102075786","Piraattinuoret":"-1001117962134","Pirate Party Finland":"-1001136883228","Sateenkaaripiraatit":"-1001125413651","Syötteet":"-1001116457229","TEST":"-1001228320159","Toiminta":-1001103875498,"Uusimaa":-1001096588605,"Likakaivo":"-1001128288801","PPFI - Häme":"-1001374071099","Akateemiset Piraatit":"-1001185661848","PIR - Hallituksen kokoukset":"-1001172132698","PPFI - Puoluetoimisto":"-1001193123558","silta.piraatit.fi":"-1001198260672","SPAM-TELEIRC-PRIVAT":"-1001249769430","PPFI - Suomiareena":"-1001184954189","[READ-ONLY] PirateIRC #opers":"-1001173866260","PirateIRC Telegram Opers":"-1001176463928","PIR - Satakunta":"-1001159836952","##Mikaela":"-1001149130394","PPFI - Viestintä ja Markkinointi":"-1001298673578","Tech Pirates":"-1001166389528","PirateIRC Telegram Opers/Staff":"-1001176463928"} {
"Antikupla": "-1001235442861",
"Global Pirates": "-1001057453853",
"Helsinki": -1001116081415,
"Mediaseuranta": -1001106763853,
"Mikaela - supergroup": "-1001149130394",
"PPFI - Aaltopiraatit": "-1001090737719",
"PPFI - Grafiikka": "-1001133635073",
"PPFI - Helsingin Hallituskokoukset": "-1001122135183",
"PPFI - Helsinki": "-1001116081415",
"PPFI - Keski-Suomi": "-1001121256763",
"PPFI - Mediaseuranta": "-1001106763853",
"PPFI - Messi": "-1001137586553",
"PPFI - Sivusto": "-1001379936008",
"PPFI - Toiminta": "-1001103875498",
"PPFI - Uusimaa": "-1001096588605",
"PPFI - Varsinais-Suomi": "-1001139315365",
"PPFI - Verkkopalvelut": "-1001115432082",
"PPFI - Yleiskeskustelu (EI EDUSTA PUOLUEEN LINJAA!)": -1001128288801,
"PiNu hallitus": "-1001142160911",
"Piraatit": "-1001102075786",
"Piraattinuoret": "-1001117962134",
"Pirate Party Finland": "-1001136883228",
"Sateenkaaripiraatit": "-1001125413651",
"Syötteet": "-1001116457229",
"TEST": "-1001228320159",
"Toiminta": -1001103875498,
"Uusimaa": -1001096588605,
"Likakaivo": "-1001128288801",
"PPFI - Häme": "-1001374071099",
"Akateemiset Piraatit": "-1001185661848",
"PIR - Hallituksen kokoukset": "-1001172132698",
"PPFI - Puoluetoimisto": "-1001193123558",
"silta.piraatit.fi": "-1001198260672",
"SPAM-TELEIRC-PRIVAT": "-1001249769430",
"PPFI - Suomiareena": "-1001184954189",
"[READ-ONLY] PirateIRC #opers": "-1001173866260",
"PirateIRC Telegram Opers": "-1001176463928",
"PIR - Satakunta": "-1001159836952",
"##Mikaela": "-1001149130394",
"PPFI - Viestintä ja Markkinointi": "-1001298673578",
"Tech Pirates": "-1001166389528",
"PirateIRC Telegram Opers/Staff": "-1001176463928"
}

View File

@ -6,12 +6,12 @@ module.exports = config;
///////////////////// /////////////////////
// paste the bot API token you got from BotFather here: // paste the bot API token you got from BotFather here:
config.tgToken = 'CENSORED'; config.tgToken = "CENSORED";
// only relay IRC events present in array // only relay IRC events present in array
// possible values include: // possible values include:
// message, notice, action, topic, join, part, kick, quit // message, notice, action, topic, join, part, kick, quit
config.relayIRCEvents = ['message', 'notice', 'action', 'kick', 'topic']; config.relayIRCEvents = ["message", "notice", "action", "kick", "topic"];
// enable HTTP server which hosts sent media files, links to files are // enable HTTP server which hosts sent media files, links to files are
// forwarded to IRC // forwarded to IRC
@ -21,7 +21,7 @@ config.showMedia = true;
config.httpPort = 61825; config.httpPort = 61825;
// HTTP server location, URLs are generated from this // HTTP server location, URLs are generated from this
config.httpLocation = 'http://silta.piraatit.fi' + ':' + config.httpPort; config.httpLocation = "http://silta.piraatit.fi" + ":" + config.httpPort;
//config.httpLocation = 'https://t4.mikaela.info'; //config.httpLocation = 'https://t4.mikaela.info';
////////////////// //////////////////
@ -34,240 +34,246 @@ config.httpLocation = 'http://silta.piraatit.fi' + ':' + config.httpPort;
// - %firstName% (first name of sender) // - %firstName% (first name of sender)
// - %lastName% (last name of sender) // - %lastName% (last name of sender)
// - %username% (optional Telegram username of sender) // - %username% (optional Telegram username of sender)
config.nameFormat = '%username%'; config.nameFormat = "%username%";
// fallback format string for %username% if sender lacks username // fallback format string for %username% if sender lacks username
config.usernameFallbackFormat = '%firstName% (MISSING @USERNAME! telegram.org/faq#usernames-and-t-me)'; config.usernameFallbackFormat =
"%firstName% (MISSING @USERNAME! telegram.org/faq#usernames-and-t-me)";
config.ircNick = 'T4'; config.ircNick = "T4";
//config.ircServer = 'fi.pirateirc.net'; //config.ircServer = 'fi.pirateirc.net';
// Yggdrasil // Yggdrasil
config.ircServer = '201:677d:1809:c5eb:202a:d39:e598:305'; config.ircServer = "201:677d:1809:c5eb:202a:d39:e598:305";
// array of commands to send to IRC server as soon as we're connected, // array of commands to send to IRC server as soon as we're connected,
// example: config.ircPerformCmds = [ // example: config.ircPerformCmds = [
// 'PRIVMSG Q@CServe.quakenet.org :AUTH <username> <password>' // 'PRIVMSG Q@CServe.quakenet.org :AUTH <username> <password>'
// ] // ]
config.ircPerformCmds = ['NICKSERV identify T4 CENSORED', 'NICKSERV regain T4', 'mode T4 -i+RQ', 'CHANSERV invite #messi', 'JOIN #messi']; config.ircPerformCmds = [
"NICKSERV identify T4 CENSORED",
"NICKSERV regain T4",
"mode T4 -i+RQ",
"CHANSERV invite #messi",
"JOIN #messi",
];
//config.ircPerformCmds = []; //config.ircPerformCmds = [];
config.channels = [ config.channels = [
{
ircChan: "#piraattinuoret",
tgGroup: "Piraattinuoret",
},
{ {
ircChan: '#piraattinuoret', ircChan: "#piraatit",
tgGroup: 'Piraattinuoret' tgGroup: "Piraatit",
}, },
{ {
ircChan: '#piraatit', ircChan: "#mediaseuranta",
tgGroup: 'Piraatit' tgGroup: "PPFI - Mediaseuranta",
}, },
{ {
ircChan: '#mediaseuranta', ircChan: "#helsinki",
tgGroup: 'PPFI - Mediaseuranta' tgGroup: "PPFI - Helsinki",
}, },
{ {
ircChan: '#helsinki', ircChan: "#uusimaa",
tgGroup: 'PPFI - Helsinki' tgGroup: "PPFI - Uusimaa",
}, },
{ {
ircChan: '#uusimaa', ircChan: "#toiminta",
tgGroup: 'PPFI - Uusimaa' tgGroup: "PPFI - Toiminta",
}, },
{ {
ircChan: '#toiminta', ircChan: "#puoluetoimisto",
tgGroup: 'PPFI - Toiminta' tgGroup: "PPFI - Puoluetoimisto",
}, },
{ {
ircChan: '#puoluetoimisto', ircChan: "#verkkopalvelut",
tgGroup: 'PPFI - Puoluetoimisto' tgGroup: "PPFI - Verkkopalvelut",
}, },
{ {
ircChan: '#verkkopalvelut', ircChan: "#pinu_hallitus",
tgGroup: 'PPFI - Verkkopalvelut' tgGroup: "PiNu hallitus",
}, },
{ {
ircChan: '#pinu_hallitus', ircChan: "#keski-suomi",
tgGroup: 'PiNu hallitus' tgGroup: "PPFI - Keski-Suomi",
}, },
{ {
ircChan: '#keski-suomi', ircChan: "#sateenkaaripiraatit",
tgGroup: 'PPFI - Keski-Suomi' tgGroup: "Sateenkaaripiraatit",
}, },
{ {
ircChan: '#sateenkaaripiraatit', ircChan: "#suomiareena",
tgGroup: 'Sateenkaaripiraatit' tgGroup: "PPFI - Suomiareena",
}, },
{ {
ircChan: '#suomiareena', ircChan: "#Mikaela",
tgGroup: 'PPFI - Suomiareena' ircChanReadOnly: true,
}, ircChanOverrideReadOnly: true,
tgGroup: "##Mikaela",
tgGroupReadOnly: true,
tgGroupOverrideReadOnly: true,
},
{ {
ircChan: '#Mikaela', ircChan: "#aaltopiraatit",
ircChanReadOnly: true, tgGroup: "PPFI - Aaltopiraatit",
ircChanOverrideReadOnly: true, },
tgGroup: '##Mikaela',
tgGroupReadOnly: true,
tgGroupOverrideReadOnly: true,
},
{ {
ircChan: '#aaltopiraatit', ircChan: "#ppfi",
tgGroup: 'PPFI - Aaltopiraatit' tgGroup: "Pirate Party Finland",
}, },
{ {
ircChan: '#ppfi', ircChan: "#grafiikka",
tgGroup: 'Pirate Party Finland' tgGroup: "PPFI - Grafiikka",
}, },
{ {
ircChan: '#grafiikka', ircChan: "#messi",
tgGroup: 'PPFI - Grafiikka' tgGroup: "PPFI - Messi",
}, },
{ {
ircChan: '#messi', ircChan: "#varsinais-suomi",
tgGroup: 'PPFI - Messi' tgGroup: "PPFI - Varsinais-Suomi",
}, },
{ {
ircChan: '#varsinais-suomi', ircChan: "#syotteet",
tgGroup: 'PPFI - Varsinais-Suomi' tgGroup: "Syötteet",
}, },
{ {
ircChan: '#syotteet', ircChan: "#sivusto",
tgGroup: 'Syötteet' tgGroup: "PPFI - Sivusto",
}, },
{ {
ircChan: '#sivusto', ircChan: "#globalPirates",
tgGroup: 'PPFI - Sivusto' tgGroup: "Global Pirates",
}, },
{ {
ircChan: '#globalPirates', ircChan: "#antikupla",
tgGroup: 'Global Pirates' tgGroup: "Antikupla",
}, },
{ {
ircChan: '#antikupla', ircChan: "#hame",
tgGroup: 'Antikupla' tgGroup: "PPFI - Häme",
}, },
{ {
ircChan: '#hame', ircChan: "#akateemisetpiraatit",
tgGroup: 'PPFI - Häme' tgGroup: "Akateemiset Piraatit",
}, },
{ {
ircChan: '#akateemisetpiraatit', ircChan: "#hallituskokous",
tgGroup: 'Akateemiset Piraatit' tgGroup: "PIR - Hallituksen kokoukset",
}, },
{ {
ircChan: '#hallituskokous', ircChan: "T4",
tgGroup: 'PIR - Hallituksen kokoukset' tgGroup: "SPAM-TELEIRC-PRIVAT",
}, tgGroupReadOnly: true,
},
{ {
ircChan: 'T4', ircChan: "*",
tgGroup: 'SPAM-TELEIRC-PRIVAT', tgGroup: "SPAM-TELEIRC-PRIVAT",
tgGroupReadOnly: true tgGroupReadOnly: true,
}, },
{ {
ircChan: '*', ircChan: "#opers",
tgGroup: 'SPAM-TELEIRC-PRIVAT', tgGroup: "PirateIRC Telegram Opers/Staff",
tgGroupReadOnly: true tgGroupReadOnly: true,
}, tgGroupOverrideReadOnly: true,
},
{ {
ircChan: '#opers', ircChan: "#satakunta",
tgGroup: 'PirateIRC Telegram Opers/Staff', tgGroup: "PIR - Satakunta",
tgGroupReadOnly: true, },
tgGroupOverrideReadOnly: true
},
{ {
ircChan: '#satakunta', ircChan: "#viestinta_markkinointi",
tgGroup: 'PIR - Satakunta' chanPwd: "CENSORED",
}, tgGroup: "PPFI - Viestintä ja Markkinointi",
},
{ {
ircChan: '#viestinta_markkinointi', ircChan: "#TechPirates",
chanPwd: 'CENSORED', tgGroup: "Tech Pirates",
tgGroup: 'PPFI - Viestintä ja Markkinointi' },
},
{ //{
ircChan: '#TechPirates', // ircChan: '#teleirc',
tgGroup: 'Tech Pirates' // tgGroup: 'teleirc'
} //}
//{ // example of a password-protected IRC channel:
// ircChan: '#teleirc', //{
// tgGroup: 'teleirc' //ircChan: '#channel2',
//} //chanPwd: 'passwd',
//tgGroup: 'Tg_Group_2'
//},
// example of a password-protected IRC channel: // example of an IRC channel with an alias:
//{ // channel name will be displayed as '!channel3' instead of '!XXXXXchannel3'
//ircChan: '#channel2', //{
//chanPwd: 'passwd', //ircChan: '!XXXXXchannel3',
//tgGroup: 'Tg_Group_2' //chanAlias: '!channel3',
//}, //tgGroup: 'Tg_Group_3'
//}
// example of an IRC channel with an alias:
// channel name will be displayed as '!channel3' instead of '!XXXXXchannel3'
//{
//ircChan: '!XXXXXchannel3',
//chanAlias: '!channel3',
//tgGroup: 'Tg_Group_3'
//}
]; ];
// see https://node-irc.readthedocs.org/en/latest/API.html#client for // see https://node-irc.readthedocs.org/en/latest/API.html#client for
// documentation // documentation
config.ircOptions = { config.ircOptions = {
userName: 'Telegram', userName: "Telegram",
realName: 'mailto:pikaviestimet+PircTGRelay@piraattipuolue.fi', realName: "mailto:pikaviestimet+PircTGRelay@piraattipuolue.fi",
port: 6697, port: 6697,
localAddress: null, localAddress: null,
debug: false, debug: false,
showErrors: true, showErrors: true,
autoRejoin: true, autoRejoin: true,
autoConnect: true, autoConnect: true,
channels: [], // auto generated, do not touch channels: [], // auto generated, do not touch
secure: true, secure: true,
// TRUE JOS EPÄKELPO! // TRUE JOS EPÄKELPO!
// Yggdrasil // Yggdrasil
//selfSigned: false, //selfSigned: false,
//certExpired: false, //certExpired: false,
selfSigned: true, selfSigned: true,
certExpired: true, certExpired: true,
floodProtection: true, floodProtection: true,
floodProtectionDelay: 1000, floodProtectionDelay: 1000,
sasl: true, sasl: true,
//sasl: false, //sasl: false,
stripColors: true, stripColors: true,
channelPrefixes: '&#!', channelPrefixes: "&#!",
messageSplit: 512, messageSplit: 512,
encoding: '', encoding: "",
//password: '' //password: ''
password: 'CENSORED' password: "CENSORED",
}; };
// if you wish to relay every irc message to telegram, set this to true. // if you wish to relay every irc message to telegram, set this to true.
@ -276,8 +282,8 @@ config.ircRelayAll = true;
// the default hilight regexp will match lines containing the bot nick, or // the default hilight regexp will match lines containing the bot nick, or
// lines starting with '! ' // lines starting with '! '
var regex = '^ *(?:' + config.ircNick + '[:,]?|!) +(.*\\S.*)$'; var regex = "^ *(?:" + config.ircNick + "[:,]?|!) +(.*\\S.*)$";
config.hlRegexp = new RegExp(regex, 'i'); config.hlRegexp = new RegExp(regex, "i");
// automatically added by config upgrade: // automatically added by config upgrade:
config.logLevel = "error"; config.logLevel = "error";
@ -285,7 +291,22 @@ config.mediaRandomLength = 10;
config.maxMsgAge = 60; config.maxMsgAge = 60;
config.allowCommands = true; config.allowCommands = true;
config.nickcolor = false; config.nickcolor = false;
config.palette = ["white","silver","navy","green","red","brown","purple","olive","yellow","lime","teal","cyan","pink","blue"]; config.palette = [
"white",
"silver",
"navy",
"green",
"red",
"brown",
"purple",
"olive",
"yellow",
"lime",
"teal",
"cyan",
"pink",
"blue",
];
config.soloUse = false; config.soloUse = false;
config.replaceNewlines = " … "; config.replaceNewlines = " … ";
config.hlOnlyShowMatch = false; config.hlOnlyShowMatch = false;
@ -298,7 +319,7 @@ config.imgurClientId = "CENSORED";
// automatically added by config upgrade: // automatically added by config upgrade:
config.replySnippetLength = 46; config.replySnippetLength = 46;
config.mediaConversions = { config.mediaConversions = {
'webp': 'png' webp: "png",
}; };
config.emphasizeAction = true; config.emphasizeAction = true;
config.relayEdited = true; config.relayEdited = true;

View File

@ -1 +1,15 @@
{"#sailfishos-porters":"-156634556","Mer-meeting":"-1001100500036","Mikaela - group":-1001149130394,"Mikaela - supergroup":"-1001149130394","NemoMobile":"-1001100341174","Sailfish Hackclub Helsinki":"-146527899","Sailfish OS Fan Club":"-1001094603738","akunapu":"-1001067264661","##castellano":"-1001121244297","SPAM-TELEIRC-PRIVAT":"-1001249769430","Akun apu ja #akubuntu":"-1001067264661","Sailfish OS Porters":"-1001173638408","##Mikaela":"-1001149130394"} {
"#sailfishos-porters": "-156634556",
"Mer-meeting": "-1001100500036",
"Mikaela - group": -1001149130394,
"Mikaela - supergroup": "-1001149130394",
"NemoMobile": "-1001100341174",
"Sailfish Hackclub Helsinki": "-146527899",
"Sailfish OS Fan Club": "-1001094603738",
"akunapu": "-1001067264661",
"##castellano": "-1001121244297",
"SPAM-TELEIRC-PRIVAT": "-1001249769430",
"Akun apu ja #akubuntu": "-1001067264661",
"Sailfish OS Porters": "-1001173638408",
"##Mikaela": "-1001149130394"
}

View File

@ -8,15 +8,15 @@ module.exports = config;
// verbosity of console output // verbosity of console output
// possible options from most to least verbose: // possible options from most to least verbose:
// silly, debug, verbose, info, warn, error // silly, debug, verbose, info, warn, error
config.logLevel = 'error'; config.logLevel = "error";
// paste the bot API token you got from BotFather here: // paste the bot API token you got from BotFather here:
config.tgToken = 'CENSORED'; config.tgToken = "CENSORED";
// only relay IRC events present in array // only relay IRC events present in array
// possible values include: // possible values include:
// message, notice, action, topic, join, part, kick, quit // message, notice, action, topic, join, part, kick, quit
config.relayIRCEvents = ['message', 'notice', 'action', 'kick']; config.relayIRCEvents = ["message", "notice", "action", "kick"];
// enable HTTP server which hosts sent media files, links to files are // enable HTTP server which hosts sent media files, links to files are
// forwarded to IRC // forwarded to IRC
@ -26,7 +26,7 @@ config.showMedia = true;
// To be able to convert from WebP, install imagemagick and the dwebp tool // To be able to convert from WebP, install imagemagick and the dwebp tool
// (e.g. sudo apt install imagemagick webp) // (e.g. sudo apt install imagemagick webp)
config.mediaConversions = { config.mediaConversions = {
//'webp': 'png' //'webp': 'png'
}; };
// Add some randomness to url when relaying media // Add some randomness to url when relaying media
@ -43,14 +43,14 @@ config.httpPort = 9090;
// HTTP server location, URLs are generated from this // HTTP server location, URLs are generated from this
//config.httpLocation = 'http://149.202.119.142' + ':' + config.httpPort; //config.httpLocation = 'http://149.202.119.142' + ':' + config.httpPort;
//config.httpLocation = 'https://3das7vpgt73yxclb6agz4sz2a2bt7bqqfjucjhhbb5jnndxcd4o4lfid.onion'; //config.httpLocation = 'https://3das7vpgt73yxclb6agz4sz2a2bt7bqqfjucjhhbb5jnndxcd4o4lfid.onion';
config.httpLocation = 'https://af42kgggd3mfqvgy.tor2web.io'; config.httpLocation = "https://af42kgggd3mfqvgy.tor2web.io";
// Upload sent photos to Imgur, links to Imgur uploads are // Upload sent photos to Imgur, links to Imgur uploads are
// forwared to IRC // forwared to IRC
config.uploadToImgur = false; config.uploadToImgur = false;
// Imgur client id required for uploading photos to Imgur // Imgur client id required for uploading photos to Imgur
config.imgurClientId = 'YOUR-CLIENT-ID'; config.imgurClientId = "YOUR-CLIENT-ID";
// Whether to allow sending messages to IRC without nick prefix // Whether to allow sending messages to IRC without nick prefix
config.allowCommands = true; config.allowCommands = true;
@ -64,11 +64,20 @@ config.nickcolor = false;
// Nick color palette // Nick color palette
config.palette = [ config.palette = [
'white', 'silver', 'navy', "white",
'green', 'red', 'brown', "silver",
'purple', 'olive', 'yellow', "navy",
'lime', 'teal', 'cyan', "green",
'pink', 'blue' "red",
"brown",
"purple",
"olive",
"yellow",
"lime",
"teal",
"cyan",
"pink",
"blue",
]; ];
// If soloUse is true, send all messages without username preview, intented // If soloUse is true, send all messages without username preview, intented
@ -81,88 +90,88 @@ config.soloUse = false;
// - %firstName% (first name of sender) // - %firstName% (first name of sender)
// - %lastName% (last name of sender) // - %lastName% (last name of sender)
// - %username% (optional Telegram username of sender) // - %username% (optional Telegram username of sender)
config.nameFormat = '%username%'; config.nameFormat = "%username%";
// fallback format string for %username% if sender lacks username // fallback format string for %username% if sender lacks username
config.usernameFallbackFormat = '%firstName% (MISSING @USERNAME! telegram.org/faq#usernames-and-t-me)'; config.usernameFallbackFormat =
"%firstName% (MISSING @USERNAME! telegram.org/faq#usernames-and-t-me)";
// Replace newline characters in Telegram messages with this string before // Replace newline characters in Telegram messages with this string before
// relaying them to IRC, prevents flood from long messages. // relaying them to IRC, prevents flood from long messages.
// //
// Tip: you can set this to \n if you want them as separate messages on IRC // Tip: you can set this to \n if you want them as separate messages on IRC
config.replaceNewlines = ' … '; config.replaceNewlines = " … ";
config.ircNick = 'T4'; config.ircNick = "T4";
//config.ircServer = 'chat.freenode.net'; //config.ircServer = 'chat.freenode.net';
config.ircServer = '127.0.0.1'; config.ircServer = "127.0.0.1";
// array of commands to send to IRC server as soon as we're connected, // array of commands to send to IRC server as soon as we're connected,
// example: config.ircPerformCmds = [ // example: config.ircPerformCmds = [
// 'PRIVMSG Q@CServe.quakenet.org :AUTH <username> <password>' // 'PRIVMSG Q@CServe.quakenet.org :AUTH <username> <password>'
// ] // ]
//config.ircPerformCmds = ['NICKSERV identify T4 CENSORED', 'NICKSERV regain T4', 'mode T4 -i+RQ']; //config.ircPerformCmds = ['NICKSERV identify T4 CENSORED', 'NICKSERV regain T4', 'mode T4 -i+RQ'];
config.ircPerformCmds = ['ZNC *perform execute']; config.ircPerformCmds = ["ZNC *perform execute"];
config.channels = [ config.channels = [
// example of a barebones IRC channel: // example of a barebones IRC channel:
// '#channel1' will be bridged to a Telegram group called 'Tg_Group_1' // '#channel1' will be bridged to a Telegram group called 'Tg_Group_1'
{ {
ircChan: '##Mikaela', ircChan: "##Mikaela",
tgGroup: '##Mikaela' tgGroup: "##Mikaela",
}, },
{ {
ircChan: '#nemomobile', ircChan: "#nemomobile",
tgGroup: 'NemoMobile' tgGroup: "NemoMobile",
}, },
//{ //{
// ircChan: '#akunapu', // ircChan: '#akunapu',
// tgGroup: 'akunapu' // tgGroup: 'akunapu'
// tgGroup: 'Akun apu ja #akubuntu' // tgGroup: 'Akun apu ja #akubuntu'
// }, // },
{ {
ircChan: '#mer-meeting', ircChan: "#mer-meeting",
tgGroup: 'Mer-meeting', tgGroup: "Mer-meeting",
tgGroupReadOnly: true tgGroupReadOnly: true,
}, },
{ {
ircChan: '#jollafanclub', ircChan: "#jollafanclub",
tgGroup: 'Sailfish OS Fan Club' tgGroup: "Sailfish OS Fan Club",
}, },
{ {
ircChan: '#sailfishos-porters', ircChan: "#sailfishos-porters",
tgGroup: 'Sailfish OS Porters' tgGroup: "Sailfish OS Porters",
}, },
{ {
ircChan: '#sailfish-hackclub-hki', ircChan: "#sailfish-hackclub-hki",
tgGroup: 'Sailfish Hackclub Helsinki' tgGroup: "Sailfish Hackclub Helsinki",
}, },
{ {
ircChan: '##castellano', ircChan: "##castellano",
tgGroup: '##castellano' tgGroup: "##castellano",
}, },
{ {
ircChan: 'T4', ircChan: "T4",
tgGroup: 'SPAM-TELEIRC-PRIVAT', tgGroup: "SPAM-TELEIRC-PRIVAT",
tgGroupReadOnly: true tgGroupReadOnly: true,
}, },
{ {
ircChan: '*', ircChan: "*",
tgGroup: 'SPAM-TELEIRC-PRIVAT', tgGroup: "SPAM-TELEIRC-PRIVAT",
tgGroupReadOnly: true tgGroupReadOnly: true,
} },
];
] // example of a readOnly IRC channel and Telegram Group:
// example of a readOnly IRC channel and Telegram Group:
/* { /* {
ircChan: '#channel3', ircChan: '#channel3',
ircChanReadOnly: true, // if true, irc can not send to telegram ircChanReadOnly: true, // if true, irc can not send to telegram
@ -185,32 +194,32 @@ config.channels = [
// see https://node-irc.readthedocs.org/en/latest/API.html#client for // see https://node-irc.readthedocs.org/en/latest/API.html#client for
// documentation // documentation
config.ircOptions = { config.ircOptions = {
userName: 'T4', userName: "T4",
realName: 'mailto:pikaviestimet+FreTGRelay@piraattipuolue.fi', realName: "mailto:pikaviestimet+FreTGRelay@piraattipuolue.fi",
port: 5621, port: 5621,
localAddress: null, localAddress: null,
showErrors: true, showErrors: true,
autoRejoin: true, autoRejoin: true,
autoConnect: true, autoConnect: true,
channels: [], // auto generated, do not touch channels: [], // auto generated, do not touch
secure: false, secure: false,
selfSigned: false, selfSigned: false,
certExpired: false, certExpired: false,
floodProtection: true, floodProtection: true,
floodProtectionDelay: 1000, floodProtectionDelay: 1000,
sasl: false, sasl: false,
stripColors: true, stripColors: true,
channelPrefixes: '&#!', channelPrefixes: "&#!",
messageSplit: 512, messageSplit: 512,
encoding: '', encoding: "",
//password: 'CENSORED' //password: 'CENSORED'
password: 'CENSORED' password: "CENSORED",
}; };
// the default hilight regexp will match lines containing the bot nick, or // the default hilight regexp will match lines containing the bot nick, or
// lines starting with '! ' // lines starting with '! '
var regex = '^ *(?:' + config.ircNick + '[:,]?|!) +(.*\\S.*)$'; var regex = "^ *(?:" + config.ircNick + "[:,]?|!) +(.*\\S.*)$";
config.hlRegexp = new RegExp(regex, 'i'); config.hlRegexp = new RegExp(regex, "i");
// if there was a match, should we only show the parenthesized substring match? // if there was a match, should we only show the parenthesized substring match?
// with the default regexp this would hide the bot nickname in messages when // with the default regexp this would hide the bot nickname in messages when

View File

@ -1,6 +1,6 @@
I use `/set irc.look.nick_color_hash djb2` (*"hash algorithm used to find I use `/set irc.look.nick_color_hash djb2` (_"hash algorithm used to find
the color for a nick: djb2 = variant of djb2 (position of letters matters: the color for a nick: djb2 = variant of djb2 (position of letters matters:
anagrams of a nick have different color), sum = sum of letters"*) anagrams of a nick have different color), sum = sum of letters"_)
## WeeChat colours for dark background ## WeeChat colours for dark background
@ -33,7 +33,7 @@ This is copied from @tracphil's gist which you can find at https://gist.github.c
/set buffers.color.hotlist_message_fg 7 /set buffers.color.hotlist_message_fg 7
``` ```
* * * * * ---
2022-04-15: I am using Selenized Dark and highlights are a bit difficult to see 2022-04-15: I am using Selenized Dark and highlights are a bit difficult to see
considering they are yellow on magenta; considering they are yellow on magenta;

View File

@ -1,7 +1,7 @@
# WeeChat Triggers # WeeChat Triggers
* [WeeChat Trigger plugin documentation](https://weechat.org/files/doc/stable/weechat_user.en.html#trigger) - [WeeChat Trigger plugin documentation](https://weechat.org/files/doc/stable/weechat_user.en.html#trigger)
* [Triggers at WeeChat GitHub Wiki](https://github.com/weechat/weechat/wiki/Triggers) - [Triggers at WeeChat GitHub Wiki](https://github.com/weechat/weechat/wiki/Triggers)
## msgid visibility ## msgid visibility

View File

@ -3,6 +3,6 @@
I never remember these and then I take ages to find my notes, so in hopes I never remember these and then I take ages to find my notes, so in hopes
of finding these faster the next time, I am git committing it. of finding these faster the next time, I am git committing it.
* Bedsheets & other bed things, 60 C (cotton) - Bedsheets & other bed things, 60 C (cotton)
* Day cover (big blue) 40 C, (cotton) - Day cover (big blue) 40 C, (cotton)
* Clothes: 40 C (mixed) - Clothes: 40 C (mixed)

View File

@ -5,12 +5,13 @@ Initially copied from https://develop.element.io/config.json, but modified.
Placement: Placement:
Flatpak: `~/.var/app/im.riot.Riot/config/Riot/config.json` Flatpak: `~/.var/app/im.riot.Riot/config/Riot/config.json`
* or `~/.var/app/im.riot.Riot/config/Element-PROFILENAMEHERE/config.json`
* Linux: `~/.config/Element/config.json` or `~/.config/Element-PROFILENAMEHERE/config.json` - or `~/.var/app/im.riot.Riot/config/Element-PROFILENAMEHERE/config.json`
* failing that it appears to read `~/.config/Riot/*` should that exist. - Linux: `~/.config/Element/config.json` or `~/.config/Element-PROFILENAMEHERE/config.json`
* Windows: `%APPDATA%\Element\config.json` - failing that it appears to read `~/.config/Riot/*` should that exist.
- Windows: `%APPDATA%\Element\config.json`
Labs features: Labs features:
* https://github.com/vector-im/element-web/blob/develop/docs/labs.md - https://github.com/vector-im/element-web/blob/develop/docs/labs.md
* https://github.com/matrix-org/matrix-react-sdk/blob/develop/src/settings/Settings.tsx - https://github.com/matrix-org/matrix-react-sdk/blob/develop/src/settings/Settings.tsx

View File

@ -1,4 +1,3 @@
{ {
"showLabsSettings": true, "showLabsSettings": true,
"defaultDeviceDisplayName": "HostnameOS-Client-YYYY-WXX-D", "defaultDeviceDisplayName": "HostnameOS-Client-YYYY-WXX-D",
@ -9,24 +8,24 @@
} }
}, },
"features": { "features": {
"feature_report_to_moderators": "enable", "feature_report_to_moderators": "enable",
"feature_latex_maths": "enable", "feature_latex_maths": "enable",
"feature_mjolnir": "enable", "feature_mjolnir": "enable",
"feature_roomlist_preview_reactions_all": "enable", "feature_roomlist_preview_reactions_all": "enable",
"feature_roomlist_preview_reactions_dms": "enable", "feature_roomlist_preview_reactions_dms": "enable",
"feature_dehydration": "enable", "feature_dehydration": "enable",
"feature_extensible_events": "enable", "feature_extensible_events": "enable",
"feature_threadstable": "enable", "feature_threadstable": "enable",
"feature_message_right_click_context_menu": "enable", "feature_message_right_click_context_menu": "enable",
"feature_hidden_read_receipts": "enable", "feature_hidden_read_receipts": "enable",
"feature_custom_themes": "labs", "feature_custom_themes": "labs",
"feature_pinning": "enable", "feature_pinning": "enable",
"feature_state_counters": "labs", "feature_state_counters": "labs",
"feature_mjolnir": "labs", "feature_mjolnir": "labs",
"feature_bridge_state": "enable", "feature_bridge_state": "enable",
"feature_exploring_public_spaces": "enable" "feature_exploring_public_spaces": "enable"
}, },
"jitsi": { "jitsi": {
"preferredDomain": "jitsi.effi.org" "preferredDomain": "jitsi.effi.org"
} }
} }

View File

@ -22,8 +22,10 @@ once space is pressed after the prefix char.
6. Search for and select `im.fluffychat.account_bundles` 6. Search for and select `im.fluffychat.account_bundles`
7. Above (or below, doesn't matter) the `"bundles": [` line, add `"prefix": "M",` where `M` is your 7. Above (or below, doesn't matter) the `"bundles": [` line, add `"prefix": "M",` where `M` is your
prefix to quickly switch to this account. prefix to quickly switch to this account.
* If this is confusing, see the example of finalized event in the bottom
of this file. - If this is confusing, see the example of finalized event in the bottom
of this file.
8. Optionally if you wish to sort your account, add a `,` to the line where 8. Optionally if you wish to sort your account, add a `,` to the line where
your bundle is named and to the next line: `"priority": 0` your bundle is named and to the next line: `"priority": 0`
9. Start/restart FluffyChat 9. Start/restart FluffyChat
@ -32,13 +34,13 @@ once space is pressed after the prefix char.
General notes: General notes:
* 0.4.1 had a bug where using automatic server discovery through well-known - 0.4.1 had a bug where using automatic server discovery through well-known
causes all accounts to get logged out. Use server name instead, e.g. `https://matrix-client.matrix.org` (discovered from https://matrix.org/.well-known/matrix/client) causes all accounts to get logged out. Use server name instead, e.g. `https://matrix-client.matrix.org` (discovered from https://matrix.org/.well-known/matrix/client)
* This is fixed in 0.4.2. - This is fixed in 0.4.2.
* Quick account switching will only work within a bundle, which by default is implied to be the MXID, so by default it's disabled - Quick account switching will only work within a bundle, which by default is implied to be the MXID, so by default it's disabled
* Note the avatar next to the input bar showing which account you are using. It can also be used for switching accounts. - Note the avatar next to the input bar showing which account you are using. It can also be used for switching accounts.
* Tapping it to change account will also change which account will send any other events like media/reaction etc. - Tapping it to change account will also change which account will send any other events like media/reaction etc.
* Long tapping a message and editing a message send as another account will - Long tapping a message and editing a message send as another account will
auto-set the indicator and action-sender as your roleplay character. auto-set the indicator and action-sender as your roleplay character.
Big thank you to FluffyChat contributors who made this feature and Sorunome Big thank you to FluffyChat contributors who made this feature and Sorunome
@ -66,17 +68,17 @@ on account `@mikaela:feneas.org`
```json ```json
{ {
"prefix": "P", "prefix": "P",
"priority": 5, "priority": 5,
"bundles": [ "bundles": [
{ {
"name": "💼", "name": "💼",
"priority": 5 "priority": 5
}, },
{ {
"name": "😺" "name": "😺"
} }
] ]
} }
``` ```

View File

@ -12,8 +12,8 @@ on terminal. `account-data` is an exception for appearing that way in `/devtools
### Account migration ### Account migration
* [EMS Matrix account migration tool](https://ems.element.io/tools/matrix-migration) - [EMS Matrix account migration tool](https://ems.element.io/tools/matrix-migration)
* Centralized, propietary, service, works less well since Synapse 1.11.0rc1 - Centralized, propietary, service, works less well since Synapse 1.11.0rc1
made PL50 requirement for inviting users to new rooms. made PL50 requirement for inviting users to new rooms.
* [Variate](https://github.com/ShadowJonathan/variate) is planning to be - [Variate](https://github.com/ShadowJonathan/variate) is planning to be
a tool for *migrating between different Matrix server implementations*. a tool for _migrating between different Matrix server implementations_.

View File

@ -8,7 +8,7 @@ Requires room version 7
```json ```json
{ {
"join_rule": "knock" "join_rule": "knock"
} }
``` ```
@ -18,13 +18,13 @@ Requires room version <del>8</del> 9. Offers only Spaces in room settings
```json ```json
{ {
"allow": [ "allow": [
{ {
"room_id": "!whatever:example.net", "room_id": "!whatever:example.net",
"type": "m.room_membership" "type": "m.room_membership"
} }
], ],
"join_rule": "restricted" "join_rule": "restricted"
} }
``` ```
@ -38,85 +38,85 @@ Practically the same, but requires room version 10 and new `join_rule` known as
```json ```json
{ {
"allow": [ "allow": [
{ {
"room_id": "!ddFNqIRUacwdicInJz:feneas.org", "room_id": "!ddFNqIRUacwdicInJz:feneas.org",
"type": "m.room_membership" "type": "m.room_membership"
}, },
{ {
"room_id": "!fGtopoZuCySnTsSdsU:matrix.org", "room_id": "!fGtopoZuCySnTsSdsU:matrix.org",
"type": "m.room_membership" "type": "m.room_membership"
}, },
{ {
"room_id": "!IVRSynLjDUQRVOHnbE:pikaviestin.fi", "room_id": "!IVRSynLjDUQRVOHnbE:pikaviestin.fi",
"type": "m.room_membership" "type": "m.room_membership"
}, },
{ {
"room_id": "!ruWhXaXgrPjaSSecvb:matrix.org", "room_id": "!ruWhXaXgrPjaSSecvb:matrix.org",
"type": "m.room_membership" "type": "m.room_membership"
}, },
{ {
"room_id": "!watercooler-v10:maunium.net", "room_id": "!watercooler-v10:maunium.net",
"type": "m.room_membership" "type": "m.room_membership"
}, },
{ {
"room_id": "!etDMqntYVqugEClPcE:artemislena.eu", "room_id": "!etDMqntYVqugEClPcE:artemislena.eu",
"type": "m.room_membership" "type": "m.room_membership"
}, },
{ {
"room_id": "!KMbEUhVQHLwZHmwzKX:matrix.org", "room_id": "!KMbEUhVQHLwZHmwzKX:matrix.org",
"type": "m.room_membership" "type": "m.room_membership"
}, },
{ {
"room_id": "!rCWNvpCTZHQkiRYUDE:matrix.org", "room_id": "!rCWNvpCTZHQkiRYUDE:matrix.org",
"type": "m.room_membership" "type": "m.room_membership"
}, },
{ {
"room_id": "!AUKUBkWpbVaNhXJhuD:vi.fi", "room_id": "!AUKUBkWpbVaNhXJhuD:vi.fi",
"type": "m.room_membership" "type": "m.room_membership"
}, },
{ {
"room_id": "!MHqztrxnQriEOyNLjW:pirateriot.net", "room_id": "!MHqztrxnQriEOyNLjW:pirateriot.net",
"type": "m.room_membership" "type": "m.room_membership"
}, },
{ {
"room_id": "!WDaMZSVinTZRLOTajM:hacklab.fi", "room_id": "!WDaMZSVinTZRLOTajM:hacklab.fi",
"type": "m.room_membership" "type": "m.room_membership"
}, },
{ {
"room_id": "!IwPxifXSjBLghpVEMh:matrix.org", "room_id": "!IwPxifXSjBLghpVEMh:matrix.org",
"type": "m.room_membership" "type": "m.room_membership"
}, },
{ {
"room_id": "!iQaStEQNwaqxQfyhZi:sorunome.de", "room_id": "!iQaStEQNwaqxQfyhZi:sorunome.de",
"type": "m.room_membership" "type": "m.room_membership"
}, },
{ {
"room_id": "!ESKEvwumMpSRZTnJOI:pikaviestin.fi", "room_id": "!ESKEvwumMpSRZTnJOI:pikaviestin.fi",
"type": "m.room_membership" "type": "m.room_membership"
}, },
{ {
"room_id": "!azROMLeGEMPdbdWnbk:matrix.org", "room_id": "!azROMLeGEMPdbdWnbk:matrix.org",
"type": "m.room_membership" "type": "m.room_membership"
} }
], ],
"join_rule": "knock_restricted" "join_rule": "knock_restricted"
} }
``` ```
## Note to self ## Note to self
* `!fGtopoZuCySnTsSdsU:matrix.org` - eu.aminda.space v10 - `!fGtopoZuCySnTsSdsU:matrix.org` - eu.aminda.space v10
* `!ruWhXaXgrPjaSSecvb:matrix.org` - aminda.eu v10 - `!ruWhXaXgrPjaSSecvb:matrix.org` - aminda.eu v10
* `!IVRSynLjDUQRVOHnbE:pikaviestin.fi` - Nova Fervoro v10 - `!IVRSynLjDUQRVOHnbE:pikaviestin.fi` - Nova Fervoro v10
* `!watercooler-v10:maunium.net` - WaterDuck v10 - `!watercooler-v10:maunium.net` - WaterDuck v10
* `!etDMqntYVqugEClPcE:artemislena.eu` - Community Moderation Effort v9 - `!etDMqntYVqugEClPcE:artemislena.eu` - Community Moderation Effort v9
* `!KMbEUhVQHLwZHmwzKX:matrix.org` - Matrix Haters v9 - `!KMbEUhVQHLwZHmwzKX:matrix.org` - Matrix Haters v9
* `!rCWNvpCTZHQkiRYUDE:matrix.org` - Matrix.fi v5 - `!rCWNvpCTZHQkiRYUDE:matrix.org` - Matrix.fi v5
* `!AUKUBkWpbVaNhXJhuD:vi.fi` - Olohuone v6 - `!AUKUBkWpbVaNhXJhuD:vi.fi` - Olohuone v6
* `!MHqztrxnQriEOyNLjW:pirateriot.net` - GlobalPirates v10 - `!MHqztrxnQriEOyNLjW:pirateriot.net` - GlobalPirates v10
* `!WDaMZSVinTZRLOTajM:hacklab.fi` - Matrix Suomi (Space) v6 - `!WDaMZSVinTZRLOTajM:hacklab.fi` - Matrix Suomi (Space) v6
* `!IwPxifXSjBLghpVEMh:matrix.org` - FluffyChat (room) v5 - `!IwPxifXSjBLghpVEMh:matrix.org` - FluffyChat (room) v5
* `!iQaStEQNwaqxQfyhZi:sorunome.de` - FluffyChat Space v6 - `!iQaStEQNwaqxQfyhZi:sorunome.de` - FluffyChat Space v6
* `!ESKEvwumMpSRZTnJOI:pikaviestin.fi` - Piraattipuolue v10 - `!ESKEvwumMpSRZTnJOI:pikaviestin.fi` - Piraattipuolue v10
* `!azROMLeGEMPdbdWnbk:matrix.org` - Piraattipuolueen työrauha v9 - `!azROMLeGEMPdbdWnbk:matrix.org` - Piraattipuolueen työrauha v9

View File

@ -36,10 +36,10 @@ This has the rest event in two forms, but doesn't duplicate the above.
Generic notes: Generic notes:
* Don't have anything in `events {}` as `0` or otherwise users will be - Don't have anything in `events {}` as `0` or otherwise users will be
able to send state events with that name including gigabytes of able to send state events with that name including gigabytes of
data breaking the room. data breaking the room.
* Refer to security considerations of MSC 3779. - Refer to security considerations of MSC 3779.
### Reasonable version ### Reasonable version
@ -47,125 +47,125 @@ This is not the Element/Synapse default as that would be pointless to list.
```json5 ```json5
{ {
"ban": 50, ban: 50,
"events": { events: {
"im.vector.modular.widgets": 50, "im.vector.modular.widgets": 50,
"m.room.avatar": 50, "m.room.avatar": 50,
"m.room.canonical_alias": 13, "m.room.canonical_alias": 13,
"m.room.encryption": 100, "m.room.encryption": 100,
"m.room.history_visibility": 99, "m.room.history_visibility": 99,
"m.room.join_rules": 50, "m.room.join_rules": 50,
"m.room.name": 50, "m.room.name": 50,
"m.room.pinned_events": 25, "m.room.pinned_events": 25,
"m.room.power_levels": 50, "m.room.power_levels": 50,
"m.room.retention": 100, "m.room.retention": 100,
"m.room.server_acl": 100, "m.room.server_acl": 100,
"m.room.tombstone": 100, "m.room.tombstone": 100,
"m.room.topic": 25, "m.room.topic": 25,
"m.space.child": 50 "m.space.child": 50,
}, },
"events_default": 0, events_default: 0,
"historical": 100, historical: 100,
"invite": 0, invite: 0,
"kick": 25, kick: 25,
"redact": 25, redact: 25,
"state_default": 50, state_default: 50,
"users": { users: {
// READ THE BEGINNING OF THE FILE FOR THIS SECTION AND PROPER FORMAT! OR SEE YOUR CURRENT EVENT! // READ THE BEGINNING OF THE FILE FOR THIS SECTION AND PROPER FORMAT! OR SEE YOUR CURRENT EVENT!
}, },
"users_default": 0 users_default: 0,
} }
``` ```
* `m.room.history_visibility` is lowered to 99 as it's a less permanent action than - `m.room.history_visibility` is lowered to 99 as it's a less permanent action than
many of the others. I am not sure on my initial logic, but it's documented in many of the others. I am not sure on my initial logic, but it's documented in
PPFI repo as PL100 vs PL99. PPFI repo as PL100 vs PL99.
* `m.room.power_levels` is set to `50` so moderators can raise others to moderators - `m.room.power_levels` is set to `50` so moderators can raise others to moderators
for example matrix-appservice-irc, which I would then give PL51 for ops syncing. for example matrix-appservice-irc, which I would then give PL51 for ops syncing.
On matrix side immune mods, could be PL52. On matrix side immune mods, could be PL52.
* invite commonly defaults to `50`, but I haven't seen abuse through it - invite commonly defaults to `50`, but I haven't seen abuse through it
* PL25, half-moderator is introduced (inspired from Ergo/IRC halfop), with powers to: - PL25, half-moderator is introduced (inspired from Ergo/IRC halfop), with powers to:
change room topic, pinned messages, remove messages and kick users (but not ban). change room topic, pinned messages, remove messages and kick users (but not ban).
* Maybe this could be used e.g. in an association where a secretary/someone - Maybe this could be used e.g. in an association where a secretary/someone
unwilling to be a full moderator wants to update room topic for next unwilling to be a full moderator wants to update room topic for next
meeting time or update a version number? :shrug: meeting time or update a version number? :shrug:
Alternatively someone not wanting full moderator responsibility could remove Alternatively someone not wanting full moderator responsibility could remove
spam while not participating in banning discussions. spam while not participating in banning discussions.
* PL13 gets access to change main alias and add/remove published room aliases alongside - PL13 gets access to change main alias and add/remove published room aliases alongside
(at least on Synapse) [un/publish the room in the room directory](https://github.com/vector-im/element-web/issues/13835). (at least on Synapse) [un/publish the room in the room directory](https://github.com/vector-im/element-web/issues/13835).
* This can be used with e.g. [altalias maubot plugin](https://matrix.org/blog/2020/06/19/this-week-in-matrix-2020-06-19#alt-alias-maubot-plugin). - This can be used with e.g. [altalias maubot plugin](https://matrix.org/blog/2020/06/19/this-week-in-matrix-2020-06-19#alt-alias-maubot-plugin).
I don't care about room directory or the main alias as it doesn't affect ctrl-k that much anyway, I don't care about room directory or the main alias as it doesn't affect ctrl-k that much anyway,
rooms are generally discovered through Spaces and I use Matrix URI scheme rooms are generally discovered through Spaces and I use Matrix URI scheme
which takes room internal ID and servers to find it from instead of caring about which takes room internal ID and servers to find it from instead of caring about
the alias. Most importantly **don't give permissions to entirely untrusted users.** the alias. Most importantly **don't give permissions to entirely untrusted users.**
### Medium version ### Medium version
```json5 ```json5
{ {
"ban": 50, ban: 50,
"events": { events: {
"im.vector.modular.widgets": 50, "im.vector.modular.widgets": 50,
"m.room.avatar": 50, "m.room.avatar": 50,
"m.room.canonical_alias": 13, "m.room.canonical_alias": 13,
"m.room.encryption": 100, "m.room.encryption": 100,
"m.room.history_visibility": 99, "m.room.history_visibility": 99,
"m.room.join_rules": 50, "m.room.join_rules": 50,
"m.room.name": 50, "m.room.name": 50,
"m.room.pinned_events": 25, "m.room.pinned_events": 25,
"m.room.power_levels": 50, "m.room.power_levels": 50,
"m.room.retention": 100, "m.room.retention": 100,
"m.room.server_acl": 100, "m.room.server_acl": 100,
"m.room.tombstone": 100, "m.room.tombstone": 100,
"m.room.topic": 25, "m.room.topic": 25,
"m.space.child": 50 "m.space.child": 50,
}, },
"events_default": 0, events_default: 0,
"historical": 100, historical: 100,
"invite": 50, invite: 50,
"kick": 25, kick: 25,
"redact": 25, redact: 25,
"state_default": 50, state_default: 50,
"users": { users: {
// READ THE BEGINNING OF THE FILE FOR THIS SECTION AND PROPER FORMAT! OR SEE YOUR CURRENT EVENT! // READ THE BEGINNING OF THE FILE FOR THIS SECTION AND PROPER FORMAT! OR SEE YOUR CURRENT EVENT!
}, },
"users_default": 0 users_default: 0,
} }
``` ```
* Otherwise "Reasonable version", but - Otherwise "Reasonable version", but
* Only moderators can invite - Only moderators can invite
### Paranoid version ### Paranoid version
```json5 ```json5
{ {
"ban": 50, ban: 50,
"events": { events: {
"im.vector.modular.widgets": 100, "im.vector.modular.widgets": 100,
"m.room.avatar": 100, "m.room.avatar": 100,
"m.room.canonical_alias": 100, "m.room.canonical_alias": 100,
"m.room.encryption": 100, "m.room.encryption": 100,
"m.room.history_visibility": 100, "m.room.history_visibility": 100,
"m.room.join_rules": 100, "m.room.join_rules": 100,
"m.room.name": 100, "m.room.name": 100,
"m.room.pinned_events": 100, "m.room.pinned_events": 100,
"m.room.power_levels": 100, "m.room.power_levels": 100,
"m.room.retention": 100, "m.room.retention": 100,
"m.room.server_acl": 100, "m.room.server_acl": 100,
"m.room.tombstone": 100, "m.room.tombstone": 100,
"m.room.topic": 100, "m.room.topic": 100,
"m.space.child": 100 "m.space.child": 100,
}, },
"events_default": 0, events_default: 0,
"historical": 100, historical: 100,
"invite": 100, invite: 100,
"kick": 50, kick: 50,
"redact": 50, redact: 50,
"state_default": 100, state_default: 100,
"users": { users: {
// READ THE BEGINNING OF THE FILE FOR THIS SECTION AND PROPER FORMAT! OR SEE YOUR CURRENT EVENT! // READ THE BEGINNING OF THE FILE FOR THIS SECTION AND PROPER FORMAT! OR SEE YOUR CURRENT EVENT!
}, },
"users_default": 0 users_default: 0,
} }
``` ```

View File

@ -3,7 +3,7 @@
This event type controls which servers can access the room at all. Be very careful This event type controls which servers can access the room at all. Be very careful
adjusting this. adjusting this.
* https://matrix.org/docs/guides/moderation#banning-servers-from-rooms-server-acls - https://matrix.org/docs/guides/moderation#banning-servers-from-rooms-server-acls
Note: when sending the custom event via `/devtools` for the first time, click Note: when sending the custom event via `/devtools` for the first time, click
the `Event` so it says `State Event` and asks for `State key` in addition to `type`, the `Event` so it says `State Event` and asks for `State key` in addition to `type`,
@ -11,40 +11,38 @@ which can/is left empty as usual.
```json ```json
{ {
"allow": [ "allow": ["*"],
"*" "allow_ip_literals": false,
], "deny": [
"allow_ip_literals": false, "disroot.org",
"deny": [ "privacytools.io",
"disroot.org", "feneas.org",
"privacytools.io", "glowers.club",
"feneas.org", "*.glowers.club",
"glowers.club", "midov.pl",
"*.glowers.club", "*.midov.pl",
"midov.pl", "kiwifarms.net",
"*.midov.pl", "*.kiwifarms.net",
"kiwifarms.net", "liberta.casa",
"*.kiwifarms.net", "nitro.chat",
"liberta.casa", "*.nitro.chat",
"nitro.chat", "nerdsin.space",
"*.nitro.chat", "*.nerdsin.space",
"nerdsin.space", "thisisjoes.site",
"*.nerdsin.space", "*.thisisjoes.site",
"thisisjoes.site", "pp13.space",
"*.thisisjoes.site", "*.pp13.space"
"pp13.space", ]
"*.pp13.space"
]
} }
``` ```
Explanations: Explanations:
* Legacy servers that have discontinued, are in progress of discontinuing or - Legacy servers that have discontinued, are in progress of discontinuing or
are just closed for public, that have PL100 in my rooms. They don't need subdomains are just closed for public, that have PL100 in my rooms. They don't need subdomains
to be denylisted as the subdomain MXIDs wouldn't have power. to be denylisted as the subdomain MXIDs wouldn't have power.
* `disroot.org`, `privacyguides.io`, `feneas.org`. - `disroot.org`, `privacyguides.io`, `feneas.org`.
* The rest are connected to abusive raids on communities that I am a part of, - The rest are connected to abusive raids on communities that I am a part of,
sometimes even moderate. sometimes even moderate.
## Allowlist ## Allowlist
@ -53,21 +51,20 @@ This configuration only lets servers I have accounts on in.
```json ```json
{ {
"allow": [ "allow": [
"pikaviestin.fi", "pikaviestin.fi",
"matrix.org", "matrix.org",
"mozilla.org", "mozilla.org",
"tedomum.net", "tedomum.net",
"pirateriot.net", "pirateriot.net",
"tchncs.de", "tchncs.de",
"fedora.im", "fedora.im",
"jae.fi", "jae.fi",
"converser.eu", "converser.eu",
"artemislena.eu", "artemislena.eu",
"the-apothecary.club" "the-apothecary.club"
], ],
"allow_ip_literals": false, "allow_ip_literals": false,
"deny": [] "deny": []
} }
``` ```

View File

@ -8,8 +8,8 @@ Synapse versions before [1.11.0 (2020-02-21), technically 1.11.0rc1 (2020-02-19)
allowed power level 50 to set tombstones and thus hijack rooms. Thus this is allowed power level 50 to set tombstones and thus hijack rooms. Thus this is
dependent on the Synapse version used at the time of room creation. dependent on the Synapse version used at the time of room creation.
* [PR](https://github.com/matrix-org/synapse/pull/6834) - [PR](https://github.com/matrix-org/synapse/pull/6834)
* [commit](https://github.com/matrix-org/synapse/commit/3404ad289b1d2e5bc5c7f277f519b9698dbdaa15) - [commit](https://github.com/matrix-org/synapse/commit/3404ad289b1d2e5bc5c7f277f519b9698dbdaa15)
In the same context invites were changed to require PL50 by default, and ACL In the same context invites were changed to require PL50 by default, and ACL
also got the requirement for PL100. also got the requirement for PL100.

View File

@ -1,5 +1,5 @@
{ {
"min_lifetime": 3600000, "min_lifetime": 3600000,
"max_lifetime": 3600000, "max_lifetime": 3600000,
"expire_on_clients": true "expire_on_clients": true
} }

View File

@ -1,5 +1,5 @@
{ {
"min_lifetime": 86400000, "min_lifetime": 86400000,
"max_lifetime": 86400000, "max_lifetime": 86400000,
"expire_on_clients": true "expire_on_clients": true
} }

View File

@ -1,5 +1,5 @@
{ {
"min_lifetime": 86400000, "min_lifetime": 86400000,
"max_lifetime": 2678400000, "max_lifetime": 2678400000,
"expire_on_clients": true "expire_on_clients": true
} }

View File

@ -1,14 +1,14 @@
# Room history retention settings / state event `m.room.retention` # Room history retention settings / state event `m.room.retention`
* https://brendan.abolivier.bzh/matrix-retention-policies/ - https://brendan.abolivier.bzh/matrix-retention-policies/
Read that, it explains what is actually done etc. Read that, it explains what is actually done etc.
## Notes ## Notes
* Not part of spec. https://github.com/matrix-org/matrix-spec-proposals/pull/1763 - Not part of spec. https://github.com/matrix-org/matrix-spec-proposals/pull/1763
* Matrix uses milliseconds, keep that in mind! - Matrix uses milliseconds, keep that in mind!
* Everything requires every server involved to have rention support enabled, - Everything requires every server involved to have rention support enabled,
otherwise the messages go nowhere and are fetchable upon request. otherwise the messages go nowhere and are fetchable upon request.
* 86400000 = 1 day (seen in min lifetimes) - 86400000 = 1 day (seen in min lifetimes)
* Helpful: https://unitchefs.com/milliseconds/days/ / https://unitchefs.com/days/milliseconds/ - Helpful: https://unitchefs.com/milliseconds/days/ / https://unitchefs.com/days/milliseconds/

View File

@ -1,5 +1,5 @@
{ {
"min_lifetime": 86400000, "min_lifetime": 86400000,
"max_lifetime": 604800000, "max_lifetime": 604800000,
"expire_on_clients": true "expire_on_clients": true
} }

View File

@ -1,34 +1,34 @@
# Potentially useful progressive web apps # Potentially useful progressive web apps
Method for distinguishing PWAs from normal websites: adding them to Method for distinguishing PWAs from normal websites: adding them to
iOS homescreen and seeing which open as "their own apps" *or* having iOS homescreen and seeing which open as "their own apps" _or_ having
Chromium suggest "installing" them without manually "installing" them. Chromium suggest "installing" them without manually "installing" them.
Proper identification: `view-source` (`CTRL - U`) and `CTRL - F` for Proper identification: `view-source` (`CTRL - U`) and `CTRL - F` for
`manifest` e.g. `<link rel="manifest" href="/manifest.webmanifest">` in `<head>`. `manifest` e.g. `<link rel="manifest" href="/manifest.webmanifest">` in `<head>`.
* https://caniuse.com/web-app-manifest - https://caniuse.com/web-app-manifest
* https://developer.mozilla.org/docs/Web/Manifest - https://developer.mozilla.org/docs/Web/Manifest
It looks like `about:apps` on Edge (or all Chromiums?) has a It looks like `about:apps` on Edge (or all Chromiums?) has a
`Show applications menu on toolbar` button which then when pressed on a tab `Show applications menu on toolbar` button which then when pressed on a tab
has more details for PWAs. "App whatever is available" with logo and "Publisher:" has more details for PWAs. "App whatever is available" with logo and "Publisher:"
fields. fields.
***TODO: Some of these may be miscategorized while not fullfilling the criteria of PWA.*** **_TODO: Some of these may be miscategorized while not fullfilling the criteria of PWA._**
## Events ## Events
* Mobilizon - all instances of the federated event & group site function as - Mobilizon - all instances of the federated event & group site function as
PWAs. PWAs.
* https://events.nixnet.services/ - the only still alive instance I registered on - https://events.nixnet.services/ - the only still alive instance I registered on
* https://calendar.google.com/ - Google's Calendar app - https://calendar.google.com/ - Google's Calendar app
## Food ## Food
* https://menu.unicafe.fi/ - menu for UniCafes - https://menu.unicafe.fi/ - menu for UniCafes
* https://resq-club.com/app/ - waste food pickup ordering app - https://resq-club.com/app/ - waste food pickup ordering app
* https://www.fiksuruoka.fi/ - Finnish waste/expiring grocery store - https://www.fiksuruoka.fi/ - Finnish waste/expiring grocery store
## Instant messaging ## Instant messaging
@ -36,61 +36,61 @@ fields.
#### Instant messaging #### Instant messaging
* https://fluffychat.im/web/ - Matrix client with multiaccount support - https://fluffychat.im/web/ - Matrix client with multiaccount support
* https://hydrogen.element.io/ - very basic Matrix client for lowend devices - https://hydrogen.element.io/ - very basic Matrix client for lowend devices
* Element Web - Matrix web client with most features such as /devtools, essential for modding - Element Web - Matrix web client with most features such as /devtools, essential for modding
* https://app.element.io/ - stable - https://app.element.io/ - stable
* https://staging.element.io/ - rc/beta? - https://staging.element.io/ - rc/beta?
* https://develop.element.io/ - bleeding edge - https://develop.element.io/ - bleeding edge
* https://app.cinny.in/ - yet another Matrix client (very discordy) - https://app.cinny.in/ - yet another Matrix client (very discordy)
#### Social media #### Social media
* https://app.minestrix.henri2h.fr/ - social media based on Matrix - https://app.minestrix.henri2h.fr/ - social media based on Matrix
### Telegram ### Telegram
* https://web.telegram.org/z/ - https://web.telegram.org/z/
* https://web.telegram.org/k/ - https://web.telegram.org/k/
### Misc ### Misc
* https://latest.glowing-bear.org/ - WeeChat Relay (protocol) client - https://latest.glowing-bear.org/ - WeeChat Relay (protocol) client
## Learning ## Learning
* https://www.duolingo.com/ - language learning website - https://www.duolingo.com/ - language learning website
## Localization ## Localization
* https://hosted.weblate.org/ - Translation platform popular amongst FOSS projects - https://hosted.weblate.org/ - Translation platform popular amongst FOSS projects
## Music ## Music
* https://music.youtube.com/ - YouTube Music (Player) - https://music.youtube.com/ - YouTube Music (Player)
## Shopping ## Shopping
* https://www.verkkokauppa.com/ - Finnish online retailer - https://www.verkkokauppa.com/ - Finnish online retailer
## Social media ## Social media
* Lemmy - federated social news aggregator (Reddit clone) - Lemmy - federated social news aggregator (Reddit clone)
* https://lemmy.tedomum.net/ - the instance my account is on. - https://lemmy.tedomum.net/ - the instance my account is on.
## Travel ## Travel
* https://guide.suomenlinna.fi/ - mobile guide for Suomenlinna (UNESCO World Heritage site), - https://guide.suomenlinna.fi/ - mobile guide for Suomenlinna (UNESCO World Heritage site),
which is also a neighbourhood in Helsinki, Finland. which is also a neighbourhood in Helsinki, Finland.
## Not PWAs but still possibly useful for homescreens ## Not PWAs but still possibly useful for homescreens
Continuing the previous method, these open in Safari. Continuing the previous method, these open in Safari.
* http://http.badssl.com - essential captive portal trigger - http://http.badssl.com - essential captive portal trigger
* https://1.1.1.1/help - Cloudflare DNS debug - https://1.1.1.1/help - Cloudflare DNS debug
* https://mullvad.net/check - Mullvad leak test - https://mullvad.net/check - Mullvad leak test
* https://www.junat.net/ - Finnish train staton information displays (including arrivals) - https://www.junat.net/ - Finnish train staton information displays (including arrivals)
* https://perille.fi - Finnish long distance transport comparison site - https://perille.fi - Finnish long distance transport comparison site
* https://pikavuorot.fi - Finnish long distance transport comparison site - https://pikavuorot.fi - Finnish long distance transport comparison site
* https://sanakirja.org - Finnish dictionary for translating languages - https://sanakirja.org - Finnish dictionary for translating languages

View File

@ -1,5 +1,5 @@
Finnish or webradios that I listen Finnish or webradios that I listen
* `~/.local/share/radiotray/bookmarks.xml` - `~/.local/share/radiotray/bookmarks.xml`
NOTE: Yle doesn't work and selecting their station seems to freeze the app. NOTE: Yle doesn't work and selecting their station seems to freeze the app.

View File

@ -1,11 +1,23 @@
<!DOCTYPE html> <!doctype html>
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8" />
<title>etro.mikaela.info</title> <title>etro.mikaela.info</title>
</head> </head>
<body> <body>
<p><em>Come, pity poor Etro, she was left all alone. Her blood pouring forth, in Chaos to atone. Queen of nothing, goddess of death—so let her be known.</em></p> <p>
<p><em><a href="https://finalfantasy.fandom.com/wiki/Etro">Etro on Final Fantasy Wiki</a></em></p> <em
>Come, pity poor Etro, she was left all alone. Her blood pouring forth,
in Chaos to atone. Queen of nothing, goddess of death—so let her be
known.</em
>
</p>
<p>
<em
><a href="https://finalfantasy.fandom.com/wiki/Etro"
>Etro on Final Fantasy Wiki</a
></em
>
</p>
</body> </body>
</html> </html>

View File

@ -4,24 +4,24 @@ I am considering getting a 5G (mobile network) capable one, but as none
satisfies my requirements, I might as well write them here for reference satisfies my requirements, I might as well write them here for reference
when looking at options. when looking at options.
* WPA3 support as certification began in 2018 already. - WPA3 support as certification began in 2018 already.
* WPA2/WPA3 Transitional mode - WPA2/WPA3 Transitional mode
* WiFi Enhanced Open (OWE) transition mode would be nice - WiFi Enhanced Open (OWE) transition mode would be nice
* Multiple SSIDs (including OWE/transition) - Multiple SSIDs (including OWE/transition)
* Option to have lower priority for the guest network - Option to have lower priority for the guest network
* Transmit power control to set it to low - Transmit power control to set it to low
* 2.4 GHz / 5 GHz dualband (should be obvious in 2022) - 2.4 GHz / 5 GHz dualband (should be obvious in 2022)
* ***Ability to set same SSID for both*** (looking at you Huawei) - **_Ability to set same SSID for both_** (looking at you Huawei)
* If the SSIDs differ, devices won't be able to decide between frequency - If the SSIDs differ, devices won't be able to decide between frequency
and either 2.4 or 5 GHz must be chosen. 5 GHz is mostly subject to and either 2.4 or 5 GHz must be chosen. 5 GHz is mostly subject to
*Dynamic Frequency Selection* which means no WiFi for 10 minutes _Dynamic Frequency Selection_ which means no WiFi for 10 minutes
on boot. on boot.
* Quality of Service (QoS) - Quality of Service (QoS)
## See also ## See also
* [Apple: Recommended settings for Wi-Fi routers and access points](https://support.apple.com/HT202068) - [Apple: Recommended settings for Wi-Fi routers and access points](https://support.apple.com/HT202068)
* [EFF: Open Wireless Movement](https://openwireless.org/) - [EFF: Open Wireless Movement](https://openwireless.org/)
* [Metis: 8 reasons to turn down the transmit power of your Wi-Fi](https://metis.fi/en/2017/10/txpower/) - [Metis: 8 reasons to turn down the transmit power of your Wi-Fi](https://metis.fi/en/2017/10/txpower/)
* [Metis: Increase your cell phone battery life with a small change in the Wi-Fi network](https://metis.fi/en/2018/05/dtim-en/) - [Metis: Increase your cell phone battery life with a small change in the Wi-Fi network](https://metis.fi/en/2018/05/dtim-en/)
* > Buried deep in the advanced settings of the Wi-Fi access point there is a setting with a friendly title like DTIM Interval or DTIM Period. The default setting is typically one. Change it to three, five or slightly larger, but dont go over ten. Often you can set it separately for 2.4GHz and 5GHz, but use the same value for both. This is the short answer. Read on to find out what this is all about. - > Buried deep in the advanced settings of the Wi-Fi access point there is a setting with a friendly title like DTIM Interval or DTIM Period. The default setting is typically one. Change it to three, five or slightly larger, but dont go over ten. Often you can set it separately for 2.4GHz and 5GHz, but use the same value for both. This is the short answer. Read on to find out what this is all about.

View File

@ -1,10 +1,12 @@
{ "name": "y.etro.mikaela.info", {
"type": "server", "name": "y.etro.mikaela.info",
"location": "Hetzner, Tuusula, Finland", "type": "server",
"peering": "Ask me? I don't know yet", "location": "Hetzner, Tuusula, Finland",
"contact": { "peering": "Ask me? I don't know yet",
"name": "Aminda Suomalainen", "contact": {
"xmpp": "mikaela@blesmrt.net", "name": "Aminda Suomalainen",
"email-deltachat": "delta@aminda.eu", "xmpp": "mikaela@blesmrt.net",
"public keys": "https://www.aminda.eu/keys/"} "email-deltachat": "delta@aminda.eu",
"public keys": "https://www.aminda.eu/keys/"
}
} }

View File

@ -1,8 +1,10 @@
{ "name": "y.jitsi.piraattipuolue.fi", {
"type": "server", "name": "y.jitsi.piraattipuolue.fi",
"location": "OVH, Roubaix, France", "type": "server",
"peering": "Please contact us, if you are a Pirate Party activist", "location": "OVH, Roubaix, France",
"contact": { "peering": "Please contact us, if you are a Pirate Party activist",
"email": "pikaviestimet+JitsiYggdrasil@piraattipuolue.fi", "contact": {
"irc": "ircs://y.irc.pirateirc.net:6697/#verkkopalvelut"} "email": "pikaviestimet+JitsiYggdrasil@piraattipuolue.fi",
"irc": "ircs://y.irc.pirateirc.net:6697/#verkkopalvelut"
}
} }

View File

@ -1,8 +1,10 @@
{ "name": "y.jolly-roger.hel.piraattipuolue.internal", {
"type": "desktop", "name": "y.jolly-roger.hel.piraattipuolue.internal",
"contact": { "type": "desktop",
"name": "Aminda Suomalainen", "contact": {
"xmpp": "mikaela@blesmrt.net", "name": "Aminda Suomalainen",
"email-deltachat": "delta@aminda.eu", "xmpp": "mikaela@blesmrt.net",
"public keys": "https://www.aminda.eu/keys/"} "email-deltachat": "delta@aminda.eu",
"public keys": "https://www.aminda.eu/keys/"
}
} }

View File

@ -1,8 +1,10 @@
{ "name": "y.lumina.aminda.eu", {
"type": "laptop", "name": "y.lumina.aminda.eu",
"contact": { "type": "laptop",
"name": "Aminda Suomalainen", "contact": {
"xmpp": "mikaela@blesmrt.net", "name": "Aminda Suomalainen",
"email-deltachat": "delta@aminda.eu", "xmpp": "mikaela@blesmrt.net",
"public keys": "https://www.aminda.eu/keys/"} "email-deltachat": "delta@aminda.eu",
"public keys": "https://www.aminda.eu/keys/"
}
} }

View File

@ -1,8 +1,10 @@
{ "name": "y.rbtpzn.mikaela.info", {
"type": "desktop", "name": "y.rbtpzn.mikaela.info",
"contact": { "type": "desktop",
"name": "Aminda Suomalainen", "contact": {
"xmpp": "mikaela@blesmrt.net", "name": "Aminda Suomalainen",
"email-deltachat": "delta@aminda.eu", "xmpp": "mikaela@blesmrt.net",
"public keys": "https://www.aminda.eu/keys/"} "email-deltachat": "delta@aminda.eu",
"public keys": "https://www.aminda.eu/keys/"
}
} }

View File

@ -1,8 +1,10 @@
{ "name": "y.sedric.mikaela.info", {
"type": "laptop", "name": "y.sedric.mikaela.info",
"contact": { "type": "laptop",
"name": "Aminda Suomalainen", "contact": {
"xmpp": "mikaela@blesmrt.net", "name": "Aminda Suomalainen",
"email-deltachat": "delta@aminda.eu", "xmpp": "mikaela@blesmrt.net",
"public keys": "https://www.aminda.eu/keys/"} "email-deltachat": "delta@aminda.eu",
"public keys": "https://www.aminda.eu/keys/"
}
} }

View File

@ -1,9 +1,11 @@
{ "name": "y.silta.piraatit.fi", {
"type": "server", "name": "y.silta.piraatit.fi",
"location": "OVH, Roubaix, France", "type": "server",
"peering": "Please contact us, if you are a Pirate Party activist and a PirateIRC user", "location": "OVH, Roubaix, France",
"IRC port": "6697, TLS required", "peering": "Please contact us, if you are a Pirate Party activist and a PirateIRC user",
"contact": { "IRC port": "6697, TLS required",
"email": "pikaviestimet+SiltaYggdrasil@piraattipuolue.fi", "contact": {
"irc": "ircs://y.irc.pirateirc.net:6697/#verkkopalvelut"} "email": "pikaviestimet+SiltaYggdrasil@piraattipuolue.fi",
"irc": "ircs://y.irc.pirateirc.net:6697/#verkkopalvelut"
}
} }

View File

@ -1,8 +1,10 @@
{ "name": "y.zaldaryn.mikaela.info", {
"type": "desktop", "name": "y.zaldaryn.mikaela.info",
"contact": { "type": "desktop",
"name": "Aminda Suomalainen", "contact": {
"xmpp": "mikaela@blesmrt.net", "name": "Aminda Suomalainen",
"email-deltachat": "delta@aminda.eu", "xmpp": "mikaela@blesmrt.net",
"public keys": "https://www.aminda.eu/keys/"} "email-deltachat": "delta@aminda.eu",
"public keys": "https://www.aminda.eu/keys/"
}
} }

View File

@ -1,7 +1,9 @@
{ "name": "y.itwjyg.mikaela.info", {
"type": "laptop", "name": "y.itwjyg.mikaela.info",
"contact": { "type": "laptop",
"name": "Mikaela Suomalainen", "contact": {
"xmpp": "mikaela@blesmrt.net", "name": "Mikaela Suomalainen",
"public keys": "https://mikaela.info/keys/"} "xmpp": "mikaela@blesmrt.net",
"public keys": "https://mikaela.info/keys/"
}
} }

View File

@ -1,7 +1,9 @@
{ "name": "y.kincarron.mikaela.info", {
"type": "laptop", "name": "y.kincarron.mikaela.info",
"contact": { "type": "laptop",
"name": "Mikaela Suomalainen", "contact": {
"xmpp": "mikaela@blesmrt.net", "name": "Mikaela Suomalainen",
"public keys": "https://mikaela.info/keys/"} "xmpp": "mikaela@blesmrt.net",
"public keys": "https://mikaela.info/keys/"
}
} }

View File

@ -1,9 +1,11 @@
{ "name": "y.relpda.mikaela.info", {
"type": "server", "name": "y.relpda.mikaela.info",
"location": "i-83.net, Gravelines, France", "type": "server",
"peering": "Ask me, AllowedEncryptionPublicKeys is set", "location": "i-83.net, Gravelines, France",
"contact": { "peering": "Ask me, AllowedEncryptionPublicKeys is set",
"name": "Mikaela Suomalainen", "contact": {
"xmpp": "mikaela@blesmrt.net", "name": "Mikaela Suomalainen",
"public keys": "https://mikaela.info/keys/"} "xmpp": "mikaela@blesmrt.net",
"public keys": "https://mikaela.info/keys/"
}
} }

View File

@ -1,9 +1,11 @@
{ "name": "y.roubaix-fr.pirateirc.net", {
"type": "server", "name": "y.roubaix-fr.pirateirc.net",
"location": "OVH, Roubaix, France", "type": "server",
"peering": "Please contact us, if you are a Pirate Party activist and a PirateIRC user", "location": "OVH, Roubaix, France",
"IRC port": "6697, TLS required", "peering": "Please contact us, if you are a Pirate Party activist and a PirateIRC user",
"contact": { "IRC port": "6697, TLS required",
"email": "pikaviestimet+RoubaixFRYggdrasil@piraattipuolue.fi", "contact": {
"channel": "ircs://y.irc.pirateirc.net:6697/#opers,#verkkopalvelut"} "email": "pikaviestimet+RoubaixFRYggdrasil@piraattipuolue.fi",
"channel": "ircs://y.irc.pirateirc.net:6697/#opers,#verkkopalvelut"
}
} }

View File

@ -1,10 +1,12 @@
{ "name": "y.tezagm.mikaela.info", {
"type": "RaspberryPiB+", "name": "y.tezagm.mikaela.info",
"location": "Kotka, Finland", "type": "RaspberryPiB+",
"peering": "socks://127.0.0.1:9050/xvkw4rj7wzy7t75kkanr54zftudlbtpjbavxcsri5irkavclynaw3xqd.onion:1234", "location": "Kotka, Finland",
"note": "Behind CGN and unreliable IPv6 (4G router problem), Tor has HiddenServiceSingleHopMode & HiddenServiceNonAnonymousMode enabled.", "peering": "socks://127.0.0.1:9050/xvkw4rj7wzy7t75kkanr54zftudlbtpjbavxcsri5irkavclynaw3xqd.onion:1234",
"contact": { "note": "Behind CGN and unreliable IPv6 (4G router problem), Tor has HiddenServiceSingleHopMode & HiddenServiceNonAnonymousMode enabled.",
"name": "Mikaela Suomalainen", "contact": {
"xmpp": "mikaela@blesmrt.net", "name": "Mikaela Suomalainen",
"public keys": "https://mikaela.info/keys/"} "xmpp": "mikaela@blesmrt.net",
"public keys": "https://mikaela.info/keys/"
}
} }

View File

@ -1,7 +1,9 @@
{ "name": "y.vietnam.hel.piraattipuolue.internal", {
"type": "laptop", "name": "y.vietnam.hel.piraattipuolue.internal",
"contact": { "type": "laptop",
"name": "Mikaela Suomalainen", "contact": {
"xmpp": "mikaela@blesmrt.net", "name": "Mikaela Suomalainen",
"public keys": "https://mikaela.info/keys/"} "xmpp": "mikaela@blesmrt.net",
"public keys": "https://mikaela.info/keys/"
}
} }

View File

@ -1,4 +1,5 @@
{ "name": "y.wtop.mikaela.info", {
"type": "laptop", "name": "y.wtop.mikaela.info",
"usage": "work try-out practice" "type": "laptop",
"usage": "work try-out practice"
} }