add actual words

This commit is contained in:
2024-12-26 21:46:01 +02:00
parent 09e64254c9
commit 2a87adfd63
11 changed files with 480 additions and 347 deletions

View File

@@ -30,8 +30,7 @@
</head>
<body>
<section>
<h1 id="what-time-did-my-laptop-wake-up">What time did my laptop wake
up?</h1>
<h1 id="what-time-did-my-laptop-wake-up">What time did my laptop wake up?</h1>
<p>Thu 05 Jan 2023 16:59 EET</p>
<p><a href="..">..</a></p>
<footer>

View File

@@ -33,17 +33,23 @@
<h2 id="donation-options">Donation Options</h2>
<p>So far I accept donations through these cryptocurrencies</p>
<h3 id="lbc">LBC</h3>
<p>bKA5xjndsSeiSjH3gYmZpzXZYBLU7zHhwK<br />
<a href="crypto/lbcqr.png">LBC QR</a><br /></p>
<p>
bKA5xjndsSeiSjH3gYmZpzXZYBLU7zHhwK<br />
<img src="crypto/lbcqr.png" style="width:300px; height:200px;"><br />LBC QR<br /><br />
</p>
<h3 id="xmr">XMR</h3>
<p>454MmPcxgeYX536SBdfxWSaAniLM8uL8oiuUcQNTwz6L1Bwa8Q4BL4V79zjybRa6z61Q8bUswV8RpAYtdtyC1pCxLQhY6v2<br />
<a href="crypto/moneroqr.png">XMR QR</a><br /></p>
<p>
454MmPcxgeYX536SBdfxWSaAniLM8uL8oiuUcQNTwz6L1Bwa8Q4BL4V79zjybRa6z61Q8bUswV8RpAYtdtyC1pCxLQhY6v2<br />
<img src="crypto/moneroqr.png" style="width:300px; height:200px;"><br />XMR QR<br /><br />
</p>
<h3 id="btc">BTC</h3>
<p>bc1qgegqv3zkq0q4w87ndp05wc6qsde3t9j6x62pqj<br />
<a href="crypto/bitcoinqr.png">BTC QR</a><br /></p>
<p>
bc1qgegqv3zkq0q4w87ndp05wc6qsde3t9j6x62pqj<br />
<img src="crypto/bitcoinqr.png" style="width:300px; height:200px;"><br />BTC QR<br /><br />
</p>
<p><a href="..">..</a></p>
<footer>
<a id="gemyo" href="gemini://konsthol.eu/"><img src="/images/best_viewed_on_gemini.png" /></a>
<a id="gemyo" href="gemini://konsthol.eu/"><img src="/images/best_viewed_on_gemini.png" /><br /></a>
</footer>
</section>

View File

