Compare commits

...

6 Commits

18 changed files with 775 additions and 275 deletions

View File

@ -5,7 +5,7 @@ ci:
# the frequency of unnecessary PRs.
# https://github.com/pre-commit-ci/issues/issues/83
autoupdate_schedule: quarterly
skip: [latexmk, exiftool]
skip: [latexmk, exiftool, prettier]
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
@ -60,32 +60,20 @@ repos:
args: [--update-only, --notitle]
- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.28.4
rev: 0.28.5
hooks:
#- id: check-dependabot
#- id: check-github-actions
#- id: check-github-workflows
- id: check-gitlab-ci
- repo: https://github.com/rbubley/mirrors-prettier
rev: "v3.3.0"
- repo: local
hooks:
- id: prettier
name: prettier
entry: pnpm exec prettier --cache --ignore-unknown --write
language: system
exclude_types: [json]
additional_dependencies: [
# https://www.npmjs.com/package/prettier
"prettier@3.3.1",
# https://www.npmjs.com/package/@prettier/plugin-xml
"@prettier/plugin-xml@3.4.1",
# https://www.npmjs.com/package/prettier-plugin-toml
"prettier-plugin-toml@2.0.1",
]
- repo: https://github.com/scop/pre-commit-shfmt
rev: v3.8.0-1
hooks:
- id: shfmt
#- id: shfmt-docker
- repo: https://github.com/editorconfig-checker/editorconfig-checker.python
rev: "2.7.3"

View File

@ -1 +1,2 @@
associations
*.json

View File

@ -1 +1,8 @@
{}
{
"plugins": [
"@prettier/plugin-xml",
"prettier-plugin-toml",
"prettier-plugin-sh"
],
"overrides": [{ "files": ".prettierrc", "options": { "parser": "json" } }]
}

View File

@ -5,7 +5,7 @@ CHTDIR=~/PS2/CHT
mkdir -p $CHTDIR
for chtfile in *.cht; do
cat $chtfile >$CHTDIR/$chtfile
cat $chtfile > $CHTDIR/$chtfile
done
chmod -R 777 $CHTDIR

View File

@ -18,7 +18,7 @@ chmod -R 777 $VMCDIR
chmod -R 777 $BACKUPDIR
# If duperemove is installed, perform FS based deduplication of backups
if hash duperemove 2>/dev/null; then
if hash duperemove 2> /dev/null; then
# recursive, dedupe, human-readable, hashfile is like ddrescue mapfile
duperemove -rdh --hashfile=$BACKUPDIR/duperemove.hashfile $BACKUPDIR/
fi

View File

