Skip to content

Instantly share code, notes, and snippets.

@manelrodero
manelrodero / create_base_template.sh
Created August 29, 2025 08:34
Create base for LXC Template
clear
# Create base for LXC Template v1.3 (2025-08-15) by Manel Rodero
RED='\033[1;31m'
GREEN='\033[1;32m'
CYAN='\033[1;36m'
NC='\033[0m'
echo -e "${GREEN}Introduce el nombre de la plantilla:${NC}"
@manelrodero
manelrodero / check_unattend.sh
Created August 29, 2025 08:30
Check unattended-upgrades in LXC containers
#!/bin/bash
for CTID in $(pct list | awk 'NR>1 {print $1}'); do
echo "🔍 Checking CT $CTID..."
if pct exec $CTID -- test -f /etc/apt/apt.conf.d/20auto-upgrades; then
STATUS=$(pct exec $CTID -- grep 'Unattended-Upgrade' /etc/apt/apt.conf.d/20auto-upgrades | grep '"1"' || echo "❌ Disabled")
echo "CT $CTID: $STATUS"
else
echo "CT $CTID: ❌ No config file found"
fi
done
@manelrodero
manelrodero / dns_speed_test.sh
Created August 12, 2025 13:59
Bash script for testing several DNS servers using some random test domains
#!/bin/bash
# DNS query speed testing script (ampliado y ordenado)
# Autor: Manel + Copilot
# Colores ANSI
GREEN='\033[0;32m'
NC='\033[0m' # Sin color
# Lista de dominios variados
@manelrodero
manelrodero / PSADT-Cheatsheet.ps1
Created November 12, 2024 18:31 — forked from leeramsay/PSADT-Cheatsheet.ps1
PSADT snippits/cheatsheet
## Commonly used PSADT env variables
$envCommonDesktop # C:\Users\Public\Desktop
$envCommonStartMenuPrograms # C:\ProgramData\Microsoft\Windows\Start Menu\Programs
$envProgramFiles # C:\Program Files
$envProgramFilesX86 # C:\Program Files (x86)
$envProgramData # c:\ProgramData
$envUserDesktop # c:\Users\{user currently logged in}\Desktop
$envUserStartMenuPrograms # c:\Users\{user currently logged in}\AppData\Roaming\Microsoft\Windows\Start Menu\Programs
$envSystemDrive # c:
$envWinDir # c:\windows
@manelrodero
manelrodero / Purge-PSModules.ps1
Created March 18, 2024 08:14
Borra las versiones antiguas de los módulos PowerShell instalados (dejando únicamente una)
# Obtén la lista de todos los módulos instalados
$installedModules = Get-Module -ListAvailable
# Filtra los módulos que tienen más de una versión instalada
$modulesWithMultipleVersions = $installedModules | Group-Object Name | Where-Object { $_.Count -gt 1 }
# Itera a través de los módulos con múltiples versiones
foreach ($module in $modulesWithMultipleVersions) {
$moduleName = $module.Name
$moduleVersions = $module.Group | Sort-Object Version
@manelrodero
manelrodero / GetVBScriptFOD.ps1
Created October 2, 2023 12:00
Watch for CAB files of VBScript FOD
# Directorios de origen y destino
$sourceDirectory = 'C:\Windows\SoftwareDistribution\Download'
$global:destinationDirectory = 'C:\FixVbScript'
# Crear el directorio de destino si no existe
if (!(Test-Path -Path $global:destinationDirectory)) {
New-Item -ItemType Directory -Path $global:destinationDirectory
}
# Crear un objeto FileSystemWatcher
@manelrodero
manelrodero / cloudflare-ddns.py
Created January 3, 2023 14:53
Update CloudFlare A record (Dynamic DNS)
#!/usr/bin/env python
# cloudflare-ddns.py
# Summary: Access your home network remotely via a custom domain name without a static IP!
# Description: Access your home network remotely via a custom domain
# Access your home network remotely via a custom domain
# A small, 🕵️ privacy centric, and ⚡
# lightning fast multi-architecture Docker image for self hosting projects.
# Código original:
# https://github.com/timothymiller/cloudflare-ddns
@manelrodero
manelrodero / Repair-DNSSuffix.ps1
Created November 7, 2022 09:40
DNS Suffix usando PowerShell
Function Repair-DNSSuffix {
if ((Get-WmiObject Win32_ComputerSystem).PartOfDomain -eq $true) {
if (Test-ComputerSecureChannel -Repair) {
Get-NetConnectionProfile | Where-Object { $_.NetworkCategory -eq "Public" } | ForEach-Object {
if ($_.InterfaceAlias) {
Set-DnsClient $_.InterfaceAlias -ConnectionSpecificSuffix $env:USERDNSDOMAIN -UseSuffixWhenRegistering $TRUE -ErrorAction SilentlyContinue
}
ipconfig.exe /registerdns
}
}
@manelrodero
manelrodero / Install-Winget.ps1
Created November 4, 2022 12:54
Instalar Winget (y sus pre-requisitos)
<#PSScriptInfo
.VERSION 1.0.2
.GUID d860203a-bf1c-4477-aa2d-945981b9834e
.AUTHOR shfritz@microsoft.com
.COMPANYNAME Microsoft
@manelrodero
manelrodero / Borrar_Acrobat_All.bat
Last active July 3, 2024 22:58
Desinstalar Adobe Acrobat Reader y Pro + Borrar restos + Configuración de usuario
@echo off
echo Matando procesos...
taskkill.exe /f /im "AcroRd32.exe" 2>nul
taskkill.exe /f /im "Acrobat.exe" 2>nul
taskkill.exe /f /im "acrodist.exe" 2>nul
echo Desinstalando programas...
FOR /F "tokens=1 delims=:" %%i IN ('UninstallW.exe /a ^| FIND /I "Adobe Acrobat Reader"') DO UninstallW.exe /q /w "%%i"
FOR /F "tokens=1 delims=:" %%i IN ('UninstallW.exe /a ^| FIND /I "Adobe Acrobat"') DO UninstallW.exe /q /w "%%i"