@@ -42,13 +42,15 @@
<p>This website follows a Gemini-first approach 🚀</p>
<p>Est. 5th of June 2021.</p>
<h3 id="a-few-words-about-me">A few words about me</h3>
<p>Im passionate about making technology work smarter, not harder. I
love diving into workflow automation, tweaking Linux systems for peak
performance and security, and managing cloud servers. I get a real kick
out of solving complex tech problems and turning ideas into practical
solutions.</p>
<h3 id="i-would-better-describe-myself-as-a">I would better describe
myself as a</h3>
<p>
Im passionate about making technology work smarter, not harder. I love diving
into workflow automation, tweaking Linux systems for peak performance and
security, and managing cloud servers. I get a real kick out of solving complex
tech problems and turning ideas into practical solutions.
</p>
<h3 id="i-would-better-describe-myself-as-a">
I would better describe myself as a
</h3>
<ul>
<li>Power User</li>
<li>Linux Enthusiast</li>
@@ -65,40 +67,50 @@ myself as a</h3>
<li>Command Liner</li>
</ul>
<h3 id="where-can-you-find-me">Where can you find me❓</h3>
<p><a class="gem" href="gemini://konsthol.eu">Gemini 💎</a><br /> <a
href="https://t.me/konsthol">Telegram 🗨</a><br /> <a
href="mailto:konsthol@konsthol.eu">Email ✉️</a><br /> <a
href="mailto:konsthol@pm.me">Protonmail 📧</a><br /> <a
href="https://git.konsthol.eu/">My Git 📦</a><br /> <a
href="https://talk.konsthol.eu/user/78577870064">Webcall
📞</a><br /></p>
<p>
<a class="gem" href="gemini://konsthol.eu">Gemini 💎</a><br />
<a href="https://t.me/konsthol">Telegram 🗨</a><br />
<a href="mailto:konsthol@konsthol.eu">Email ✉️</a><br />
<a href="mailto:konsthol@pm.me">Protonmail 📧</a><br />
<a href="https://git.konsthol.eu/">My Git 📦</a><br />
<a href="https://talk.konsthol.eu/user/78577870064">Webcall 📞</a><br />
</p>
<h3 id="thesis">Thesis</h3>
<p>My Thesis can be found here</p>
<p><a
href="https://hellanicus.lib.aegean.gr/handle/11610/26621">SecDep</a><br /></p>
<p>
<a href="https://hellanicus.lib.aegean.gr/handle/11610/26621">SecDep</a><br />
</p>
<h3 id="cv">CV</h3>
<p><a href="/cv/cv.pdf">My CV</a><br /></p>
<h2 id="my-blogs">My Blogs 😎</h2>
<p><a href="rss.xml">RSS</a></p>
<p><a href="/mblog/mblog.html">Microblogging</a><br /> <a
href="/wall/wall.html">Why are the colors like this?</a><br /></p>
<p>
<a href="/mblog/mblog.html">Microblogging</a><br />
<a href="/wall/wall.html">Why are the colors like this?</a><br />
</p>
<h2 id="log">Log</h2>
<p><a href="/log/the_magic_of_wake_on_lan-19-12-2024.html">19-12-2024 -
The magic of Wake-On-LAN</a><br /> <a
href="/log/webcall-25-02-2023.html">25-02-2023 - WebCall</a><br /> <a
href="/log/choose_wpgtk_over_just_pywal-17-08-2022.html">17-08-2022 -
wpgtk is just more convenient</a><br /> <a
href="/log/easy_file_sharing-12-09-2021.html">12-09-2021 - Awesome file
sharing tool</a><br /></p>
<p>
<a href="/log/the_magic_of_wake_on_lan-19-12-2024.html"
>19-12-2024 - The magic of Wake-On-LAN</a
><br />
<a href="/log/webcall-25-02-2023.html">25-02-2023 - WebCall</a><br />
<a href="/log/choose_wpgtk_over_just_pywal-17-08-2022.html"
>17-08-2022 - wpgtk is just more convenient</a
><br />
<a href="/log/easy_file_sharing-12-09-2021.html"
>12-09-2021 - Awesome file sharing tool</a
><br />
</p>
<p><a href="log_archive.html">Archive</a><br /></p>
<h1 id="self-hosted-services">Self hosted services</h1>
<h2 id="searx">Searx</h2>
<p>You can use my searx instance for a more private experience on the
web 👀</p>
<p>You can use my searx instance for a more private experience on the web 👀</p>
<p><a href="https://searx.konsthol.eu/">Searx 🔍</a><br /></p>
<h2 id="jitsi-meet">Jitsi Meet</h2>
<p>If you wish to video chat with me let me know so I can make a room at
my Jitsi instance</p>
<p>
If you wish to video chat with me let me know so I can make a room at my Jitsi
instance
</p>
<p><a href="https://jitsi.konsthol.eu/">Jitsi Meet 🤳</a><br /></p>
<h2 id="devz">Devz@</h2>
<p>I host a devz@ instance available at</p>
@@ -107,9 +119,11 @@ my Jitsi instance</p>
</blockquote>
<p>from any ssh client or from</p>
<p><a href="https://video.konsthol.eu/">here</a><br /></p>
<p>if you have no ssh client available. Note: access from the url is
shared across all users through an immutable Guest user account. That
means that there will be no user settings persistance.</p>
<p>
if you have no ssh client available. Note: access from the url is shared
across all users through an immutable Guest user account. That means that
there will be no user settings persistance.
</p>
<h2 id="owncast">Owncast 📺</h2>
<p>I could be livestreaming at</p>
<p><a href="https://tv.konsthol.eu">Owncast</a><br /></p>
@@ -121,12 +135,17 @@ means that there will be no user settings persistance.</p>
<p><a href="gopher://konsthol.eu">Gopher 🦫</a><br /></p>
<h2 id="tor">Tor</h2>
<p>This website is also available as a tor hidden service</p>
<p><a
href="http://aasyir5vu6cnhczr6prnrbdim34kmgngpuuyfzuozrmtt6km5vnao5ad.onion">Onion
Address 🧅</a><br /></p>
<p>
<a
href="http://aasyir5vu6cnhczr6prnrbdim34kmgngpuuyfzuozrmtt6km5vnao5ad.onion"
>Onion Address 🧅</a
><br />
</p>
<h2 id="croc">Croc 🐊</h2>
<p>I have my own croc relay which you can use to send and receive files
using this amazing tool by running</p>
<p>
I have my own croc relay which you can use to send and receive files using
this amazing tool by running
</p>
<blockquote>
<p>croc relay konsthol.eu:9009 send [file]</p>
</blockquote>
@@ -157,7 +176,7 @@ callFrame.src=user_string;
<p>I accept donations for any reason</p>
<p><a href="donate.html">Donate</a><br /></p>
<h2>Daily Unique Visitors</h2><p>
Thursday 26/12/24 18:34:38
Thursday 26/12/24 21:36:26
3
</p>
<h2 id="also-on-the-web">Also on the web 🕸️</h2>

View File

@@ -33,33 +33,43 @@
<blockquote>
<p>DATE: Wed 17 Aug 2022 00:09 By: konsthol@pm.me</p>
</blockquote>
<h1 id="wpgtk-is-just-more-convenient">wpgtk is just more
convenient</h1>
<p>Pywal is a simple KISS principled python application that extracts
colors from an image and creates a color pallete to theme different
programs</p>
<p>By default there are some templates that are stored in its .cache
directory and there is an option to create new templates in its .config
directory.</p>
<p>I found it to be simpler to create every template with wpgtk and
store it in its templates folder in .config because there it also
utilizes symlinks to its respective files and thus you can have every
programs file to manage in one place.</p>
<p>Moreover wpgtk conveniently stores each created colorscheme in a
schemes folder in .config and along with that every wallpaper used as a
symlink to the actual wallpaper in a wallpapers folder.</p>
<p>It also has a gui interface but I never really found a use for it as
one can easily perform every needed action using just the cli.</p>
<p>After creating a script to be run after every use of the program to
theme application that need third party scripts like telegram and
qutebrowser the process of switching colorschemes on the fly becomes
easy as pie and fast as fuck 🤫</p>
<p>Just give it a shot! Maybe Ill upload my postWPG script in my gitea
instance sometime soon and create an actual tutorial on how to use
wpgtk</p>
<h1 id="wpgtk-is-just-more-convenient">wpgtk is just more convenient</h1>
<p>
Pywal is a simple KISS principled python application that extracts colors from
an image and creates a color pallete to theme different programs
</p>
<p>
By default there are some templates that are stored in its .cache directory
and there is an option to create new templates in its .config directory.
</p>
<p>
I found it to be simpler to create every template with wpgtk and store it in
its templates folder in .config because there it also utilizes symlinks to its
respective files and thus you can have every programs file to manage in one
place.
</p>
<p>
Moreover wpgtk conveniently stores each created colorscheme in a schemes
folder in .config and along with that every wallpaper used as a symlink to the
actual wallpaper in a wallpapers folder.
</p>
<p>
It also has a gui interface but I never really found a use for it as one can
easily perform every needed action using just the cli.
</p>
<p>
After creating a script to be run after every use of the program to theme
application that need third party scripts like telegram and qutebrowser the
process of switching colorschemes on the fly becomes easy as pie and fast as
fuck 🤫
</p>
<p>
Just give it a shot! Maybe Ill upload my postWPG script in my gitea instance
sometime soon and create an actual tutorial on how to use wpgtk
</p>
<p><a href="..">..</a></p>
<footer>
<a id="gemyo" href="gemini://konsthol.eu/"><img src="/images/best_viewed_on_gemini.png" /></a>
<a id="gemyo" href="gemini://konsthol.eu/"><img src="/images/best_viewed_on_gemini.png" /><br /></a>
</footer>
</section>