@ -3,194 +3,194 @@
# probably just confuses networks without RELAYMSG and at least Kiwi pings
# on @nick. Labels can be shorter than protocol names (more descriptive in
# case of IRC and are ircCamelCase for benefit of IRC bots)
RemoteNickFormat="@{NOPINGNICK}/{LABEL}: "
IgnoreFailureOnStart=true
MessageSplit=true
MediaDownloadPath="/var/www/html/matterbridge"
MediaServerDownload="https://etro.mikaela.info/matterbridge"
MediaDownloadSize=20000000
MediaDownloadBlacklist=[".html$",".htm$"]
replacemessages=[ ["@room","@rööm"], ["@online","@önline"] ]
EditSuffix=" ✏️"
MessageClipped="…"
UseLocalAvatar=["irc"]
RemoteNickFormat = "@{NOPINGNICK}/{LABEL}: "
IgnoreFailureOnStart = true
MessageSplit = true
MediaDownloadPath = "/var/www/html/matterbridge"
MediaServerDownload = "https://etro.mikaela.info/matterbridge"
MediaDownloadSize = 20000000
MediaDownloadBlacklist = [".html$", ".htm$"]
replacemessages = [["@room", "@rööm"], ["@online", "@önline"]]
EditSuffix = " ✏️"
MessageClipped = "…"
UseLocalAvatar = ["irc"]
# This refers to https://ergo.chat/about
[irc.localergo]
Nick="T4"
Nick = "T4"
# Normal client would specify @freeformClientID, but with matterbridge that
# could result to flood from integrated bouncer
NickServNick="T4"
NickServPassword=""
Server="localhost:6667"
UseTLS=false
UseSASL=true
Label="ircEtro"
Charset="utf8"
NickServNick = "T4"
NickServPassword = ""
Server = "localhost:6667"
UseTLS = false
UseSASL = true
Label = "ircEtro"
Charset = "utf8"
# sends join/quit/part from the integrated bouncer
IgnoreNicks="HistServ"
RunCommands=["OPER T4 MI-ne-DIRAS-do-AL-vin", "MODE T4 -iw+BET"]
IgnoreNicks = "HistServ"
RunCommands = ["OPER T4 MI-ne-DIRAS-do-AL-vin", "MODE T4 -iw+BET"]
# Requires the bot to be chanop, spoofs sender
UseRelayMsg=true
RemoteNickFormat="{NICK}/{LABEL}"
UseRelayMsg = true
RemoteNickFormat = "{NICK}/{LABEL}"
[irc.freenode]
Nick="T4"
NickServNick="T4"
NickServPassword=""
Server="chat.ipv6.freenode.net:6697"
UseTLS=true
UseSASL=true
SkipTLSVerify=false
Label="ircFn"
Charset="utf8"
RunCommands=["MODE T4 -iw+gQR"]
Nick = "T4"
NickServNick = "T4"
NickServPassword = ""
Server = "chat.ipv6.freenode.net:6697"
UseTLS = true
UseSASL = true
SkipTLSVerify = false
Label = "ircFn"
Charset = "utf8"
RunCommands = ["MODE T4 -iw+gQR"]
[irc.liberachat]
Nick="T4"
NickServNick="T4"
NickServPassword=""
Server="irc.libera.chat:6697"
UseTLS=true
UseSASL=true
SkipTLSVerify=false
Label="ircLc"
Charset="utf8"
RunCommands=["MODE T4 -iw+gQR"]
Nick = "T4"
NickServNick = "T4"
NickServPassword = ""
Server = "irc.libera.chat:6697"
UseTLS = true
UseSASL = true
SkipTLSVerify = false
Label = "ircLc"
Charset = "utf8"
RunCommands = ["MODE T4 -iw+gQR"]
[matrix.matrixexample]
Server="https://matrix.example.org"
MxID="@yournick.matterbridge:example.org"
Server = "https://matrix.example.org"
MxID = "@yournick.matterbridge:example.org"
# Above the clear cache & reload button. DON'T LOG OUT or it will be invalid.
# If leaked, login and remove the session from "Infosec & Privacy"
Token="MEOW-MEOW_CHOCO-CHOW"
Token = "MEOW-MEOW_CHOCO-CHOW"
# Otherwise collision risk with UseUserName=true
NoHomeServerSuffix=false
NoHomeServerSuffix = false
# The Matrix logo "[m]" easens hitting up Discord maximum length so it's
# better to only have a single char label with the full MXID
Label="m"
Label = "m"
# Use Matrix ID instead of display name to avoid messages getting lost due
# to Ergo and Matterbridge disagreeing on invalid characters (e.g. LGBT* flag)
# https://github.com/ergochat/ergo/issues/1441
UseUserName=true
UseUserName = true
# Send everything as is, don't "cleverly" convert into HTML/Markdown which
# would break #channels (-> markdown h1 tag), mathematical equatons etc.
# The IRC equivalent would be `StripMarkdown`, but I consider it as
# more harmful than good
HTMLDisable=true
HTMLDisable = true
[mattermost.mattermostexample]
Server="mattermost.example.org:443"
Team="awesometeam"
Token="abcdef123456"
PrefixMessagesWithNick=true
Label="Mm"
Server = "mattermost.example.org:443"
Team = "awesometeam"
Token = "abcdef123456"
PrefixMessagesWithNick = true
Label = "Mm"
# mattermost.example.org is presumably behind a remote proxy that
# suppresses non standards headers and thus breaks usual version check?
# https://github.com/42wim/matterbridge/wiki/Settings#skipversioncheck
SkipVersionCheck=true
SkipVersionCheck = true
[discord.discordexample]
Token="nope"
Server="123456789"
Token = "nope"
Server = "123456789"
# When these are True, pinging from other platforms breaks
UseUsername=false
UseDiscriminator=false
Label="D"
UseUsername = false
UseDiscriminator = false
Label = "D"
# Discord has webhooks so trailing space isn't required. Looks same as Ergo except has avatar
RemoteNickFormat="{NICK}/{LABEL}"
RemoteNickFormat = "{NICK}/{LABEL}"
# Allow mentioning users and roles, not everyone etc.
AllowMention=["user","role"]
AllowMention = ["user", "role"]
[telegram.telegrambot]
Token="nopenopenope"
Label="T"
QuoteLengthLimit=60
MediaConvertWebPToPNG=false
Token = "nopenopenope"
Label = "T"
QuoteLengthLimit = 60
MediaConvertWebPToPNG = false
# Convert .tgs.webp (animated stickers) to webp
#MediaConvertTgs="webp"
# https://github.com/telegramdesktop/tdesktop/issues/6959 + Matrix homeservers become clickable links polluting links
RemoteNickFormat="<code>@{NICK}/{LABEL}</code>: "
MessageFormat="HTMLNick"
DisableWebPagePreview=true
RemoteNickFormat = "<code>@{NICK}/{LABEL}</code>: "
MessageFormat = "HTMLNick"
DisableWebPagePreview = true
[xmpp.example]
Server="example.net:5222"
Jid="matterbridge@example.net"
Password="nonono"
Muc="conference.example.net"
Nick="M"
Label="xmpp"
Server = "example.net:5222"
Jid = "matterbridge@example.net"
Password = "nonono"
Muc = "conference.example.net"
Nick = "M"
Label = "xmpp"
[[gateway]]
name="redactedchanone"
enable=false
name = "redactedchanone"
enable = false
[[gateway.inout]]
account="irc.freenode"
channel="#redactedchanone"
[[gateway.inout]]
account = "irc.freenode"
channel = "#redactedchanone"
[[gateway.inout]]
account="irc.liberachat"
channel="#redactedchanone"
[[gateway.inout]]
account = "irc.liberachat"
channel = "#redactedchanone"
[[gateway]]
name="secretchan"
enable=true
name = "secretchan"
enable = true
[[gateway.inout]]
account="irc.freenode"
channel="##secretchan+"
[[gateway.inout]]
account = "irc.freenode"
channel = "##secretchan+"
[[gateway.inout]]
account="irc.liberachat"
channel="##secretchan+"
[[gateway.inout]]
account = "irc.liberachat"
channel = "##secretchan+"
[[gateway.inout]]
account="irc.localergo"
channel="#secretchan+"
[[gateway.inout]]
account = "irc.localergo"
channel = "#secretchan+"
[[gateway]]
name="test"
enable="true"
name = "test"
enable = "true"
[[gateway.inout]]
account="irc.localergo"
channel="#test"
[[gateway.inout]]
account = "irc.localergo"
channel = "#test"
[[gateway.inout]]
account="irc.liberachat"
channel="#test"
[[gateway.inout]]
account = "irc.liberachat"
channel = "#test"
[[gateway.inout]]
account="irc.freenode"
channel="#test"
[[gateway.inout]]
account = "irc.freenode"
channel = "#test"
[[gateway.inout]]
account="discord.discordexample"
# Get it by enabling developer mode from Discord settings and
# right-clicking the channel name
channel="ID:121212123124618"
[gateway.inout.options]
WebhookURL="https://discordapp.com/api/webhooks/..."
[[gateway.inout]]
account = "discord.discordexample"
# Get it by enabling developer mode from Discord settings and
# right-clicking the channel name
channel = "ID:121212123124618"
[gateway.inout.options]
WebhookURL = "https://discordapp.com/api/webhooks/..."
[[gateway.inout]]
account="telegram.telegrambot"
# Get it by adding the bot to a group runtime and /chatId
channel="-1001199999999"
[[gateway.inout]]
account = "telegram.telegrambot"
# Get it by adding the bot to a group runtime and /chatId
channel = "-1001199999999"
[[gateway.inout]]
account="mattermost.mattermostexample"
channel="test"
[[gateway.inout]]
account = "mattermost.mattermostexample"
channel = "test"
[[gateway.inout]]
account="matrix.matrixexample"
# Invite the bot account to a room and it will accept invite on start,
# alternatively use a room alias (but the server it refers to will need
# to be online). If using internal ID, remember to update it when
# performing /upgraderoom
channel="!roomInternalIDFromAdvancedRoomSettings:example.org"
[[gateway.inout]]
account = "matrix.matrixexample"
# Invite the bot account to a room and it will accept invite on start,
# alternatively use a room alias (but the server it refers to will need
# to be online). If using internal ID, remember to update it when
# performing /upgraderoom
channel = "!roomInternalIDFromAdvancedRoomSettings:example.org"
[[gateway.inout]]
account="xmpp.example"
channel="test"
[[gateway.inout]]
account = "xmpp.example"
channel = "test"

