240 lines
9.4 KiB
XML
240 lines
9.4 KiB
XML
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
|
||
<channel>
|
||
<title>Konsthol</title>
|
||
<description>Konsthol's site</description>
|
||
<language>en-gb</language>
|
||
<link>https://konsthol.eu/rss.xml</link>
|
||
<atom:link href="https://konsthol.eu/rss.xml" rel="self" type="application/rss+xml"/>
|
||
|
||
<item>
|
||
<title>The magic of Wake-On-LAN</title>
|
||
<link>https://konsthol.eu/log/the_magic_of_wake_on_lan-19-12-2024.html</link>
|
||
<pubDate>Thu, 19 Dec 2024</pubDate>
|
||
<description><![CDATA[<blockquote>
|
||
<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. It’s hands down the most thoughtful gift I’ve 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 laptop’s 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 wasn’t 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 project’s mascot</a
|
||
><br />
|
||
</p>
|
||
<p>
|
||
I would suggest anyone to take a look at my project’s 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>
|
||
|
||
|
||
<item>
|
||
<title>WebCall</title>
|
||
<link>https://konsthol.eu/log/webcall-25-02-2023.html</link>
|
||
<pubDate>Sat, 25 Feb 2023</pubDate>
|
||
<description><![CDATA[<blockquote>
|
||
<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 can’t
|
||
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>
|
||
|
||
|
||
<item>
|
||
<title>wpgtk is just more convenient</title>
|
||
<link>https://konsthol.eu/log/choose_wpgtk_over_just_pywal-17-08-2022.html</link>
|
||
<pubDate>Wed, 17 Aug 2022</pubDate>
|
||
<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 program’s 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 I’ll 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>
|
||
|
||
|
||
<item>
|
||
<title>Awesome file sharing tool</title>
|
||
<link>https://konsthol.eu/log/easy_file_sharing-12-09-2021.html</link>
|
||
<pubDate>Sun, 12 Sep 2021</pubDate>
|
||
<description><![CDATA[<blockquote>
|
||
<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 don’t get first uploaded to the third one
|
||
and then downloaded to the second but somehow get uploaded and downloaded
|
||
simultaneously.
|
||
</p>
|
||
<p>
|
||
I’ll 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>
|
||
<blockquote>
|
||
<p>croc relay –ports 1111,1112</p>
|
||
</blockquote>
|
||
<p>
|
||
Then if you make that into a systemd service (which I won’t be covering just
|
||
yet cause I don’t really understand them and only make them by copy pasting
|
||
basic templates 😐) it’s 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>
|
||
<p>and the recipient can download it 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 couldn’t 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 Croc’s 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>
|
||
|
||
|
||
</channel>
|
||
</rss>
|