View File

@@ -34,32 +34,40 @@
<p>DATE: Sun 12 Sep 2021 00:53 By: konsthol@pm.me</p>
</blockquote>
<h1 id="awesome-file-sharing-tool">Awesome file sharing tool</h1>
<p>Croc is one of the best easy to use file sharing cli tools I came
across and only recently discovered how easy it can be to self host your
own relay.</p>
<p>Croc as far as I understand needs an intermediary to staple as it
says the connection between two computers. If I grasp the concept
correctly if two computers can both connect to a third one then a
connection between them can be established. The files sent over dont
get first uploaded to the third one and then downloaded to the second
but somehow get uploaded and downloaded simultaneously.</p>
<p>Ill have to further read about that but in short if you have a
computer like a server with a static ip that is easily accessible from
the internet then because of the great job the author did you can host a
relay simply by typing the command</p>
<p>
Croc is one of the best easy to use file sharing cli tools I came across and
only recently discovered how easy it can be to self host your own relay.
</p>
<p>
Croc as far as I understand needs an intermediary to staple as it says the
connection between two computers. If I grasp the concept correctly if two
computers can both connect to a third one then a connection between them can
be established. The files sent over dont get first uploaded to the third one
and then downloaded to the second but somehow get uploaded and downloaded
simultaneously.
</p>
<p>
Ill have to further read about that but in short if you have a computer like
a server with a static ip that is easily accessible from the internet then
because of the great job the author did you can host a relay simply by typing
the command
</p>
<blockquote>
<p>croc relay</p>
</blockquote>
<p>which will by default use the ports 9009-9013 but you can specify
your own with the ports arguement like</p>
<p>
which will by default use the ports 9009-9013 but you can specify your own
with the ports arguement like
</p>
<blockquote>
<p>croc relay ports 1111,1112</p>
</blockquote>
<p>Then if you make that into a systemd service (which I wont be
covering just yet cause I dont really understand them and only make
them by copy pasting basic templates 😐) its basically a set and forget
kind of thing and you can now send files to anyone in any operating
system by using croc by typing</p>
<p>
Then if you make that into a systemd service (which I wont be covering just
yet cause I dont really understand them and only make them by copy pasting
basic templates 😐) its basically a set and forget kind of thing and you can
now send files to anyone in any operating system by using croc by typing
</p>
<blockquote>
<p>croc relay “your.domain:9009” send [file]</p>
</blockquote>
@@ -67,16 +75,21 @@ system by using croc by typing</p>
<blockquote>
<p>croc relay “your.domain:9009” [code]</p>
</blockquote>
<p>This is super useful cause there was a time when the public instance
was down and I couldnt send files when it was just so easy to not be
dependent on the public instance in the first place.</p>
<p>You should definetely read more about it on Crocs github page and
set up your own relay asap 😎</p>
<p><a
href="https://github.com/schollz/croc">https://github.com/schollz/croc</a></p>
<p>
This is super useful cause there was a time when the public instance was down
and I couldnt send files when it was just so easy to not be dependent on the
public instance in the first place.
</p>
<p>
You should definetely read more about it on Crocs github page and set up your
own relay asap 😎
</p>
<p>
<a href="https://github.com/schollz/croc">https://github.com/schollz/croc</a>
</p>
<p><a href="..">..</a></p>
<footer>
<a id="gemyo" href="gemini://konsthol.eu/"><img src="/images/best_viewed_on_gemini.png" /></a>
<a id="gemyo" href="gemini://konsthol.eu/"><img src="/images/best_viewed_on_gemini.png" /><br /></a>
</footer>
</section>

View File