View File

@ -1,100 +1,558 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8" ?>
<opml version="1.0">
<head>
<title>Liferea Feed List Export</title>
</head>
<body>
<outline title="Aminda" text="Aminda" description="Aminda" type="folder">
<outline title="Aminda Suomalainen ⚧" text="Aminda Suomalainen ⚧" description="Aminda Suomalainen ⚧" type="rss" xmlUrl="https://www.aminda.eu/blog/feed.xml" htmlUrl="https://aminda.eu/"/>
<outline title="Feed of &quot;Aminda Suomalainen&quot;" text="Feed of &quot;Aminda Suomalainen&quot;" description="Feed of &quot;Aminda Suomalainen&quot;" type="atom" xmlUrl="https://codeberg.org/Mikaela.atom" htmlUrl="https://codeberg.org/Mikaela"/>
<outline
title="Aminda Suomalainen ⚧"
text="Aminda Suomalainen ⚧"
description="Aminda Suomalainen ⚧"
type="rss"
xmlUrl="https://www.aminda.eu/blog/feed.xml"
htmlUrl="https://aminda.eu/"
/>
<outline
title="Feed of &quot;Aminda Suomalainen&quot;"
text="Feed of &quot;Aminda Suomalainen&quot;"
description="Feed of &quot;Aminda Suomalainen&quot;"
type="atom"
xmlUrl="https://codeberg.org/Mikaela.atom"
htmlUrl="https://codeberg.org/Mikaela"
/>
</outline>
<outline title="Associations" text="Associations" description="Associations" type="folder">
<outline title="News DarkSky International" text="News DarkSky International" description="News DarkSky International" type="rss" xmlUrl="https://darksky.org/news/feed/" htmlUrl="https://darksky.org"/>
<outline
title="Associations"
text="Associations"
description="Associations"
type="folder"
>
<outline
title="News DarkSky International"
text="News DarkSky International"
description="News DarkSky International"
type="rss"
xmlUrl="https://darksky.org/news/feed/"
htmlUrl="https://darksky.org"
/>
</outline>
<outline title="BBC" text="BBC" description="BBC" type="folder">
<outline title="BBC News" text="BBC News" description="BBC News" type="rss" xmlUrl="https://feeds.bbci.co.uk/news/world/europe/rss.xml" htmlUrl="https://www.bbc.co.uk/news/world/europe"/>
<outline title="BBC News - UK Politics" text="BBC News - UK Politics" description="BBC News - UK Politics" type="rss" xmlUrl="https://feeds.bbci.co.uk/news/politics/rss.xml" htmlUrl="https://www.bbc.co.uk/news/"/>
<outline title="BBC News" text="BBC News" description="BBC News" type="rss" xmlUrl="https://feeds.bbci.co.uk/news/science_and_environment/rss.xml" htmlUrl="https://www.bbc.co.uk/news/science_and_environment"/>
<outline title="BBC News" text="BBC News" description="BBC News" type="rss" xmlUrl="https://feeds.bbci.co.uk/news/technology/rss.xml" htmlUrl="https://www.bbc.co.uk/news/technology"/>
<outline title="BBC News - Home" text="BBC News - Home" description="BBC News - Home" type="rss" xmlUrl="https://feeds.bbci.co.uk/news/rss.xml" htmlUrl="https://www.bbc.co.uk/news/"/>
<outline title="BBC News - US &amp; Canada" text="BBC News - US &amp; Canada" description="BBC News - US &amp; Canada" type="rss" xmlUrl="https://feeds.bbci.co.uk/news/world/us_and_canada/rss.xml" htmlUrl="https://www.bbc.co.uk/news/"/>
<outline title="BBC News - World" text="BBC News - World" description="BBC News - World" type="rss" xmlUrl="https://feeds.bbci.co.uk/news/world/rss.xml" htmlUrl="https://www.bbc.co.uk/news/"/>
<outline
title="BBC News"
text="BBC News"
description="BBC News"
type="rss"
xmlUrl="https://feeds.bbci.co.uk/news/world/europe/rss.xml"
htmlUrl="https://www.bbc.co.uk/news/world/europe"
/>
<outline
title="BBC News - UK Politics"
text="BBC News - UK Politics"
description="BBC News - UK Politics"
type="rss"
xmlUrl="https://feeds.bbci.co.uk/news/politics/rss.xml"
htmlUrl="https://www.bbc.co.uk/news/"
/>
<outline
title="BBC News"
text="BBC News"
description="BBC News"
type="rss"
xmlUrl="https://feeds.bbci.co.uk/news/science_and_environment/rss.xml"
htmlUrl="https://www.bbc.co.uk/news/science_and_environment"
/>
<outline
title="BBC News"
text="BBC News"
description="BBC News"
type="rss"
xmlUrl="https://feeds.bbci.co.uk/news/technology/rss.xml"
htmlUrl="https://www.bbc.co.uk/news/technology"
/>
<outline
title="BBC News - Home"
text="BBC News - Home"
description="BBC News - Home"
type="rss"
xmlUrl="https://feeds.bbci.co.uk/news/rss.xml"
htmlUrl="https://www.bbc.co.uk/news/"
/>
<outline
title="BBC News - US &amp; Canada"
text="BBC News - US &amp; Canada"
description="BBC News - US &amp; Canada"
type="rss"
xmlUrl="https://feeds.bbci.co.uk/news/world/us_and_canada/rss.xml"
htmlUrl="https://www.bbc.co.uk/news/"
/>
<outline
title="BBC News - World"
text="BBC News - World"
description="BBC News - World"
type="rss"
xmlUrl="https://feeds.bbci.co.uk/news/world/rss.xml"
htmlUrl="https://www.bbc.co.uk/news/"
/>
</outline>
<outline title="Certificate Transparency" text="Certificate Transparency" description="Certificate Transparency" type="folder">
<outline title="q=114077943.xyz" text="q=114077943.xyz" description="q=114077943.xyz" type="atom" xmlUrl="https://crt.sh/atom?q=114077943.xyz" htmlUrl=""/>
<outline title="q=aminda.eu" text="q=aminda.eu" description="q=aminda.eu" type="atom" xmlUrl="https://crt.sh/atom?q=aminda.eu" htmlUrl=""/>
<outline title="q=mikaela.info" text="q=mikaela.info" description="q=mikaela.info" type="atom" xmlUrl="https://crt.sh/atom?q=mikaela.info" htmlUrl=""/>
<outline title="q=olepiraatti.fi" text="q=olepiraatti.fi" description="q=olepiraatti.fi" type="atom" xmlUrl="https://crt.sh/atom?q=olepiraatti.fi" htmlUrl=""/>
<outline title="q=pinu.fi" text="q=pinu.fi" description="q=pinu.fi" type="atom" xmlUrl="https://crt.sh/atom?q=pinu.fi" htmlUrl=""/>
<outline title="q=piraatit.fi" text="q=piraatit.fi" description="q=piraatit.fi" type="atom" xmlUrl="https://crt.sh/atom?q=piraatit.fi" htmlUrl=""/>
<outline title="q=piraattinuoret.fi" text="q=piraattinuoret.fi" description="q=piraattinuoret.fi" type="atom" xmlUrl="https://crt.sh/atom?q=piraattinuoret.fi" htmlUrl=""/>
<outline title="q=piraattipuolue.fi" text="q=piraattipuolue.fi" description="q=piraattipuolue.fi" type="atom" xmlUrl="https://crt.sh/atom?q=piraattipuolue.fi" htmlUrl=""/>
<outline title="q=pirateirc.net" text="q=pirateirc.net" description="q=pirateirc.net" type="atom" xmlUrl="https://crt.sh/atom?q=pirateirc.net" htmlUrl=""/>
<outline
title="Certificate Transparency"
text="Certificate Transparency"
description="Certificate Transparency"
type="folder"
>
<outline
title="q=114077943.xyz"
text="q=114077943.xyz"
description="q=114077943.xyz"
type="atom"
xmlUrl="https://crt.sh/atom?q=114077943.xyz"
htmlUrl=""
/>
<outline
title="q=aminda.eu"
text="q=aminda.eu"
description="q=aminda.eu"
type="atom"
xmlUrl="https://crt.sh/atom?q=aminda.eu"
htmlUrl=""
/>
<outline
title="q=mikaela.info"
text="q=mikaela.info"
description="q=mikaela.info"
type="atom"
xmlUrl="https://crt.sh/atom?q=mikaela.info"
htmlUrl=""
/>
<outline
title="q=olepiraatti.fi"
text="q=olepiraatti.fi"
description="q=olepiraatti.fi"
type="atom"
xmlUrl="https://crt.sh/atom?q=olepiraatti.fi"
htmlUrl=""
/>
<outline
title="q=pinu.fi"
text="q=pinu.fi"
description="q=pinu.fi"
type="atom"
xmlUrl="https://crt.sh/atom?q=pinu.fi"
htmlUrl=""
/>
<outline
title="q=piraatit.fi"
text="q=piraatit.fi"
description="q=piraatit.fi"
type="atom"
xmlUrl="https://crt.sh/atom?q=piraatit.fi"
htmlUrl=""
/>
<outline
title="q=piraattinuoret.fi"
text="q=piraattinuoret.fi"
description="q=piraattinuoret.fi"
type="atom"
xmlUrl="https://crt.sh/atom?q=piraattinuoret.fi"
htmlUrl=""
/>
<outline
title="q=piraattipuolue.fi"
text="q=piraattipuolue.fi"
description="q=piraattipuolue.fi"
type="atom"
xmlUrl="https://crt.sh/atom?q=piraattipuolue.fi"
htmlUrl=""
/>
<outline
title="q=pirateirc.net"
text="q=pirateirc.net"
description="q=pirateirc.net"
type="atom"
xmlUrl="https://crt.sh/atom?q=pirateirc.net"
htmlUrl=""
/>
</outline>
<outline title="Fanfiction" text="Fanfiction" description="Fanfiction" type="folder">
<outline title="AO3 News" text="AO3 News" description="AO3 News" type="rss" xmlUrl="https://archiveofourown.org/admin_posts.rss" htmlUrl="https://archiveofourown.org/admin_posts"/>
<outline
title="Fanfiction"
text="Fanfiction"
description="Fanfiction"
type="folder"
>
<outline
title="AO3 News"
text="AO3 News"
description="AO3 News"
type="rss"
xmlUrl="https://archiveofourown.org/admin_posts.rss"
htmlUrl="https://archiveofourown.org/admin_posts"
/>
</outline>
<outline title="Myndigheterna" text="Myndigheterna" description="Myndigheterna" type="folder">
<outline title="Poliisi - Nyheter" text="Poliisi - Nyheter" description="Poliisi - Nyheter" type="rss" xmlUrl="https://poliisi.fi/sv/aktuellt/-/asset_publisher/yCqu73OvueAR/rss" htmlUrl="https://poliisi.fi/sv/aktuellt/-/asset_publisher/yCqu73OvueAR/rss"/>
<outline title="Fingrid" text="Fingrid" description="Fingrid" type="rss" xmlUrl="https://www.fingrid.fi/api/rss/news?language=se" htmlUrl="http://www.fingrid.fi/api/rss/news?language=se"/>
<outline
title="Myndigheterna"
text="Myndigheterna"
description="Myndigheterna"
type="folder"
>
<outline
title="Poliisi - Nyheter"
text="Poliisi - Nyheter"
description="Poliisi - Nyheter"
type="rss"
xmlUrl="https://poliisi.fi/sv/aktuellt/-/asset_publisher/yCqu73OvueAR/rss"
htmlUrl="https://poliisi.fi/sv/aktuellt/-/asset_publisher/yCqu73OvueAR/rss"
/>
<outline
title="Fingrid"
text="Fingrid"
description="Fingrid"
type="rss"
xmlUrl="https://www.fingrid.fi/api/rss/news?language=se"
htmlUrl="http://www.fingrid.fi/api/rss/news?language=se"
/>
</outline>
<outline title="Novosti" text="Novosti" description="Novosti" type="folder">
<outline title="BBC Russian - Главная" text="BBC Russian - Главная" description="BBC Russian - Главная" type="rss" xmlUrl="https://feeds.bbci.co.uk/russian/rss.xml" htmlUrl="http://www.bbcrussian.com"/>
<outline title="Радио Болгария" text="Радио Болгария" description="Радио Болгария" xmlUrl="https://bnr.bg/ru/rss/news" htmlUrl=""/>
<outline title="DN.se - News in Russian" text="DN.se - News in Russian" description="DN.se - News in Russian" type="rss" xmlUrl="https://www.dn.se/rss/om/news-in-russian/" htmlUrl="https://www.dn.se/om/news-in-russian/"/>
<outline title="новости | ERR" text="новости | ERR" description="новости | ERR" type="rss" xmlUrl="https://rus.err.ee/rss" htmlUrl="http://rus.err.ee"/>
<outline title="News in Russian - Helsingin Sanomat" text="News in Russian - Helsingin Sanomat" description="News in Russian - Helsingin Sanomat" type="rss" xmlUrl="https://hs.fi/rss/newsinrussian.xml" htmlUrl="https://www.hs.fi"/>
<outline title="LRT Новости" text="LRT Новости" description="LRT Новости" type="rss" xmlUrl="https://www.lrt.lt/ru/novosti?rss" htmlUrl="https://www.lrt.lt/ru/novosti"/>
<outline title="Meduza.io" text="Meduza.io" description="Meduza.io" type="rss" xmlUrl="https://meduza.io/rss/all" htmlUrl="https://meduza.io"/>
<outline title="Radio Prague International - последние статьи" text="Radio Prague International - последние статьи" description="Radio Prague International - последние статьи" type="rss" xmlUrl="https://ruski.radio.cz/rcz-rss/ru" htmlUrl="https://ruski.radio.cz"/>
<outline title="Yle Novosti | Tuoreimmat uutiset" text="Yle Novosti | Tuoreimmat uutiset" description="Yle Novosti | Tuoreimmat uutiset" type="rss" xmlUrl="https://feeds.yle.fi/uutiset/v1/recent.rss?publisherIds=YLE_NOVOSTI" htmlUrl="https://yle.fi/novosti"/>
<outline
title="Novosti"
text="Novosti"
description="Novosti"
type="folder"
>
<outline
title="BBC Russian - Главная"
text="BBC Russian - Главная"
description="BBC Russian - Главная"
type="rss"
xmlUrl="https://feeds.bbci.co.uk/russian/rss.xml"
htmlUrl="http://www.bbcrussian.com"
/>
<outline
title="Радио Болгария"
text="Радио Болгария"
description="Радио Болгария"
xmlUrl="https://bnr.bg/ru/rss/news"
htmlUrl=""
/>
<outline
title="DN.se - News in Russian"
text="DN.se - News in Russian"
description="DN.se - News in Russian"
type="rss"
xmlUrl="https://www.dn.se/rss/om/news-in-russian/"
htmlUrl="https://www.dn.se/om/news-in-russian/"
/>
<outline
title="новости | ERR"
text="новости | ERR"
description="новости | ERR"
type="rss"
xmlUrl="https://rus.err.ee/rss"
htmlUrl="http://rus.err.ee"
/>
<outline
title="News in Russian - Helsingin Sanomat"
text="News in Russian - Helsingin Sanomat"
description="News in Russian - Helsingin Sanomat"
type="rss"
xmlUrl="https://hs.fi/rss/newsinrussian.xml"
htmlUrl="https://www.hs.fi"
/>
<outline
title="LRT Новости"
text="LRT Новости"
description="LRT Новости"
type="rss"
xmlUrl="https://www.lrt.lt/ru/novosti?rss"
htmlUrl="https://www.lrt.lt/ru/novosti"
/>
<outline
title="Meduza.io"
text="Meduza.io"
description="Meduza.io"
type="rss"
xmlUrl="https://meduza.io/rss/all"
htmlUrl="https://meduza.io"
/>
<outline
title="Radio Prague International - последние статьи"
text="Radio Prague International - последние статьи"
description="Radio Prague International - последние статьи"
type="rss"
xmlUrl="https://ruski.radio.cz/rcz-rss/ru"
htmlUrl="https://ruski.radio.cz"
/>
<outline
title="Yle Novosti | Tuoreimmat uutiset"
text="Yle Novosti | Tuoreimmat uutiset"
description="Yle Novosti | Tuoreimmat uutiset"
type="rss"
xmlUrl="https://feeds.yle.fi/uutiset/v1/recent.rss?publisherIds=YLE_NOVOSTI"
htmlUrl="https://yle.fi/novosti"
/>
</outline>
<outline title="Politics" text="Politics" description="Politics" type="folder">
<outline title="Puolueet" text="Puolueet" description="Puolueet" type="folder">
<outline title="Demokraatti.fi" text="Demokraatti.fi" description="Demokraatti.fi" type="rss" xmlUrl="https://demokraatti.fi/feed/" htmlUrl="https://demokraatti.fi"/>
<outline
title="Politics"
text="Politics"
description="Politics"
type="folder"
>
<outline
title="Puolueet"
text="Puolueet"
description="Puolueet"
type="folder"
>
<outline
title="Demokraatti.fi"
text="Demokraatti.fi"
description="Demokraatti.fi"
type="rss"
xmlUrl="https://demokraatti.fi/feed/"
htmlUrl="https://demokraatti.fi"
/>
</outline>
</outline>
<outline title="Privacy" text="Privacy" description="Privacy" type="folder"/>
<outline title="Software" text="Software" description="Software" type="folder">
<outline title="Software Releases" text="Software Releases" description="Software Releases" type="folder">
<outline title="Tags from atheme" text="Tags from atheme" description="Tags from atheme" type="atom" xmlUrl="https://github.com/atheme/atheme/tags.atom" htmlUrl="https://github.com/atheme/atheme/releases"/>
<outline title="briar tags" text="briar tags" description="briar tags" type="atom" xmlUrl="https://code.briarproject.org/briar/briar/-/tags?format=atom" htmlUrl="https://code.briarproject.org/briar/briar/-/tags"/>
<outline title="Conduit tags" text="Conduit tags" description="Conduit tags" type="atom" xmlUrl="https://gitlab.com/famedly/conduit/-/tags?format=atom" htmlUrl="https://gitlab.com/famedly/conduit/-/tags"/>
<outline title="Tags from curl" text="Tags from curl" description="Tags from curl" type="atom" xmlUrl="https://github.com/curl/curl/tags.atom" htmlUrl="https://github.com/curl/curl/releases"/>
<outline title="Uusi syöte" text="Uusi syöte" description="Uusi syöte" xmlUrl="https://github.com/element-hq/dendrite/tags.atom" htmlUrl=""/>
<outline title="Tags from element-android" text="Tags from element-android" description="Tags from element-android" type="atom" xmlUrl="https://github.com/element-hq/element-android/tags.atom" htmlUrl="https://github.com/element-hq/element-android/releases"/>
<outline
title="Privacy"
text="Privacy"
description="Privacy"
type="folder"
/>
<outline
title="Software"
text="Software"
description="Software"
type="folder"
>
<outline
title="Software Releases"
text="Software Releases"
description="Software Releases"
type="folder"
>
<outline
title="Tags from atheme"
text="Tags from atheme"
description="Tags from atheme"
type="atom"
xmlUrl="https://github.com/atheme/atheme/tags.atom"
htmlUrl="https://github.com/atheme/atheme/releases"
/>
<outline
title="briar tags"
text="briar tags"
description="briar tags"
type="atom"
xmlUrl="https://code.briarproject.org/briar/briar/-/tags?format=atom"
htmlUrl="https://code.briarproject.org/briar/briar/-/tags"
/>
<outline
title="Conduit tags"
text="Conduit tags"
description="Conduit tags"
type="atom"
xmlUrl="https://gitlab.com/famedly/conduit/-/tags?format=atom"
htmlUrl="https://gitlab.com/famedly/conduit/-/tags"
/>
<outline
title="Tags from curl"
text="Tags from curl"
description="Tags from curl"
type="atom"
xmlUrl="https://github.com/curl/curl/tags.atom"
htmlUrl="https://github.com/curl/curl/releases"
/>
<outline
title="Uusi syöte"
text="Uusi syöte"
description="Uusi syöte"
xmlUrl="https://github.com/element-hq/dendrite/tags.atom"
htmlUrl=""
/>
<outline
title="Tags from element-android"
text="Tags from element-android"
description="Tags from element-android"
type="atom"
xmlUrl="https://github.com/element-hq/element-android/tags.atom"
htmlUrl="https://github.com/element-hq/element-android/releases"
/>
</outline>
<outline title="Blogs" text="Blogs" description="Blogs" type="folder">
<outline title="News - Briar" text="News - Briar" description="News - Briar" type="atom" xmlUrl="https://briarproject.org/news/index.xml" htmlUrl="https://briarproject.org/news/"/>
<outline title="Stories by /e/ Developers Blog on Medium" text="Stories by /e/ Developers Blog on Medium" description="Stories by /e/ Developers Blog on Medium" type="rss" xmlUrl="https://edevelopers-blog.medium.com/feed" htmlUrl="https://medium.com/@edevelopers-blog?source=rss-20f5a0d0ca02------2"/>
<outline
title="News - Briar"
text="News - Briar"
description="News - Briar"
type="atom"
xmlUrl="https://briarproject.org/news/index.xml"
htmlUrl="https://briarproject.org/news/"
/>
<outline
title="Stories by /e/ Developers Blog on Medium"
text="Stories by /e/ Developers Blog on Medium"
description="Stories by /e/ Developers Blog on Medium"
type="rss"
xmlUrl="https://edevelopers-blog.medium.com/feed"
htmlUrl="https://medium.com/@edevelopers-blog?source=rss-20f5a0d0ca02------2"
/>
</outline>
<outline title="Microblogs" text="Microblogs" description="Microblogs" type="folder">
<outline title="Debian micronews" text="Debian micronews" description="Debian micronews" type="atom" xmlUrl="https://micronews.debian.org/feeds/atom.xml" htmlUrl="https://micronews.debian.org/"/>
<outline
title="Microblogs"
text="Microblogs"
description="Microblogs"
type="folder"
>
<outline
title="Debian micronews"
text="Debian micronews"
description="Debian micronews"
type="atom"
xmlUrl="https://micronews.debian.org/feeds/atom.xml"
htmlUrl="https://micronews.debian.org/"
/>
</outline>
<outline title="Security" text="Security" description="Security" type="folder">
<outline title="Debian Security" text="Debian Security" description="Debian Security" type="rss" xmlUrl="https://www.debian.org/security/dsa" htmlUrl="https://www.debian.org/security/dsa.rdf"/>
<outline
title="Security"
text="Security"
description="Security"
type="folder"
>
<outline
title="Debian Security"
text="Debian Security"
description="Debian Security"
type="rss"
xmlUrl="https://www.debian.org/security/dsa"
htmlUrl="https://www.debian.org/security/dsa.rdf"
/>
</outline>
<outline title="Element Blog" text="Element Blog" description="Element Blog" type="rss" xmlUrl="https://element.io/blog/rss/" htmlUrl="https://element.io/blog/"/>
<outline
title="Element Blog"
text="Element Blog"
description="Element Blog"
type="rss"
xmlUrl="https://element.io/blog/rss/"
htmlUrl="https://element.io/blog/"
/>
</outline>
<outline title="Valtion yritykset" text="Valtion yritykset" description="Valtion yritykset" type="folder">
<outline title="Fingrid" text="Fingrid" description="Fingrid" type="rss" xmlUrl="https://www.fingrid.fi/api/rss/news?language=fi" htmlUrl="http://www.fingrid.fi/api/rss/news?language=fi"/>
<outline title="Fingrid-Lehti" text="Fingrid-Lehti" description="Fingrid-Lehti" type="rss" xmlUrl="https://www.fingridlehti.fi/feed/" htmlUrl="https://www.fingridlehti.fi/"/>
<outline title="Motiva -" text="Motiva -" description="Motiva -" type="rss" xmlUrl="https://www.motiva.fi/rss/ajankohtaista/uutiset" htmlUrl="https://www.motiva.fi/"/>
<outline
title="Valtion yritykset"
text="Valtion yritykset"
description="Valtion yritykset"
type="folder"
>
<outline
title="Fingrid"
text="Fingrid"
description="Fingrid"
type="rss"
xmlUrl="https://www.fingrid.fi/api/rss/news?language=fi"
htmlUrl="http://www.fingrid.fi/api/rss/news?language=fi"
/>
<outline
title="Fingrid-Lehti"
text="Fingrid-Lehti"
description="Fingrid-Lehti"
type="rss"
xmlUrl="https://www.fingridlehti.fi/feed/"
htmlUrl="https://www.fingridlehti.fi/"
/>
<outline
title="Motiva -"
text="Motiva -"
description="Motiva -"
type="rss"
xmlUrl="https://www.motiva.fi/rss/ajankohtaista/uutiset"
htmlUrl="https://www.motiva.fi/"
/>
</outline>
<outline title="Viranomaiset" text="Viranomaiset" description="Viranomaiset" type="folder">
<outline title="Hätäkeskuslaitos - Tiedotteet" text="Hätäkeskuslaitos - Tiedotteet" description="Hätäkeskuslaitos - Tiedotteet" type="rss" xmlUrl="https://112.fi/uutishuone/-/asset_publisher/XrYoIl7TpWvq/rss" htmlUrl="https://112.fi/uutishuone/-/asset_publisher/XrYoIl7TpWvq/rss"/>
<outline title="Energiavirasto - Ajankohtaista" text="Energiavirasto - Ajankohtaista" description="Energiavirasto - Ajankohtaista" type="atom" xmlUrl="https://energiavirasto.fi/etusivu/-/asset_publisher/mip7ZqWho2Ph/rss" htmlUrl="https://energiavirasto.fi/etusivu"/>
<outline title="Poliisi - Ajankohtaista" text="Poliisi - Ajankohtaista" description="Poliisi - Ajankohtaista" type="rss" xmlUrl="https://poliisi.fi/ajankohtaista/-/asset_publisher/yCqu73OvueAR/rss" htmlUrl="https://poliisi.fi/ajankohtaista/-/asset_publisher/yCqu73OvueAR/rss"/>
<outline title="TEM uusimmat tiedotteet ja uutiset" text="TEM uusimmat tiedotteet ja uutiset" description="TEM uusimmat tiedotteet ja uutiset" type="atom" xmlUrl="https://tem.fi/etusivu/-/asset_publisher/PuQeVCwBv2KT/rss" htmlUrl="https://tem.fi/etusivu"/>
<outline
title="Viranomaiset"
text="Viranomaiset"
description="Viranomaiset"
type="folder"
>
<outline
title="Hätäkeskuslaitos - Tiedotteet"
text="Hätäkeskuslaitos - Tiedotteet"
description="Hätäkeskuslaitos - Tiedotteet"
type="rss"
xmlUrl="https://112.fi/uutishuone/-/asset_publisher/XrYoIl7TpWvq/rss"
htmlUrl="https://112.fi/uutishuone/-/asset_publisher/XrYoIl7TpWvq/rss"
/>
<outline
title="Energiavirasto - Ajankohtaista"
text="Energiavirasto - Ajankohtaista"
description="Energiavirasto - Ajankohtaista"
type="atom"
xmlUrl="https://energiavirasto.fi/etusivu/-/asset_publisher/mip7ZqWho2Ph/rss"
htmlUrl="https://energiavirasto.fi/etusivu"
/>
<outline
title="Poliisi - Ajankohtaista"
text="Poliisi - Ajankohtaista"
description="Poliisi - Ajankohtaista"
type="rss"
xmlUrl="https://poliisi.fi/ajankohtaista/-/asset_publisher/yCqu73OvueAR/rss"
htmlUrl="https://poliisi.fi/ajankohtaista/-/asset_publisher/yCqu73OvueAR/rss"
/>
<outline
title="TEM uusimmat tiedotteet ja uutiset"
text="TEM uusimmat tiedotteet ja uutiset"
description="TEM uusimmat tiedotteet ja uutiset"
type="atom"
xmlUrl="https://tem.fi/etusivu/-/asset_publisher/PuQeVCwBv2KT/rss"
htmlUrl="https://tem.fi/etusivu"
/>
</outline>
<outline title="Yksityisyys" text="Yksityisyys" description="Yksityisyys" type="folder">
<outline title="Tor Project blog" text="Tor Project blog" description="Tor Project blog" type="atom" xmlUrl="https://blog.torproject.org/feed.xml" htmlUrl="https://blog.torproject.org/"/>
<outline title="Electronic Frontier Finland Effi ry" text="Electronic Frontier Finland Effi ry" description="Electronic Frontier Finland Effi ry" type="rss" xmlUrl="https://effi.org/feed/" htmlUrl="https://effi.org"/>
<outline
title="Yksityisyys"
text="Yksityisyys"
description="Yksityisyys"
type="folder"
>
<outline
title="Tor Project blog"
text="Tor Project blog"
description="Tor Project blog"
type="atom"
xmlUrl="https://blog.torproject.org/feed.xml"
htmlUrl="https://blog.torproject.org/"
/>
<outline
title="Electronic Frontier Finland Effi ry"
text="Electronic Frontier Finland Effi ry"
description="Electronic Frontier Finland Effi ry"
type="rss"
xmlUrl="https://effi.org/feed/"
htmlUrl="https://effi.org"
/>
</outline>
<outline title="YLE" text="YLE" description="YLE" type="folder">
<outline title="Yle Uutiset | Vaaratiedotteet | Tuoreimmat uutiset" text="Yle Uutiset | Vaaratiedotteet | Tuoreimmat uutiset" description="Yle Uutiset | Vaaratiedotteet | Tuoreimmat uutiset" type="rss" xmlUrl="https://feeds.yle.fi/uutiset/v1/recent.rss?publisherIds=YLE_UUTISET&amp;concepts=18-82214" htmlUrl="https://yle.fi/uutiset"/>
<outline title="Yle News | Tuoreimmat uutiset" text="Yle News | Tuoreimmat uutiset" description="Yle News | Tuoreimmat uutiset" type="rss" xmlUrl="https://feeds.yle.fi/uutiset/v1/recent.rss?publisherIds=YLE_NEWS" htmlUrl="https://yle.fi/news"/>
<outline title="Yle Nyheter på lätt svenska" text="Yle Nyheter på lätt svenska" description="Yle Nyheter på lätt svenska" type="rss" xmlUrl="https://feeds.yle.fi/areena/v1/series/1-50362086.rss?language=sv" htmlUrl="https://areena.yle.fi/1-50362086"/>
<outline
title="Yle Uutiset | Vaaratiedotteet | Tuoreimmat uutiset"
text="Yle Uutiset | Vaaratiedotteet | Tuoreimmat uutiset"
description="Yle Uutiset | Vaaratiedotteet | Tuoreimmat uutiset"
type="rss"
xmlUrl="https://feeds.yle.fi/uutiset/v1/recent.rss?publisherIds=YLE_UUTISET&amp;concepts=18-82214"
htmlUrl="https://yle.fi/uutiset"
/>
<outline
title="Yle News | Tuoreimmat uutiset"
text="Yle News | Tuoreimmat uutiset"
description="Yle News | Tuoreimmat uutiset"
type="rss"
xmlUrl="https://feeds.yle.fi/uutiset/v1/recent.rss?publisherIds=YLE_NEWS"
htmlUrl="https://yle.fi/news"
/>
<outline
title="Yle Nyheter på lätt svenska"
text="Yle Nyheter på lätt svenska"
description="Yle Nyheter på lätt svenska"
type="rss"
xmlUrl="https://feeds.yle.fi/areena/v1/series/1-50362086.rss?language=sv"
htmlUrl="https://areena.yle.fi/1-50362086"
/>
</outline>
</body>
</opml>

