summaryrefslogtreecommitdiff
path: root/content/bsd
diff options
context:
space:
mode:
authormms <michal@sapka.me>2023-12-12 21:58:27 +0100
committermms <michal@sapka.me>2023-12-12 21:58:27 +0100
commitcc3dfd5191967915d89f12c2a3ca00410cc6753b (patch)
treed12ab59412efaf4553be8077d12525cb61a7c4cc /content/bsd
parent72b44f302d41df3caceed23cb925dc382b864996 (diff)
chore: allow-list robots
Diffstat (limited to 'content/bsd')
-rw-r--r--content/bsd/relayd-custom-service.md57
1 files changed, 0 insertions, 57 deletions
diff --git a/content/bsd/relayd-custom-service.md b/content/bsd/relayd-custom-service.md
deleted file mode 100644
index 0dbac80..0000000
--- a/content/bsd/relayd-custom-service.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-title: "forwarding requests from Relayd to custom webserver"
-category:
-- bsd
-abstract: How to forward requests to a webserver?
-date: 2023-07-19T12:27:54+02:00
-year:
-draft: false
-tags:
----
-## Plaprox
-
-One thing that OpenBSD doesn't provide (yet?) is an HTTP proxy. I use [Plausible](https://plausible.io/) for basic visitor analytics [^privacy] here, and one of the cool things you can do is to break all adblockers via serving Plausible from my own domain[^adblock]
-[^privacy]: Yes, I want to know what people are reading! For details, refer to my [two sence long privacy policy](https://michal.sapka.me/about/#privacy-policy).
-[^adblock]: yes, it's a dick move. But my reasoning was simple: Plausible gathers so little information that the harm is almost nonexistent, and I really want to know what people are reading.
-
-After two evenings of failed attempts, I reminded myself that I am a programmer, and I wrote one myself. You can find it on my [VCS page](https://vcs.sapka.me/plaprox/). It was a great learning exercise and a chance to touch Golang[^ruby] for the first time.
-[^ruby]: I am a Ruby developer by trade and heart, but I will try anything that is not an IDE-driven language. LSP for Java/Scala is still a joke, and I refuse to pollute my system with Intellij. [Go](https://go.dev/), on the other hand, is a modern language designed for humans. I am not good at it, but I am infinitetly[^infinit] better than a week ago.
-[^infinit]: Any positive number would be infinite progress compared to zero, or as an old wise man once said: "to have a nickel and to not a nickel is already two nickles".
-
-Assuming you have it running (it works on my machine!), let's adjust our relayd(8). Plaprox listens on port 9090, and we want to relay all requests to `/js/script.js` there.
-
-Let's add it to our relays in `relayd.conf`:
-
-{{<highlight shell "linenos=inline">}}
-table <plausibleproxyd> { 127.0.0.1 }
-
-http protocol "https" {
-
- # all our previous content omitted
-
- match request quick path "/js/script.js" forward to <plausibleproxyd>
- match request quick path "/api/event" forward to <plausibleproxyd>
-}
-
-
-relay "https" {
- listen on 0.0.0.0 port 443 tls
- protocol https
- forward to <httpd> port 8080
- forward to <plausibleproxyd> port 9090
-}
-relay "https6" {
- listen on :: port 443 tls
- protocol https
- forward to <httpd> port 8080
- forward to <plausibleproxyd> port 9090
-}
-{{</highlight>}}
-
-You can also move the port number to a table.
-
-Remember that in Relayd(8) last one wins. We already have a match for the domain and added another matcher for the path. The request will be forwarded to the last marching matcher - so we put our new matchers at the end of the protocol definition.
-
-# Updates
-
-2023-12-12: extracted to a dedicated article