@@ -34,55 +34,68 @@
<p>DATE: Thu 19 Dec 2024 18:35 By: konsthol@pm.me</p>
</blockquote>
<h1 id="the-magic-of-wake-on-lan">The magic of Wake-On-LAN</h1>
<p>Years ago, some good friends of mine gifted me a Raspberry Pi 4 with
2GB of RAM for my birthday. Its hands down the most thoughtful gift
Ive ever received, perfectly matching my hobbies. They were lucky to
even find one during the chip shortage! I initially used it as a VPN
server with WireGuard and played around with Pi-hole for network-wide ad
blocking.</p>
<p>Eventually, I got into cloud computing and started hosting multiple
services on a VPS I rent from MVPS. This VPS, with its 4GB of RAM,
currently runs several of my daily-use services like Gitea, Searx, NTFY,
and more. Although the Raspberry Pi could theoretically handle these
services, its 2GB of RAM limited simultaneous operations.</p>
<p>One day, it hit me: why not use the Raspberry Pi for a simpler
project like a Wake-On-LAN (WOL) server? It requires minimal resources
and just needs to stay on and send WOL packets. The Raspberry Pi is
connected via Wi-Fi to the same network as my laptop. Normally, waking
up my laptop with WOL would require an Ethernet cable connection to the
router, but I connected one end to the Pi and the other to the
laptop.</p>
<p>I started with a simple shell script using etherwake, a command-line
tool to send WOL packets. After enabling WOL in my laptops BIOS and
confirming it on the OS using ethtool, I could easily wake my laptop
remotely using a Termux shortcut on my phone, which SSHed into the
Raspberry Pi to execute the etherwake command.</p>
<p>Though this setup worked perfectly fine, I wanted to make it even
better. Initially, the Raspberry Pi only ran SSH and executed a command
to wake my laptop. So it wasnt really a WOL server. After some
research, I found Flask and created an actual WOL server. This server
had routes, authentication, logging, rate limits, and more to ensure
robustness and security.</p>
<p>What makes my Flask-based server so cool is its dynamic nature. I can
configure a .env file with multiple device MAC addresses, allowing
numerous routes for different devices. For instance, I have
LAPTOP_MAC=“itsmac” and DESKTOP_MAC=“itsmac”, enabling me to wake them
via HTTP requests at /wol/laptop and /wol/desktop, respectively.</p>
<p>One open-source application that fits my use case is HTTP Shortcuts
from F-Droid. After configuring a specific route, I can turn it into a
widget on my home screen. This way, I can wake my laptop up with just a
tap! Plus, I use dynamic DNS, so my Pi is accessible from anywhere.</p>
<p><img
src="/images/pic-selected-19-12-24_19-10-42.png">The projects
mascot</a><br /></p>
<p>I would suggest anyone to take a look at my projects repo and if
they find that it fits their needs, use the setupSingleBinary.sh script
to grab the latest executable. The repo is over at</p>
<p><a
href="https://git.konsthol.eu/konsthol/WOL-Ly">WOL-Ly</a><br /></p>
<p>
Years ago, some good friends of mine gifted me a Raspberry Pi 4 with 2GB of
RAM for my birthday. Its hands down the most thoughtful gift Ive ever
received, perfectly matching my hobbies. They were lucky to even find one
during the chip shortage! I initially used it as a VPN server with WireGuard
and played around with Pi-hole for network-wide ad blocking.
</p>
<p>
Eventually, I got into cloud computing and started hosting multiple services
on a VPS I rent from MVPS. This VPS, with its 4GB of RAM, currently runs
several of my daily-use services like Gitea, Searx, NTFY, and more. Although
the Raspberry Pi could theoretically handle these services, its 2GB of RAM
limited simultaneous operations.
</p>
<p>
One day, it hit me: why not use the Raspberry Pi for a simpler project like a
Wake-On-LAN (WOL) server? It requires minimal resources and just needs to stay
on and send WOL packets. The Raspberry Pi is connected via Wi-Fi to the same
network as my laptop. Normally, waking up my laptop with WOL would require an
Ethernet cable connection to the router, but I connected one end to the Pi and
the other to the laptop.
</p>
<p>
I started with a simple shell script using etherwake, a command-line tool to
send WOL packets. After enabling WOL in my laptops BIOS and confirming it on
the OS using ethtool, I could easily wake my laptop remotely using a Termux
shortcut on my phone, which SSHed into the Raspberry Pi to execute the
etherwake command.
</p>
<p>
Though this setup worked perfectly fine, I wanted to make it even better.
Initially, the Raspberry Pi only ran SSH and executed a command to wake my
laptop. So it wasnt really a WOL server. After some research, I found Flask
and created an actual WOL server. This server had routes, authentication,
logging, rate limits, and more to ensure robustness and security.
</p>
<p>
What makes my Flask-based server so cool is its dynamic nature. I can
configure a .env file with multiple device MAC addresses, allowing numerous
routes for different devices. For instance, I have LAPTOP_MAC=“itsmac” and
DESKTOP_MAC=“itsmac”, enabling me to wake them via HTTP requests at
/wol/laptop and /wol/desktop, respectively.
</p>
<p>
One open-source application that fits my use case is HTTP Shortcuts from
F-Droid. After configuring a specific route, I can turn it into a widget on my
home screen. This way, I can wake my laptop up with just a tap! Plus, I use
dynamic DNS, so my Pi is accessible from anywhere.
</p>
<p>
<img src="/images/pic-selected-19-12-24_19-10-42.png"><br />The projects mascot</a
><br />
</p>
<p>
I would suggest anyone to take a look at my projects repo and if they find
that it fits their needs, use the setupSingleBinary.sh script to grab the
latest executable. The repo is over at
</p>
<p><a href="https://git.konsthol.eu/konsthol/WOL-Ly">WOL-Ly</a><br /></p>
<p><a href="..">..</a></p>
<footer>
<a id="gemyo" href="gemini://konsthol.eu/"><img src="/images/best_viewed_on_gemini.png" /></a>
<a id="gemyo" href="gemini://konsthol.eu/"><img src="/images/best_viewed_on_gemini.png" /><br /></a>
</footer>
</section>

View File

