Skip to content

Instantly share code, notes, and snippets.

View qdm12's full-sized avatar

Quentin McGaw qdm12

View GitHub Profile
func (c *configurator) CreateTUN() error {
c.logger.Info("%s: creating %s", logPrefix, constants.TunnelDevice)
if err := c.fileManager.CreateDir("/dev/net"); err != nil {
return err
}
dev := c.mkDev(10, 200)
if err := c.mkNod(string(constants.TunnelDevice), unix.S_IFCHR, int(dev)); err != nil {
return err
}
if err := c.fileManager.SetUserPermissions(string(constants.TunnelDevice), 666); err != nil {
package command
import (
"bufio"
"context"
"fmt"
"io"
)
type StreamMerger interface {
func (c *commander) Start(name string, arg ...string) (stdoutPipe, stderrPipe io.ReadCloser, waitFn func() error, err error) {
cmd := c.execCommand(name, arg...)
stdout, err := cmd.StdoutPipe()
if err != nil {
return nil, nil, nil, err
}
stderr, err := cmd.StderrPipe()
if err != nil {
return nil, nil, nil, err
}
@qdm12
qdm12 / karabiner.json
Created February 11, 2020 17:37
Karabiner Elements configuration file for Mac OS
{
"global": {
"check_for_updates_on_startup": true,
"show_in_menu_bar": true,
"show_profile_name_in_menu_bar": false
},
"profiles": [
{
"name": "Default profile",
"selected": true,
@qdm12
qdm12 / buildx-latest.yml
Created May 14, 2020 01:34
Buildx Latest with Github Actions
name: Buildx latest
on:
push:
branches: [master]
paths-ignore:
- .github/workflows/buildx-release.yml
- README.md
jobs:
buildx:
runs-on: ubuntu-latest
@qdm12
qdm12 / buildx-latest.yml
Created May 14, 2020 01:34
Buildx Latest with Github Actions
name: Buildx latest
on:
push:
branches: [master]
paths-ignore:
- .github/workflows/buildx-release.yml
- README.md
jobs:
buildx:
runs-on: ubuntu-latest
@qdm12
qdm12 / buildx-release.yml
Last active May 14, 2020 01:42
Buildx Release with Github Actions
name: Buildx release
on:
release:
types: [published]
paths-ignore:
- .github/workflows/buildx-latest.yml
- README.md
jobs:
buildx:
@qdm12
qdm12 / Dockerfile
Created October 15, 2020 23:54
Domoticz docker image dockerfile
FROM debian:buster-slim
WORKDIR /domoticz
EXPOSE 8080/tcp 443/tcp 6144
ENTRYPOINT [ "/domoticz/domoticz" ]
RUN apt-get update -y && \
apt-get install -y wget libusb-0.1-4 libcurl3-gnutls && \
wget -q -O domoticz.tgz https://releases.domoticz.com/releases/release/domoticz_linux_x86_64.tgz && \
tar -xf domoticz.tgz && \
rm domoticz.tgz *.txt
@qdm12
qdm12 / main.go
Created May 11, 2021 14:39
Fetch API and send email (@clemone210)
package main
import (
"context"
"fmt"
"io"
"log"
"net"
"net/http"
"net/smtp"
@qdm12
qdm12 / bench_test.go
Last active October 29, 2022 07:42
Fast thread-safe uniformly distributed numbers generation in Go
package main
import (
"crypto/rand"
"encoding/binary"
"fmt"
"hash/maphash"
mathrand "math/rand"
"runtime"
"sync"