From cf3e922b9814fb199817a65cce1a1532d2156cf6 Mon Sep 17 00:00:00 2001
From: Emil Williams
Date: Tue, 5 Aug 2025 01:26:37 +0000
Subject: [PATCH] blooging
---
20250804.html | 79 ++++++++++++++++++++++++++++++++++++++++-
bloog/bloog.pl | 6 ++--
bloog/orig/20250617 | 9 ++---
bloog/orig/20250804 | 86 ++++++++++++++++++++++++++++++++++++++++++++-
4 files changed, 172 insertions(+), 8 deletions(-)
diff --git a/20250804.html b/20250804.html
index 177705c..d9fdb13 100644
--- a/20250804.html
+++ b/20250804.html
@@ -23,7 +23,84 @@ Perl Is My Abusive GF
On Abusing Perl To Minimize Work
-I wanted to simplify the bloog thingy, by centralizing the RSS & Index. This is done by a generator written in Perl using Template.
+I wanted to simplify the bloog thingy, by centralizing the RSS & Index. This is done by a generator written in Perl using Template. I wrote some templates and some itemizing code for those templates, this isn't actually needed and all the template stuff could be merged into one monolithic file but I didn't want to spend the time figuring out how to do hashmaps/arrays in Template again, not the best compromise.
+
+
+Files are read in order they passed to the CLI. This is not ideal and I could sort them, however I decided to just designate this to bash which gives it some scriptability. The issue here is dating, which was relatively simple to deal with in perl considering string comparisons can properly order well formed RFC 5322 dates. The format is simple in that it takes a certain set of lines:
+
+
+Date, usually same as the filename
+Author
+RSS Plaintext Title
+HTML-Enabled Title
+Description and Headline
+First paragraph .....
+
+Newline Newline, second paragraph.
+
+This continues. BOL #+BEGIN_SRC and BOL #+END_SRC for preformatted text.
+
+
+As for special cases, like having a <center> you will need to use #+BEGIN_RAW
with a #+END_RAW
. The End prevents any paragraphing, the beginning doesn't actually do anything past in itself being pruned. note that these are discarded effectively if it doesn't begin with a < after the initial space. God forgive me, I should of used YACC or some shit. This is a complete mess internally with a billion edge cases I've yet to even think about but it works as long as you don't fuck with it. (this is also true for software handling currently-flying-planes, banks and nuclear silos. Or maybe those have yet to run on Javascript?)
+
+
+Sause is at the Git and in innate deployment here.
+
+
+I do not like Perl. But it is better than other verymuchso high level languages I've used. Best part is, if I don't use strict
it does what I say, like any computer should.
+
+
+> NOOOO, YOU CAN'T SHOOT YOURSELF IN THE FOOT
+
+
+> NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
+
+
+That's all there's to say about Perl and this shitty script.
+
+
+
+Mail now supports all my domains (Xolatile.Top, 3chen.org), not JUST chud.cyou. Which was performed by demonic sacrifice and investing my soul in one of Satan's Pain Production Corporations and Suffering Marketing Agencies.
+
+
+submission_header_checks ->
+
+/^X-Originating-IP:/ IGNORE
+/^X-Mailer:/ IGNORE
+/^Mime-Version:/ IGNORE
+/^Received: .*/ REPLACE Recieved: hidden
+
+main.cf ->
+header_checks = regexp:/etc/postfix/submission_header_checks
+mime_header_checks = regexp:/etc/postfix/submission_header_checks
+
+
+This provides a very useful censor, preventing certain information from being leaked, such as IP. Perhaps I have some other option that populates things like Recieved instead of dropping it like the prior configuration.
+
+
+sender_login_maps ->
+@chud.cyou emil
+etc.
+
+exampleaccount@chud.cyou exampleaccount
+
+main.cf ->
+smtpd_sender_login_maps = hash:/etc/postfix/sender_login_maps
+
+
+I use the authentication system provided by Dovecot. Postfix then matches that to an account. In the above, emil can log into everything everywhere no matter what. While exampleaccount is cucked into only having that handle.
+
+
+main.cf ->
+anvil_rate_time_unit = 86400
+smtp_sender_rate_limit = 50
+message_size_limit = 104857600
+
+
+This limits email size and quantity in 24 hours (though this may not actually be by the period of the day, but rather whenever Postfix is restarted, but I can't tell which.) All of the domains point their mx. domain to mx.chud.cyou as to minimize the need for several certs in one program, which is a rare treat anyhow.
+
+
+I'm leaving out a bunch of shit because I did this all last month but just know that there's way more to it and it's going to explode if you fuck with it. Overall the server is doing decently and still not rapidly degenerating. Give it twenty two seconds.
diff --git a/bloog/bloog.pl b/bloog/bloog.pl
index 9ef3c7d..e474b71 100755
--- a/bloog/bloog.pl
+++ b/bloog/bloog.pl
@@ -80,9 +80,11 @@ sub html_write {
} elsif (substreq($short, '#+END_SRC')) {
$pre = 0;
$buffer .= "\n";
- } elsif (substreq($short, '#+RAW')) {
+ } elsif (substreq($short, '#+BEGIN_RAW')) {
+ $buffer .= substr($line, length('#+BEGIN_RAW '));
+ } elsif (substreq($short, '#+END_RAW')) {
$rawline = 1;
- $buffer .= substr($line, length('#+RAW '));
+ $buffer .= substr($line, length('#+END_RAW '));
} else {
$buffer .= $line;
}
diff --git a/bloog/orig/20250617 b/bloog/orig/20250617
index ebf1daf..aea6ba5 100644
--- a/bloog/orig/20250617
+++ b/bloog/orig/20250617
@@ -95,9 +95,10 @@ location = / {
Ideally the Firewall would be the BSD pf, however I've yet to bake my own kernel with it sprinkled in. IPTables confuses and angers me, and pf is comparitively divine. For now, there is no strict fail2ban configuration or firewall - All I've done is make sure that all bindings are correctly oriented. However I'm not sure if this is sane, and I'm sure it is not fool-proof.
-#+RAW
+#+BEGIN_RAW
The server has yet to explode.
-#+RAW
-#+RAW
+#+END_RAW
+
+#+BEGIN_RAW
Nothing ever happens.
-#+RAW
+#+END_RAW
diff --git a/bloog/orig/20250804 b/bloog/orig/20250804
index c2b6acc..e5d9c34 100644
--- a/bloog/orig/20250804
+++ b/bloog/orig/20250804
@@ -3,4 +3,88 @@ Emil
Perl Is My Abusive GF
Perl Is My Abusive GF
On Abusing Perl To Minimize Work
-I wanted to simplify the bloog thingy, by centralizing the RSS & Index. This is done by a generator written in Perl using Template.
+I wanted to simplify the bloog thingy, by centralizing the RSS & Index. This is done by a generator written in Perl using Template. I wrote some templates and some itemizing code for those templates, this isn't actually needed and all the template stuff could be merged into one monolithic file but I didn't want to spend the time figuring out how to do hashmaps/arrays in Template again, not the best compromise.
+
+Files are read in order they passed to the CLI. This is not ideal and I could sort them, however I decided to just designate this to bash which gives it some scriptability. The issue here is dating, which was relatively simple to deal with in perl considering string comparisons can properly order well formed RFC 5322 dates. The format is simple in that it takes a certain set of lines:
+
+#+BEGIN_SRC
+Date, usually same as the filename
+Author
+RSS Plaintext Title
+HTML-Enabled Title
+Description and Headline
+First paragraph .....
+
+Newline Newline, second paragraph.
+
+This continues. BOL #+BEGIN_SRC and BOL #+END_SRC for preformatted text.
+#+END_SRC
+
+As for special cases, like having a <center> you will need to use #+BEGIN_RAW with a #+END_RAW
. The End prevents any paragraphing, the beginning doesn't actually do anything past in itself being pruned. note that these are discarded effectively if it doesn't begin with a < after the initial space. God forgive me, I should of used YACC or some shit. This is a complete mess internally with a billion edge cases I've yet to even think about but it works as long as you don't fuck with it. (this is also true for software handling currently-flying-planes, banks and nuclear silos. Or maybe those have yet to run on Javascript?)
+
+Sause is at the Git and in innate deployment here.
+
+I do not like Perl. But it is better than other verymuchso high level languages I've used. Best part is, if I don't use strict
it does what I say, like any computer should.
+
+#+BEGIN_RAW
+> NOOOO, YOU CAN'T SHOOT YOURSELF IN THE FOOT
+#+END_RAW
+
+#+BEGIN_RAW
+> NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
+#+END_RAW
+
+That's all there's to say about Perl and this shitty script.
+
+
+Mail now supports all my domains (Xolatile.Top, 3chen.org), not JUST chud.cyou. Which was performed by demonic sacrifice and investing my soul in one of Satan's Pain Production Corporations and Suffering Marketing Agencies.
+
+#+BEGIN_SRC
+submission_header_checks ->
+
+/^X-Originating-IP:/ IGNORE
+/^X-Mailer:/ IGNORE
+/^Mime-Version:/ IGNORE
+/^Received: .*/ REPLACE Recieved: hidden
+
+main.cf ->
+header_checks = regexp:/etc/postfix/submission_header_checks
+mime_header_checks = regexp:/etc/postfix/submission_header_checks
+#+END_SRC
+
+This provides a very useful censor, preventing certain information from being leaked, such as IP. Perhaps I have some other option that populates things like Recieved instead of dropping it like the prior configuration.
+
+#+BEGIN_SRC
+sender_login_maps ->
+@chud.cyou emil
+etc.
+
+exampleaccount@chud.cyou exampleaccount
+
+main.cf ->
+smtpd_sender_login_maps = hash:/etc/postfix/sender_login_maps
+#+END_SRC
+
+I use the authentication system provided by Dovecot. Postfix then matches that to an account. In the above, emil can log into everything everywhere no matter what. While exampleaccount is cucked into only having that handle. I've thought about setting up an account management page, but I also like torturing people into using extremely long passwords. If you don't use a password manager you deserve pain and suffering.
+
+#+BEGIN_SRC
+main.cf ->
+anvil_rate_time_unit = 86400
+smtp_sender_rate_limit = 50
+message_size_limit = 104857600
+#+END_SRC
+
+This limits email size and quantity in 24 hours (though this may not actually be by the period of the day, but rather whenever Postfix is restarted, but I can't tell which.) All of the domains point their mx. domain to mx.chud.cyou as to minimize the need for several certs in one program, which is a rare treat anyhow.
+
+Some loser on the IRC didn't make backups, lost all of his shit. He was also using Windows, and he caused the fault in his system by fucking with Windows. Make backups. Here's the shitty backup script the server runs:
+
+#+BEGIN_SRC
+#!/bin/sh
+dir=$(date +"%y%m%d")
+mkdir -p $dir
+cp -a ../etc ../home ../opt ../root ../srv ../var $dir/
+apt list --installed > $dir/installed
+echo done.
+#+END_SRC
+
+I'm leaving out a bunch of shit because I did this all last month but just know that there's way more to it and it's going to explode if you fuck with it. Overall the server is doing decently and still not rapidly degenerating. Give it twenty two seconds.
--
2.39.5