A few years ago I used to work with arduino’s a lot. I made a lot of projects with them and I learned a lot about electronics and programming. Mostly using the ESP8266.
It uses the TM1638 display to show the amount of followers on your instagram account. It uses a HTTPClient to get the data from the instagram API. It also uses the ESP8266WiFi library to connect to the internet.
A link to the repo can be found here
Uptime Kuma is an easy-to-use self-hosted monitoring tool hosted on Github. It allows you to monitor your servers and websites and send you notifications when they go down. It also allows you to monitor your websites and servers from a web interface. It is very easy to setup and use and I will show you how to setup and use it in this article.
According to the Github page you can install Uptime Kuma via docker or via npm. I will show you how to install it via docker.
Assuming you have docker installed on your server you can install Uptime Kuma by running the following command:
docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1
Once the container is running you can access the web interface by going to http://your-server-ip:3001
I use Kuma to monitor my servers (VPN, DNS, Webserver, etc). I have created a status page for some of my servers and it looks like this:
During my first year of college I had to make a project for a course called “Programming 3”. The project consisted of 3 tools
please note that the tools use dutch for comments and variable names and I offer no warennty that the code is correct or that it will work, the code is provided as is.
Source code: Github
The report generated by the tool looked like this. Each line in the report represents a city and the amount of streets in that city and the total length of all the streets in that city. For example the first line in the report says that there are 123 streets in the city of Aartselaar and the total length of all the streets is 72874,92m, the shortest street is 64,37m and the longest street is 6185,23m
The full report can be found here: rapport.txt
Not much to say about this tool, it just reads the CSV files and writes the data to a database. sqlserver was used as the database.
The CLI application had the following options
in the following image we will query the database for all the streets named Dorpstraat
The weather app is a simple weather app that shows the weather of a city or it will try to get the weather of your current location. Mainly written in html and js. The data is obtained from here and is used to gather the weather data. Gps data is obtained by using navigator.geolocation.getCurrentPosition().
A friend of mine recently asked me if I could help him acquire a RTX 4090. I decided to build a web scraper that would check the stock of a GPU and send a notification to a discord channel using a webhook. The web scraper is written in python and uses the requests library to get the html of the website and the BeautifulSoup library to parse the html. Once the HTML is parsed the script checks if the GPU is in stock using elements in the dom tree. If the GPU is in stock the script sends a notification to a discord channel using a webhook. The web scraper is hosted on a server and is run every 5 minutes using a cron job. The web scraper is run every 5 minutes to prevent the website from blocking the IP address of the server.
The location of the server was chosen based on the location of the website that is being scraped. The website is hosted in the UK so the server is hosted in the UK (London) as well.
The source code can be found here
Another example of a web scraper that I made can be found here It checks the stock of a website that sells servers.
This is the discord channel that the bot would post in if it found any stock, it would tag the role @everyone so everyone would get a notification. The bot would post a message every 5 minutes if the GPU was in stock. The bot would stop posting once the GPU was out of stock.
And after ordering and waiting a few days, the GPU arrived.
A HackRF is a software-defined radio (SDR) device that allows users to receive, transmit, and modify a wide range of radio frequencies. It is essentially a tool that enables individuals to experiment with and learn about wireless communication technologies. In the following example you will see an example of how to use the HackRF to open a garage door. Keep in mind that this is a proof of concept and should not be used to open garage doors without the owners permission.
A replay attack, on the other hand, is a type of cyber attack that involves the interception and playback of data that was previously transmitted between two devices. In this attack, a malicious actor captures a message that was sent between two devices (such as a key fob and a car), and then replays that message in an attempt to trick the receiving device into thinking that the original sender is sending the message again.
Assuming that the garage door opener uses a rolling code, we can use the HackRF to capture the signal and replay it to open the garage door. The following example will show you how to do this. The first step is to capture the signal. To do this we will use the hackrf_transfer utility. This utility allows us to capture and replay signals. The following command will capture the signal and save it to a file called capture.bin. The -f flag is used to set the frequency, the -s flag is used to set the sample rate, the -a flag is used to set the antenna, the -l flag is used to set the lna gain and the -g flag is used to set the vga gain.
To capture the signal we will use the following command:
hackrf_transfer -r capture.bin -f 433920000 -s 2500000 -a 1 -l 40 -g 40
To replay the signal we will use the following command:
hackrf_transfer -t capture.bin -f 433920000 -s 2500000 -a 1 -l 40 -g 40
In the following video you will see a script that will exectute the second command which replays the signal. The hackRF is the device on the Left, please note that this is a HackRF one with the portapack module.
I have al lot of servers and I use a lot of hosting providers. I have a lot of experience with a lot of providers and I will list some of my personal favorites. I will also list some of the providers I have used in the past and why I don’t use them anymore.
This list is not in any particular order and will be updated from time to time.
Last Updated: 22 March 2023
For a list of server hardware I use, and some of the projects I selfhost check out my server hardware post.
[NEW]
I build stock checkers for providers like Crunchbits since their products can often go out of stock quickly. Check out my source code for a Crunchbits stock checker on my Github.
Over the years I have played League Of Legends on multiple accounts. I have always wanted to have a tool that would allow me to manage my accounts. I have tried a few tools but none of them were to my liking. I decided to write my own tool that would allow me to manage my accounts and do some extra things. The tool is fully written in C#, I have released two versions of this program, one for public use and one for private use. The public version is available on Github and the private version will remain unreleased for now. The private version has a few extra features that I don’t want to share with the public but a few of the features are listed below.
This is a demo of the public released version of the program.
The private version has a few extra features that are not shown in this demo, these features only change the visual aspect of what someone see’s when they hover your profile, everything reverts back of the public released version of the progto normal after relogging.
Besides that I have added other features such as
Lookup is a website that allows you to lookup a League of Legends player and see the amount of games they have played on a champion. The website is written in python and uses the Riot Games API to get the data. The data is stored in a mongodb database and is can be updated manually or automatically. The website is hosted on a Hetzner server and is written in python using the flask framework. The idea came from the fact that I wanted to see how many games I had played on a champion and I couldn’t find a website that did that. I also wanted to learn how to use mongodb and flask so I decided to make a website that utilized both. The entire project is written and maintained by me since I started it in 2019.
Currently we have roughly 13 milion playeres tracked and 93 milion games in our database. The website is still in development and we are working on adding more features.
A lot of the endpoints are implemented in the backend but not in the frontend, but this will be added in the future some of them are listed below
This is my profile and can be used as an example.
The source code is not public.