I hereby claim:
- I am paulgalow on github.
- I am paulgalow (https://keybase.io/paulgalow) on keybase.
- I have a public key whose fingerprint is FAB2 F3EF EC6C C5D4 A9BF 4AB3 B90D B0E9 29F1 E4C6
To claim this, I am signing this object:
I hereby claim:
To claim this, I am signing this object:
| #!/usr/bin/swift | |
| import AppKit | |
| func generateMacIcon(dimension: CGFloat, name iconName: String) { | |
| // Make sure our maximum rendering size does not exceed 512 px | |
| guard dimension <= 512 else { | |
| print("Error: Maximum dimension allowed is 512") | |
| return |
| #!/bin/bash | |
| # Get AWS CLI IAM credentials from LastPass CLI | |
| # Blog post: https://paulgalow.com/securing-aws-credentials-macos-lastpass | |
| # ############################################################################## | |
| # Please adjust those properties | |
| readonly lastPassEntry="REPLACE-ME" # Name of LastPass entry that stores your IAM credentials | |
| readonly lpass="/usr/local/bin/lpass" # Path to LastPass CLI | |
| # ############################################################################## |
| <?xml version="1.0" encoding="UTF-8"?> | |
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | |
| <plist version="1.0"> | |
| <dict> | |
| <key>PayloadContent</key> | |
| <array> | |
| <dict> | |
| <key>EnterprisePoliciesEnabled</key> | |
| <true/> | |
| <key>Extensions</key> |
| #!/bin/bash | |
| # macOS Automator script to rename photos/videos based on creation date | |
| # Blog post: https://paulgalow.com/macos-quick-action-rename-photos-videos-timestamp | |
| export PATH=/usr/bin:/bin:/usr/sbin:/sbin | |
| # Create subfolder to store renamed files | |
| createDestination() { | |
| readonly destination="$(dirname "$file")/sorted" |
| const { parse } = require("url"); | |
| function checkHTTP(url) { | |
| return new Promise((resolve, reject) => { | |
| const { protocol } = parse(url); | |
| const lib = protocol === "https:" ? require("https") : require("http"); | |
| const request = lib.get(url, response => { | |
| console.log(`HTTP Status Code:`, response.statusCode); | |
| resolve(response); |
| const { createConnection } = require("net"); | |
| function checkTCP(host = "1.1.1.1", port = 53) { | |
| return new Promise((resolve, reject) => { | |
| const client = createConnection({ host, port }, () => { | |
| console.log(`TCP connection established on port ${port}`); | |
| client.end(); | |
| resolve(); | |
| }); |
| #!/bin/sh | |
| readonly installAssistant="$1" | |
| # Display error messages and exit script | |
| error() { | |
| echo "[ERROR] $*" | |
| exit 1 | |
| } |
| 🔔 UPDATE |
|---|
| GFI has released an official statement |
Log4j hotfix against Log4Shell (CVE-2021-44228) for Kerio Connect server instances running on Ubuntu 20.04. Please note that at this point it is unclear to me if Kerio Connect is vulnerable. This is meant as a precaution.
JndiLookup class from log4j-core-2.5.jar. I haven't run into any side effects, but be advised this might cause unintended side effects.
cd /opt/kerio/mailserver/javaservices/im/lib| const dotenv = require("dotenv"); | |
| const fs = require("fs").promises; | |
| const path = require("path"); | |
| module.exports = async function processManifest(manifestData) { | |
| const stageName = Object.keys(manifestData)[0]; | |
| const { outputs } = manifestData[stageName]; | |
| const envArray = outputs | |
| .map((obj) => Object.values(obj)) | |
| .map((arr) => [camelToUpperSnakeCase(arr[0]), arr[1]]); |