Skip to content

Instantly share code, notes, and snippets.

Proxmox VE tips

Just some tips I gathered over time. All in one easily reachable place so I can share it wherever I want.

Please note that unless you see a shebang (#!/...) these code blocks are usually meant to be copy & pasted directly into the shell. Some of the steps will not work if you run part of them in a script and copy paste other ones as they rely on variables set before.
The { and } surrounding some scripts are meant to avoid poisoning your bash history with individual commands, etc. You can ignore them if you manually copy paste the individual commands.
I chose to write things "in the open" that way so there's still some control and things don't become a black box.

Table of contents

#Block AI Slop
User-agent: AI2Bot
User-agent: Ai2Bot-Dolma
User-agent: aiHitBot
User-agent: Amazonbot
User-agent: Andibot
User-agent: anthropic-ai
User-agent: Applebot
User-agent: Applebot-Extended
User-agent: Awario
@thinkingcap
thinkingcap / build-franken-php.sh
Created July 1, 2025 00:04
Build FrankenPHP static binaries
docker buildx bake \
--load \
--set static-builder-gnu.args.PHP_VERSION=8.3 static-builder-gnu \
--set '*.platform=linux/amd64'
docker cp $(docker create --name static-builder-gnu dunglas/frankenphp:static-builder-gnu):/go/src/app/dist/frankenphp-linux-$(uname -m) frankenphp ; docker rm static-builder-gnu
nano /etc/lsws-rc/extra.d/mywebappname.rewrite.block-bot.conf
# Block unwanted bots by User-Agent
RewriteCond %{HTTP_USER_AGENT} "(scrapy|acunetix|BLEXBot|domaincrawler\.com|LinkpadBot|MJ12bot/v|majestic12\.co\.uk|AhrefsBot|TwengaBot|SemrushBot|Amazonbot|nikto|winhttp|Xenu\s+Link\s+Sleuth|Baiduspider|HTTrack|clshttp|harvest|extract|grab|miner|python-requests|ClaudeBot)" [NC]
RewriteRule .* - [F,L]
if ($http_user_agent ~* "(?:acunetix|gptbot|BLEXBot|domaincrawler\.com|LinkpadBot|MJ12bot/v|majestic12\.co\.uk|bingbot|AhrefsBot|TwengaBot|SemrushBot|Amazonbot|nikto|winhttp|Xenu\s+Link\s+Sleuth|Baiduspider|HTTrack|clshttp|harvest|extract|grab|miner|python-requests|meta-externalagent)") {
return 403;
}
#!/bin/bash
# Set a container name of your choice
CONTAINER=fed-insync
# Create the toolbox container AND initial update
distrobox-create --name $CONTAINER --image fedora:latest
distrobox enter $CONTAINER -- sudo dnf update -y
# Insync Repo
<button wire:click="save" wire:loading.attr="data-loading" class="relative">
<div class="[[data-loading]>&]:opacity-0">Save changes</div>
<div class="[[data-loading]>&]:opacity-100 opacity-0 absolute inset-0 flex items-center justify-center">
<!-- loading spinner... -->
</div>
</button>
47.128.41.56
47.128.22.227
47.128.52.255
47.128.25.247
195.191.219.130
47.128.44.2
47.128.29.213
47.128.56.5
195.191.219.132
47.128.119.100
@thinkingcap
thinkingcap / gist:f59d3357f9080bcc714a88d6c5d80069
Last active April 27, 2024 07:58
Laravel php8.3 extensions
sudo apt install php8.3 php8.3-bcmath php8.3-bz2 php8.3-cli php8.3-common php8.3-curl php8.3-dev php8.3-gd php8.3-igbinary php8.3-imagick php8.3-intl php8.3-mbstring php8.3-msgpack php8.3-mysql php8.3-opcache php8.3-pgsql php8.3-readline php8.3-redis php8.3-ssh2 php8.3-tidy php8.3-xml php8.3-xmlrpc php8.3-zip php8.3-sqlite3