Skip to content

Instantly share code, notes, and snippets.

@SCP002
SCP002 / README.md
Last active November 25, 2024 21:36
Linux: Create a container with GUI, graphics card and audio support using LXC

Configuring LXC (LXD / Incus) container with GUI, graphics card and audio support

Install LXD

sudo snap install lxd

Create network

@SCP002
SCP002 / build.sh
Last active March 17, 2025 17:11
Golang: Shell script to build your project to each OS / Architecture specified.
#!/bin/bash
# Tested with go 1.22.5
project_name="my_project" # Change to your project name
main_file="${project_name}.go" # Or main.go, depends on your project structure
build_path="./build"
# Add values to your liking from "go tool dist list" command
# or https://gist.github.com/asukakenji/f15ba7e588ac42795f421b48b8aede63
@SCP002
SCP002 / minecraft-server-docker-howto.md
Last active July 27, 2024 12:03
Minecraft: Run fabric server with mods in docker container.

Create minecraft/docker-compose.yml:

services:
  minecraft:
    image: itzg/minecraft-server
    container_name: minecraft
    environment:
      TYPE: FABRIC
 SERVER_NAME: Dungeon
@SCP002
SCP002 / process_new_console_example.rs
Created November 29, 2023 18:48
Rust: Start windows process in new console using CREATE_NEW_CONSOLE creation flag.
// Add to your Cargo.toml:
// [dependencies]
// subprocess = { version = "0.2.10", git = "https://github.com/SCP002/rust-subprocess.git" }
use subprocess::Exec;
fn main() {
let exit_status = Exec::cmd("my-executable-name")
.arg("arg1")
.creation_flags(0x00000010) // CREATE_NEW_CONSOLE
@SCP002
SCP002 / setup.sh
Created July 18, 2023 02:08
Example of running two Cesbo Astra instances on two different ports as systemctl services.
# write systemd config for the first instance
sudo tee /lib/systemd/system/astra-8000.service > /dev/null << ENDSEQ
[Unit]
Description=Astra 8000 service (%N)
After=network-online.target
StartLimitBurst=5
StartLimitIntervalSec=10
[Service]
Type=simple
@SCP002
SCP002 / err.go
Last active December 1, 2023 19:56
Golang: Run both HTTP and HTTPS server with dummy TLS certificates for testing. Network error classifier included.
package main
import (
"errors"
"net"
"net/url"
"syscall"
)
// ErrType represents network error type
@SCP002
SCP002 / write_to_stdin_posix.go
Last active January 11, 2025 09:02
Golang: Write a message to any console's input on POSIX.
//go:build !windows
// Used in https://github.com/SCP002/terminator.
// For Windows, see: https://gist.github.com/SCP002/1b7fd91a519a2dc60fc5b179f90472b6.
package main
import (
"fmt"
"os"
@SCP002
SCP002 / disable-windows-10-updates.reg
Last active June 19, 2021 18:58
Windows Registry: Disable Windows 10 updates.
Windows Registry Editor Version 5.00
; Disable Windows 10 updates.
; To enable it back, delete these values.
; Tested with Windows 10 Pro 20H2, build 19042.1052
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate]
"DoNotConnectToWindowsUpdateInternetLocations"=dword:00000001
@SCP002
SCP002 / get_process_tree.go
Last active January 11, 2025 09:05
Golang: Get all descendants of the specified process.
// Used in https://github.com/SCP002/terminator.
package main
import (
"errors"
"fmt"
"github.com/shirou/gopsutil/v4/process"
)
@SCP002
SCP002 / init_console_handlers_windows.go
Last active January 11, 2025 09:26
Golang: Initialize console handlers after AttachConsole or AllocConsole on Windows.
// Used in https://github.com/SCP002/terminator.
package main
import (
"errors"
"os"
"golang.org/x/sys/windows"
)