From 6e84022d0217cffdc1bea46082a73046b6d7df76 Mon Sep 17 00:00:00 2001 From: fzorb Date: Mon, 28 Oct 2024 08:18:30 +0200 Subject: [PATCH] netbsd --- content/posts/microsocks-on-netbsd.md | 81 ++++++++++++++++++++++++++ static/pictures/netbsd-toaster.jpeg | Bin 0 -> 24662 bytes 2 files changed, 81 insertions(+) create mode 100644 content/posts/microsocks-on-netbsd.md create mode 100644 static/pictures/netbsd-toaster.jpeg diff --git a/content/posts/microsocks-on-netbsd.md b/content/posts/microsocks-on-netbsd.md new file mode 100644 index 0000000..68537f7 --- /dev/null +++ b/content/posts/microsocks-on-netbsd.md @@ -0,0 +1,81 @@ ++++ +title = 'Microsocks on NetBSD' +date = 2024-10-28T07:44:51+02:00 +draft = false ++++ + +Have you ever wanted a proxy server that you can run on a toaster (literally)? Well, enter today's setup, Microsocks on NetBSD. Microsocks is a simple, fast and efficient SOCKS5 server. NetBSD is a highly portable UNIX system that you can literally run on a toaster. +

+ +

+ +## Prerequisites +* Something running NetBSD +* Internet connection + +## Getting microsocks +Microsocks is not in the NetBSD repositories as far as i can tell, so we'll just compile it. +``` +git clone https://github.com/rofl0r/microsocks +cd microsocks +make +make install +``` +And now we have installed Microsocks. Yay! You could just run it in a `screen` or something, but that's not very practical and actually pretty lame, so we'll setup an rc script. + +## Setting up the rc script +Firstly, open /etc/rc.d/microsocks with your preferred editor (I use `Vim` BTW) and add the script below +```sh +#!/bin/sh +# +# PROVIDE: microsocks +# REQUIRE: DAEMON + +. /etc/rc.subr + +name="microsocks" +rcvar=$name +command="/usr/local/bin/microsocks" +pidfile="/var/run/${name}.pid" +start_cmd="microsocks_start" +stop_cmd="microsocks_stop" + +microsocks_start() { + if [ -f "$pidfile" ] && kill -0 $(cat "$pidfile") 2>/dev/null; then + echo "$name is already running." + else + echo "Starting $name..." + ${command} & + echo $! > "$pidfile" + echo "$name started with PID $(cat "$pidfile")." + fi +} + +microsocks_stop() { + if [ -f "$pidfile" ]; then + echo "Stopping $name..." + kill -TERM $(cat "$pidfile") && rm -f "$pidfile" + echo "$name stopped." + else + echo "$name is not running." + fi +} + +load_rc_config $name +run_rc_command "$1" +``` + +Direct your attention towards line 10. There we have the command that starts Microsocks. It doesn't necesarrily need arguments, as such, we can leave it as such, but that's not reccomended. Consult [this page](https://github.com/rofl0r/microsocks/blob/master/README.md#command-line-options) for more information on what arguments you can use. + +Now to test everything is working, you can use this command: +``` +service microsocks onestart +``` +If you're able to connect to your proxy, you've configured it properly. We can now enable it in `/etc/rc.conf`, where we'll append: +``` +microsocks=YES +``` +And now we can restart and you'll see that our proxy is still alive. + +## Conclusion +NetBSD is pretty cool. \ No newline at end of file diff --git a/static/pictures/netbsd-toaster.jpeg b/static/pictures/netbsd-toaster.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..5e600ba6e75e0408a42f96d6ab6e63178918fed3 GIT binary patch literal 24662 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