Hey There, 👋

This Journal helps me share my thoughts and experiences on the world of technology. So, it is a mixtue of my Tech Notes, Random Thoughts and things I find cool. If you find it interesting, you can follow along.

Wireguard Split Tunelling

Enable Selectively 1. Wireguard Config # /etc/wireguard/wg0.conf # local settings for Endpoint A [Interface] PrivateKey = AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEE= # omit the Address, DNS, MTU, Table, and Pre/PostUp/Down settings # Address = 10.0.0.1/32 ListenPort = 51821 # remote settings for Host β [Peer] PublicKey = fE/wdxzl0klVp/IR8UcaoGUMjqaWi3jAd7KzHKFS6Ds= Endpoint = 203.0.113.2:51822 AllowedIPs = 0.0.0.0/0 Creating and configuring Namespace # Create a new network namespace named pvt-net1 sudo ip netns add pvt-net1 # Enable the loopback interface inside pvt-net1 sudo ip -n pvt-net1 link set lo up # Create an empty WireGuard interface wg0 in the namespace sudo ip -n pvt-net1 link create wg0 type wireguard # Apply your WireGuard configuration file to wg0 sudo ip netns exec pvt-net1 wg setconf wg0 /etc/wireguard/wg0.conf # Assign the single-host IP 10.0.0.1/32 to wg0 sudo ip -n pvt-net1 address add 10.0.0.1/32 dev wg0 # Bring the wg0 interface up sudo ip -n pvt-net1 link set wg0 up # Route all traffic in the namespace through wg0 sudo ip -n pvt-net1 route add default dev wg0 Disabling Custom Netns ip netns pids pvt-net1 | sudo xargs -r kill sudo ip netns del pvt-net1 Note I currently cannot get disabling wireguard specifically for an app to work, i’ll add to this guide if I find a way ...

Boot ISOs Directly From Disk

GRUB (Recommended Approach) It is assumed that ISO images are stored in the /boot-isos directory on the same filesystem as GRUB. If stored elsewhere, you must prefix the path with device identification when using the loopback command, e.g.: loopback loop (hd1,2)$iso_path Explained in greater detail in this section Example GRUB Menu Entry Add the following to either: ESP/grub/grub.cfg, or /etc/grub.d/40_custom menuentry '[loopback]archlinux-2023.10.14-x86_64.iso' { set iso_path='/boot-isos/archlinux-2023.10.14-x86_64.iso' export iso_path search --set=root --file "$iso_path" loopback loop "$iso_path" root=(loop) configfile /boot/grub/loopback.cfg loopback --delete loop } Note (Fedora-specific): Fedora ISOs may fail to boot due to issues in setting volume labels when booting directly from ISO. Replace configfile /boot/grub/loopback.cfg with the following boot directives instead: ...

July 17, 2025 219 words 2 min

Checklist for My GSI/CROM

This is not a guide on how to install GSIs. This is basically a checklist for when I reinstall my gsi. So that, I don’t forget anything. 😄 Make Backup First Always Important NeoBackup After Installation, install the gsi module Make GSI RW Run debloat.sh Install G-Photos Module , Play Integrity Fork /Play Integrity Fix , Tricky Store , Tricky Store Addon List , Disable logd (Optional) Install NavTweaks Disable Notification Bubbles, disable show sensitive notif on lockscreen, check notification access, disable notification dots, disable Notification Light Disable Lift To Wake Display, change pm to bitwarden, disable sync for some accounts Disable Emergency Services, earthquake alerts and tracker alerts Disable PlayProtect and trust agents, and find my device Run uad-ng Run block trackers, prevent background operation and optimize dex

July 04, 2025 129 words 1 min

Making Windows Tolerable

