Skip to content

Instantly share code, notes, and snippets.

@sergejmueller
sergejmueller / gist:b8668c56b07d881a7ce9
Last active June 12, 2021 09:36
Batch-Konvertierung der PNG- und JPEG-Dateien nach WebP
ls -1 *.jpg | xargs -n 1 bash -c '/usr/local/lib/libwebp-0.4.0/bin/cwebp "$0" -o "${0%.*}.webp" -quiet -q 90'
ls -1 *.png | xargs -n 1 bash -c '/usr/local/lib/libwebp-0.4.0/bin/cwebp "$0" -o "${0%.*}.webp" -quiet -q 0 -lossless'
@sergejmueller
sergejmueller / .htaccess
Last active January 12, 2024 20:58
Apache: Detecting WebP support with Header Vary Accept
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_ACCEPT} image/webp
RewriteCond %{DOCUMENT_ROOT}/$1.webp -f
RewriteRule (.+)\.(jpe?g|png)$ $1.webp [T=image/webp,E=accept:1]
</IfModule>
<IfModule mod_headers.c>
Header append Vary Accept env=REDIRECT_accept
</IfModule>
@sergejmueller
sergejmueller / info.php
Created May 2, 2013 09:09
Ausgabe des DocumentRoot-Verzeichnises. Notwendig als Ersatz für die nicht verfügbare Apache (.htaccess) DocumentRoot-Direktive. http://httpd.apache.org/docs/2.0/mod/core.html#documentroot
<?php echo rtrim($_SERVER['DOCUMENT_ROOT'], '/') ?>
@sergejmueller
sergejmueller / gist:6113816
Last active June 3, 2018 12:49
Erweiterung der Nginx-Konfigurationsdatei für Cachify Memcached-Caching
## GZIP
gzip_static on;
## CHARSET
charset utf-8;
## INDEX LOCATION
location / {
error_page 404 405 = @nocache;
@sergejmueller
sergejmueller / mime.types
Created November 27, 2013 09:00
Nginx: Detecting WebP support with Header Vary Accept. Filename format: image.jpeg / image.webp
...
image/webp webp;
...
@sergejmueller
sergejmueller / ip-blacklist.conf
Last active December 16, 2020 19:51
Fail2Ban-Konfiguration für die manuelle Sperrung bestimmter IP-Adressen. Weitere Informationen unter https://github.com/sergejmueller/sergejmueller.github.io/wiki/Fail2Ban:-IP-Firewall
# Fail2Ban configuration file
#
# List of blocked ip addresses
#
# Server: Nginx
# Author: Sergej Müller
#
# File path: /etc/fail2ban/filter.d/ip-blacklist.conf
@sergejmueller
sergejmueller / _scripts.js
Last active May 19, 2018 13:05
Lazyload-Technik fürs Nachladen der Bilder. Besonderheit: Bilder werden 3 Screens (3 x Browserfentserhöhe) vor der eigentlichen Position geladen, um beim Erreichen des Viewports bereits sichtbar zu sein. Ohne noscript-Fallback.
addEventListener(
'scroll',
function() {
var i,
img,
rect,
images = document.querySelectorAll('[lazyload-src]');
if ( ! images.length ) {
return;
@sergejmueller
sergejmueller / ntpdate
Created January 10, 2014 07:53
Ubuntu Zeitkorrektur via Anacron. Abzulegen als Datei unter /etc/cron.weekly - wichtig ist die Dateiberechtigung auf 755
#!/bin/sh
ntpdate 0.de.pool.ntp.org
@sergejmueller
sergejmueller / jail.local
Last active February 3, 2016 08:00
Fail2Ban-Regel für die Erkennung und Sperre von Bots, die dabei erwischt werden, Login-Versuche auf die WordPress-Anmeldeseite abzusetzen. Die Anmeldeseite ist dabei mit einem Zugriffsschutz versehen. Weitere Infos unter https://github.com/sergejmueller/sergejmueller.github.io/wiki/Fail2Ban:-IP-Firewall
[wp-auth]
enabled = true
filter = wp-auth
port = http,https
logpath = /var/log/nginx*/access*.log
maxretry = 1
findtime = 86400
bantime = -1
@sergejmueller
sergejmueller / nginx.conf
Last active April 29, 2016 07:10
NGINX: Keine WeMonit-Requests im Access Log
http {
...
include /etc/nginx/conf.d/wemonit.map;
...
}