apt install fail2ban python3-inotify
sudo vi /etc/fail2ban/filter.d/nginx-spammers.conf
sudo vi /etc/fail2ban/jail.local
| import gzip | |
| import json | |
| import yaml | |
| from yaml import Dumper, Loader | |
| FILENAME = "./test.yml" | |
| with open(FILENAME) as fo: | |
| tyaml = fo.read() |
| Get-ChildItem "$env:LOCALAPPDATA\Temp" -Recurse -Force -ErrorAction SilentlyContinue | | |
| Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-7) } |
| tools: | |
| # Order is important! | |
| lazygit: jesseduffield/lazygit | |
| rg: BurntSushi/ripgrep | |
| bat: | |
| repo: sharkdp/bat | |
| shell_code: | |
| bash: | | |
| alias cat='bat -pp' | |
| alias less='bat --paging=always' |
| Sub AppendMarkdownUTF8(content As String, strFileName As String) | |
| Dim stream As Object | |
| Dim existingContent As String | |
| Dim strFilePath As String | |
| Dim fso As Object | |
| strFilePath = Environ("USERPROFILE") & "\Documents\Obsidian\Daily\" & strFileName | |
| Set fso = CreateObject("Scripting.FileSystemObject") | |
| ' Create empty file if missing (faster & simpler than ADODB) | |
| If Not fso.FileExists(strFilePath) Then |
| # /// script | |
| # requires-python = ">=3.12" | |
| # dependencies = [ | |
| # "requests", | |
| # ] | |
| # /// | |
| import argparse | |
| import csv | |
| import shutil |
| Sub SmartArchive() | |
| Dim objApp As Outlook.Application | |
| Dim objSelection As Outlook.Selection | |
| Dim objMail As Outlook.MailItem | |
| Dim objConversation As Outlook.Conversation | |
| Dim objRootItems As Outlook.SimpleItems | |
| Dim objChildItems As Outlook.SimpleItems | |
| Dim objRootItem As Object | |
| Dim objChildItem As Object | |
| Dim objFolder As Outlook.folder |
| Sub CloneCalendarItem() | |
| Dim objApp As Outlook.Application | |
| Dim objSelection As Outlook.Selection | |
| Dim objItem As Object | |
| Dim objNewItem As Outlook.AppointmentItem | |
| Dim recip As Outlook.Recipient | |
| Dim newRecip As Outlook.Recipient | |
| Set objApp = Outlook.Application | |
| Set objSelection = objApp.ActiveExplorer.Selection |
| import math | |
| PRECISION = 24 * 60 | |
| def average_time(times: list[str]) -> str: | |
| sum_sin = 0.0 | |
| sum_cos = 0.0 | |
| for time_str in times: | |
| hours, mins = map(int, time_str.split(':')) | |
| total_mins = (hours % 24) * 60 + mins |
apt install fail2ban python3-inotify
sudo vi /etc/fail2ban/filter.d/nginx-spammers.conf
sudo vi /etc/fail2ban/jail.local
| # /// script | |
| # requires-python = ">=3.10" | |
| # dependencies = [ | |
| # "yt-dlp>0.4.0", | |
| # "feedendum", | |
| # ] | |
| # /// | |
| import argparse | |
| import mimetypes | |
| from datetime import datetime |