add actual words
This commit is contained in:
@@ -31,35 +31,45 @@
|
||||
<body>
|
||||
<section>
|
||||
<blockquote>
|
||||
<p>DATE: Wed 17 Aug 2022 00:09 By: konsthol@pm.me</p>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
|
||||
@@ -31,52 +31,65 @@
|
||||
<body>
|
||||
<section>
|
||||
<blockquote>
|
||||
<p>DATE: Sun 12 Sep 2021 00:53 By: konsthol@pm.me</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 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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
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>
|
||||
<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>
|
||||
|
||||
@@ -31,58 +31,71 @@
|
||||
<body>
|
||||
<section>
|
||||
<blockquote>
|
||||
<p>DATE: Thu 19 Dec 2024 18:35 By: konsthol@pm.me</p>
|
||||
<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><img
|
||||
src="/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>
|
||||
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>
|
||||
<img src="/images/pic-selected-19-12-24_19-10-42.png"><br />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>
|
||||
<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>
|
||||
|
||||
@@ -31,37 +31,48 @@
|
||||
<body>
|
||||
<section>
|
||||
<blockquote>
|
||||
<p>DATE: Sat 25 Feb 2023 22:42 By: konsthol@pm.me</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
|
||||
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>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>
|
||||
<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>
|
||||
|
||||
Reference in New Issue
Block a user