@@ -34,34 +34,45 @@
<p>DATE: Sat 25 Feb 2023 22:42 By: konsthol@pm.me</p>
</blockquote>
<h1 id="webcall">WebCall</h1>
<p>One of the simplest ways to host a “telephony” service is to use
webcall.</p>
<p>Like with emails, you can use any webcall server to communicate with
any other webcall server. Meaning that if for example you register a
number with https://timur.mobi/ which is the default public server you
can still make a call to someone who has registered a number with
https://talk.konsthol.eu if you know their number by replacing the
server address field in the dialpad icon.</p>
<p>All calls are encrypted and the server does not have access to the
content of the calls. That is because the server uses webrtc and tries
to make peer to peer connections.</p>
<p>There is also an integrated TURN server which is used if the peers
cant connect directly but if the connection is made though that then no
video transmission is possible. I suspect that this is a limitation of
the TURN server used in webcall because in jitsi meet which uses coturn
instead of pion, it is always possible.</p>
<p>Another differentiation of the two services is that in webcall no
more than 2 people can join a conversation, which is more similar to how
a regular telephone call behaves.</p>
<p>Also there is currently no functionality to block a number as far as
I can see but it should be fairly easy to figure out the public ip
address and block it like that.</p>
<p>You should give it a shot and see if it works for you. The source
code is at a link over at</p>
<p>One of the simplest ways to host a “telephony” service is to use webcall.</p>
<p>
Like with emails, you can use any webcall server to communicate with any other
webcall server. Meaning that if for example you register a number with
https://timur.mobi/ which is the default public server you can still make a
call to someone who has registered a number with https://talk.konsthol.eu if
you know their number by replacing the server address field in the dialpad
icon.
</p>
<p>
All calls are encrypted and the server does not have access to the content of
the calls. That is because the server uses webrtc and tries to make peer to
peer connections.
</p>
<p>
There is also an integrated TURN server which is used if the peers cant
connect directly but if the connection is made though that then no video
transmission is possible. I suspect that this is a limitation of the TURN
server used in webcall because in jitsi meet which uses coturn instead of
pion, it is always possible.
</p>
<p>
Another differentiation of the two services is that in webcall no more than 2
people can join a conversation, which is more similar to how a regular
telephone call behaves.
</p>
<p>
Also there is currently no functionality to block a number as far as I can see
but it should be fairly easy to figure out the public ip address and block it
like that.
</p>
<p>
You should give it a shot and see if it works for you. The source code is at a
link over at
</p>
<p><a href="https://timur.mobi">https://timur.mobi</a></p>
<p><a href="..">..</a></p>
<footer>
<a id="gemyo" href="gemini://konsthol.eu/"><img src="/images/best_viewed_on_gemini.png" /></a>
<a id="gemyo" href="gemini://konsthol.eu/"><img src="/images/best_viewed_on_gemini.png" /><br /></a>
</footer>
</section>

View File

@@ -34,18 +34,25 @@
<p>Previous Log entries are archived here.</p>
<h1 id="logs">Logs</h1>
<h2 id="section">2024</h2>
<p><a href="/log/the_magic_of_wake_on_lan-19-12-2024.html">19-12-2024 -
The magic of Wake-On-LAN</a><br /></p>
<p>
<a href="/log/the_magic_of_wake_on_lan-19-12-2024.html"
>19-12-2024 - The magic of Wake-On-LAN</a
><br />
</p>
<h2 id="section-1">2023</h2>
<p><a href="/log/webcall-25-02-2023.html">25-02-2023 -
WebCall</a><br /></p>
<p><a href="/log/webcall-25-02-2023.html">25-02-2023 - WebCall</a><br /></p>
<h2 id="section-2">2022</h2>
<p><a
href="/log/choose_wpgtk_over_just_pywal-17-08-2022.html">17-08-2022 -
wpgtk is just more convenient</a><br /></p>
<p>
<a href="/log/choose_wpgtk_over_just_pywal-17-08-2022.html"
>17-08-2022 - wpgtk is just more convenient</a
><br />
</p>
<h2 id="section-3">2021</h2>
<p><a href="/log/easy_file_sharing-12-09-2021.html">12-09-2021 - Awesome
file sharing tool</a><br /></p>
<p>
<a href="/log/easy_file_sharing-12-09-2021.html"
>12-09-2021 - Awesome file sharing tool</a
><br />
</p>
<p><a href="..">..</a></p>
<footer>
<a id="gemyo" href="gemini://konsthol.eu/"><img src="/images/best_viewed_on_gemini.png" /></a>

View File