View File

@ -1,7 +1,8 @@
{
"devDependencies": {
"@prettier/plugin-xml": "3.4.1",
"prettier": "3.3.1",
"prettier": "3.3.2",
"prettier-plugin-sh": "0.14.0",
"prettier-plugin-toml": "2.0.1"
}
}

67
pnpm-lock.yaml generated
View File

@ -9,13 +9,16 @@ importers:
devDependencies:
"@prettier/plugin-xml":
specifier: 3.4.1
version: 3.4.1(prettier@3.3.1)
version: 3.4.1(prettier@3.3.2)
prettier:
specifier: 3.3.1
version: 3.3.1
specifier: 3.3.2
version: 3.3.2
prettier-plugin-sh:
specifier: 0.14.0
version: 0.14.0(prettier@3.3.2)
prettier-plugin-toml:
specifier: 2.0.1
version: 2.0.1(prettier@3.3.1)
version: 2.0.1(prettier@3.3.2)
packages:
"@prettier/plugin-xml@3.4.1":
@ -50,6 +53,21 @@ packages:
integrity: sha512-wy3mC1x4ye+O+QkEinVJkPf5u2vsrDIYW9G7ZuwFl6v/Yu0LwUuT2POsb+NUWApebyxfkQq6+yDfRExbnI5rcw==,
}
mvdan-sh@0.10.1:
resolution:
{
integrity: sha512-kMbrH0EObaKmK3nVRKUIIya1dpASHIEusM13S4V1ViHFuxuNxCo+arxoa6j/dbV22YBGjl7UKJm9QQKJ2Crzhg==,
}
prettier-plugin-sh@0.14.0:
resolution:
{
integrity: sha512-hfXulj5+zEl/ulrO5kMuuTPKmXvOg0bnLHY1hKFNN/N+/903iZbNp8NyZBTsgI8dtkSgFfAEIQq0IQTyP1ZVFQ==,
}
engines: { node: ">=16.0.0" }
peerDependencies:
prettier: ^3.0.3
prettier-plugin-toml@2.0.1:
resolution:
{
@ -59,10 +77,10 @@ packages:
peerDependencies:
prettier: ^3.0.3
prettier@3.3.1:
prettier@3.3.2:
resolution:
{
integrity: sha512-7CAwy5dRsxs8PHXT3twixW9/OEll8MLE0VRPCJyl7CkS6VHGPSlsVaWTiASPTyGyYRyApxlaWTzwUxVNrhcwDg==,
integrity: sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==,
}
engines: { node: ">=14" }
hasBin: true
@ -73,11 +91,24 @@ packages:
integrity: sha512-tlbJqcMHnPKI9zSrystikWKwHkBqu2a/Sgw01h3zFjvYrMxEDYHzzoMZnUrbIfpTFEsoRnnviOXNCzFiSc54Qw==,
}
sh-syntax@0.4.2:
resolution:
{
integrity: sha512-/l2UZ5fhGZLVZa16XQM9/Vq/hezGGbdHeVEA01uWjOL1+7Ek/gt6FquW0iKKws4a9AYPYvlz6RyVvjh3JxOteg==,
}
engines: { node: ">=16.0.0" }
tslib@2.6.3:
resolution:
{
integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==,
}
snapshots:
"@prettier/plugin-xml@3.4.1(prettier@3.3.1)":
"@prettier/plugin-xml@3.4.1(prettier@3.3.2)":
dependencies:
"@xml-tools/parser": 1.0.11
prettier: 3.3.1
prettier: 3.3.2
"@taplo/core@0.1.1": {}
@ -93,11 +124,25 @@ snapshots:
dependencies:
regexp-to-ast: 0.5.0
prettier-plugin-toml@2.0.1(prettier@3.3.1):
mvdan-sh@0.10.1: {}
prettier-plugin-sh@0.14.0(prettier@3.3.2):
dependencies:
mvdan-sh: 0.10.1
prettier: 3.3.2
sh-syntax: 0.4.2
prettier-plugin-toml@2.0.1(prettier@3.3.2):
dependencies:
"@taplo/lib": 0.4.0-alpha.2
prettier: 3.3.1
prettier: 3.3.2
prettier@3.3.1: {}
prettier@3.3.2: {}
regexp-to-ast@0.5.0: {}
sh-syntax@0.4.2:
dependencies:
tslib: 2.6.3
tslib@2.6.3: {}