Skip to content

Instantly share code, notes, and snippets.

Avatar

Andrew Fresh afresh1

View GitHub Profile
@afresh1
afresh1 / vfs-sysctl_hw_sensors-discovery
Created Jul 22, 2020
A perl script to convert OpenBSD's `sysctl hw.sensors` output into something that might be useful for Zabbix.
View vfs-sysctl_hw_sensors-discovery
#!/usr/bin/perl -T
use v5.16;
use warnings;
use OpenBSD::Pledge qw< pledge >;
use JSON::PP qw<>;
# Copyright (c) 2020 Andrew Hewus Fresh <andrew@afresh1.com>
#
# Permission to use, copy, modify, and distribute this software for any
@afresh1
afresh1 / openbsd-httpd-fastcgi-notes.md
Created Jul 12, 2020
Notes on how OpenBSD's httpd handles its FastCGI parameters. Debugging it with slowcgi.
View openbsd-httpd-fastcgi-notes.md

These examples all live in a default server block in your httpd.conf(5).

server "default" {
	listen on * port 80
	... # all the location blocks can together right here
}

We'll be using slowcgi(8) as the example, because with the -d flag it helpfully spits out the FastCGI environment it got from httpd(8) and what it's planning to do with that.

@afresh1
afresh1 / fill-chroot.sh
Last active Jun 7, 2020
fill-chroot - Add files and their needed libs to a chroot directory
View fill-chroot.sh
#!/bin/sh
chroot=/var/www # ${PWD}
copy_recurse() {
file=$1
[ -e "${chroot}${file}" ] && return
mkdir -p $( dirname "${chroot}${file}" )
cp -p "$file" "${chroot}${file}"
@afresh1
afresh1 / teetime
Last active Apr 16, 2020
A perl implementation of "tee" that prefixes each line to the teed file with a timestamp relative to the start of ths script.
View teetime
#!/usr/bin/perl
use strict;
use warnings;
use v5.10;
use Time::HiRes qw< gettimeofday tv_interval >;
# Copyright (c) 2020 Andrew Hewus Fresh <andrew@afresh1.com>
#
# Permission to use, copy, modify, and distribute this software for any
@afresh1
afresh1 / 6rd_config.sh
Last active Dec 7, 2019
Calculates a 6rd IP and default gateway and outputs them in an OpenBSD hostname.gif0 format from an IPv4 address, with optional mask, the v4 destination, a 6rd prefix with length. See also this gist: https://gist.github.com/afresh1/791343380b4410687d51fdd94f20bd42
View 6rd_config.sh
#!/bin/ksh
set -e
set -f -u -C
# Copyright (c) 2019 Andrew Hewus Fresh <andrew@afresh1.com>
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
@afresh1
afresh1 / HTTP-Tiny-nc.pm
Last active Jul 12, 2020
An monkey patch to let perl's HTTP::Tiny to use the OpenBSD netcat with TLS support to access https sites without installing IO::Socket::SSL and Net::SSLeay.
View HTTP-Tiny-nc.pm
use v5.16;
use warnings;
package HTTP::Tiny::nc;
use parent 'HTTP::Tiny';
our $VERSION = v0.0.1;
# Copyright (c) 2019, 2020 Andrew Hewus Fresh <afresh1@openbsd.org>
#
# Permission to use, copy, modify, and distribute this software for any
@afresh1
afresh1 / Installing_an_OpenBSD_VM_under_FreeNAS.md
Last active Dec 11, 2018
Installing OpenBSD in a bhyve VM under FreeNAS
View Installing_an_OpenBSD_VM_under_FreeNAS.md
@afresh1
afresh1 / force_hires_move.pl
Created Nov 3, 2017
Forces File::Copy to use HiRes times in move.
View force_hires_move.pl
#!/usr/bin/perl
use v5.20;;
use warnings;
BEGIN {
require Time::HiRes;
# Has to come before importing File::Copy
Time::HiRes->export( 'File::Copy', qw( stat utime ) );
}
use File::Copy;
View !blogsum-app.psgi
#!/usr/bin/env plackup
use strict;
use warnings;
use Plack::Builder;
use Plack::App::File;
use Plack::App::WrapCGI;
BEGIN {
chdir "/var/www/blogsum" or die "Unable to chdir: $!";
@afresh1
afresh1 / admin.cgi.patch
Created Oct 12, 2017
blogsum as a Plack app
View admin.cgi.patch
--- admin.cgi.orig Wed Oct 11 18:32:23 2017
+++ admin.cgi Wed Oct 11 18:32:52 2017
@@ -8,19 +8,19 @@
###########################
use strict;
use Blogsum::Config;
-my $database = $Blogsum::Config::database;
-my $blog_theme = $Blogsum::Config::blog_theme;
-my $blog_title = $Blogsum::Config::blog_title;
+our $database = $Blogsum::Config::database;
You can’t perform that action at this time.