Technical

For IT related stuff

Windows

Windows related tips

Windows

Windows 10 Pro upgrade from Home

Below key should provide several days activation and upgrade to Pro from Home edition

8DVY4-NV2MW-3CGTG-XCBDB-2PQFM
Windows

Azure AD Connect

https://www.microsoft.com/en-us/download/details.aspx?id=47594

Windows

Windows Server Activation

Windows Server 2019 Eval will shut off in 4 hours when trial expires.

DISM /online /Set-Edition:ServerStandard /ProductKey:XXXX /AcceptEula
DISM /online /Set-Edition:ServerDatacenter /ProductKey:XXXX /AcceptEula
Windows

RDPWrap - Windows Remote Desktop Wrapper

Most active to date: https://github.com/sebaxakerhtc/rdpwrap

Config file update: https://github.com/sebaxakerhtc/rdpwrap.ini

Updating busy config ini file:

net stop termService

Replace file in C:\Program Files\RDP Wrapper

net start termService

Docker

Docker

Restart Policies

Use a restart policy

To configure the restart policy for a container, use the --restart flag when using the docker run command. The value of the --restart flag can be any of the following:

Flag Description
no Do not automatically restart the container. (the default)
on-failure Restart the container if it exits due to an error, which manifests as a non-zero exit code.
always Always restart the container if it stops. If it is manually stopped, it is restarted only when Docker daemon restarts or the container itself is manually restarted. (See the second bullet listed in restart policy details)
unless-stopped Similar to always, except that when the container is stopped (manually or otherwise), it is not restarted even after Docker daemon restarts.
Docker

WatchTower

https://containrrr.github.io/watchtower/

With watchtower you can update the running version of your containerized app simply by pushing a new image to the Docker Hub or your own image registry. Watchtower will pull down your new image, gracefully shut down your existing container and restart it with the same options that were used when it was deployed initially.

version: "3"
services:
  watchtower.service:
    container_name: watchtower.service
    image: containrrr/watchtower:latest
    environment:
      - WATCHTOWER_CLEANUP=true
      - WATCHTOWER_SCHEDULE="0 4 * * 2 *"
      - WATCHTOWER_TIMEOUT=30s
    logging:
      options:
        max-size: "200k"
        max-file: "10"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /root/.docker/config.json:/config.json
Docker

Insecure Registries