@@ -33,27 +33,33 @@
<h1 id="microblogging">Microblogging 📔</h1>
<p>A place for random thoughts. Always random ☕</p>
<h2 id="wed-25-dec-2024-1546-eet">Wed 25 Dec 2024 15:46 EET</h2>
<p>A week ago I had never played around with cgi-scripts and here I am,
having modified nim scripts to give my blogs a like and comment system
🤷</p>
<p>
A week ago I had never played around with cgi-scripts and here I am, having
modified nim scripts to give my blogs a like and comment system 🤷
</p>
<h2 id="tue-28-feb-2023-2242-eet">Tue 28 Feb 2023 22:42 EET</h2>
<p>With the latest additions to the site it is now possible to give me a
call or text me without the need for any authentication 😎</p>
<p>
With the latest additions to the site it is now possible to give me a call or
text me without the need for any authentication 😎
</p>
<h2 id="wed-17-aug-2022-0147-eest">Wed 17 Aug 2022 01:47 EEST</h2>
<p>Made another little post after almost a year 🥳</p>
<h2 id="thu-02-sep-2021-2223-eest">Thu 02 Sep 2021 22:23 EEST</h2>
<p>Just discovered how to have new lines in zsh 🤨 Like this</p>
<h2 id="thu-02-sep-2021-2051-eest">Thu 02 Sep 2021 20:51 EEST</h2>
<p>Images should work I guess 🤔<br />
<a
href="../images/pic-selected-02-09-21_19-50-18.png">Image</a><br /></p>
<p>
Images should work I guess 🤔<br />
<a href="../images/pic-selected-02-09-21_19-50-18.png">Image</a><br />
</p>
<h2 id="mon-30-aug-2021-1549-eest">Mon 30 Aug 2021 15:49 EEST</h2>
<p>Ready to study 🖊️</p>
<h2 id="sun-29-aug-2021-0548-eest">Sun 29 Aug 2021 05:48 EEST</h2>
<p>Showing miniblog to Tzella. She finds it cute 😝</p>
<h2 id="sun-29-aug-2021-0022-eest">Sun 29 Aug 2021 00:22 EEST</h2>
<p>That lace script Drew wrote works like a charm. Havent tested it
with othet peoples tiny logs but so far so good 💪</p>
<p>
That lace script Drew wrote works like a charm. Havent tested it with othet
peoples tiny logs but so far so good 💪
</p>
<h2 id="wed-25-aug-2021-1439-eest">Wed 25 Aug 2021 14:39 EEST</h2>
<p>Drews script now works for me too</p>
<h2 id="wed-25-aug-2021-1301-eest">Wed 25 Aug 2021 13:01 EEST</h2>

288
rss.xml
View File

