Welcome
This site is automatically generated from a selection of my Joplin Notes using a Python script that can be found on my Gitea instance. The pages here are a living document of guides, tools and configurations that I use and expand on as my knowledge and workflows change. The majority of notes here are focused on SysAdmin, Self-Hosting, and IT systems, and their configuration and automation workflows.
If you have any comments, questions or are looking to hire a new IT Manager, you can contact me at: blog@zinchuk.xyz
~Yuriy
Quick Links
Last updated on September 01, 2024. For any questions/feedback, email me at blog@zinchuk.xyz.
Resume
Summary
10 years working in a variety of technology related positions; including research, budgeting, purchasing, implementation of new technology services, complete IT infrastructure overhaul,software development, and assisting staff with their day to day IT needs.
Git Links
Technologies Worked With
- Python, Autohotkey, Powershell, Bash, Excel VBA, Selenium
- Ubuntu, Arch Linux, pfsense, TrueNAS, Ubiquiti Unifi
- Windows Server, Windows 2000, Windows XP, Windows 10/11, Office365
- Proxmox, VMWare, Hyper-V
- Git Version Control, Docker, NGINX
- Zabbix, Prometheus, Grafana
Professional Achievements
- Completed Full IT Infrastructure Modernization & Overhaul for Paper Manufacturing Plant
- Led the comprehensive overhaul and upgrade of the organization’s entire IT infrastructure, including servers, switches and workstations, transitioning from ~12 year old legacy equipment
- Set up and Managed a 6-Node Proxmox Cluster with ~50 virtual machines running a mix of Windows and Linux-based systems, connected to ~20 VLANs
- Migrated Existing Legacy Infrastructure of Physical and Virtual (Hyper-V 2008/2012 and VMware ESXi 5/6), Windows 2000, 2003, XP, and Windows 7 systems to Proxmox
- Replaced undocumented flat network infrastructure with a VLAN-segregated architecture across entire site
- Set up Device Monitoring and Alerting for all Networked IT Equipment using Zabbix
- Documented the entire IT infrastructure from the ground up and successfully handed it over to the incoming IT Manager
Work History
Freelance Programmer
May 2024 - Present
- Working as part of a small self-managed team writing web automation software utilizing Git, Selenium, Autohotkey, Python, Powershell and modern AI tools.
IT Manager @ REDACTED (Paper Mill Manufacturing Plant)
2022 - May 2024
- Researched, Purchased and Setup servers, switches, workstations, virtual machines, and VOIP system
- Setup and Managed multi-node Proxmox Hypervisor Cluster, Proxmox Backup Server systems, and interconnecting 10Gb VLAN’d networking
- Managed Firewalls and Security rules for multiple segregated networks on the production floor
- Wrote Automation software in multiple scripting languages to automate IT processes and Production Floor workflows
- Provided on-call tech support to Business and Production Floor Teams
IT Manager @ REDACTED (Manufacturing + Retail Store Chain)
2021 - 2022
- Managed IT Infrastructure for 5 retail locations and 1 Manufacturing Plant
- Migrated entire infrastructure from Windows 7 to Windows 10
- Migrated company from Windows Server 2008 to Fedora Linux
- Wrote Automation Software to streamline POS processes
- Migrated company to modern ERP and website system, saving company ~$100K/year in legacy licensing costs
Multiple Positions @ REDACTED (Non-Profit)
2013 - 2021
- Managed employee interviewing, hiring, training, scheduling and day to day management,
- Managed Accounts Payable + Monthly reconciliation of accounts through the use of Sage Business Accounting Software
- Created and Managed an automated online time card system for out of office employees using Excel VBA + Google Sheets
- Managed Company Website, Social Media Pages, and monthly email/facebook newsletters
- Migrated Company Website to to new Management Framework
- Automated Inventory Ordering Processes using Autohotkey, Selenium and Excel VBA
- Assisted IT Manager with setting up workstations, printer configurations, and handling help desk tickets
Last updated on August 27, 2024. For any questions/feedback, email me at blog@zinchuk.xyz.
Contents
Click on a link in the list below to go to that page:
- Dell Wyse 5070 as Proxmox Node
- Home Automation with Zigbee and Node Red
- Homelab Topology Map
- Installing LineageOS on Google Pixel Tablet
- MeshCentral - Free, Open Source RDM
- Resume
- The Cost of Running a Home Lab
- Welcome
Dell Wyse 5070 as Proxmox Node
I got one of these little thin clients on ebay last year to use as a low power home media PC, but with the low specs it would struggle to play 1080p vidoes on Youtube/Plex/Jellyfin, and even at 720p would drop frames on a regular basis. I installed Proxmox on it to see how well it would handle being a hypervisor and it performs quite nicely for VMs that don’t need much resources. I set the Adguard Home and a couple other smaller virtual machines to Boot Linux into CLI by Default and it’s been chugging along for the last year or so without any issues.
Hardware
General
- Costs ~$60 on Ebay + $20 for a M.2 SSD
- 4 Core J4105 CPU @ 1.5Ghz
- Passively Cooled, No fan at all
- Supports up to 16GB RAM (2x8GB DDR4-2400)
- Supports 1xSATA M.2 SSD Drive as storage
- Runs at ~10 Watts
- Client can be configured to “Power On” on Power Restore through BIOS Options
- BIOS Password:
Fireport
- BIOS Password:
Pictures
Last updated on July 17, 2024. For any questions/feedback, email me at blog@zinchuk.xyz.
Home Automation with Zigbee and Node Red
There’s something incredibly futuristic feeling about opening your front door and having the lights turn on automatically, or walking out of the house and all the lights in the house turn off behind you. It reminds me of the science fiction books that i used to read as a kid that would talk about automatic houses that would do your chores for you and turn on/off as you walked into different rooms. Sadly there are no robots that will make my bed, unload the dishes from the dishwasher, or fold my laundry like in those science fiction books, so for now i have to be content with just automated lights and sensors.
Setup
My Home Automation deployment has gone through a couple iterations over the last 5-6 years. I originally started out with a Raspberry Pi 3B running Home Assistant OS with the Phoscon Conbee II ZigBee USB Gateway plugged into the USB port, with the Deconz and NodeRed addons installed. As my homelab grew and I setup a home server and started playing around with virtualization I decided to virtualize and migrate Home Assistant to a Docker container within my physical Unraid Server. That worked without issue as well for a couple of years until I virtualized my Unraid Server a few months back and brought my configuration to what it is now.
My current setup looks like this: My Phoscon Conbee II ZigBee USB is plugged into one of my Proxmox nodes and the USB device is passed through to my Unraid virtual machine. The USB device then gets passed through again to the deCONZ docker container which exposes an API for NodeRed and Home Assistant to connect to for device triggers/controls.
Automation Ideas
Some of my favorite automations:
Turn All Lights off When Leaving House
- Trigger: When Front Door Opened > Delay 15 Minutes > Ping Phone IP Address > If Ping is greater than 1000 (Node Red Ping Failed) > Turn All Lights Off
Dimming Lights in the Evening
- I have dimable + temperature adjustable zigbee bulbs and in the evening i have them automatically dim / change to a warmer temperature to help with maintaining a natural circadian rhythm.
Fingerbot for Pressing Physical Buttons
I bought one of these Zigbee Fingerbots Amazon Link a few months to control my AC Unit. It stores an internal ON/OFF variable within itself which makes it easy to check the status of my AC Unit and toggle it on/off based on that.
- Add Picture of node flow
NTFY Notifications
- Setup Directions: https://docs.ntfy.sh/examples/#node-red
Last updated on August 27, 2024. For any questions/feedback, email me at blog@zinchuk.xyz.
Homelab Topology Map
I’m a huge fan of self hosting. I love having full control of my data, privacy, and not being at the mercy of large provider’s whims/mistakes for my account and data’s continued existance.
Over the last 5 years I’ve slowly grown my home lab environment to host almost 2 dozen services that I use on a regular basis as a replacement for mainstream, often privacy invading services like Gmail, Google Photos, OneDrive, Spotify, Netflix and a handful of others.
All the services below are running as docker compose containers on Linux Based VMs, within a 3 node Proxmox Cluster, with the majority of services routed through NGINX Proxy Manager reverse proxy for SSL Certificates + Encryption. The services that I regularly use while i’m out and about are whitelisted to be reachable through WAN and everything else is LAN only, but reachable through a Wireguard VPN tunnel if needed.
Network Topology Map:
(Might take a few seconds to load depending on your connection speed) Draw.io File:SelfHostedServicesTopologyMap.drawio
Hardware
The Cost of Running a Home Lab#equipment
Services
Service | Description |
---|---|
pfSense | Firewall |
Wireguard | VPN Tunnel |
Adguard Home | DNS Level Adblocker + Internal DNS Resolver |
Adguard Home Sync | Synchronizes Adguard Home instances’ configurations |
NGINX Proxy Manager | Reverse Proxy + SSL Encryption for Services |
ntfy.sh | Push notification service |
Heimdall | Web Dashboard for quick links |
Radicale | CalDAV/CardDAV server |
Node-Red | flow editor for home automation |
Deconz | Zigbee Controller for Home Automation |
Syncthing | Continuous File Synchronization |
urBackup | Open Source Client/Server Backup Service |
Paperless-NGX | Document Management System |
Proxmox Backup Server | Deduplicating Proxmox VM Backups |
File Browser | Graphical File Browser for NAS |
Audiobookshelf | Audiobook & Podcast Server |
Jellyfin | Media Server |
Plex | Media Server |
Navidrome | Music Streaming Server |
Kavita | Ebook Server |
Immich | Self Hosted Google Photos Alternative |
To Do List
- Migrate from NGINX Proxy Manager to Caddy for Automatic SSL setup for new Docker services
- Setup Unifi + Prometheus + Unifi Poller for Visual Monitoring
- setup Crowdsec for crowd sourced host blacklisting
Last updated on August 27, 2024. For any questions/feedback, email me at blog@zinchuk.xyz.
Installing LineageOS on Google Pixel Tablet
The Google Pixel Tablet has to be one of the best tablets that i’ve owned to date. It is the best option out there if you’re looking for an inexpensive yet high quality 11“ tablet with official LineageOS support, fingerprint scanner, and great looking screen.
The other options in the market:
- Apple iPad: Running iPad OS, completely locked down and is a walled garden. No go for me
- Samsung Galaxy Tab: Limited Custom ROM support, and custom ROMs are usually unofficial from random people and hard to trust. I’ve owned the Galaxy Tab s4 (No LineageOS support at all), and Tab S6 Lite (ONE LineageOS based ROM from a community member, no fingerprint scanner, subpar screen)
- Generic Chinese Android Tablets: Limited custom ROM support if any, and the default system is most likely sending analytics about all your usage off to China
Unlocking the Bootloader
- The LineageOS device directions do a great job of giving the step by step directions for the unlocking process
- I usually do the adb process while booted into my Linux system. I’ve had much less issues with that than through Windows, which will sometimes recognize a device while the device is booted, but will not see it when it’s in
fastboot
orrecovery
mode- To install ADB on Arch Linux:
sudo pacman -S android-tools
- To install ADB on Arch Linux:
Flashing LineageOS with MicroG
- Builds: https://download.lineage.microg.org/tangorpro/
- Download all the files for the build date that you’re going to be installing, they will all be used as part of the flashing process
- Flash the LineageOS recovery and ROM step by step Instructions
- After flashing, select
Reboot Device
to boot into LineageOS
Rooting with Magisk
- Download the latest magisk.apk file from GitHub
- Rename
magisk.apk
tomagisk.zip
- Boot into LineageOS Recovery on the Pixel Tab using:
adb reboot recovery
- Navigate down to
Advanced Options
>Enable ADP
to enable ADB within LOS Recovery, then go back to the main screen - Select
Install Update
option and then push the magisk.zip file through adb usingadb sideload magisk.zip
- Magisk will automatically patch your boot image and install the magisk manager app on the device. Once the patching peocess is complete, reboot your device and open up the Magisk app. You should see the Magisk version number on the main screen.
Last updated on August 26, 2024. For any questions/feedback, email me at blog@zinchuk.xyz.
MeshCentral - Free, Open Source RDM
I discovered MeshCentral (a free open source Remote Device Management software) about a year and a half ago. After setting it up and playing around with it for a few weeks, I quickly replaced all my NoMachine and AnyDesk Remote Control installations at work & at home with it. It has became my de-facto way of interacting with remote systems for remote assistance, system setups and server patching.
Desktop View | Mobile View |
---|---|
Server Installation
- Normal System Install using NPM: https://ylianst.github.io/MeshCentral/install/
- Docker Compose Install: https://github.com/Typhonragewind/meshcentral-docker
- SSL is self generated by default, but you can use your own SSL keys/reverse Proxy by following THESE steps.
Client Installation
Any 64 bit Linux system with systemd (Arch, Debian, RedHat, etc)
- CD into downloads directory, download the meshagent linux installer and ignore the fact that the server has a self signed certificate. (Not needed if you’re using a reverse proxy)
cd ~/Downloads/ ; wget --no-check-certificate -O meshagent "https://10.0.0.201/meshagents?id=%40FGwJAr%40pZPmGfuvJ1N1IpjOWl4USZc8k8XEE1xI4DEDzuWkJchGQHgbHBwrkuwB&installflags=0&meshinstall=6" ; chmod +x ./meshagent ; sudo ./meshagent -install
64-BIT ARM (Raspberry Pi)
cd ~/Downloads/ ; wget --no-check-certificate -O meshagent "https://10.0.0.201/meshagents?id=OIXF2bCytM26I9MBLPSNsRI22d7k3HkcWfuzAJHAhp84ie51XIOxI6FV&installflags=0&meshinstall=26" ; chmod +x ./meshagent ; sudo ./meshagent -install
32-BIT ARM (Raspberry Pi)
wget --no-check-certificate -O meshagent "https://10.0.0.201/meshagents?id=40pZPmGfuvJGQHgbHBwrkuwB&installflags=0&meshinstall=25" ; chmod +x ./meshagent ; sudo ./meshagent -install
meshagents?id=####
sets the group that the My Devices Group the device get’s placed into.
meshinstall=#
sets the binary type. You can find the binary number by selecting the appropriate OS in the Add Agent screen
Cloning VMs - [Reference]
The MeshAgent has a "anti-cloning" system. When it runs, it will store the list of MAC addresses of all network interfaces into meshagent.db. Each time it starts, it looks to see if at least one network interface is the same as one in the list and updates the list. If none match, it will reset it's certificate and show up as a new device (with a new device identifier)
- By default when a Proxmox VM gets cloned, it receives a new MAC address for each of it’s network interfaces, witch means that MeshCentral can safely be installed on Template VMs for management/updates without issues.
- We can also force a device to reset it’s certificate and show up as a new device by deleting
meshagent.db
- We can also force a device to reset it’s certificate and show up as a new device by deleting
- Enable Hostname Sync in Group Settings screen > Features to have the Device Name automatically update whenever the hostname changes. I set this for my TMPLT group that all devices go into by default. I then move the device out of this group after i set it up and configure it’s permanant hostname on the host.
Check MeshCentral Agent Process Status
Linux
systemctl status meshagent
Windows w/Powershell
Get-Service -Name "Mesh Agent"
Multiple Networks / VLANS
At my previous jon we had a couple of VLANS that were for the Production floor and had no WAN access nor LAN access to any other networks. To install MeshCentral agents on these machines I had to do the following:
- Setup Firewall Allow Rule to allow one way traffic from the Firewalled Production LANs to the IP address of the MeshCentral server
- Option 1:
- Add a DNS entry to the server’s hosts file that pointed to the IP address of the MeshCentral server. (MeshCentral agents use DNS to find the Server)
Linux: edit
/etc/hosts
and add your server’s DNS name, eg:meshcentral.zinchuk.xyz 10.0.0.240
Windows: EditC:\Windows\System32\Drivers\etc\hosts
and add your server’s DNS name, eg:10.0.0.240 meshcentral.zinchuk.xyz
- Add a DNS entry to the server’s hosts file that pointed to the IP address of the MeshCentral server. (MeshCentral agents use DNS to find the Server)
Linux: edit
- Option 2:
- Setup a MeshCentral relay server on the firewalled LAN. This would have been my goto if we had more servers on the production LAN.
Sending Commands
With MeshCentral you can send commands to individual/groups of devices. Super handy if you need to push out an urgent patch to systems, do a bulk reboot of devices, or push out a program to multiple devices.
Steps:
Example Commands
Update EndeavourOS Arch Linux System + Reboot
- Update keyring, Update system packages, clear out package cache when done, and then reboot
sudo pacman -Sy archlinux-keyring endeavouros-keyring --noconfirm --needed ; paru -Syu --noconfirm --needed && echo $(sudo ls /var/cache/pacman/pkg/ | wc -l) packages in cache ; sudo reboot
Update Proxmox Server + Reboot
apt-get update && apt-get dist-upgrade -y && reboot
Update Windows Packages with Chocolatey
choco upgrade all -y
Misc Usage
Using PowerShell in Terminal:
Right click when selecting terminal and select powershell OR
type in powershell.exe
to switch to Powershell from CMD
Bugs/Workarounds/Extra info
Arch Linux Remote Desktop Bug
- Remote Desktop view doesn’t work by default
- Problem + Fix: https://github.com/Ylianst/MeshCentral/issues/602\
- Workaround is automatically installed when setting up MeshCentral with my linux-setup-script
Device Getting Duplicated within MeshCentral
- https://github.com/Ylianst/MeshCentral/issues/5726
- edit
/usr/local/mesh_services/meshagent/meshagent.msh
and addskipmaccheck=1
to bottom of config file
Windows
- In order to be able to type into Powershell/CMD when remoted in through meshCentral, the “Touch Keyboard and Handwriting Panel” service must be enabled through
services.msc
on the remote device. Otherwise you will not be able to type into the CMD/Powershell window directly. The terminal connection tab works just fine though.- https://github.com/microsoft/terminal/issues/9890
Last updated on December 24, 2024. For any questions/feedback, email me at blog@zinchuk.xyz.
The Cost of Running a Home Lab
One of the things that is often brought on /r/selfhosted and /r/homelab when people ask for advice about buying a server is the cost of powering that device over a year and over it’s lifetime. You can get a Dell Poweredge R710 with 16 cores and 64GB of ram for less than $100 on ebay, but the cost of powering that dinosaur 24/7, 365 days a year will quickly outgrow your initial investment.
I was reading through one of these discussions recently and it made me wonder how much my homelab was costing me. I’ve slowly accumulated all my equipment over the last 5 years or so, one piece/upgrade at a time, but have never stopped to calculate the totals or how much it cost to keep that equipment running 24/7. I went through my old receipts and bought one of these Watt Power Meters on Amazon to calculate the power usage of each of my home lab devices. Here are the totals:
Equipment + Power Cost
Device | Device Purchase Cost | Average Power Usage | Annual Cost of Running 24/7/365 @$0.12582/kWh |
---|---|---|---|
Netgate 4100 Firewall | $400 | 13 Watts | $14.33 |
Dell Wyse 5070 | $80 | 5.0 Watts | $5.51 |
Beelink SER5 | $309 | 10 Watts | 11.02 |
i7-5820K Desktop 5x12tb HDD Drives 2x1TB NVME 2x1TB SATA | $1,700 | 122 watts | $134.47 |
Unifi 8 Port Gigabit Switch | $109 | 4.5 Watts | $4.96 |
Unifi WiFi Access Point | $159 | 8 Watts | $8.82 |
TOTAL | $2,757 | 162 Watts | $179.11 |
Overall i’m surprised that the total power cost is not higher. The biggest cost by far would be the amount of time and energy I put into home lab doing research, system upgrades, creating automation scripts and playing around with new projects. Luckily those skills are carried over to my professional work environments.
Last updated on September 01, 2024. For any questions/feedback, email me at blog@zinchuk.xyz.
Contents
Click on a link in the list below to go to that page:
- Arch Linux - Keyring Corrupted
- Expanding Linux VM Partitions within ProxMox
- Grub Customization
- Install virtio Guest Agent on Ubuntu Proxmox VM
- Installing EndeavourOS on Surface Pro 6
- Installing VirtIO Drivers on ProxMox VMs
- Migrating Virtual Machines to ProxMox using Macrium Reflect
- Office365 Office Suite - Installation & Configuration
- Running Unraid as a Proxmox VM
- Testing Read/Write Speed Linux using dd
- Trust Relationship Failed on AD Windows 11
- UniFi L2TP VPN - Setup & Config
- Windows XP - Disable Prompt to install new Hardware Wizard
Arch Linux - Keyring Corrupted
- https://www.reddit.com/r/archlinux/comments/wbroq8/archinstall_error_on_updating_keyring/
Every so often EndevourOS/Arch Linux keyrings will expire/corrupt? and need to be reinitialized. When trying to do an upgrade with paru/pacman you will get a ...archlinux-keyring-20220727-1-any.pkg.tar.zst is corrupted (invalid or corrupted package (PGP signature)) are you sure you want to remove it? Y/n
error when this happens.
This is the solution that worked to fix that:
sudo killall gpg-agent
sudo rm -rf /etc/pacman.d/gnupg
sudo pacman-key --init
sudo pacman-key --populate archlinux
sudo pacman-key --populate endeavouros
# IF using chaotic-aur
sudo pacman-key --populate chaotic
Simple,
- Update all the keyrings (arch, endeavour, chaotic-aur) and then install pacman updates through paru
sudo pacman -Sy --noconfirm ; sudo pacman -Sy archlinux-keyring --noconfirm ; sudo pacman -Sy endeavouros-keyring --noconfirm; sudo pacman -Sy chaotic-keyring --noconfirm; paru -Syu --noconfirm
Longer Process:
- 1 liner WITH Chaotic-AUR and EndeavourOS
sudo pacman -Sy --noconfirm ; paru -Sy archlinux-keyring --noconfirm ; sudo pacman -Sy endeavouros-keyring --noconfirm; sudo pacman -Sy chaotic-keyring; sudo killall gpg-agent ; paru -Sc --noconfirm ; sudo rm -rf /etc/pacman.d/gnupg ; sudo pacman-key --init ; sudo pacman-key --populate archlinux ; sudo pacman-key --populate endeavouros ; sudo pacman-key --populate chaotic ; sudo pacman-key --refresh-keys ; reboot
1 liner without chaotic-AUR
sudo killall gpg-agent ; sudo rm -rf /etc/pacman.d/gnupg ; sudo pacman-key --init ; sudo pacman-key --populate archlinux ; sudo pacman-key --populate endeavouros ; sudo pacman-key --refresh-keys
If you were using Chaotic-AUR, you will need to reinstall it most likely:https://aur.chaotic.cx/
Last updated on July 17, 2024. For any questions/feedback, email me at blog@zinchuk.xyz.
Expanding Linux VM Partitions within ProxMox
EndeavourOS/Arch Linux
GUI
- Shut down the VM and within Proxmox go to Hardware > Hard Disk > Resize
- Expand the Main disk, and secondary disk (linuxswap) as needed
- Boot up the VM again, log into a user account and open up KDE Parition Manager
paru -S partitionmanager
- If Expanded the main disk, select it, right click on the main partition and click resize and then expand it to use up all the new disk space alloted to it.
- Sometimes the extra disk space doens’t appear, a reboot of the VM usually fixes this.
- If expanding the linux swap partition, you will need to delete the old partition and recreate it as a new linuxswap partition
- right click on the partition, “deactivate swap”
- Right click and click “delete partition”
- Apply the changes
- Right click on the empty partition and create new primary partition of the type
linuxswap
- Apply the changes
- Right click on the newly created partition and select
activate swap
- Right click on the newly created partition and view it’s properties.
- Copy the UUID to your clipboard. NOT the partition UUID.
- open up your fstab file with
sudo nano /etc/fstab
and copy the new linux partition UUID and overwrite the old swap partition ID. - reboot the VM to make sure that the swap partition gets auto mounted.
- easy way to check is open up
htop
in the terminal and see if the swap has a disk size to it.
Terminal
Ubuntu/Kubuntu
- Run the following commands on the expanded drive:
- https://unix.stackexchange.com/a/743682
- Open up KDE Partition manager and expand the partition to use the full size
Last updated on July 17, 2024. For any questions/feedback, email me at blog@zinchuk.xyz.
Grub Customization
Fix Windows Missing in Dual Boot
- https://forum.manjaro.org/t/warning-os-prober-will-not-be-executed-to-detect-other-bootable-partitions/57849
- https://bbs.archlinux.org/viewtopic.php?id=279936
sudo nano /etc/default/grub
GRUB_DISABLE_OS_PROBER=false
and then run:
grub-mkconfig -o /boot/grub/grub.cfg
Change Grub Timeout
sudo nano /etc/default/grub
- Change timeout to: 0
- Then Update grub config with:
grub-mkconfig -o /boot/grub/grub.cfg
Edit Grub Config to set default selected option
- Change timeout, default option, hide grub menu unless shift pressed
- https://www.maketecheasier.com/set-grub-remember-last-selection/
# - Save grub selection between reboots
GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true
GRUB_TIMEOUT=3
GRUB_DISTRIBUTOR="EndevourOS"
GRUB_CMDLINE_LINUX_DEFAULT="quiet loglevel=3 nowatchdog"
GRUB_CMDLINE_LINUX=""
GRUB_FORCE_HIDDEN_MENU="true"
# Update grub config
# https://linuxhint.com/update_grub_arch_linux/
sudo grub-mkconfig -o /boot/grub/grub.cfg
Change Grub Background Image
- https://forum.endeavouros.com/t/how-i-changed-grub-screen/29171
sudo cp IMAGEFILEPATHPNG /boot/grub/themes/EndeavourOS/IMAGEPNG
Last updated on July 17, 2024. For any questions/feedback, email me at blog@zinchuk.xyz.
Install virtio Guest Agent on Ubuntu Proxmox VM
One Liner to update apt cache, install agent, enable and start service:
sudo apt update && sudo apt install -y qemu-guest-agent && sudo systemctl enable qemu-guest-agent && sudo systemctl start qemu-guest-agent
Step by Step Directions
Open a terminal on your Ubuntu system.
Update the package list by running the following command:
sudo apt update
Install the virtio Guest agent package by running the following command:
sudo apt install qemu-guest-agent
During the installation, you may be prompted to configure some settings. You can choose the default options by pressing Enter or select any specific settings based on your requirements.
Once the installation is complete, start the virtio Guest agent service by running the following command:
sudo systemctl start qemu-guest-agent
Enable the virtio Guest agent service to start automatically on system boot by running the following command:
sudo systemctl enable qemu-guest-agent
Verify that the virtio Guest agent is running by checking the service status using the following command:
sudo systemctl status qemu-guest-agent
If the service is running, you should see a “active (running)” message. That’s it! The virtio Guest agent is now installed and running on your Ubuntu system.
Last updated on November 21, 2024. For any questions/feedback, email me at blog@zinchuk.xyz.
Installing EndeavourOS on Surface Pro 6
I kept running into an error when trying to do an online install of EndeavourOS, so I ended up doing an offline install with xfce (at this moment, the EndeavourOS ISO comes with the xfce Desktop Environment preinstalled), booted into it and installed plasma packages using https://wiki.archlinux.org/title/KDE#Plasma
- Then uninstall all XFCE packages with:
sudo pacman -Rns xfce4 xfce4-goodies
- Then install Surface Pro kernel and packages to get the touchscreen working:
- https://github.com/linux-surface/linux-surface/wiki/Installation-and-Setup#Arch
Last updated on August 13, 2024. For any questions/feedback, email me at blog@zinchuk.xyz.
Installing VirtIO Drivers on ProxMox VMs
The following steps should work the same on any ProxMox Windows installation, including: - Windows 2000 - Windows 2003 - Windows XP - Windows 7 - Windows 10
-
Mount the virtio-drivers.iso file as a CD Drive
-
Open Up Device Manager by going to “My Computer” > right click on any white space and select “Properties” > Go to the Hardware Tab > click on “Device Manager”
Right click on the device that has not been properly installed and select “install driver” or “re-install driver”
Select “Search for suitable driver for my device” and scan the CD-ROM drives for the drivers.
Windows will either find the virtio driver and install it, or it will fail to find a comptaible driver which usually means the VM Windows Version is too old for that virtio driver and it can be uninstalled so that users won’t get nagged about installing a driver each time the VM reboots.
Error: Windows cannot load the device driver for this hardware. The driver may be corrupted or missing (Code 39)
Last updated on July 17, 2024. For any questions/feedback, email me at blog@zinchuk.xyz.
Migrating Virtual Machines to ProxMox using Macrium Reflect
Macrium Reflect has been my default go to for the past 2-3 yearsfor desktop backups, and Virtual Machine migrations between Hypervisor Systems. Macrium takes care of all the registry changes that need to be made to older virtual machines 7,XP, Windows 2000 to prevent the virtual machine from blue screening and failing to boot after restores. Using Macrium i migrated ~20 virtual machines hosted on Windows Server 2008, 2012, and VMWare ESXI 5 and 6 to a modern Proxmox Cluster without too much difficulty.
Backing Up
- Install Macrium Restore on a desktop/server and create a custom Macrium Recovery Boot Image that will be mounted on the virtual machine and booted from to create the image backup.
Macrium Custom Boot Base WIM Breakdowns:
- Install Macrium WorkStation or Macrium Server inside the Virtual machine you want to migrate
- create a macrium backup of the machine to either a network drive, or if possible an external SSD drive.
- ProxMox makes it very easy to pass through a USB device or USB port to a virtual machine, and SSDs are much faster to restore from than a network drive.
- if a restore is happening a little while after a backup, do an incremental backup as well, and when doing a restore select the incremental backup file
Restoring/Migrating
- create a new Windows Virtual Machine within ProxMox (https://pve.proxmox.com/wiki/Windows_10_guest_best_practices)
- Use IDE as the drive type to start with, and Intel100 as the network device to start with
- If Windows XP VM, Follow https://pve.proxmox.com/wiki/Windows_XP_Guest_Notes
- mount Macrium Recovery Media (MRESCUE_) and VirtIO ISO as CD drives.
- Choose Mrescue Version based on Windows System you’re restoring based image at the top of page
- You can either pass through a USB external drive to the VM to restore the image form, or have the image on a network drive, eg TrueNas-01 - NAS Server (network drive is easier, but might be slightly slower)
- Mount TrueNas-01 - NAS Server’s Macrium folder as a network drive
- Restore the macrium image. Once restore is complete, click “other tools” menu at the top and select “Restore to dissimilar hardware”. Click through the options, the default ones work just fine.
- Once restore is complete, select ReDeploy to New Hardware menu option and the “Fix windows boot problems” options and go through their menus as below:
- Once done, reboot to your cloned virtual machine.
- Once booted into the virtual machine, open up device manager, find any devices with missing drivers, right click on them and select “Update Driver Software”, and select check the “Search removable media” option. Windows will look through the folders and usually find the appropriate driver.
- For windows 2000/xp you might need to mount an older version of virtio drivers to find compatible drivers.
Notes
MRescue_WRE10_v2004_VirtIO.iso will not show virtIO SCSI hard drive when in rescue environment MRescue_WPE4.iso will not show virtio SCSI hard drive when in rescue environment
Tips/Tricks/Extas
Windows Server 2008 R2 refused to recognize virtIO SCSI drive, so you have to pass hard disk as SATA.
- To Disable the “Found New Hardware” popups for drivers that you no longer have access to, add the following registry item:
- https://web.archive.org/web/20201021110316/https://www.computertechblog.com/how-to-disable-the-found-new-hardware-wizard-in-windows-xp/
- Not: Different Parameters if x86 or x64 system
- https://web.archive.org/web/20201021110316/https://www.computertechblog.com/how-to-disable-the-found-new-hardware-wizard-in-windows-xp/
Windows Server 2000 Migration
- https://web.archive.org/web/20071110211033/http://www.motherboard.windowsreinstall.com/problems.htm
- Option 2: - https://www.biermann.org/philipp/STOP_0x0000007B/
- https://pve.proxmox.com/wiki/Migration_of_servers_to_Proxmox_VE#Windows_systems_specific_P2V_issues
- https://pve.proxmox.com/wiki/Windows_2003_guest_best_practices
Migrating Windows Server 2000 to ProxMox
- Booted Macrium rescue iso from the VmWare Plum VM, and made a system image back to \Teak\Macrium, then created a VM on ProxMox with all the normal settings, booted into Macrium Rescue SERVER edition, WPE 4.0, 32 bit, restored the image file, then while still within the backup media, clicked through the “redeploy to new hardware” options.
- Without the “redeploy to new hardware” through Macrium, the VM gives a bluescreen and boot loops
- ProxMox Drive Settings:
- SCSI Controller: VirtIO SCSI
- Main Drive: BUS/DEVICE: IDE, Cache: Write back
- After booting into Windows 2003, go to COmputer > right click on white part and Properties > Hardware > Device Manager > Right click on each missing driver and install the driver from virtIO CD. Use the “Search CD/DVD automatically” option PCIE Device = virtIO Balloon Driver
- ProxMox Drive Settings:
- Without the “redeploy to new hardware” through Macrium, the VM gives a bluescreen and boot loops
- More infor: https://pve.proxmox.com/wiki/Windows_2003_guest_best_practices
Last updated on July 19, 2024. For any questions/feedback, email me at blog@zinchuk.xyz.
Office365 Office Suite - Installation & Configuration
an ODT Config file is used for deploying Office365 installations through Windows Toolbox - Windows Setup Script
ODT (Office Deployment Tool)
Basic Usage: - https://support.microsoft.com/en-us/office/use-the-office-offline-installer-f0a85fe7-118f-41cb-a791-d59cef96ad1c#OfficePlans=signinorgid
Exclude Applications: - https://answers.microsoft.com/en-us/msoffice/forum/all/installing-only-particular-office-365-programs/9ebb27d4-1084-42e7-b84a-c5dd76e9232c
Sharepoint Excel Desktop Shortcut
“C:\Program Files\Microsoft Office\root\Office16\EXCEL.EXE” “sharepointURLHERE”
Microsoft Projects
- Microsoft projects has it’s own standalone installer that downloads and installas the latest version of the application when it’s run
- Local version can be found at:
\\smb\Toolbox\Installs\Projects\MicrosoftOfficeProjectSetup.exe
- Since the application doesn’t have any options that you need to select, you can install it remotely through powershell or CMD through MeshCentral by just running the full filepath through Terminal. It wiill silently download and install projects with no user intervention required.
- Local version can be found at:
Last updated on July 17, 2024. For any questions/feedback, email me at blog@zinchuk.xyz.
Running Unraid as a Proxmox VM
- Unraid is meant to be run on bare metal.
- It is installed to a USB Flash drive and the license key is tied to the USB device ID. is installed. The system is then booted from that flash drive into RAM.
- It turns out it’s not difficult at all to run it as a VM though, all you have to do is pass through the Unraid USB drive to a Proxmox VM (Setup as Linux VM), and use a passed through LSI card if you want to have Unraid manage your drives
- Passing through motherboard connected drives directly to the VM does not work. Reason
- You CAN pass through a SATA controller to the VM to directly pass through the drives, but unless your motherboard has multiple SATA controllers, this isn’t an option because Proxmox is most likely utilizing the controller already for your boot/system drive.
- Next option is a PCIE HBA Card, eg: LSI 9207-8i 8 Port 6Gb/s SATA/SAS PCIe 3.0 x8 HBA
- Bought in 2023 and has been working without issues so far
- Motherboard needs to support IOMMU for this to work. GUIDE
VM Setup Options
- After creating the VM, make sure to remove the Hard Disk drive as it’s not needed for Unraid.
Options
HBA Card
Passthrough Unraid USB
Passthrough HBA Card with Drives Attached
Last updated on July 17, 2024. For any questions/feedback, email me at blog@zinchuk.xyz.
Testing Read/Write Speed Linux using dd
- https://www.baeldung.com/linux/disk-performance-test
Testing Sequential Write Speed
dd if=/dev/zero of=/DIRECTORYTOTEST/FILENAME bs=1M count=1024 conv=fdatasync
Preview:
Testing Read Speed
# clear buffer cache
sudo sh -c "/usr/bin/echo 3 > /proc/sys/vm/drop_caches"
dd if=/DIRECTORYTOTEST/FILENAME of=/dev/null bs=1M count=1024
Delete file used for Testing
rm /DIRECTORYTOTEST/FILENAME
Last updated on December 24, 2024. For any questions/feedback, email me at blog@zinchuk.xyz.
Trust Relationship Failed on AD Windows 11
Problem:
After restoring a Proxmox VM snapshot, or restoring a desktop from a Macrium backup, the Active Directory integration gets broken and user gets a The trust relationship between this workstation and the primary domain failed
error when trying to log in.
Fix
Logon to the VM using a local admin account and run powershell and execute
- https://stackoverflow.com/questions/24775796/hyper-v-rollback-with-login-error-the-trust-relationship-between-this-workstati
Reset-ComputerMachinePassword -Server WSERVER -Credential yuriy@zinchuk.home ; shutdown /r /t 0 /f
Reset-ComputerMachinePassword -Server [MyDomainController] -Credential [MyDomain\administrator]
Fix 2
Instead of removing and readding, try this. Might save some time. This can be pushed out through a RDM like MeshCentral RDM
Test-ComputerSecureChannel -Verbose -Repair -Credential yuriy@zinchuk.home
Then Reboot
https://www.reddit.com/r/sysadmin/comments/11922e5/the_trust_relationship_between_the_workstation/j9kc08k/
Last updated on July 17, 2024. For any questions/feedback, email me at blog@zinchuk.xyz.
UniFi L2TP VPN - Setup & Config
Windows 11 BUG - VERY SLOW Internet Speed while VPN is Connected
- Ran into this issue recently after a user called me on their work from home day using their newly setup laptop complaining of unusable internet speed while their VPN was connected.
- After doing a bit of research it seems like this is a recent but also a slightly recurring Windows 11 bug
- Individual Device Fix: services.msc -> Routing and remote access -> change “start type” to Automatic (Delayed start) and click “Start” while in the user’s account SOURCE
- Group Policy Fix(I ended up pushing this policy to all laptop devices without any issues): - Enable Routing and Remote Access to start automatically through System Services:
- Possible other solution: Delete MiniWAN driver for L2TP VPN in device manager: - https://old.reddit.com/r/Windows11/comments/patot6/vpn_and_slow_speeds/hepti4t/
How to Setup UniFi VPN on UDM Pro
- https://lazyadmin.nl/network/unifi-vpn/
Disable VPN Credentials For Network Resources
By default L2TP/IPSEC VPNs will try to use the VPN credentials for network resources like network shares. If you are not using Radius authentication with AD, you will need to disable this in the user’s VPN config file so the user’s login AD credentials get used instead of the VPN credentials.
- https://serverfault.com/questions/322235/do-not-use-vpn-credentials-to-connect-to-network-resources
- Open Windows Run and open the following folder:
%userprofile%\AppData\Roaming\Microsoft\Network\Connections\PBK
- Edit
rasphone.pbk
and changeUseRasCredentials=1
toUseRasCredentials=0
- If you do not do this, Windows will keep using the VPN credentials to connect to any network shares the user has mounted and will lock out the user’s AD account.
Last updated on July 17, 2024. For any questions/feedback, email me at blog@zinchuk.xyz.
Windows XP - Disable Prompt to install new Hardware Wizard
Here is a “quick & dirty” way to get rid of the “Found New Hardware Wizard” if it’s popping up at every re-boot. I stumbled into this solution, even though when I searched a good bit for help, I never saw it.
Next time the Wizard pops up, go through the motions AS IF you were going to install the drivers.
At the first screen, pick “No, not this time” (as in don’t check with Microsoft for the drivers).
At the second screen, pick “Install from a specific location (as in don’t start searching the computer for the driver).
At the third screen, DE-select “Search removable media” and just below that, specify a folder on the computer that is EMPTY. This will cause the installation to immediately FAIL.
The fourth/failure screen – titled “Cannot Install This Software” – is the payoff. At the bottom of that screen, check off the box that says “Don’t prompt me again to install this software.” Click the Finish button.
- https://superuser.com/questions/323391/how-can-i-disable-the-new-hardware-found-message-on-windows
Last updated on July 17, 2024. For any questions/feedback, email me at blog@zinchuk.xyz.
Contents
Click on a link in the list below to go to that page:
- Android & ADB
- Autohotkey - Configuration
- Bitwarden Password Manager
- Blue Iris & Reolink Security Cameras
- Chocolatey Package Manager
- Flexo - Local Pacman Mirror Cache
- LineageOS on OnePlus 7 Pro
- irFanView
Android & ADB
ADB Commands
- Install an APK file
adb install APKFILENAME
- Reinstall/update app
adb install -r APKFILENAME
- Uninstall an app
adb uninstall PACKAGENAME
- Disable an APP
pm disable NAMEOFPACKAGE
- List all enabled apps, filter by “calculator”:
pm list packages -e | grep 'calculator'
- List all disabled apps
pm list packages -d
- Get information about device and settings through ADB
- https://technastic.com/adb-shell-commands-list/
Android Intents
- https://android.stackexchange.com/questions/23687/finding-out-the-intents-an-app-uses-internally
You can use adb to check what intents an app uses. The steps to do this are:
Enable developer options
Under developer options turn on adb debugging
Connect phone to computer
Get adb logs and grep out intents: adb logcat | fgrep -i intent
Trigger the intent on your phone
Inspect logs to find the details of the intent
disable IPV6
- https://github.com/ukanth/afwall/wiki/CustomScripts#important-notes-about-ipv4-and-ipv6-differences
If you do not need IPv6 or your provider does not support it (native) you can just disable it via net.ipv6.conf.all.disable_ipv6=1 in your build.prop or better in your sysctl.conf file which will be applied right after the boot.
Last updated on July 15, 2024. For any questions/feedback, email me at blog@zinchuk.xyz.
Arch Linux Configurations
Autohotkey - Configuration
Symlink Documents\Autohotkey
- I use syncthing to sync all my files between my devices, including all the misc autohotkey libraries i use.
mklink /D C:\Users\yuriy\Documents\Autohotkey C:\Users\ity\Syncthing\Scripts\AutoHotKey
This way autohotkey scripts check my syncthing Authotkey lib folder for libraries instead of \Documents\Autohotkey\Lib, and i don’t have to constantly sync the two folders with each other.
Dark Theme for autohotkey.chm
- Changing the autohotkey Documentation theme to a dark theme does not save it to the settings file, only sets the theme for the current instance.
- When trying to save it you will receive an ActiveX Error, and then a failure due to chm not being run as administrator.
- Fix: Copy
chm_config.js
to the following location:C:\Program Files\AutoHotkey\chm_config.js
- chm_config.js
Last updated on July 17, 2024. For any questions/feedback, email me at blog@zinchuk.xyz.
Bitwarden Password Manager
Bitwarden is a fantastic password manager for personal and business environements; the ability to share passwords with other employees/groups, and also send self destructing notes is so much more secure than sticky notes / printouts / sharing credentials over chat platforms.
Disabling Auto Updates Nag:
- On Startup, Bitwarden will show a popup prompting users to install an update if there is one available, but to actually install the update the user needs admin privilages.
- This is a useless nag that cannot be disabled any doesn’t provide any benefit at all when Bitwarden is installed/automatically pushed out through Chocolatey.
- The below workaround disables the ability for Bitwarden to auto download updates itself, which will also ensure the “install update” popup will not appear anymore.
- This workaround is automatically put into place whenever Bitwarden is installed through the Windows Toolbox Setup Script
Windows [Source]
Delete (if exists) the following folder
C:\Users\%username%\AppData\Local\bitwarden-updater
Then re-create it as a write-protected empty file instead.
Now Bitwarden won't be able to update itself.
Automatically using powershell:
# Get the current user's username
$username = [Environment]::UserName
# Define the folder path to delete/recreate
$folderPath = "C:\Users\$username\AppData\Local\bitwarden-updater"
# Check if the folder exists
if (Test-Path -Path $folderPath) {
# Delete the folder if it exists
Remove-Item -Path $folderPath -Recurse -Force
}
# Create the folder as a write-protected empty file
New-Item -Path $folderPath -ItemType File -Force
Set-ItemProperty -Path $folderPath -Name IsReadOnly -Value $true
Windows Auto Type
- https://github.com/anonymous1184/bitwarden-autotype
Linux
- https://github.com/mattydebie/bitwarden-rofi
Vaultwarden (Self Hosted Rust Based Bitwarden Backend)
- https://github.com/dani-garcia/vaultwarden
Last updated on September 18, 2024. For any questions/feedback, email me at blog@zinchuk.xyz.
Blue Iris & Reolink Security Cameras
Blue Iris NVR Configuration
- Network Settings > Port Number: 808 -Change this from the default 80 so there is no web UI reachable by default if someone visits the IP address. This forces all the traffic through NGINX Reverse Proxy with SSL Encryption.
- Remote WAN access set to 0.0.0.0 as there is no need for cameras to be accessed through WAN
- Blue Iris background service has to be registered with windows local admin account, domain admin doens’t work. Source
Blue Iris Web Interface
URL Parameters Several URL parameters can change UI3’s startup behavior.
Parameter | Effect | Example |
---|---|---|
maximize=1 | UI3 loads with the left and top control bars hidden. | ui3.htm?maximize=1 |
tab=live | The “Live” tab is loaded. | ui3.htm?tab=live |
tab=alerts | The “Alerts” tab is loaded. | ui3.htm?tab=alerts |
tab=clips | The “Clips” tab is loaded. | ui3.htm?tab=clips |
group=groupname | The group with the specified name is loaded. | ui3.htm?group=index |
cam=shortName | The camera with the specified “Short name” is loaded. | ui3.htm?cam=porch |
eg: http://cameras.wmpco.biz/ui3.htm?t=live&maximize=1
Networking
Reolink Camera Settings (Web UI)
- For Maximum compatability and best performenace on the Blue Iris server, set the following settings:
- Camera > Display > Watermark > OFF
- Camera > Display > Date & Time > Show
- Camera > Display > Camera Name > Hide (Optional)
- Camera > Stream > Fixed Frame Rate > On, Fluency First
- Camera > Stream > Frame Rate (FPS) > 15
- Camera > Stream > Max Bitrate (Kbps) > 4096
- Camera > Fluent > Frame Rate (FPS) > 10
- Camera > Stream > Max Bitrate (Kbps) > 1024
- Camera > Info > Camera Name > RSC-## (Optional)
- Network Settings > Avanced > Enable UID > OFF (Reolink Mobile App Access)
- Network Settings > Avanced > Port Settings >
- RTSP > ON > (Port 554)
- ONVIF > ON > (Port 8000)
- System > User Management > Change Password > Set custom Password
RLC-811A
Adding Reolink to Blue Iris: https://www.youtube.com/watch?v=cuLpDo-TVK8
Substreams
Ultra Wide Angle Camera
https://www.amazon.com/REOLINK-Security-Ultra-Wide-Detection-Duo/dp/B0B2P9RL53/144-4656760-4503224
Last updated on July 09, 2024. For any questions/feedback, email me at blog@zinchuk.xyz.
Boot Linux into CLI or GUI by Default
Chocolatey Package Manager
General
- Chocolatey is a command line Windows software management tool (similiar to Debian’s ‘’’apt’’’ and Arch Linux’ ‘’’pacman’’’)
- https://community.chocolatey.org/courses/getting-started/how-to-use
Installation
- https://chocolatey.org/install
Usage
- Search for available packages:
- https://community.chocolatey.org/packages
choco search PROGRAMNAME
- to install a program
choco install PROGRAMNAME
To uninstall:
choco uninstall PROGRAMNAME
To update all installed software without confirmations
choco upgrade all -y
Chocolatey Auto Updates
- https://community.chocolatey.org/packages/choco-upgrade-all-at
- This package is installed on all new computers when they are setup, using the Windows Toolbox - Windows Setup Script
choco install choco-upgrade-all-at --params "'/WEEKLY:yes /DAY:SUN /TIME:01:00 /ABORTTIME:05:00'"
Last updated on July 17, 2024. For any questions/feedback, email me at blog@zinchuk.xyz.
CopyQ
Flameshot
irFanView
Super snappy and lightweight image viewer for Windows. Faster than any other image viewer i’ve tested.
Scripting with Autohotkey
- Command Line Scripting: https://www.etcwiki.org/wiki/IrfanView_Command_Line_Options
- Utilizing the filepath of the image in the title of the window, we can run different actions on the currently open photo, for example, opening up the current photo in GIMP.
#IfWinActive, ahk_exe i_view64.exe
!E:: ; Alt + E
!O:: ; Alt + O
^P:: ; Control + P
WinGetTitle, ActiveWindowTitle, A
FileFilepath := StrSplit(ActiveWindowTitle, " - IrfanView")[1]
if(A_ThisHotkey = "!e"){ ; open file in GIMP
run, "C:\Program Files\GIMP 2\bin\gimp-2.10.exe" "%FileFilepath%"
Return
}
if(A_ThisHotkey = "^p"){ ; copy image filepath to clipboard
Clipboard := FileFilePath
Return
}
if(A_ThisHotkey = "~!O"){ ; Activate file in XyPlorer
run, "C:\Program Files (x86)\XYplorer\XYplorer.exe" "%FileFilePath%"
Return
}
#If
Settings
-
Enable Full Filepath in title bar so it can be used for scripting with autohotkey
-
Usability Settings:
Configuration File Location
- C:\Users\me\AppData\Roaming\IrfanView\i_view64.ini
Sync Settings between Computers
mklink "C:\Users\yuriy\AppData\Roaming\IrfanView\i_view64.ini" "C:\Users\yuriy\Syncthing\Configurations\irFanView\i_view64.ini"
Plugins
PlugIns are installed into IrfanView "PlugIns" directory
C:\Program Files\IrfanView\Plugins
Last updated on July 20, 2024. For any questions/feedback, email me at blog@zinchuk.xyz.
Jumpapp
KDE Dolphin
KDE Plasma Configuration
Keymapper - Linux
Librewolf & Firefox
LineageOS on OnePlus 7 Pro
Background
- Analytics about Everything you do: https://www.chrisdcmoore.co.uk/post/oneplus-analytics/
General
- Device Model: guacamole (guacamoleB is OP7)
Custom Roms
- https://wiki.lineageos.org/devices/guacamole/
- https://xdaforums.com/t/rom-14-0-0_r35-unofficial-evolution-x-9-0-05-28-2024.4673786/
- https://download.lineage.microg.org/guacamole/
Install ADB and fastboot software on arch linux:
sudo pacman -S android-tools
- boot into bootloader
adb reboot bootloader
- boot twrp image from bootloader
fastboot boot twrp.img
- Install a zip file through adb while in recovery:
adb sideload filename.zip
-
Install a custom Android 12 ROM
- https://forum.xda-developers.com/t/rom-12-official-arrowos-12-0-for-oneplus-7-pro.4355029/page-10#post-85935617
-
Magisk Installation:
- https://topjohnwu.github.io/Magisk/install.html#patching-images
-
Payload Dumper: https://github.com/vm03/payload_dumper
- Tool for getting the boot.img for patching with magisk
-
BlissROM Android 10 ROM: https://forum.xda-developers.com/t/rom-official-q-r41-blissroms-v12-11-7pro-08-21-20.3957341/
remove software Navigation Bar
Edit: /system/build.prop
and append to the end of the file:
qemu.hw.mainkeys=1
Last updated on September 13, 2024. For any questions/feedback, email me at blog@zinchuk.xyz.
Local Pacman Mirror Cache
Pacman & Paru Commands Reference
ProxMox Notes, Settings & Solutions to Issues
ShareX
Sublime Text
Voidtools Everything
XYplorer File Manager
Contents
Click on a link in the list below to go to that page:
Contents
Click on a link in the list below to go to that page:
Proxmox QM and PVESH CLI Reference
Clone a VM
qm clone VMIDTOCLONE NEWVMIDNUMBER --name "VMNAME" --full true
- Set the macaddress for VM’s primary NIC
qm set 1001 --net0 virtio,macaddr=BC:24:11:6B:7D:2B,,bridge=vmbr0,firewall=1
- Migrate a VM to a different node and specify the storage
qm migrate 1004 sandalwood --targetstorage NVME-01
Controlling VMs on different Nodes using pvesh
For controlling VMs on different nodes than the one you’re accessing the terminal from you have to use pvesh CLI tool
-
https://pve.proxmox.com/pve-docs/pvesh.1.html
-
Start a VM on different node
pvesh create /nodes/NODENAME/qemu/VMIDNUMBER/status/start
- Reboot a VM on different node
pvesh create /nodes/sandalwood/qemu/1005/status/reboot
- Forcefully reset a VM on different node (similiar to forcefully unplugging pc from power)
pvesh create /nodes/sandalwood/qemu/1005/status/reset
- Shutdown a VM on a different node
pvesh create /nodes/sandalwood/qemu/1005/status/shutdown
- Delete a VM on a different node.
- Have to use the pvesh CLI to control the VMs on the different nodes
- https://forum.proxmox.com/threads/issue-qm-shutdown-from-one-node-to-another.44150/
- https://pve.proxmox.com/pve-docs/pvesh.1.html
pvesh delete /nodes/NODENAME/qemu/VMIDNUMBER ;
- Script to query the Proxmox API for VM name and set hostname of the VM accordingly
- https://github.com/badsmoke/proxmox-auto-hostname
Last updated on September 30, 2024. For any questions/feedback, email me at blog@zinchuk.xyz.
Contents
Click on a link in the list below to go to that page:
Gym Workout Routine
Back Day | Weight | |
---|---|---|
Barbell Rows | 5x5 | |
Deadlift | 5x5 | 225 |
Dumbell Rows | 3x8 | |
Seated Rows | 3x8 | 1 |
Lat Pulldowns | 3x10 | |
Shrugs | 3x10 | 45 |
Pull Ups | 3x10 |
Shoulders + Triceps | Weight | |
---|---|---|
Overhead Press | 5x5 | 110 |
Seated Dumbbell Press | 4x6 | 45 |
Lateral Raises | 3x8 | 15 |
Bent Over Raises | 3x8 | 40 |
Skull Crushers | 3x10 | 50 |
Rope Pressdowns | 3x10 | 75 |
Face Pulls | 3x10 | 90 |
Landmine Chest Press | 5x5 | |
Legs | Weight | |
---|---|---|
Squats | 5x5 | 225 |
or Bulgarian Split Squat | 6x5 | 90 |
Front Squats | 5x5 | 135 |
Deadlift | 5x5 | 225 |
Leg Press | 4x12 | 225 |
Leg Extension | 3x12 | 70 |
Leg Curls | 3x12 | |
Stiff Leg Deadlifts | 3x12 | |
Calf Raises | 3x20 | 90 |
Chest & Biceps | Weight | |
---|---|---|
Bench Press | 5x5 | 185 |
Incline Bench Press | 4x6 | 185 |
Dumbell Press | 3x8 | |
Incline Dumbell Fly | 3x8 | |
EZ Bar Curls | 3x10 | 60 |
Dumbell Hammer Curls | 3x10 |
Bonuses (Do Any Day) | Weight | |
---|---|---|
Alternate Sprinters Lunge | 3x10 | |
Kneeling Band Raises | 3x10 | |
Face Pulls | 3x10 | |
Calf Raises | 2x20 | |
Russian Twists | 3x30 | 25 |
Glute Extensions | 3x10 |
Back Day
Pull Ups
Shoulder Shrugs
Barbell Rows
Lat Pulldowns
Dumbell Rows
Seated Rows
Chest and Biceps
Bench Press
Incline Bench Press
Landmine Chest Press
Dumbell Press
Incline Dumbell Fly
EZ Bar Curls
Dumbell Hammer Curl
Legs
Squats
Deadlift
Front Squats
Leg Press
Leg Extension
Leg Curl
Stiff Leg Deadlifts
Bulgarian Split Squats
Calf Raises
Glute Extensions
Shoulder and Triceps
Face Pulls
Overhead Press
Lateral Raises
Bent over Raises
Skull Crushers
Rope Pressdowns
Seated dumbbell press
Tricep Dips
Bonuses
Alternate Sprinter’s Lunge
- Glute Strenghtening (Anterior Pelvic Tilt Fix)
Kneeling Band Raises
- Glute Strenghtening / Low Back Pain Prevention
Russian Twists
Links
- https://musclewiki.com/
- https://www.setforset.com/blogs/news/arnold-split
- https://www.themuscleprogram.com/advanced-5x5-workout-for-fast-muscle-and-strength-gains/
Add to workout:
https://www.youtube.com/watch?v=K-CrEi0ymMg&t=365
https://www.youtube.com/watch?v=gIhCuqtC0r0
Last updated on September 17, 2024. For any questions/feedback, email me at blog@zinchuk.xyz.