in /etc/docker/daemon.json add this (don't forget comma after existing lines)

"insecure-registries":["192.168.10.110:5000"]
Docker

Operating Folder

In /etc/docker/daemon.js (don't forget to comma after existing lines)

"data-root": "/data/docker"
Docker

Prune unused objects

Prune images and containers

https://docs.docker.com/config/pruning/

Prune images

The docker image prune command allows you to clean up unused images. By default, docker image prune only cleans up dangling images. A dangling image is one that is not tagged and is not referenced by any container. To remove dangling images:

$ docker image prune


WARNING! This will remove all dangling images.
Are you sure you want to continue? [y/N] y

To remove all images which are not used by existing containers, use the -a flag:

$ docker image prune -a

WARNING! This will remove all images without at least one container associated to them.
Are you sure you want to continue? [y/N] y

By default, you are prompted to continue. To bypass the prompt, use the -f or --force flag.

You can limit which images are pruned using filtering expressions with the --filter flag. For example, to only consider images created more than 24 hours ago:

$ docker image prune -a --filter "until=24h"

Other filtering expressions are available. See the docker image prune reference for more examples.

Prune containers

When you stop a container, it is not automatically removed unless you started it with the --rm flag. To see all containers on the Docker host, including stopped containers, use docker ps -a. You may be surprised how many containers exist, especially on a development system! A stopped container?s writable layers still take up disk space. To clean this up, you can use the docker container prune command.

$ docker container prune

WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N] y

By default, you are prompted to continue. To bypass the prompt, use the -f or --force flag.

By default, all stopped containers are removed. You can limit the scope using the --filter flag. For instance, the following command only removes stopped containers older than 24 hours:

$ docker container prune --filter "until=24h"

Other filtering expressions are available. See the docker container prune reference for more examples.

Prune volumes

Volumes can be used by one or more containers, and take up space on the Docker host. Volumes are never removed automatically, because to do so could destroy data.

$ docker volume prune

WARNING! This will remove all volumes not used by at least one container.
Are you sure you want to continue? [y/N] y

By default, you are prompted to continue. To bypass the prompt, use the -f or --force flag.

By default, all unused volumes are removed. You can limit the scope using the --filter flag. For instance, the following command only removes volumes which are not labelled with the keep label:

$ docker volume prune --filter "label!=keep"

Other filtering expressions are available. See the docker volume prune reference for more examples.

Prune networks

Docker networks don?t take up much disk space, but they do create iptables rules, bridge network devices, and routing table entries. To clean these things up, you can use docker network prune to clean up networks which aren?t used by any containers.

$ docker network prune

WARNING! This will remove all networks not used by at least one container.
Are you sure you want to continue? [y/N] y

By default, you are prompted to continue. To bypass the prompt, use the -f or --force flag.

By default, all unused networks are removed. You can limit the scope using the --filter flag. For instance, the following command only removes networks older than 24 hours:

$ docker network prune --filter "until=24h"

Other filtering expressions are available. See the docker network prune reference for more examples.

Docker

Troubleshooting

https://bobcares.com/blog/iptables-no-chain-target-match-by-that-name-docker/

Our customers often approach us with this error. Firstly, we check if the firewall service status using

systemctl restart iptables.service

If the service is down we restart the service.

Then, we check the iptables rules using the command

iptables -L

The docker firewall rules were missing thus it shows the error.

To resolve the error our Support Engineers restart the docker service. For instance, to restart the docker we use the command,

service docker restart

While restarting the Docker, it automatically creates the firewall rules. And we ensure to enable the firewall before restarting the docker.```
Docker

aliases

alias dcud="docker-compose up -d"

alias dcd="docker-compose down"

alias dcp="docker-compose pull"

alias dclf="docker-compose logs -f"

alias glances="docker run --rm --name=glances -v /var/run/docker.sock:/var/run/docker.sock:ro --pid host --network host -it nicolargo/glances:latest-full"

alias ctop="docker run --rm -ti --name=ctop --volume /var/run/docker.sock:/var/run/docker.sock:ro quay.io/vektorlab/ctop:latest"
pull, down, up

pdu() { dcp dcd dcud }
down, up

downup() { dcd dcud }

Docker

Using Docker for temp app usage

docker run -it --rm -v .:/tmp -w /tmp node /usr/local/bin/npm install

Misc Apps

Misc Apps

Zerotier Openvz zt0 issue

Apparently the issue was a "rights issue"; adding the -U option as described down below fixed it.

chmod 0666 /dev/net/tun

/lib/systemd/system/zerotier-one.service:

[Unit]
Description=ZeroTier One
After=network.target

[Service]
ExecStart=/usr/sbin/zerotier-one -U
Restart=always
KillMode=process

[Install]
`WantedBy=multi-user.target``
Misc Apps

EdgeRouter Conditional Forwarding Hostnames

Log in to CLI or SSH to Ubiquiti router

configure
set service dhcp-server hostfile-update enable
commit
exit

This will now add names and IP of devices from your DHCP scope to the router's hosts file.

Misc Apps

Market

https://www.morphtoken.com/

Misc Apps

Octoprint

http://192.168.0.114/ 192.168.55.117

Open the the thingiverse/stl file in Cura Slicer

Misc Apps

FileBot

Season Padding

Firefly - 01x01 - Serenity
{n.take(120)} - {sxe.pad(2)} - {t.take(122)}
{n.removeAll(/[!?]+$/).take(70)} - {sxe.pad(2)} - {t.take(60)}
{n.removeAll(/[!?]+$/).take(70)} ({airdate.year}) - {sxe.pad(2)} - {t.take(60)}

Misc Apps

Usenet

nzbgeek newshosting

Linux

Linux Stuff

Linux

Samba Client CIFS

https://www.thomas-krenn.com/en/wiki/Mounting_a_Windows_Share_in_Linux

sudo apt-get install cifs-utils
mount -t cifs //192.168.1.100/freigabe /mnt -o user=testuser

For permanent mount

http://timlehr.com/auto-mount-samba-cifs-shares-via-fstab-on-linux/

user=docker
password=pass
domain=madsprite.com
//192.168.0.5/media /fileserver/media cifs uid=1000,gid=1000,credentials=/root/.smb,_netdev,iocharset=utf8,vers=3.0,noperm,nofail,noauto,x-systemd.automount,x-systemd.idle-timeout=120 0 0

x-systemd.automount provides autoconnect features upon filesystem calls.

/etc/systemd/system/mnt-media.mount

[Unit]
  Description=CIFS Share for Video Files
  Requires=network-online.target
  After=network-online.service

[Mount]
  What=//192.168.0.10/media
  Where=/mnt/media
  Options=uid=1000,gid=1000,credentials=/root/.smb,_netdev,iocharset=utf8,vers=3.0,noperm,nofail,noauto,x-systemd.automount,x-systemd.idle-timeout=120 0 0
  Type=cifs

[Install]
  WantedBy=multi-user.target
Linux

Debian Update Release Distro

update to the next distro stretch buster

apt update && apt upgrade -y && sed -i 's/stretch/buster/g' /etc/apt/*.list && sed -i 's/stretch/buster/g' /etc/apt/sources.list.d/*.list

apt update && apt upgrade -y && apt dist-upgrade -y && apt autoremove -y && hostnamectl
Linux

Bash Scripting Techniques

cat multiline

cat <<EOF > /etc/apt/sources.list
deb http://http.kali.org/kali kali-rolling main non-free contrib
# deb-src http://http.kali.org/kali kali-rolling main non-free contrib
EOF
Linux

Swap

sudo fallocate -l 2G /swapfile && sudo chmod 600 /swapfile && sudo mkswap /swapfile && sudo swapon /swapfile && free -h
sudo cp /etc/fstab /etc/fstab.bak && \
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
sysctl vm.swappiness=10 && \
sysctl vm.vfs_cache_pressure=50 && \
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf && \
echo 'vm.vfs_cache_pressure=50' | sudo tee -a /etc/sysctl.conf
Linux

Useradd

useradd -m -s /bin/bash -d /home/madsprite -c "MadSprite" madsprite

passwd madsprite

usermod -G sudo madsprite
Linux

XFS format

mkfs.xfs -f /dev/sdf
mkdir /disk6
mount -t xfs /dev/sdf /disk6
echo "/dev/sdf  /disk6 xfs  defaults  0  0" >> /etc/fstab
"UUID=acb421fe-e4dc-4081-9cf3-48c6f80077b0 /disk12 xfs defaults,nofail,x-systemd.device-timeout=20  0  0"

blkid
Linux

Disable Colour profile

cd /usr/share/polkit-1/actions/
cp -a  org.freedesktop.color.policy  org.freedesktop.color.policy.orig
sed -e 's|>auth_admin<|>no<|g'  org.freedesktop.color.policy.orig  >  org.freedesktop.color.policy
Linux

Qradar CE license issue

https://www.ibm.com/support/pages/node/6395080

Linux

Netboot

apt update;
apt install ipxe;
wget 'https://boot.netboot.xyz/ipxe/netboot.xyz.lkrn' -O /boot/ipxe.lkrn

Proxmox

promox tings

Proxmox

tun enabled for lxc

/etc/pve/lxc/###.conf

lxc.cgroup2.devices.allow: c 10:200 rwm
lxc.hook.autodev: sh -c "modprobe tun; cd ${LXC_ROOTFS_MOUNT}/dev; mkdir net; mknod net/tun c 10 200; chmod 0666 net/tun"
Proxmox

Hostname Naming Format

[hosting provider acronym][u-unix,m-windows + d-windows desktop][# iteration].madsprite.com

ie. cacm2.madsprite.com

Proxmox

Resource Pages

Windows Best Practices VM

https://pve.proxmox.com/wiki/Windows_VirtIO_Drivers

Shrink Qcow2 filesystems

https://pve.proxmox.com/wiki/Shrink_Qcow2_Disk_Files

Proxmox

ZFS container mount

pct shutdown 100
pct status 100
pct set 100 -mp0 /storage/share/downloads,mp=/home/user/torrents/downloads
;Use ro=1 Or for a read-only mount point.
pct set 100 -mp1 /storage/share/junk,mp=/home/user/junk,ro=1
;Mount the iso one randomly.
pct set 100 -mp2 /storage/share/iso,mp=/home/usr/iso,ro=1

https://forum.level1techs.com/t/how-to-create-a-nas-using-zfs-and-proxmox-with-pictures/117375

Proxmox

MergerFS and Snapraid

https://www.linuxserver.io/blog/2017-06-24-the-perfect-media-server-2017

mergerfs in /etc/fstab

/snapdisk*	/snapMedia fuse.mergerfs  direct_io,x-systemd.device-timeout=20,defaults,allow_other,minfreespace=50G,fsname=mergerfs,category.create=mfs 0 0

/etc/snapraid.conf

# Example configuration for snapraid

# Defines the file to use as parity storage
# It must NOT be in a data disk
# Format: "parity FILE_PATH"
parity /snapparity14/snapraid.parity

# Defines the files to use as content list
# You can use multiple specification to store more copies
# You must have least one copy for each parity file plus one. Some more don't hurt
# They can be in the disks used for data, parity or boot,
# but each file must be in a different disk
# Format: "content FILE_PATH"
content /var/snapraid.content
content /snapdisk15/.snapraid.content
content /snapdisk12/.snapraid.content

# Defines the data disks to use
# The order is relevant for parity, do not change it
# Format: "disk DISK_NAME DISK_MOUNT_POINT"
disk ata-WDC_WD161KRYZ-01AGBB0_2BJNHUGN /snapdisk15
disk ata-WDC_WD140EDGZ-11B1PA0_Y6GW3NUC /snapdisk12
disk ata-WDC_WD120EDBZ-11B1HA0_5QHY9WUB /snapdisk13
#disk ata-WDC_WD120EDAZ-11F3RA0_5PHWPLGF /snapdisk11

# Excludes hidden files and directories (uncomment to enable).
#nohidden

# Defines files and directories to exclude
# Remember that all the paths are relative at the mount points
# Format: "exclude FILE"
# Format: "exclude DIR/"
# Format: "exclude /PATH/FILE"
# Format: "exclude /PATH/DIR/"
exclude *.unrecoverable
exclude /tmp/
exclude /lost+found/
exclude downloads/
exclude appdata/
exclude snapshots/
exclude *.!sync
exclude .AppleDouble
exclude ._AppleDouble
exclude .DS_Store
exclude ._.DS_Store
exclude .Thumbs.db
exclude .fseventsd
exclude .Spotlight-V100
exclude .TemporaryItems
exclude .Trashes
exclude .AppleDB

https://stackoverflow.com/questions/24966676/transport-endpoint-is-not-connected

fusermount -uz /snapMedia
mount /snapMedia
Proxmox

System migration

virt-sysprep

Proxmox

fstab settings

# <file system> <mount point> <type> <options> <dump> <pass>
/dev/pve/root / ext4 errors=remount-ro 0 1
UUID=D5D7-302D /boot/efi vfat defaults 0 1
/dev/pve/swap none swap sw 0 0
proc /proc proc defaults 0 0

/dev/disk/by-id/ata-ST33000651NS_XXXXXXXX  /disk2 xfs  defaults,nofail,x-systemd.device-timeout=20  0  0
/dev/disk/by-id/ata-Hitachi_HUS724030ALE641_XXXXXXXX  /disk3 xfs  defaults,nofail,x-systemd.device-timeout=20  0  0
/dev/disk/by-id/ata-ADATA_SU800_2J18XXXXXXXX  /disk4 xfs  defaults,nofail,x-systemd.device-timeout=20  0  0
/dev/disk/by-id/ata-TEAML5Lite3D480G_AC20180730XXXXXXXX  /disk5 xfs  defaults,nofail,x-systemd.device-timeout=20  0  0
#UUID=998d9a5f-8a92-4f0e-9351-692bc0273a78  /disk6 xfs  defaults,nofail,x-systemd.device-timeout=20  0  0 # moved to BlueBox
/dev/disk/by-id/ata-Hitachi_HUS724030ALE641_XXXXXXXX  /disk7 xfs  defaults,nofail,x-systemd.device-timeout=20  0  0
#UUID=b4b0045f-5e99-4179-b120-77d5f3e5ab0d  /disk8 xfs  defaults,nofail,x-systemd.device-timeout=20  0  0 
/dev/disk/by-id/ata-Samsung_SSD_860_EVO_500GB_S598NEXXXXXXXX  /disk9 xfs  defaults,nofail,x-systemd.device-timeout=20  0  0
#UUID=c08875cb-7f36-4b59-b309-3d69c1c8046b  /disk10 xfs  defaults,nofail,x-systemd.device-timeout=20  0  0
#ata-WDC_WD120EDAZ-11F3RA0_XXXXXXXX  /disk11 xfs  defaults,nofail,x-systemd.device-timeout=20  0  0
#ata-WDC_WD140EDGZ-11B1PA0_XXXXXXXX  /disk12 xfs  defaults,nofail,x-systemd.device-timeout=20  0  0 # retired to mergerfs
/dev/disk/by-id/ata-WDC_WD120EDAZ-11F3RA0_XXXXXXXX  /snapdisk11 xfs  defaults,nofail,x-systemd.device-timeout=20  0  0
/dev/disk/by-id/ata-WDC_WD140EDGZ-11B1PA0_XXXXXXXX  /snapdisk12 xfs  defaults,nofail,x-systemd.device-timeout=20  0  0 #sdk cable-A WD140EDGZ-11
/dev/disk/by-id/ata-WDC_WD120EDBZ-11B1HA0_XXXXXXXX  /snapdisk13 xfs  defaults,nofail,x-systemd.device-timeout=20  0  0
/dev/disk/by-id/ata-WDC_WD161KRYZ-01AGBB0_XXXXXXXX  /snapparity14 xfs  defaults,nofail,x-systemd.device-timeout=20  0  0 # parity
/dev/disk/by-id/ata-WDC_WD161KRYZ-01AGBB0_XXXXXXXX  /snapdisk15 xfs  defaults,nofail,x-systemd.device-timeout=20  0  0

/snapdisk*      /snapMedia fuse.mergerfs  direct_io,x-systemd.device-timeout=20,defaults,allow_other,minfreespace=50G,fsname=mergerfs,category.create=mfs 0 0

/dev/zram0 none swap defaults,pri=10 0 0

# zfsStorage ata-TEAM_T253TD480G_AC20191128A0100129 ata-TEAM_T253TD480G_AC20191128A0101307 ata-WDC_WDS250G2B0A-00SM50_174420422522

https://askubuntu.com/questions/1210867/remount-cifs-on-network-reconnect

Proxmox

Auth Apps

https://github.com/nitnelave/lldap
https://www.pomerium.com/

Proxmox

Pihole LXC

Required:
lxc config set {container-name} security.nesting true.

Proxmox

Restart hosts if down

crontab -e

*/5 * * * * pct start 100 >/dev/null #container restart
*/5 * * * * qm start 100 > /dev/null #KVM restart
Proxmox

iGPU Passthrough

https://www.derekseaman.com/2023/11/proxmox-ve-8-1-windows-11-vgpu-vt-d-passthrough-with-intel-alder-lake.html

Mac OS

Mac OS technical

Mac OS

Recovery

NVRAM reset: Command+Alt(fn)+p+r

Recovery: Command+Option+r

Tool to burn installer.dmg files to USB on Windows https://www.acutesystems.com/scrtm.htm