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.
I compile it all locally using the invocation ./bloog.pl $(find orig/ -type f | tac) && cp out/* ../. Very simple stuff.
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. 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.
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.
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:
#!/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.
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.
©opyright Emil $CURRENT_YEAR Public Domain