Skip to content

Instantly share code, notes, and snippets.

@SCP002
SCP002 / configure-ps1-context-menu.reg
Last active October 19, 2024 08:53
Windows Registry: Run .ps1 scripts with double click using pwsh (PowerShell 7). Including tweaks of context menu. See coments for description.
Windows Registry Editor Version 5.00
; WARNING:
; Uses "%ProgramFiles%\PowerShell\7\pwsh.exe" as powershell path.
; You might want to change it to your own with default file path, like:
;
; @="\"C:\\ProgramFiles\\Powershell\\8\\pwsh.exe\" \"%1\""
;
@SCP002
SCP002 / send_wm_close_windows.go
Last active January 11, 2025 09:20
Golang: Close main window of the process with the specified PID for graceful termination of processes on Windows.
//go:build windows
// Used in https://github.com/SCP002/terminator.
package main
import (
"fmt"
"unsafe"
@SCP002
SCP002 / write_to_stdin_windows.go
Last active January 11, 2025 09:28
Golang: Write a message to the current (see comments for a method for any console) console's input on Windows.
//go:build windows
// Used in https://github.com/SCP002/terminator.
// For POSIX, see: https://gist.github.com/SCP002/c7c3bf4aafd3e32e0dc0aa65dda2bf14.
package main
import (
"errors"
"os"
@SCP002
SCP002 / init_console_handlers_windows.go
Last active August 25, 2025 19:54
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"
)
@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 / 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 / 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 / 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 / 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 / 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