home.social

aaron ~# :blinkingcursor:

View on fosstodon.org
  1. Quick update about my Pixel Watch project

    Progress so far:

    • Wear OS and Android apps
    • Stable and reliable Bluetooth connection between these two
    • Basic Flask backend server
    • Postgresql for data persistence

    The Wear OS app runs the Bluetooth server to which the Android app connects to. After a lot of troubleshooting and testing, i've managed to make it work.

    Even though i'm not sure why. Google claims that the Wearable Data Layer API is the only communication one can use. They even explicitly state that you cannot open a low level socket.

    I will now start building my own wearable API via the existing Bluetooth implementation. I'm very proud of the progress so far. I wasn't sure if this project will be possible.

    I will also try to reproduce the setup process so that one can setup the watch without needing to install the official Pixel Watch app even once.

    #google #pixel #pixelwatch #bluetooth #api #googleplay #googleplayservices #wearable #coding #dev #backend #development #privacy

  2. Pixel Watch 2 - Privacy Preserving Setup

    I've been trying everything i could think of to make the watch work under GrapheneOS - Here is what i learned:

    • Unpairing the Watch means factory resetting it.
    • Every feature (literally everything) is google dependent (who would have thought.. i know)
    • Pairing with your phone requires the "Pixel Watch" -App to be installed on your main profile (not work, not private space) alongside Google Play Services. There's no way around.

    This is obviously unacceptable. So i did a bit of research and found a way that will not only be way more practical, it will also be private.

    First i created a second user on my Phone, installed Google Play Services and the pixel watch app on it, logged in with a newly created google account and completed the setup.

    I know some people use a chinese version of the WearOS app to bypass the google login. Since i don't want a chinese app to configure my watch, i didn't even try that.

    After the watch was set up, i continued and:

    • Deleted the user profile from which i connected the Watch
    • Enabled wireless debugging
    • Debloated the watch as good as possible (i will have to root the watch in the future to properly do it)
    • Removed the Google account in the settings
    • Cleared all Bluetooth preferences
    • Enabled Bluetooth discovery
    • Installed KDE Connect on it (not meant for WearOS but it does work barely)

    The watch is now in a state where i can use it daily.

    But i also want to make use of all those fancy quality-of-life features, like heartrate monitoring, sleep tracking and so on.

    Now comes the fun part.

    I've created a basic Kotlin project with both a mobile and WearOS app.

    I will implement features like:

    • Notification sync
    • Call notifications
    • Media Player Control
    • Weather (openweathermap)
    • Heartrate monitoring
    • Sleep tracking
    • Do not Distrurb Sync
    • Homelab integrations (Nextcloud, Immich, Uptime Kuma, ..)
    • And much more ..

    The goal is to keep the watch offline, let the phone do the heavy lifting and communicate with a selfhosted database. I may even add a frontend and an API so people can integrate it for their needs.

    Sounds good but why don't you just buy an #opensource #smartwatch like the #pinetime - You may ask.

    Because as much as i hate to admit it, i love the design, the look and feel of the pixel watch. And i'm sure that i'm not the only one.

    I also bought this one cheap for around 120€ #refurbished. So the value i can get out of it seems pretty good to me.

    So much for today. I haven't even started tackling the Bluetooth connection yet 😅. Let's see how that turns out

    I have added a poll to this post to see how many people would be interested in a setup like this. Please let me know if you have any suggestions, ideas or expertise in that regard.

    Cheers.

    #privacy #security #android #google #pixel #pixelwatch #degoogle #degoogling #degoogled #adb #rooting #grapheneos #smartwatch #development #wearos #bluetooth #qualityoflife #GooglePlay #GooglePlayServices #frontend #api #selfhosting #selfhosted #homelab #opensource

  3. I just bought a #refurbished #Google #Pixelwatch2 to try to build my own "Pixel Watch" companion app. Can i make the Pixel Watch 2 work with faked API's? How much can i improve the privacy ? So many ideas. That will be a fun project!

    Let's see how that will go.

    #privacy #surveillance #google #pixel #foss

  4. #GamesOnWhales is by far the coolest thing i've set up in 2025. I have an #AMD #Radeon RX 9060 XT, 48GB of ram and a #Ryzen 5 in there. Being able to build custom desktops using #Docker and use them without any latency is AWESOME! Now i can play games on my #thinkpad, spin up various different desktops for any usecase, or use my #kalilinux desktop from whatever device i want to. I can even play #Cyberpunk on my #AndroidTV. I have no words to describe how much i love this 😁

    #gaming #docker #gow #gamesonwhales #cloudgaming #cloudcomputing #selfhosting #selfhosted #homelab

  5. This makes perfect sense, right?

    Excluding a process from windows defender will be detected.

    Excluding a process and a path from windows defender won't.

    (this is windows 10 on it's last security update)

    #windows #windows10 #windowsdefender

  6. #ChatControl is over and i can't believe that shit was actually threatening our privacy. Kind of surreal this was a thing.

    #privacy #PrivacyIsARight

  7. I love improving my #homelab. I installed the #docker-socket-proxy to allow #UptimeKuma to access the #Docker #sockets of all my #VMs in a secure manner. The advantage by doing so is that i can now monitor every service including the ones that don't expose a port like #watchtower. And i can also restrict access to given functionalities.

    #selfhosting #homelabs #security #monitoring #uptime #docker #linux #server

  8. Making the most out of a small LLM

    Yesterday i finally built my own #AI #server. I had a spare #Nvidia RTX 2070 with 8GB of #VRAM laying around and wanted to do this for a long time.

    The problem is that most #LLMs need a lot of VRAM and i don't want to buy another #GPU just to host my own AI. Then i came across #gemma3 and #qwen3. Both of these are amazing #quantized models with stunning reasoning given that they need so less resources.

    I chose huihui_ai/qwen3-abliterated:14b since it supports #deepthinking, #toolcalling and is pretty unrestricted. After some testing i noticed that the 8b model performs even better than the 14b variant with drastically better performance. I can't make out any quality loss there to be honest. The 14b model sneaked in chinese characters into the response very often. The 8b model on the other hand doesn't.

    Now i've got a very fast model with amazing reasoning (even in German) and tool calling support. The only thing left to improve is knowledge. #Firecrawl is a great tool for #webscraping and as soon as i implemented websearching, the setup was complete. At least i thought it was.

    I want to make the most out of this LLM and therefore my next step is to implement a basic #webserver that exposes the same #API #endpoints as #ollama so that everywhere ollama is supported, i can point it to my python script instead. This way it feels like the model is way more capable than it actually is. I can use these advanced features everywhere without being bound to it's actual knowledge.

    To improve this setup even more i will likely switch to a #mixture_of_experts architecture soon. This project is a lot of fun and i can't wait to integrate it into my homelab.

    #homelab #selfhosting #privacy #ai #llm #largelanguagemodels #coding #developement

  9. I was today years old when i realized that #Obsidian is absolutely #overpowered when it comes to creating a #resume. Using #HTML, #CSS and #Markdown gives me so much more flexibility.

    #productivity

  10. Managing #OpenWRT via #Ansible is a breeze. I just love the fact that all the settings, all the #firewall rules, all the good stuff is configured with config files.

    I've created 6 #VLANs, all of them completely #isolated, with a few allowed traffic rules. I've even isolated the #Windows #PC of my roommate inside of the #trusted #network.

    Now his #XiaomiTVBox can't scan the network anymore (yes it actually does that. I've noticed it while working on my packet monitoring project).

    #networking #subnetting #subnet #homelab #selfhosting #openwrt #privacy #security #vlan #isolation #dmz

  11. Yesterday i worked on #IPv6 support on my #openwrt #router. Splitting the IPv6-PD into my 6 interfaces felt like rocket sience since i never had to actually understand IPv6. Customizing the #ULA to include the interface ID and custom prefix wasn't easier either.

    But hey, it's working now and it's definitely worth learning. As soon as that's done i'm gonna work on my #packet #monitoring service again because this time i can #deploy it directly on my router and ban abusive IP's #network wide.

  12. It took a bit of trial and error but i finally got the #tor routing to work properly without any dns leaks. This is probably the coolest #AccessPoint around.

    #openwrt #tornetwork #proxy #privacy

  13. #OpenWRT on a #Fritzbox is kinda pain since there are so many things i could technically do if the fritzbox had more powerful hardware. Can't wait to build my own router.

    A #Fujitsu #Thinclient S920 would be a perfect fit and is also cheap as hell.

    More powerful hardware would allow me to take advantage of #tor #routing, local #tailscale resolving, #adblocking and much more. Maybe even some #docker #containers like #caddy.

    #OpenWRT is a real #gamechanger for my #homenetwork.

    #homelab #selfhosting #opensource #freeandopensource #network #networking #firewall

  14. #OpenWRT is such a valuable learning experience. I'm able to test it, learn how it works and will definitely buy a #OpenWRTOne

  15. I made a small break from the #network monitor to focus on my #youtube #music downloader and if there's one thing i can say it's that youtube is fucked up. The same playlist can return different videos (which happens a lot of times). Also reliable metadata searching is a pain in the ass. For 100% reliable metadata searching you have to strip the video title down, remove any fragments that don't belong in the original title, normalize it and then compare it against a normalized, lowercase version of the metadata search result.

    #developement #coding #go #golang

  16. Today i've nearly finished the transition to #Vue.

    Next steps are adding more #API #endpoints, implementing the pages in the #frontend and finally #dockerizing and publishing it 🔥

    #coding #developement #docker #linux #sysadmin #selfhosting #homelab #homeserver #server

  17. I tried #vuejs today and decided to use it for my project. #PrimeVue has some really handy components which match my usecase perfectly. A #javascript #uiframework is such a gamechanger.

  18. I realized that i need to separate the #frontend and #backend. I'm glad i didn't do a lot of work on the frontend yet. I will probably go with #react. Since the dashboard will display a lot of informations, which must update live, a #uiframework becomes necessary.

    #developing #developement #coding #webdevelopment

  19. I made so much progress yesterday. I've completely restructured the #codebase, improved the #performance, added logging with loglevels, and worked a bit on the webui. I still have a lot of work to do, but the project is a lot of fun and i really want to realize this. Can't wait to release the first alpha version. Who knows, maybe this becomes a cool community project. It will be extensible and flexible, so that might be realistic.

    #coding #developement #go #security #homelab #selfhosting #opensource #freeandopensource

  20. This is just beautiful. The project uses #MariaDB to store all the collected data. It makes heavy use of #API endpoints which will be a top priority not only for the internal workings. My focus mostly lies in making this as flexible as possible so people can configure it exactly as they need it. Configuration will be in #yaml.

    What i got so far is:

    • packet capturing (from client, sent to the control server)
    • a webhook (which will be a drop-in replacement for #Discord's since a lot of services support sending logs to discord webhooks)

    What's planned:

    • Log file monitoring (like #Fail2Ban, but more advanced and easier to configure)
    • A fully featured dashboard which visualizes the data and gives you control and a transparent overview of your network activity.
    • IP banning (multiple ways to make it flexible)
    • Maybe even some advanced responses (like reporting all ports as open for nmap scans)

    I would be very interested to know what you think. Ideas, criticism and questions are very welcome. As soon as the base is working, i will push it to #Github.

    #developement #coding #sideproject #homelab #security #networking #monitoring #xdr

  21. I wanted to block #IP addresses based on some informations. So i started a small #Go #project to capture #packets. This quickly turned into more. I guess this becomes some kind of #XDR?

    Clients capture packets, send these to the server, which stores them in a #database. This data is visualized on the dashboard. I'll also add controls to block ip's based on #regex, country and #abuseipdb score. This will be a fun project!

  22. I finally finished my #Fail2Ban setup and am quite happy with the result. I've got #discord and #email notifications, global IP banning (on all servers) and automatic reporting to #abuseipdb based on multiple factors. This is awesome.

    I'm so happy that i took the time to set up #Authelia as it's a breeze to #protect a single #endpoint and cover 70-80% of all services.

    #homelab #selfhosting #linux #security #sso #oidc #OpenIDConnect

  23. I came across the #Fail2Ban #docker image from #linuxserverio and thought to myself that it's finally time to set up Fail2Ban. I admit i never used it before and it was a bit difficult to add it to my #playbook as all of my #servers have different services and therefore different #logfile paths, but that's nothing #jinja #templating can't fix.

    Now that i've got #Discord notifications for banned #IPs, it's time to work on actual #IPblocking. I also want to use the #IPComplaint and #AbuseIPDB actions as i really like the idea of reporting abuse (even though i have no idea how effective that may be).

    I may also want to replace the discord #webhook with #email notifications later as that's mostly the reason i've set up a #mailserver ( #stalwart ) in the first place.

    I mean, most of my services are only accessible from #tailscale or my #homenetwork, but since #Ansible makes it so much easier to apply higher standards, i just can't resist. My #homelab is changing every day and i think setting up additional #security, even though i don't need it yet, is never a bad idea.

    #networking #badactors #firewall #automation #linux #selfhosting #homeserver

  24. I love #voidlinux so much. It really is like the #archlinux learning experience. #Void is fast, customizable and last but not least stable. I don't have to fear breakage when updating. I've always enjoyed #arch for the learning process and the #customizability and void gives me exactly that.

    #linux #unix

  25. Installing #VoidLinux is one thing, but documenting it is key. I'm working on #dracut hooks to automatically create and sign the #unifiedkernelimage. I've already done #FullDiskEncryption (including /boot)

    The best thing is that i can lookup most of the stuff on the #ArchLinux #wiki (except #systemd stuff). I like #runit, though i'm not used to it yet.

    I can also fix or reinstall the OS how much i want because of my separate /home partition. This level of customization and control is so cool.

    I'm already excited to #automate the base system installation using #Ansible.

    #linux #unix #void #customization #secureboot #automation

  26. #VoidLinux is great. It's a #diy #distro and therefore very #customizable, but also stable and very intuitive.

    I'm setting it up via #Ansible and will then do a fluent switch to it as soon as the #playbook is done. Can't wait to #dailydrive it. I've also read multiple times that the gaming performance is very good.

    What i like the most is that

    • xbps is really fast
    • there are a lot of packages in the repo
    • the packages are reasonably up-to-date
    • the nvidia driver installation is very easy
    • the overall performance is stunning

    #linux #unix #customization #customizability #void

  27. Just finished some testing on #VoidLinux and i'm pretty impressed. It feels like using #ArchLinux, still it's different. The documentation is really good and i've successfully tested everything i needed, like #printerdriver, #apparmor and #nvidia drivers. #XBPS is really fast and intuitive. This might really well be my next distro.

    #linux #unix #void #arch

  28. I'm having continuous problems with #Fedora. It started on #Fedora41 with internet problems (couldn't connect to my network neither using wifi or lan). I then tried to install #Fedora42 from liveusb where the installer just froze every time.

    I chose to install Fedora 41, and then upgrade to Fedora 42 from the software center. That did work but next day connectivity issues reappeared. I want to switch.

  29. #Automating the installation of #ArchLinux was as easy as expected. Since the #arch installation media has an #ssh server installed, i can just copy the user_configuration.json and user_credentials.json and call archinstall with the --silent parameter like this archinstall --silent --config /root/user_configuration.json --creds /root/user_credentials.json.

    #automation #ansible #linux #customization

  30. I started working on #hyprland yesterday and i LOVE the special workspaces. They are so useful for stuff like #keepassxc. A #tilingwindowmanager on a #laptop is just the #goldstandard for me.

  31. My favorite pentesting setup.

    Today i'm setting up the #KaliLinux #Docker #container for my #ansible #playbook. This setup has some pretty cool advantages for me.

    I can:

    • access the shell and files using #SSH and #SFTP.
    • customize the installation to the fullest extend using the #Dockerfile.
    • easily route the #networktraffic through a #vpn using #gluetun.
    • reproduce the setup (i love Docker).
    • use GUI apps from that container using X11Forwarding or by installing a #vnc server.

    This has been my favorite #pentesting setup so far for obvious reasons. I can access a fully configured pentesting environment on all my devices, always accessible and ready to go.

    In case anyone is interested in the setup, it will be included in my ansible playbook, which will be published on this repository.

    #automation #linux #hacking #x11 #homelab #selfhosting

  32. Today i've learned that i don't need coder. I am now deploying an #ubuntu container from a #Dockerfile with an #openssh #server installed. This is a much better setup. Nearly every #Codeeditor supports #ssh workspaces so i'm not limited.

    But the best thing about this setup is that it is very easy to automate using #Ansible.

    I've used the same approach to set up #kali #linux environments months ago and should have stuck with that. It just works.

    #clouddevelopment #clouddeveloperenvironments #docker #programming #coding #selfhosting #homelab #automation #coder

  33. I'll also switch from #NginxProxyManager to #caddy, set up #paperlessngx, and customize my desktops to my liking (package selection, configuration and dotfiles)

  34. I completely misunderstood #wildcarddnsrecords. I thought that you cannot create any more dns records if you create a #wildcard. Turns out, you can.

    This made me rethink my dns setup completely. I previously used *.in.my.domain and *.ex.my.domain for that.

    Now i've way cleaner subdomains. What a difference just because i didn't read carefully. #idiotic

  35. Finally finished my #authelia setup yesterday. #SSO is amazing. Strong #password + #2FA everywhere just feels right.

    Not only that, but you can also configure #AccessControls and trusted #IPRanges.

    Since i'm not the only user on my #server, having fine-grained control is very welcome.

    #security #linux #homelab #selfhosting

  36. Im looking to buy a new #domain exclusively for my #mailserver. Anyone got suggestions for the domain extension? I was already looking at the .email extension.
    #email #domains #homelab #selfhosting #suggestions #askingforadvice

  37. @techviator Big fan of disposable browsers. Been using the mullvad-browser image from #linuxserverio for some time now and love it. It's very useful in certain situations.

  38. I've looked into #vanillaos a while back ago. I found the concept so cool but wanted to wait until the os is a bit more finished. Now, watching the latest video from #TheLinuxExperiment, i'm really considering to switch.

  39. I really like to do #devlogs, so here is one:
    I implemented a lot of things in my blog the last couple of days.
    From generating an #rssfeed, listing my #github projects in a #serverside fetched view, to the Onion-Location header used by #brave to tell users that there's an #onionservice available. I've also #dockerized it. It looks like it's not gonna take too much time until i can finally publish it.

  40. Over the time i realized that #meditating is not bound to rules. I often found myself doing it exactly as shown, which is not the point. Meditating is free (as in freedom). Take your time, relax, focus on something (breathing, body parts, etc..), and try to hold onto the moment.

    #meditate #focus #mentalhealth #health

  41. Any #nixos user who could answer me this question?

    If i setup nixos on my laptop, with luks #fulldiskencryption and copy the config file to my workstation, is that gonna work? I'm asking because luks has a unique id and stuff like that. Thanks in advance.

  42. Also, #pikvm is something i really need. That way, i could use #fulldiskencryption on my server and still be able to reboot it or change #bios settings even when i'm not at home.