Track and display recently modified files across your Obsidian vault.
- Monitor files from specific folders
- Group by subfolders
- Customizable time periods and status indicators
- Sort by priority
| #!/bin/bash | |
| # This file is designed to spin up a Wireguard VPN quickly and easily, | |
| # including configuring Pi-Hole as a recursive local DNS server using | |
| # Unbound to block ads a the DNS level | |
| # | |
| # Make sure to change the public/private keys before running the script | |
| # Also change the IPs, IP ranges, and listening port if desired | |
| # add wireguard repo | |
| sudo add-apt-repository ppa:wireguard/wireguard -y |
| // Replace SERVER_NAME with the FQDN of your exchange server before using | |
| { | |
| "name": "PS Exchange Management Shell", | |
| "tabTitle": "PS Exchange Management Shell", | |
| "commandline": "powershell.exe -NoProfile -NoExit -Command Enter-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri 'http://SERVER_NAME/PowerShell/' -Credential (Get-Credential)" | |
| } |
| jsonData='[{"name": "name#1","value": "value#1"},{"name": "name#2","value": "value#2"}]' | |
| for row in $(echo "${jsonData}" | jq -r '.[] | @base64'); do | |
| _jq() { | |
| echo "${row}" | base64 --decode | jq -r "${1}" | |
| } | |
| # OPTIONAL | |
| # Set each property of the row to a variable | |
| name=$(_jq '.name') | |
| value=$(_jq '.value') |
Gist README
This script loops through all video files in a specified folder, extracts a set number of frames (20 by default), and generates a single sprite sheet (vertical strip) for each video.
Open Windows Terminal Settings:
Add a New Profile:
| # Define variables | |
| $port = 80 | |
| $wslIp = (wsl hostname -I | ForEach-Object { $_.Split(" ")[0] }).Trim() # Get the first IP address of the WSL instance | |
| $firewallRuleName = "AllowPort$portToWSL" | |
| $netshRuleName = "WSL Port Forwarding $port" | |
| # Add a firewall rule to allow inbound traffic on the specified port | |
| Write-Host "Adding firewall rule to allow inbound traffic on port $port..." | |
| New-NetFirewallRule -DisplayName $firewallRuleName -Direction Inbound -LocalPort $port -Protocol TCP -Action Allow |
| # Find the process ID (PID) listening on port | |
| $port = 3000 | |
| $processId = Get-NetTCPConnection -LocalPort $port | Select-Object -ExpandProperty OwningProcess | |
| # Check if processId is found | |
| if ($processId) { | |
| # Kill the process with the found processId | |
| Stop-Process -Id $processId -Force | |
| Write-Output "Process with PID $processId listening on port 3000 has been terminated." | |
| } else { |
| @ setlocal enableextensions | |
| @ cd /d "%~dp0" | |
| for /R %%a in (*.exe) do ( | |
| netsh advfirewall firewall add rule name="Blocked with Batchfile %%a" dir=out program="%%a" action=block | |
| ) |