@@ -14,51 +14,65 @@
<p>DATE: Thu 19 Dec 2024 18:35 By: konsthol@pm.me</p>
</blockquote>
<h1 id="the-magic-of-wake-on-lan">The magic of Wake-On-LAN</h1>
<p>Years ago, some good friends of mine gifted me a Raspberry Pi 4 with
2GB of RAM for my birthday. Its hands down the most thoughtful gift
Ive ever received, perfectly matching my hobbies. They were lucky to
even find one during the chip shortage! I initially used it as a VPN
server with WireGuard and played around with Pi-hole for network-wide ad
blocking.</p>
<p>Eventually, I got into cloud computing and started hosting multiple
services on a VPS I rent from MVPS. This VPS, with its 4GB of RAM,
currently runs several of my daily-use services like Gitea, Searx, NTFY,
and more. Although the Raspberry Pi could theoretically handle these
services, its 2GB of RAM limited simultaneous operations.</p>
<p>One day, it hit me: why not use the Raspberry Pi for a simpler
project like a Wake-On-LAN (WOL) server? It requires minimal resources
and just needs to stay on and send WOL packets. The Raspberry Pi is
connected via Wi-Fi to the same network as my laptop. Normally, waking
up my laptop with WOL would require an Ethernet cable connection to the
router, but I connected one end to the Pi and the other to the
laptop.</p>
<p>I started with a simple shell script using etherwake, a command-line
tool to send WOL packets. After enabling WOL in my laptops BIOS and
confirming it on the OS using ethtool, I could easily wake my laptop
remotely using a Termux shortcut on my phone, which SSHed into the
Raspberry Pi to execute the etherwake command.</p>
<p>Though this setup worked perfectly fine, I wanted to make it even
better. Initially, the Raspberry Pi only ran SSH and executed a command
to wake my laptop. So it wasnt really a WOL server. After some
research, I found Flask and created an actual WOL server. This server
had routes, authentication, logging, rate limits, and more to ensure
robustness and security.</p>
<p>What makes my Flask-based server so cool is its dynamic nature. I can
configure a .env file with multiple device MAC addresses, allowing
numerous routes for different devices. For instance, I have
LAPTOP_MAC=“itsmac” and DESKTOP_MAC=“itsmac”, enabling me to wake them
via HTTP requests at /wol/laptop and /wol/desktop, respectively.</p>
<p>One open-source application that fits my use case is HTTP Shortcuts
from F-Droid. After configuring a specific route, I can turn it into a
widget on my home screen. This way, I can wake my laptop up with just a
tap! Plus, I use dynamic DNS, so my Pi is accessible from anywhere.</p>
<p><a href="/images/pic-selected-19-12-24_19-10-42.png">The projects
mascot</a><br /></p>
<p>I would suggest anyone to take a look at my projects repo and if
they find that it fits their needs, use the setupSingleBinary.sh script
to grab the latest executable. The repo is over at</p>
<p><a
href="https://git.konsthol.eu/konsthol/WOL-Ly">WOL-Ly</a><br /></p>
<p>
Years ago, some good friends of mine gifted me a Raspberry Pi 4 with 2GB of
RAM for my birthday. Its hands down the most thoughtful gift Ive ever
received, perfectly matching my hobbies. They were lucky to even find one
during the chip shortage! I initially used it as a VPN server with WireGuard
and played around with Pi-hole for network-wide ad blocking.
</p>
<p>
Eventually, I got into cloud computing and started hosting multiple services
on a VPS I rent from MVPS. This VPS, with its 4GB of RAM, currently runs
several of my daily-use services like Gitea, Searx, NTFY, and more. Although
the Raspberry Pi could theoretically handle these services, its 2GB of RAM
limited simultaneous operations.
</p>
<p>
One day, it hit me: why not use the Raspberry Pi for a simpler project like a
Wake-On-LAN (WOL) server? It requires minimal resources and just needs to stay
on and send WOL packets. The Raspberry Pi is connected via Wi-Fi to the same
network as my laptop. Normally, waking up my laptop with WOL would require an
Ethernet cable connection to the router, but I connected one end to the Pi and
the other to the laptop.
</p>
<p>
I started with a simple shell script using etherwake, a command-line tool to
send WOL packets. After enabling WOL in my laptops BIOS and confirming it on
the OS using ethtool, I could easily wake my laptop remotely using a Termux
shortcut on my phone, which SSHed into the Raspberry Pi to execute the
etherwake command.
</p>
<p>
Though this setup worked perfectly fine, I wanted to make it even better.
Initially, the Raspberry Pi only ran SSH and executed a command to wake my
laptop. So it wasnt really a WOL server. After some research, I found Flask
and created an actual WOL server. This server had routes, authentication,
logging, rate limits, and more to ensure robustness and security.
</p>
<p>
What makes my Flask-based server so cool is its dynamic nature. I can
configure a .env file with multiple device MAC addresses, allowing numerous
routes for different devices. For instance, I have LAPTOP_MAC=“itsmac” and
DESKTOP_MAC=“itsmac”, enabling me to wake them via HTTP requests at
/wol/laptop and /wol/desktop, respectively.
</p>
<p>
One open-source application that fits my use case is HTTP Shortcuts from
F-Droid. After configuring a specific route, I can turn it into a widget on my
home screen. This way, I can wake my laptop up with just a tap! Plus, I use
dynamic DNS, so my Pi is accessible from anywhere.
</p>
<p>
<a href="/images/pic-selected-19-12-24_19-10-42.png">The projects mascot</a
><br />
</p>
<p>
I would suggest anyone to take a look at my projects repo and if they find
that it fits their needs, use the setupSingleBinary.sh script to grab the
latest executable. The repo is over at
</p>
<p><a href="https://git.konsthol.eu/konsthol/WOL-Ly">WOL-Ly</a><br /></p>
<p><a href="..">..</a></p>]]></description>
</item>
@@ -71,30 +85,41 @@ href="https://git.konsthol.eu/konsthol/WOL-Ly">WOL-Ly</a><br /></p>
<p>DATE: Sat 25 Feb 2023 22:42 By: konsthol@pm.me</p>
</blockquote>
<h1 id="webcall">WebCall</h1>
<p>One of the simplest ways to host a “telephony” service is to use
webcall.</p>
<p>Like with emails, you can use any webcall server to communicate with
any other webcall server. Meaning that if for example you register a
number with https://timur.mobi/ which is the default public server you
can still make a call to someone who has registered a number with
https://talk.konsthol.eu if you know their number by replacing the
server address field in the dialpad icon.</p>
<p>All calls are encrypted and the server does not have access to the
content of the calls. That is because the server uses webrtc and tries
to make peer to peer connections.</p>
<p>There is also an integrated TURN server which is used if the peers
cant connect directly but if the connection is made though that then no
video transmission is possible. I suspect that this is a limitation of
the TURN server used in webcall because in jitsi meet which uses coturn
instead of pion, it is always possible.</p>
<p>Another differentiation of the two services is that in webcall no
more than 2 people can join a conversation, which is more similar to how
a regular telephone call behaves.</p>
<p>Also there is currently no functionality to block a number as far as
I can see but it should be fairly easy to figure out the public ip
address and block it like that.</p>
<p>You should give it a shot and see if it works for you. The source
code is at a link over at</p>
<p>One of the simplest ways to host a “telephony” service is to use webcall.</p>
<p>
Like with emails, you can use any webcall server to communicate with any other
webcall server. Meaning that if for example you register a number with
https://timur.mobi/ which is the default public server you can still make a
call to someone who has registered a number with https://talk.konsthol.eu if
you know their number by replacing the server address field in the dialpad
icon.
</p>
<p>
All calls are encrypted and the server does not have access to the content of
the calls. That is because the server uses webrtc and tries to make peer to
peer connections.
</p>
<p>
There is also an integrated TURN server which is used if the peers cant
connect directly but if the connection is made though that then no video
transmission is possible. I suspect that this is a limitation of the TURN
server used in webcall because in jitsi meet which uses coturn instead of
pion, it is always possible.
</p>
<p>
Another differentiation of the two services is that in webcall no more than 2
people can join a conversation, which is more similar to how a regular
telephone call behaves.
</p>
<p>
Also there is currently no functionality to block a number as far as I can see
but it should be fairly easy to figure out the public ip address and block it
like that.
</p>
<p>
You should give it a shot and see if it works for you. The source code is at a
link over at
</p>
<p><a href="https://timur.mobi">https://timur.mobi</a></p>
<p><a href="..">..</a></p>]]></description>
</item>
@@ -107,30 +132,40 @@ code is at a link over at</p>
<description><![CDATA[<blockquote>
<p>DATE: Wed 17 Aug 2022 00:09 By: konsthol@pm.me</p>
</blockquote>
<h1 id="wpgtk-is-just-more-convenient">wpgtk is just more
convenient</h1>
<p>Pywal is a simple KISS principled python application that extracts
colors from an image and creates a color pallete to theme different
programs</p>
<p>By default there are some templates that are stored in its .cache
directory and there is an option to create new templates in its .config
directory.</p>
<p>I found it to be simpler to create every template with wpgtk and
store it in its templates folder in .config because there it also
utilizes symlinks to its respective files and thus you can have every
programs file to manage in one place.</p>
<p>Moreover wpgtk conveniently stores each created colorscheme in a
schemes folder in .config and along with that every wallpaper used as a
symlink to the actual wallpaper in a wallpapers folder.</p>
<p>It also has a gui interface but I never really found a use for it as
one can easily perform every needed action using just the cli.</p>
<p>After creating a script to be run after every use of the program to
theme application that need third party scripts like telegram and
qutebrowser the process of switching colorschemes on the fly becomes
easy as pie and fast as fuck 🤫</p>
<p>Just give it a shot! Maybe Ill upload my postWPG script in my gitea
instance sometime soon and create an actual tutorial on how to use
wpgtk</p>
<h1 id="wpgtk-is-just-more-convenient">wpgtk is just more convenient</h1>
<p>
Pywal is a simple KISS principled python application that extracts colors from
an image and creates a color pallete to theme different programs
</p>
<p>
By default there are some templates that are stored in its .cache directory
and there is an option to create new templates in its .config directory.
</p>
<p>
I found it to be simpler to create every template with wpgtk and store it in
its templates folder in .config because there it also utilizes symlinks to its
respective files and thus you can have every programs file to manage in one
place.
</p>
<p>
Moreover wpgtk conveniently stores each created colorscheme in a schemes
folder in .config and along with that every wallpaper used as a symlink to the
actual wallpaper in a wallpapers folder.
</p>
<p>
It also has a gui interface but I never really found a use for it as one can
easily perform every needed action using just the cli.
</p>
<p>
After creating a script to be run after every use of the program to theme
application that need third party scripts like telegram and qutebrowser the
process of switching colorschemes on the fly becomes easy as pie and fast as
fuck 🤫
</p>
<p>
Just give it a shot! Maybe Ill upload my postWPG script in my gitea instance
sometime soon and create an actual tutorial on how to use wpgtk
</p>
<p><a href="..">..</a></p>]]></description>
</item>
@@ -143,32 +178,40 @@ wpgtk</p>
<p>DATE: Sun 12 Sep 2021 00:53 By: konsthol@pm.me</p>
</blockquote>
<h1 id="awesome-file-sharing-tool">Awesome file sharing tool</h1>
<p>Croc is one of the best easy to use file sharing cli tools I came
across and only recently discovered how easy it can be to self host your
own relay.</p>
<p>Croc as far as I understand needs an intermediary to staple as it
says the connection between two computers. If I grasp the concept
correctly if two computers can both connect to a third one then a
connection between them can be established. The files sent over dont
get first uploaded to the third one and then downloaded to the second
but somehow get uploaded and downloaded simultaneously.</p>
<p>Ill have to further read about that but in short if you have a
computer like a server with a static ip that is easily accessible from
the internet then because of the great job the author did you can host a
relay simply by typing the command</p>
<p>
Croc is one of the best easy to use file sharing cli tools I came across and
only recently discovered how easy it can be to self host your own relay.
</p>
<p>
Croc as far as I understand needs an intermediary to staple as it says the
connection between two computers. If I grasp the concept correctly if two
computers can both connect to a third one then a connection between them can
be established. The files sent over dont get first uploaded to the third one
and then downloaded to the second but somehow get uploaded and downloaded
simultaneously.
</p>
<p>
Ill have to further read about that but in short if you have a computer like
a server with a static ip that is easily accessible from the internet then
because of the great job the author did you can host a relay simply by typing
the command
</p>
<blockquote>
<p>croc relay</p>
</blockquote>
<p>which will by default use the ports 9009-9013 but you can specify
your own with the ports arguement like</p>
<p>
which will by default use the ports 9009-9013 but you can specify your own
with the ports arguement like
</p>
<blockquote>
<p>croc relay ports 1111,1112</p>
</blockquote>
<p>Then if you make that into a systemd service (which I wont be
covering just yet cause I dont really understand them and only make
them by copy pasting basic templates 😐) its basically a set and forget
kind of thing and you can now send files to anyone in any operating
system by using croc by typing</p>
<p>
Then if you make that into a systemd service (which I wont be covering just
yet cause I dont really understand them and only make them by copy pasting
basic templates 😐) its basically a set and forget kind of thing and you can
now send files to anyone in any operating system by using croc by typing
</p>
<blockquote>
<p>croc relay “your.domain:9009” send [file]</p>
</blockquote>
@@ -176,13 +219,18 @@ system by using croc by typing</p>
<blockquote>
<p>croc relay “your.domain:9009” [code]</p>
</blockquote>
<p>This is super useful cause there was a time when the public instance
was down and I couldnt send files when it was just so easy to not be
dependent on the public instance in the first place.</p>
<p>You should definetely read more about it on Crocs github page and
set up your own relay asap 😎</p>
<p><a
href="https://github.com/schollz/croc">https://github.com/schollz/croc</a></p>
<p>
This is super useful cause there was a time when the public instance was down
and I couldnt send files when it was just so easy to not be dependent on the
public instance in the first place.
</p>
<p>
You should definetely read more about it on Crocs github page and set up your
own relay asap 😎
</p>
<p>
<a href="https://github.com/schollz/croc">https://github.com/schollz/croc</a>
</p>
<p><a href="..">..</a></p>]]></description>
</item>

View File

@@ -30,12 +30,13 @@
</head>
<body>
<section>
<h1 id="they-were-extracted-from-this-image">They were extracted from
this image</h1>
<p><a href="../images/background.jpg">My Wallpaper</a><br /></p>
<h1 id="they-were-extracted-from-this-image">
They were extracted from this image
</h1>
<p><img src="/images/background.jpg" style="width:1000px; height:800px;"><br />My Wallpaper<br /><br /></p>
<p><a href="..">..</a></p>
<footer>
<a id="gemyo" href="gemini://konsthol.eu/"><img src="/images/best_viewed_on_gemini.png" /></a>
<a id="gemyo" href="gemini://konsthol.eu/"><img src="/images/best_viewed_on_gemini.png" /><br /></a>
</footer>
</section>