Skip to content

Instantly share code, notes, and snippets.

View akunzai's full-sized avatar

Charley Wu akunzai

  • Taipei,Taiwan
  • 20:46 (UTC +08:00)
  • X @akunzai
View GitHub Profile
@akunzai
akunzai / 10-nginx-uid-or-gid.sh
Created September 9, 2024 16:04
Nginx container modify UID or GID
#!/bin/sh
USERID=$(id -u)
if [ "${USERID}" = "0" ] && [ -n "${NGINX_UID}" ] && [ "${NGINX_UID}" != "0" ]; then
usermod -u "${NGINX_UID}" nginx
if [ -n "${NGINX_GID}" ] && [ "${NGINX_GID}" != "0" ]; then
groupmod -g "${NGINX_GID}" nginx
fi
# Ensure the nginx user is able to write to container logs
@akunzai
akunzai / prometheus_tagets.py
Created July 19, 2024 09:53
List Prometheus targets status
#!/usr/bin/env python3
import json
import sys
import urllib.request
from urllib.error import URLError
import textwrap
def fetch_targets(prometheus_url):
try:
with urllib.request.urlopen(f"{prometheus_url}/api/v1/targets") as response:
@akunzai
akunzai / ForwardedHeadersMiddleware.cs
Last active January 10, 2024 10:37
Handle `X-Forwarded-*` headers for OWIN
public class ForwardedHeadersMiddleware : OwinMiddleware
{
public ForwardedHeadersMiddleware(OwinMiddleware next) : base(next)
{
}
public override Task Invoke(IOwinContext context)
{
if (string.Equals(context.Request.Headers["X-Forwarded-Proto"], "https",
StringComparison.OrdinalIgnoreCase))
# https://github.com/colinmollenhour/docker-openmage/blob/main/8.2/apache/Dockerfile
# https://github.com/OpenMage/magento-lts/tree/main/dev/openmage
ARG PHP_VERSION=8.2
ARG OPENMAGE_VERSION=20.3.0
FROM alpine as unzipper
ARG OPENMAGE_VERSION
RUN set -eux; \
apk add curl unzip; \
mkdir -p /usr/src/openmage; \
@akunzai
akunzai / ListOfEnumStringConverter.cs
Last active November 10, 2023 14:59
JsonConverter for list of enum string
using System.Reflection;
namespace System.Text.Json.Serialization;
/// https://learn.microsoft.com/dotnet/standard/serialization/system-text-json/converters-how-to
public class ListOfEnumStringConverter : JsonConverterFactory
{
public override bool CanConvert(Type typeToConvert)
{
if (!typeToConvert.IsGenericType)
@akunzai
akunzai / README.md
Last active September 18, 2024 19:25
a mini HTTP server to inspect requests

Run this script from GitHub Gist directly

npx https://gist.github.com/akunzai/e245cb079d90bf102b8a7bf60ef07536
@akunzai
akunzai / gitlab-artifacts-cleanup.py
Last active May 2, 2023 10:40 — forked from Pingu501/gitlab-artifacts-cleanup.py
GitLab Artifacts Clean-Up
#! /usr/bin/env python3
# encoding: utf-8
"""
This is a small python script to clear up old gitlab build artifacts.
"""
import argparse
import datetime
import functools
import json
@akunzai
akunzai / build-protoaculous.sh
Created September 2, 2022 02:34
Bundles up the latest from prototypejs and scriptaculous into a single file
#!/bin/sh
# Origin: https://github.com/inderpreet99/protoaculous-bundler
# Requirements: curl,unzip,perl,npx
PROTOTYPE_VER="1.7.3.0"
SCRIPTACULOUS_VER="1.9.0"
[ -f "prototype.$PROTOTYPE_VER.js" ] || curl -so prototype.$PROTOTYPE_VER.js https://ajax.googleapis.com/ajax/libs/prototype/$PROTOTYPE_VER/prototype.js
[ -f "scriptaculous-js-$SCRIPTACULOUS_VER.zip" ] || curl -sO http://script.aculo.us/dist/scriptaculous-js-$SCRIPTACULOUS_VER.zip
unzip -q -o scriptaculous-js-$SCRIPTACULOUS_VER.zip
@akunzai
akunzai / web.config
Last active January 5, 2023 22:05
ASP.NET Web application security configurations
<!-- The following configuration should also work with Azure App Service -->
<configuration>
<system.web>
<!-- Disable X-AspNet-Version Header -->
<httpRuntime enableVersionHeader="false" />
<!-- File upload size limit (KB), avoid DoS attack -->
<httpRuntime maxRequestLength="4096" />
<!-- Disable debug & trace in Production -->
<compilation debug="false" />
<trace enabled="false" />