Installing Windows is not about installing anymore. It is about disabling all the garbage, ads and tracking microsoft has put into windows. Even though I am a Linux user, I still sometimes have to use windows for university/helping someone. Here are some tweaks I always do while setting up a new system. Tweaks I found autounattend to be extremely helpful, you can disable all the telemetry in one place and auto crete accounts UnattendGenerator To Activate Windows, I use massgrave from powershell irm https://get.activated.win | iex Then I run the CTT utility which makes it easy to make essential changes and run O&O Shutup from one place. irm christitus.com/win | iex I mostly install Windows for MSOffice. I use Office Tool Plus to download office. I know you can also use Office Deployment Tool, but the benefit of OTP is that you can generate ISOs so you don’t have to download office again if installing on multiple computers.

July 04, 2025 158 words 1 min

Creating a New Entry in the Send To Menu

Linux For Thunar, the send to path is located at ~/.local/share/Thunar/sendto/ If you want to add a new entry, just make a new .desktop file in here. You can use %F and %f in exec argument to specify the path Windows Add entry to shell:sendto

Switching to MiniFlux (RSS)

Recently I have gotten into self hosting. I thought it would be expensive and difficult to set up, but I was wrong. You can still host a lot of stuff even on small (and free) ec2 instances! So, I hosted my own password manager and RSS feed. I’ll probably make a blog about password managers next! Getting back to the topic, For the people who don’t know what RSS is, it is a protocol which basically allows you to fetch blog content and read it in your own reader. You can also use it to aggregate your own sources of information instead of an algorithm choosing it for you. There are some Pros and Cons of getting your news this way but for me I prefer the algorithm-less experience. It allows me to choose what I want and not what some corporate overload has choosen for me. Moreover, I also found some diverse and interesting topics while searching for rss feeds 😉 and I learnt about ooh.directory which allowed me to find some really cool people. ...

June 19, 2025 270 words 2 min

Make GSI RW (For Ext4)

With TWRP/OFRP adb shell lptools resize product_a 335872 # Do not change this value lptools resize system_a 5368709120 #4617089843 or 5368709120 (4.3GB or 5GB system) With Fastbootd fastboot resize-logical-partition system_a 5368709120 #(For 5GB) Reboot Recovery/Fastbootd after this Flash product_gsi e2fsck -f /dev/block/by-name/system resize2fs /dev/block/by-name/system 5G e2fsck -E unshare_blocks /dev/block/by-name-system

February 07, 2024 49 words 1 min

Create Swapfile

Swapfile and swap-partitions are rarely used now-a-days. But they still have one major use case which is hibernation. Use the following Commands to create and enable swapfile Commands sudo fallocate -l 6G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile then change fstab (/etc/fstab) so it automatically mounts your swap file on startup /swapfile none swap sw 0 0 Afterward, check if your swap file is operating properly with htop. Swap can degrade SSD performance overtime so keep that in mind. ...

November 15, 2023 84 words 1 min

Using Fingerprint for Sudo Password

Typing sudo password again and again becomes very frustrating at times. But there is a solution to this madness. You can use fingerprint for this process. This post has been inspired by krdrag0n’s tweet. For Linux Debian/Ubuntu Based Distros Run sudo pam-auth-update And use the space bar to enable Fingerprint authentication in the dialog Arch Based Distros Install fprintd and imagemagick Note: Some devices may require a different fork of libfprint.See Here Enroll fingerprint with fprint-enroll Append these lines to /etc/pam.d/sudo auth required pam_env.so auth sufficient pam_fprintd.so auth sufficient pam_unix.so try_first_pass likeauth nullok auth required pam_deny.so For Mac Add auth sufficient pam_tid.so to /etc/pam.d/sudo

October 10, 2023 104 words 1 min

Useful Adb Commands

Backup Apks Get list of installed apps adb shell pm list packages -f -3 Fetch Apks of all Installed Apps for APP in $(adb shell pm list packages -3 -f) do adb pull $( echo ${APP} | sed "s/^package://" | sed "s/base.apk=/base.apk /").apk done Fetch Apk of One App adb pull /data/app/appFolderNameHere/base.apk app.apk Getting Partitions Imgs Backup adb pull /dev/block/by-name/SYSTEM system.img Restore adb push system.img /sdcard/ Then dd if=/sdcard/system.img of=/dev/block/by-name/SYSTEM Logcat adb logcat -v color ...

October 08, 2023 75 words 1 min