1
0
dwelling-home/web/about.templ

516 lines
42 KiB
Plaintext
Raw Permalink Normal View History

package web
import "net/http"
import "github.com/invopop/ctxi18n/i18n"
import "git.arav.su/Arav/dwelling-home/pkg/servicestat"
import "git.arav.su/Arav/dwelling-home/pkg/util"
templ About(services *servicestat.ServiceList, r *http.Request) {
@base(i18n.T(ctx, "base.section.about"), "About me and my home servers.", "about, me, servcies", "/about", r, aboutHead()) {
if c := i18n.GetLocale(ctx).Code(); c == "ru" {
@aboutRu(services, r)
{{ return }}
}
@aboutEn(services, r)
}
}
templ aboutRu(services *servicestat.ServiceList, r *http.Request) {
<section id="about-me">
<h2>Обо мне</h2>
<p><b class="highlighted">Кто я?</b> Меня зовут Александр Андреев. Я простой русский чел 31 года от роду, который любит возиться с компьютерами.</p>
<p><b class="highlighted">Зачем делаю это всё?</b> Давненько хотел собственный веб-сайт, да и серваки всё равно 24 на 7 пашут, так что почему бы и нет? Да и практика никогда не помешает. :)</p>
<p><b class="highlighted">Почему я почти раскрыл себя?</b> Да, за каким-то хреном я разместил свои настоящие фамилию и имя здесь. А теперь поздно хвататься, т.к. всё уже разнеслось по веб-архивам, да и похер, если честно. :)</p>
<p><b class="highlighted">Почему такой слоган?</b> Хотелось что-нибудь воткнуть под названием сайта и эта фраза пришлась как раз. Не хочу особо филосовствовать. :) Но ведь странники мы, да? Иначе как ещё на подобные места натыкаться, если не странствовать по сети? :)</p>
<p><b class="highlighted"><s>Why English only?</s></b> Для большего охвата аудитории и практики я вёл этот сайт чисто на английском, да и две версии сайта вести было тупо лень, да и технически даже думать не хотелось как организовать перевод. :/ Но теперь всё поменялось! ^_^</p>
<p>А теперь небольшой перерыв ради...</p>
</section>
<section id="my-cat">
<h3>...моего кота Бориса :3</h3>
<div class="columns figs">
<figure>
<a href="/assets/img/photos/my_cat.webp">
<img src="/assets/img/photos/my_cat_thumb.webp" alt="My cat. :3" title=":3"/>
</a>
</figure>
<figure>
<a href="/assets/img/photos/my_cat_2.webp">
<img src="/assets/img/photos/my_cat_2_thumb.webp" alt="xDDDD" title="xDDDD"/>
</a>
</figure>
</div>
<p>А теперь продолжаем. :)</p>
</section>
<section id="more-about-me">
<h3>Хобби</h3>
<p>Видео-игры (с 1997)</p>
<p>Компьютеры (с 11 ноября 2004)</p>
<p><s>Просирание жизни</s> Странствие по интернетам (с февраля 2006)</p>
<p>Маппинг для Half-life 2, Counter-Strike: Source (с 2006, прекратил в 2009) (всё просрал, хотя, возможно лежит на нечитаемом IDE диске)</p>
<p>Написание музыки (с 2007, последний трек закончил в 2010, файлы проектов тоже проёбаны, но могут лежать на том диске)</p>
<p>Программирование (с 2007)</p>
<p><s>(Игры в сисадмина)</s> Домашние сервера (с 1 января 2017, когда настроил Raspberry Pi 3, что пришел днём ранее)</p>
<p>Программно Определяемое Радио (SDR, Software Defined Radio) (с июня 2018)</p>
<h3>Что знаю</h3>
<h4>Иностранные языки</h4>
<p>Покуда я люблю учить языки, отсутствие практической пользы и лень не дают мне нормально что-то выучить, так что я остановился на английском. Ранее брался учить немецкий, норвежский, французский, польский и японский. Конечно же знания у меня так себе, хорошо если прочесть могу, конечно по разному, разместил их в порядке убывания знаний.</p>
<p>Есть ещё один язык который я неплохо понимаю, но при этом никогда специально не учил, разве что смотрел отдельные слова ради интереса, и этот язык &mdash; украинский. За последнюю декаду прям прилип ко мне конкретно, хех. :) Та й взагалi, не розумiю тих, хто говорить, що зовсiм не розумiє українську. Її навiть не треба спецiйно вчити, просто читай контент на нiй, слухай й вона сама прилипне. :) Ну що тут можна додати? Тiльки слава Українi у складi Росiї! Все так, треба-треба. Хохли сосати! Тепер ви руськi всi. хД А якщо серйозно, хай мова продовжає iснувати, нiчого проти ней не маю, дуже гарна. Давайте жити дружно, хохли їбанi. :)</p>
<p>На счёт белорусского, примерно та же ситуация, однако, на нём я не могу разговаривать, так, знаю несколько слов, что случайно запомнились, но вполне понимаю, когда читаю на нём или слушаю песни.</p>
<h4>Компьютерные языки</h4>
<p>Используемые мною ныне языки: Go, JavaScript (vanilla), SQL, Python, Bash, AWK, HTML, CSS, LaTeX, Markdown, JSON, XML.</p>
<p>Ранее использовал (в хронологическом порядке): Pascal, Delphi, C#, C++, C, Java, PHP. Пробовал: Visual Basic, LISP, Haskell, Rust.</p>
<p>Так уж вышло, что я проэтовал весь код из прошлого. Да и 99% того, что былр написано в процессе изучения и по фану никогда не было закончено. Такой код я хладнокровно удалял. Да и на кой хранить, например, хеллоу ворлд для OpenGL?.. :)</p>
<p>А вот опыт, полученный в процессе, как раз никуда ни проэтовался. :) И мой <a href={ templ.SafeURL(util.GetServiceByHost(r.Host, util.ServiceGit)) }>инстанс Gitea</a> вполне может говорить за меня.</p>
<p>У меня до сих пор валяется старый IDE НЖМД, что перестал видиться в системе в 2011. По крайней мере он раскручивается, да к тому же без каких-либо шумов страшных. Уже не помню что на нем, думаю там и совсем старый учебный код лежит, и карты, что создавал тогда для халфы с каэской... :)</p>
<h3>Что нравится</h3>
<h4>Аниме</h4>
<p>Ghost in the Shell, Shaman King, Hellsing, Steins;Gate, Cowboy Beebop, Ergo Proxy, Jin-Rou, Black Lagoon, Jojo's Bizzare Adventures, Spice and Wolf, Konosuba, Demon Slayer: Kimetsu no Yaiba.</p>
<h4>Фильмы</h4>
<p>Paths of Glory (1957), Boss Nigger (The Black Bounty Killer) (1974), Movies with Jackie Chan, Blade Runner (1982), WarGames (1983), Robocop (1987), Talk Radio (1988), Stargate (1994), Hackers (1995), Johnny Mnemonic (1995), Contact (1997), Matrix (1999, 2003), Snatch (2000), Oldboy (2003), The Day After Tomorrow (2004), Alpha Dog (2005), Constantine (2005), The Gingerdead Man (2005), Lucky Number Slevin (2006), 99 francs (2007), I Am Legend (2007), Inglourious Basterds (2009), Valhalla Rising (2009), The Guard (2011), Filth (2013), Mandariinid (2013), Gingerdead Man vs. Evil Bong (2013), Gone Girl (2014), Who am I (2014), Arrival (2016), Contratiempo (2016), Wandering Earth (2019), Wandering Earth 2 (2019), Greyhound (2020), I Care A Lot (2020), The Greatest Beer Run Ever (2022), Everything Everywhere All at Once (2022), Dungeons & Dragons: Honor Among Thieves (2023).</p>
<h4>Сериалы</h4>
<p>X-Files (1993&mdash;2002), Stargate: SG-1 (1997&mdash;2007), Stargate: Atlantis (2004&mdash;2009), Lost (2004&mdash;2010), Breaking Bad (2008&mdash;2013), Narcos (2015&mdash;2017), The Shivering Truth (2018&mdash;2020), Два холма (Two Hills) (2022).</p>
<h4>Игры для Dendy</h4>
<p>У меня была не просто Денди, а оная встроенная в клавиатуру, называлась СЮБОР.</p>
<p>Chip 'n Dale Rescue Rangers, а другая игра была гонкой формула 1. Ещё у сюбора был обучающий картридж, а на нём был клавиатурный тренажер, простой текстовый редактор, калькулятор, G-BASIC и F-BASIC, ещё был раздел с нашей 8-битной музыкой по типу Московских вечеров.</p>
<p>Хоть и был там бейсик, но программистом не стал, ибо мануала не было. Да и в интернете нашел инфу, что там были просто примеры кода без объяснения, дак ещё он и нерабочий был, ЛОЛ.</p>
<h4>Игры для SEGA Mega Drive</h4>
<p>Не много игр было мною играно.</p>
<p>Bubba'n'Stix, Battletoads, Granada, Demolition Man, Road Rash, Doom Troopers - The Mutant Chronicles, The Lost Vikings, Ghostbusters, Mig-29 Fighter Pilot, Street Racer.</p>
<h4>Игры для ПК</h4>
<p>Grand Theft Auto: Vice City, Half-Life (all), StarCraft, Diablo 2, Far Cry (2004), Battlefield: Vietnam, Delta Force: Black Hawk Down, Silent Hunter 3, Grand Theft Auto: San Andreas, Boiling Point: Road to Hell, Portal, Freelancer, F.E.A.R., S.T.A.L.K.E.R., Grand Theft Auto 4, Lineage 2, The Elder Scrolls V: Skyrim, Battlefield 3, The Walking Dead, The Wolf Among Us, Payday 2, The Witcher (1st, 2nd, 3rd didn't finished yet), Minecraft, Terraria, Starbound, Euro Truck Simulator 2, Mount &amp; Blade: Warband, Papers, Please, Insurgency, Elite: Dangerous, theHunter: Call of the Wild, American Truck Simulator, Rocket League, Sea Of Thieves, Tell Some Story: Foz.</p>
<h4>Музыка</h4>
<p>Прошу посетить <a href={ templ.SafeURL(util.GetServiceByHost(r.Host, util.ServiceFiles)) + "/music" }>мою файловую шару</a>. :)</p>
</section>
<section id="servers-summary">
<h2>О моих серверах</h2>
<p>У меня два сервера, которые лежат на системнике. Первый это Raspberry Pi 3 rev. B, а второй &mdash; ноутбук Acer Packard Bell TE69CX. Не впечатляет, но то, что на них возложено исполняют в полной мере, конечно под реальной нагрузкой задохнуться, в этом сомнений нет. :)</p>
<p>У ноута следующие характеристики: проц Intel Pentium 2117U 1,8GHz с двумя ядрами, ОЗУ установлено 10ГБ (две плашки 8+2), системный диск это SSD на 120ГБ, а диск с данными на 2ТБ, и да, для данных всего один диск. Но не беспокойтесь, что нужно забекаплено (ну почти, за актуальностью бекапов плохо слежу %)).</p>
<p>К малинке прицеплен внешний НЖМД на 500ГБ и для системы и для данных.</p>
<p>А ещё я обзавёлся дешевой VPS-кой с 1 ядром на 2,2ГГц и 512МБ ОЗУ с диском на 10ГБ. Использую как вторичный сервер DNS и как рилей для отправки почты.</p>
<div class="columns figs">
<figure>
<a href="/assets/img/photos/raspi.webp">
<img src="/assets/img/photos/raspi_thumb.webp" alt="Raspberry Pi 3 rev. B" />
</a>
<figcaption>Raspberry Pi 3 rev. B</figcaption>
</figure>
<figure>
<a href="/assets/img/photos/acer.webp">
<img src="/assets/img/photos/acer_thumb.webp" alt="Acer Packard Bell TE69CX" title="Экран разбит, а клава просто перестала работать." />
</a>
<figcaption>Acer Packard Bell TE69CX</figcaption>
</figure>
</div>
</section>
<section id="services-public">
<h2>Публичные сервисы</h2>
<p class="center">Для всех.</p>
<div class="columns">
<div>
<h3 class={ isServiceUp("radio", services) }>Интернет-радио</h3>
<p>
<a href="https://radio.arav.su">radio.arav.su</a>.<a href="http://wsmkgnmhmzqm7kyzv7jnzzafvgm7xlmlfvzhgorpapd5or2arnhuktqd.onion">onion</a>.<a href="http://[300:a98d:d6d0:8a08::e]">ygg</a>.<a href="http://radio.arav.i2p">i2p</a><sup><a href="http://radio.arav.i2p/?i2paddresshelper=NfCKBu9vjLFiBMEPQGiZT9AzGlhkKHzYrKM66FL-ESeDbnYUY--NzukO9UA28s3WThhDQVge2TmyfYsaZiUw~AjuLsykxS13pebs7lkAVY1jm77La-eFFIAQ22Vtd2YgS0vbhRMzuDxKkCR1vPwNax8R2o6a07xsQvvDml6UQxG4p5vt44JA2geQNvQfm8cEiSa6gNJZJSW3rWuLDg6~1Jy3D70oSVSlNfihmG4JtNV6tVBjJE2h5gUxfhYZACttpGTPM~UNF~lrSujlBQsCqdzvLswdMw~FnvpfGzJcJroeFTerRyH6oUkkDSOK7uWwl0e70vKxrIbFgJjKtjlLWlUCI5N0TnJP4Hzt2pttB~R0hSr2vVl8ky0yJEtN3rwnrJkw7q0ZIH30ngTfxsCTbolAzl6liN9Ez5YF97zDOPnVFmvQ6Eg1PyFdypQO1PiUHqF56SWhx3utGwecUS6jJCvsKIJJVEIMVcD6h7S0z1g1rqQ4jbg5UfXPwFEgFOlzBQAEAAcAAA==" title="Address helper">ah</a></sup>
</p>
<p>Составлять программу вещания лень, да и не больно-то и нужно. Просто закинуть музыку, перемешать. :)</p>
<p>Технически устроено так: <a href={ templ.SafeURL(util.GetServiceByHost(r.Host, util.ServiceGit) + "/Arav/dwelling-radio") }>dwelling-radio</a> (помимо фронта, ещё и плейлист выдаёт и следит за статами) &xrArr; Ezstream &xrArr; Icecast &xrArr; NGiNX.</p>
</div>
<div>
<h3 class={ isServiceUp("dwelling-files", services) }>Файловая шара</h3>
<p>
<a href="https://files.arav.su">files.arav.su</a>.<a href="http://qf5e43nlhvnrutmikuvbdfj3cmtthokpbaxtkm6mjlslttzvtgm4fxid.onion">onion</a>.<a href="http://[300:a98d:d6d0:8a08::e]">ygg</a>.<a href="http://files.arav.i2p">i2p</a><sup><a href="http://files.arav.i2p/?i2paddresshelper=48vtYgeVnju7B2FaR0zxUL3MQXN9QjK~Ggya45aANwm86mtpemuEkaskJmEQaFSd4FcDAFIiXHfNpfGqoupLwNmtgBmGRcuVV8xb2W~W6lM0oOhovjB37EUaMWs3AI5aIES84QOqApgwYX-ANIcwa~Kg6AbMuX8D8qnejuhBbuCffYah-TD8e~O0cnyqxzLTmxIGCyk2egdYXwanJyYFDocomIVfcqfJ0MgjIHhFQtkcb0e84bxvDzcAFIpEDrzAo4GVrFn-TCu0Lyf2ccqmVpucFl0UGhuVRxEt19KLd3PxlfwHv2lmzTZtq9CbnfaoPntUPx1sf84QnZDmrXWhVK8p3VvuPZMxjyz9KyhPjrGkO4E0oibDlvKuMsGEm-GkZsKxgXo~CrdcVtN8suAwW6rACAuk8gq2jUMBZBZ12migPZ7miHftEkOFHfgfUiKBwirrw~y9Zi261WX4-EVe2oD4pkhQOrqOKIoI-vv5z9CpQ7PKL531kgkipcBseXybBQAEAAcAAA==" title="Address helper">ah</a></sup>
</p>
<p>Всё чем могу поделиться. Музыка, видосы всякие, книги, игры, программы, немного драйверов, образы с виндой. В общем, заходите.</p>
</div>
<div>
<h3 class={ isServiceUp("dwelling-upload", services) }>Файлообменник</h3>
<p>
<a href="https://upload.arav.su">upload.arav.su</a>.<a href="http://4usftbmjpfexkr2x5xbp5ukmygpmg4fgrnx2wbifsexqctooz5hmviyd.onion">onion</a>.<a href="http://[300:a98d:d6d0:8a08::e]">ygg</a>.<a href="http://upload.arav.i2p">i2p</a><sup><a href="http://upload.arav.i2p/?i2paddresshelper=b5NWA2vNydWSv6~8KN4e~td2UVGkYsayKPa1PnXI87A3gsg6m978tIehHLVN4XcCfUq4aB-59hqqZicorRnHKfV3lVdx9mdhC8Bhj~bMAcwMgWoXidqZNrWMoFGzWotFsa3nWh4zsRUSfrokecC8u9Y06byfSS1siyak0J6xpsggXRqqgNF0-8ncPeqvzBxHB9NRDXWEVJGS9HSpydWl1UpjgZffcd~NZroxkSAfughHcFAn2OLKkaZRe6WqCJQfJoXTCyz4wkFmYbH1CSddWlddmWaaU7icsbQrZm3XEqKTVKvm86G6ehxmzyHqCumc4GOWswcP0E51UQVOv-WA8R6SWQAj6ZnZhnCoCNFFEfW2lBiDmTnLJbfm-C-AdI6G1~dQ1~3FCH6wXWy-2DebpyoVVt9epzU7l4l2MVeaOUahbf6wcol1UbxPoR0XlGCXDe9700TYePjtpOU9vNkk2B1dQiZ1usgwseYuO26cRogSvbi8poz4BlCNO733HR1XBQAEAAcAAA==" title="Address helper">ah</a></sup>
</p>
<p>Сделал свой собственный файлообменник, которым решил поделиться с миром. Лимит 128МБ на файл, хранение 36 часов, а всего выделил 100ГиБ под него.</p>
</div>
<div>
<h3>Ретранслятор Tor</h3>
<p><a href="https://metrics.torproject.org/rs.html#details/CEF2FD0E1973EA04D1444DDAEFF1B0BC3C0C39B1" rel="nofollow noreferrer">metrics.torproject.org</a></p>
<p><b>С 1 декабря 2021 Tor заблокирован в России, так что нет больше релея.</b></p>
</div>
<div>
<h3>Роутер I2P</h3>
<p>Помогаю сети и хосчусь сам с помощью i2pd.</p>
</div>
</div>
</section>
<section id="services-private">
<h2>Приватные сервисы</h2>
<p class="center">Для себя и друзей.</p>
<div class="columns">
<div>
<h3 class={ isServiceUp("mail", services) }>Сервер E-Mail</h3>
<p>Postfix, Dovecot (w/Sieve), rspamd, ClamAV.</p>
</div>
<div>
<h3 class={ isServiceUp("mumble", services) }>Mumble</h3>
<p><a href="mumble://arav.su">mumble://arav.su</a></p>
<p>Работает на uMurmur. Защищен паролем.</p>
</div>
<div>
<h3 class={ isServiceUp("teamspeak3", services) }>TeamSpeak 3</h3>
<p><a href="ts3server://arav.su">ts3server://arav.su</a></p>
<p>Для чужаков (незарегистрированных) доступна только комната Entrance room. Также установил ограничение по минимальному уровню секьюрности идентификатора равным 29.</p>
</div>
<div>
<h3 class={ isServiceUp("git", services) }>Git</h3>
<p>
<a href="https://git.arav.su">git</a>.<a href="http://qqitm7qlsbbubwmjos4cqzmvkqidg34rfnbyhuydhalep33fbvh22xyd.onion">onion</a>.<a href="http://[300:a98d:d6d0:8a08::e]">ygg</a>.<a href="http://git.arav.i2p">i2p</a><sup><a href="http://git.arav.i2p/?i2paddresshelper=eFIfcBUv3lHFSnglHfncs5XXtYwm9gCpmAYuio~9CeENBAXKRggPiY1tQC-otCon2hCSpr56WlVBeZk1txKuUnbjHTN7GBFaKW5wJEO2WmKEWPKdcjUDOYZN0D3TwXaYfiBuELD3200lBfDmPEJ01iC2o7B5yvpOqtEKDcaqkIp4vafDuPPumJ~XiCGdUAe~vr52w3Tbuz5x7wbltk-gUELY0-ZAQBos4jOJ6QT1W1lhycHPhAK8qslgwfk94opyIl2pkRyuJhU-2VHc6Fsd621VXC86YAMT1SIfTZlFpoGVCFXDM~BXaLvygFaKf62qardAe0T48Ax6GxosAKXe-yLCVRaiD3KErULfwZXl23kQzRfxM4odG4DWeXawtuvypOmTjHT1skQHU0h52ujye5nT~2bOy14HkCoCnxJ7gSj3MjkmWLd1JhBsPH4ymRmI7jFJR1GYl8Wp5IigMBBzWfJUEEjS7QDHaRo5TCZJ9SXz6sgkGdfh74~r8FWL559gBQAEAAcAAA==" title="Address helper">ah</a></sup>
</p>
<p>Gitea. Вход на посмотреть/взять свободный. Всё остальное с аккаунтом.</p>
</div>
</div>
</section>
<section id="services-games">
<h2>Игровые сервера</h2>
<div class="columns">
<div>
<h3 class={ isServiceUp("game-minecraft", services) }>Minecraft</h3>
<p class="highlighted">arav.su:25565</p>
<p><a href="/minemap">Карта мира</a></p>
<p>Сейчас работает на версии 1.21 с API Fabric. Для игры здесь требуется только fabric-api.</p>
</div>
</div>
</section>
<section id="services-inner">
<h2>Внутренние сервисы</h2>
<p class="center">Сюда входят вспомогательные сервисы и сугубо мной используемые.</p>
<div class="columns">
<div>
<h3>Web-server</h3>
<p>NGiNX. Что ещё добавить?</p>
</div>
<div>
<h3>Database</h3>
<p>Раньше использовал MariaDB, сейчас сервисы перевёл на SQLite3, в будущем если будет надо, то уже PostgreSQL буду использовать.</p>
</div>
<div>
<h3>VPN</h3>
<p><s>OpenVPN</s> Wireguard.</p>
</div>
<div>
<h3>Сетевое хранилище данных</h3>
<p>Samba и NFSv4.</p>
</div>
<div>
<h3>Торренты</h3>
<p>Использую transmission-cli. Одна вещь есть раздражающая, временами он создаёт .part-файлы для одного из проигнорированных файлов.</p>
</div>
<div>
<h3>Печать</h3>
<p>CUPS с ccpd (Canon CAPT printer).</p>
<p>Хз, то работает и так, а то и после перезагрузки никак не заведешь, уже подзабил и просто перетыкаю в свой комп принтер, один хер дома печатаю. :)</p>
</div>
<div>
<h3>DNS</h3>
<p>BIND9 через DNSCrypt-proxy.</p>
<p>Для локалки остановился на домене arav.home.arpa (для уникальности, а то вдруг с чьей локалкой надо будет объединиться, хех), .home.arpa введён в RFC 8375 как домен специального назначения для пользования внутри ЛВС.</p>
<p>Основной сервер живёт на ноуте, вторичные на малинке и на VPS, но, конечно же, на VPS только внешний домен, и VPS не является рекурсивным, в отличие от первых двух.</p>
</div>
</div>
</section>
<section id="contacts">
<h2>Контакты</h2>
<span>E-Mail:&nbsp;<a href="mailto:me@arav.su">me@arav.su</a></span>
<span>PGP&nbsp;ключ:&nbsp;<a href="/assets/pgp.asc">7398 50CD 5051 DE55 4368 7092 2596 9B23 DCB5 CA34</a></span>
</section>
<section id="donation">
<h2>Пожертвования</h2>
<p class="center">Просто на всякий. %^)</p>
<table>
<tr>
<td>USDT&nbsp;(TRC&nbsp;20):</td>
<td>TGSEiAh9nAhCL6YPVA6zHUsnuoccW8tjep</td>
</tr>
<tr>
<td>USDT&nbsp;(ERC&nbsp;20):</td>
<td>0x584b3ab1b31d7248e2c0ba5d317e9ba88a4fb1b4</td>
</tr>
<tr>
<td>TON:</td>
<td>EQC4L0tZMDZ8IPGbyXQafoh2n-N9HbJwVp5EtrYGsRCuR28G</td>
</tr>
<tr>
<td>Bitcoin:</td>
<td>bc1qrmpahnvtqp34kpjaghnmq8acq27n0eke5w35ec</td>
</tr>
<tr>
<td>Etherium:</td>
<td>0x584b3ab1b31d7248e2c0ba5d317e9ba88a4fb1b4</td>
</tr>
<tr>
<td>Monero:</td>
<td>48namnfX17TX1kEGCpkXaRWhtw8p92cQjd5uQg7ivybgUuW4BTVaX8egxQhEi75JwuUGn3MDLKHYGNhu4eCfM6dRAAL2QAq</td>
</tr>
</table>
<div class="center">
<a href="https://www.donationalerts.com/r/arav">DonationAlerts</a>
<span><a href="https://www.tinkoff.ru/rm/andreev.aleksandr1164/5nVjK98501">T-банк</a> (<a href="https://www.tinkoff.ru/baf/5zRsqEQic6r">рефералка</a>)</span>
<a href="https://ruvds.com/pay/b5a7a24e142e4d30a46c7c8e09e8e07f">Моя VPS-ка</a>
</div>
</section>
}
templ aboutEn(services *servicestat.ServiceList, r *http.Request) {
<section id="about-me">
<h2>Me</h2>
<p><b class="highlighted">Who am I?</b> My name is <span class="highlighted">A</span>lexande<span class="highlighted">r</span> <span class="highlighted">A</span>ndree<span class="highlighted">v</span>. I'm a russian guy of age 31 who likes tinkering with computers.</p>
<p><b class="highlighted">Why am I doing all of this?</b> Machines are up 24/7 anyway, so why not? And I wanted a website long ago, just didn't know what to put on it. Like if I do now... :)</p>
<p><b class="highlighted">Why am I almost &ldquo;doxxing&rdquo; myself?</b> Yes, my real first and last names and age are here, and since I self-host you can get my city as well. And I simply don't see this as a problem. :|</p>
<p><b class="highlighted">Why particularly that slogan?</b> It was the first thing that went on my mind. Don't you think of your website as of a special place of your own? Sacred in some way..? And what else do we do if not wandering through the vastness of Internet looking for something? Think about it... :)</p>
<p><b class="highlighted">Why English only?</b> I want this place to be accessible for a wide audience and English happen to be todays lingua franca, and to practice the language of course.</p>
<p>Now a little break for...</p>
</section>
<section id="my-cat">
<h3>My kot Boris :3</h3>
<div class="columns figs">
<figure>
<a href="/assets/img/photos/my_cat.webp">
<img src="/assets/img/photos/my_cat_thumb.webp" alt="My cat. :3" title=":3"/>
</a>
</figure>
<figure>
<a href="/assets/img/photos/my_cat_2.webp">
<img src="/assets/img/photos/my_cat_2_thumb.webp" alt="xDDDD" title="xDDDD"/>
</a>
</figure>
</div>
<p>And here we continue. :)</p>
</section>
<section id="more-about-me">
<h3>Hobbies</h3>
<p>Video games (since 1997)</p>
<p>Computers (since 11th November 2004)</p>
<p><s>Wasting my life on</s> Surfing the Internets (since February 2006)</p>
<p>Mapping for Half-life 2, Counter-Strike: Source (since 2006, discontinued in 2009) (everything's fuarrkin' lost, or maybe it is still on a broken IDE drive)</p>
<p>Music writing (since 2007, last track was made in 2010)</p>
<p>Programming (since 2007)</p>
<p><s>(LARP'ing as a system administrator)</s> Home servers (since 1st January 2017, when I had set up my Raspberry Pi I got the day before)</p>
<p>Software Defined Radio (since June 2018)</p>
<h3>What I know</h3>
<h4>Human languages</h4>
<p>While I like learning foreign languages, lack of usefulness for me and my lazyness prevents me from getting on any reasonable level, so I stuck to English. Knowledge of other languages I tried to learn, which are German, Norwegian, French, Polish, and Japanese, is minuscle and only declining.</p>
<p>The other language I understand well, and can somehow speak is Ukrainian, which is no surprise because of its relation with Russian. At least it should be not, yet I see that many Russians don't understand Ukrainian like at all, which is surprising for me. I accidentally learnt it just by consuming content in it with help of a dictionary to look up some words that are archaic in Russian or have different etymology.</p>
<p>As for Belarussian, situation is the same, but I don't speak it, just know some words I have accidentally memorised while listening to music.</p>
<h4>Computer languages</h4>
<p>All the programming, markup and declarative languages I use by now are Go, JavaScript (vanilla), SQL, Python, Bash, AWK, HTML, CSS, LaTeX, Markdown, JSON, XML.</p>
<p>Previously I used (in a chronological order) Pascal, Delphi, C#, C++, C, Java, PHP. Took a taste of Visual Basic, LISP, Haskell, Rust.</p>
<p>It so happened that I didn't save the source code from the past. 99% of it was written purely for education and fun, and usually never get finished. And such a code was heartlessly deleted by me. Why would I keep OpenGL hello world that draws triangles..? :)</p>
<p>At least an experience I gained isn't going anywhere. :) And I think what is on my <a href={ templ.SafeURL(util.GetServiceByHost(r.Host, util.ServiceGit)) }>Gitea instance</a> can speak for me.</p>
<p>I still have an old IDE drive that got broken back in 2011. BIOS cannot see it, but it is spinning, even without any crack noises. Maybe it still has some old code. And some more from that time...</p>
<h3>What I liked</h3>
<h4>Anime</h4>
<p>Ghost in the Shell, Shaman King, Hellsing, Steins;Gate, Cowboy Beebop, Ergo Proxy, Jin-Rou, Black Lagoon, Jojo's Bizzare Adventures, Spice and Wolf, Konosuba, Demon Slayer: Kimetsu no Yaiba.</p>
<h4>Films</h4>
<p>Paths of Glory (1957), Boss Nigger (The Black Bounty Killer) (1974), Movies with Jackie Chan, Blade Runner (1982), WarGames (1983), Robocop (1987), Talk Radio (1988), Stargate (1994), Hackers (1995), Johnny Mnemonic (1995), Contact (1997), Matrix (1999, 2003), Snatch (2000), Oldboy (2003), The Day After Tomorrow (2004), Alpha Dog (2005), Constantine (2005), The Gingerdead Man (2005), Lucky Number Slevin (2006), 99 francs (2007), I Am Legend (2007), Inglourious Basterds (2009), Valhalla Rising (2009), The Guard (2011), Filth (2013), Mandariinid (2013), Gingerdead Man vs. Evil Bong (2013), Gone Girl (2014), Who am I (2014), Arrival (2016), Contratiempo (2016), Wandering Earth (2019), Wandering Earth 2 (2019), Greyhound (2020), I Care A Lot (2020), The Greatest Beer Run Ever (2022), Everything Everywhere All at Once (2022), Dungeons & Dragons: Honor Among Thieves (2023).</p>
<h4>TV series</h4>
<p>X-Files (1993&mdash;2002), Stargate: SG-1 (1997&mdash;2007), Stargate: Atlantis (2004&mdash;2009), Lost (2004&mdash;2010), Breaking Bad (2008&mdash;2013), Narcos (2015&mdash;2017), The Shivering Truth (2018&mdash;2020), Два холма (Two Hills) (2022).</p>
<h4>Games for Dendy (NES/Famicom clone)</h4>
<p>I had not just a Dendy console, no, it was embedded in a keyboard and it was named SUBOR.</p>
<p>Chip 'n Dale Rescue Rangers, and the other was an F1 game which name I don't know. Also, SUBOR had its own special cartridge called training cartridge. It had a keyboard trainer, a simple text editor, calculator, G-BASIC and F-BASIC, also had classic russian music like Moscow Nights in 8-bit.</p>
<p>Despite having BASIC on that cartridge I had no opportunity to start programming because I didn't have a manual. Anyway, I read that there was just code examples and most of them didn't work, LOL.</p>
<h4>Games for SEGA Mega Drive</h4>
<p>Not a lot of games I have played.</p>
<p>Bubba'n'Stix, Battletoads, Granada, Demolition Man, Road Rash, Doom Troopers - The Mutant Chronicles, The Lost Vikings, Ghostbusters, Mig-29 Fighter Pilot, Street Racer.</p>
<h4>Games for PC</h4>
<p>Grand Theft Auto: Vice City, Half-Life (all), StarCraft, Diablo 2, Far Cry (2004), Battlefield: Vietnam, Delta Force: Black Hawk Down, Silent Hunter 3, Grand Theft Auto: San Andreas, Boiling Point: Road to Hell, Portal, Freelancer, F.E.A.R., S.T.A.L.K.E.R., Grand Theft Auto 4, Lineage 2, The Elder Scrolls V: Skyrim, Battlefield 3, The Walking Dead, The Wolf Among Us, Payday 2, The Witcher (1st, 2nd, 3rd didn't finished yet), Minecraft, Terraria, Starbound, Euro Truck Simulator 2, Mount &amp; Blade: Warband, Papers, Please, Insurgency, Elite: Dangerous, theHunter: Call of the Wild, American Truck Simulator, Rocket League, Sea Of Thieves, Tell Some Story: Foz.</p>
<h4>Music</h4>
<p>Go check out <a href={ templ.SafeURL(util.GetServiceByHost(r.Host, util.ServiceFiles)) }>my file share</a>. :)</p>
</section>
<section id="servers-summary">
<h2>My servers</h2>
<p>I have two servers laying on my PC which are a Raspberry Pi 3 rev. B single board computer and a laptop Acer Packard Bell TE69CX. Not quite impressive, I'd say, but they do what I need from them just fine, not for a real heavy load of course.</p>
<p>The laptop has a 2 core Intel Pentium 2117U 1.8GHz CPU and 10GB of RAM (2GB + 8GB), a system disk is a 120GB SSD, and a disk I use to store all the shit is a 2TB HDD, yeah, just one drive for data. Anything worthwhile is backed up (LOL, not really :^)).</p>
<p>For Raspberry Pi I use a 500GB HDD as a system/data disk.</p>
<p>Also I have a cheap VPS with 1 core 2.2GHz CPU and 512MB RAM, and a 10GB disk I use as a slave DNS server for my domain and a Postfix mail relay.</p>
<div class="columns figs">
<figure>
<a href="/assets/img/photos/raspi.webp">
<img src="/assets/img/photos/raspi_thumb.webp" alt="Raspberry Pi 3 rev. B" />
</a>
<figcaption>Raspberry Pi 3 rev. B</figcaption>
</figure>
<figure>
<a href="/assets/img/photos/acer.webp">
<img src="/assets/img/photos/acer_thumb.webp" alt="Acer Packard Bell TE69CX" title="Screen and keyboard are broken." />
</a>
<figcaption>Acer Packard Bell TE69CX</figcaption>
</figure>
</div>
</section>
<section id="services-public">
<h2>Public services</h2>
<p class="center">For everyone.</p>
<div class="columns">
<div>
<h3 class={ isServiceUp("radio", services) }>Internet-radio</h3>
<p>
<a href="https://radio.arav.su">radio.arav.su</a>.<a href="http://wsmkgnmhmzqm7kyzv7jnzzafvgm7xlmlfvzhgorpapd5or2arnhuktqd.onion">onion</a>.<a href="http://[300:a98d:d6d0:8a08::e]">ygg</a>.<a href="http://radio.arav.i2p">i2p</a><sup><a href="http://radio.arav.i2p/?i2paddresshelper=NfCKBu9vjLFiBMEPQGiZT9AzGlhkKHzYrKM66FL-ESeDbnYUY--NzukO9UA28s3WThhDQVge2TmyfYsaZiUw~AjuLsykxS13pebs7lkAVY1jm77La-eFFIAQ22Vtd2YgS0vbhRMzuDxKkCR1vPwNax8R2o6a07xsQvvDml6UQxG4p5vt44JA2geQNvQfm8cEiSa6gNJZJSW3rWuLDg6~1Jy3D70oSVSlNfihmG4JtNV6tVBjJE2h5gUxfhYZACttpGTPM~UNF~lrSujlBQsCqdzvLswdMw~FnvpfGzJcJroeFTerRyH6oUkkDSOK7uWwl0e70vKxrIbFgJjKtjlLWlUCI5N0TnJP4Hzt2pttB~R0hSr2vVl8ky0yJEtN3rwnrJkw7q0ZIH30ngTfxsCTbolAzl6liN9Ez5YF97zDOPnVFmvQ6Eg1PyFdypQO1PiUHqF56SWhx3utGwecUS6jJCvsKIJJVEIMVcD6h7S0z1g1rqQ4jbg5UfXPwFEgFOlzBQAEAAcAAA==" title="Address helper">ah</a></sup>
</p>
<p>I'm too lazy to make some kind of broadcasting program, so I just throw anything I like and randomise the playlist. :)</p>
<p>Technically it runs as follows: <a href={ templ.SafeURL(util.GetServiceByHost(r.Host, util.ServiceGit) + "/Arav/dwelling-radio") }>dwelling-radio</a> &xrArr; Ezstream &xrArr; Icecast &xrArr; NGiNX.</p>
</div>
<div>
<h3 class={ isServiceUp("dwelling-files", services) }>File share</h3>
<p>
<a href="https://files.arav.su">files.arav.su</a>.<a href="http://qf5e43nlhvnrutmikuvbdfj3cmtthokpbaxtkm6mjlslttzvtgm4fxid.onion">onion</a>.<a href="http://[300:a98d:d6d0:8a08::e]">ygg</a>.<a href="http://files.arav.i2p">i2p</a><sup><a href="http://files.arav.i2p/?i2paddresshelper=48vtYgeVnju7B2FaR0zxUL3MQXN9QjK~Ggya45aANwm86mtpemuEkaskJmEQaFSd4FcDAFIiXHfNpfGqoupLwNmtgBmGRcuVV8xb2W~W6lM0oOhovjB37EUaMWs3AI5aIES84QOqApgwYX-ANIcwa~Kg6AbMuX8D8qnejuhBbuCffYah-TD8e~O0cnyqxzLTmxIGCyk2egdYXwanJyYFDocomIVfcqfJ0MgjIHhFQtkcb0e84bxvDzcAFIpEDrzAo4GVrFn-TCu0Lyf2ccqmVpucFl0UGhuVRxEt19KLd3PxlfwHv2lmzTZtq9CbnfaoPntUPx1sf84QnZDmrXWhVK8p3VvuPZMxjyz9KyhPjrGkO4E0oibDlvKuMsGEm-GkZsKxgXo~CrdcVtN8suAwW6rACAuk8gq2jUMBZBZ12migPZ7miHftEkOFHfgfUiKBwirrw~y9Zi261WX4-EVe2oD4pkhQOrqOKIoI-vv5z9CpQ7PKL531kgkipcBseXybBQAEAAcAAA==" title="Address helper">ah</a></sup>
</p>
<p>There you'll find music, videos, books, games, programs, drivers (a very few), OS images (Winblows mainly). Go check it out!</p>
</div>
<div>
<h3 class={ isServiceUp("dwelling-upload", services) }>File upload</h3>
<p>
<a href="https://upload.arav.su">upload.arav.su</a>.<a href="http://4usftbmjpfexkr2x5xbp5ukmygpmg4fgrnx2wbifsexqctooz5hmviyd.onion">onion</a>.<a href="http://[300:a98d:d6d0:8a08::e]">ygg</a>.<a href="http://upload.arav.i2p">i2p</a><sup><a href="http://upload.arav.i2p/?i2paddresshelper=b5NWA2vNydWSv6~8KN4e~td2UVGkYsayKPa1PnXI87A3gsg6m978tIehHLVN4XcCfUq4aB-59hqqZicorRnHKfV3lVdx9mdhC8Bhj~bMAcwMgWoXidqZNrWMoFGzWotFsa3nWh4zsRUSfrokecC8u9Y06byfSS1siyak0J6xpsggXRqqgNF0-8ncPeqvzBxHB9NRDXWEVJGS9HSpydWl1UpjgZffcd~NZroxkSAfughHcFAn2OLKkaZRe6WqCJQfJoXTCyz4wkFmYbH1CSddWlddmWaaU7icsbQrZm3XEqKTVKvm86G6ehxmzyHqCumc4GOWswcP0E51UQVOv-WA8R6SWQAj6ZnZhnCoCNFFEfW2lBiDmTnLJbfm-C-AdI6G1~dQ1~3FCH6wXWy-2DebpyoVVt9epzU7l4l2MVeaOUahbf6wcol1UbxPoR0XlGCXDe9700TYePjtpOU9vNkk2B1dQiZ1usgwseYuO26cRogSvbi8poz4BlCNO733HR1XBQAEAAcAAA==" title="Address helper">ah</a></sup>
</p>
<p>I've made a file upload service for ya with a limit of 128MiB per file, keeping it for 36 hours, and overall storage I dedicated for it is 100GiB.</p>
</div>
<div>
<h3>Tor relay</h3>
<p><a href="https://metrics.torproject.org/rs.html#details/CEF2FD0E1973EA04D1444DDAEFF1B0BC3C0C39B1" rel="nofollow noreferrer">metrics.torproject.org</a></p>
<p><b>Since 1st December 2021 Tor is blocked in Russia, so the relay is down.</b></p>
</div>
<div>
<h3>I2P router</h3>
<p>I help the network using i2pd router.</p>
</div>
</div>
</section>
<section id="services-private">
<h2>Private services</h2>
<p class="center">For a narrow circle of people.</p>
<div class="columns">
<div>
<h3 class={ isServiceUp("mail", services) }>E-Mail server</h3>
<p>Postfix, Dovecot (w/Sieve), rspamd, ClamAV.</p>
</div>
<div>
<h3 class={ isServiceUp("mumble", services) }>Mumble</h3>
<p><a href="mumble://arav.su">mumble://arav.su</a></p>
<p>Runs with uMurmur. Protected by password.</p>
</div>
<div>
<h3 class={ isServiceUp("teamspeak3", services) }>TeamSpeak 3</h3>
<p><a href="ts3server://arav.su">ts3server://arav.su</a></p>
<p>For strangers (unregs) only an Entrance room is available. Your identifier should have a security level greater or equal to 29.</p>
</div>
<div>
<h3 class={ isServiceUp("git", services) }>Git</h3>
<p>
<a href="https://git.arav.su">git</a>.<a href="http://qqitm7qlsbbubwmjos4cqzmvkqidg34rfnbyhuydhalep33fbvh22xyd.onion">onion</a>.<a href="http://[300:a98d:d6d0:8a08::e]">ygg</a>.<a href="http://git.arav.i2p">i2p</a><sup><a href="http://git.arav.i2p/?i2paddresshelper=eFIfcBUv3lHFSnglHfncs5XXtYwm9gCpmAYuio~9CeENBAXKRggPiY1tQC-otCon2hCSpr56WlVBeZk1txKuUnbjHTN7GBFaKW5wJEO2WmKEWPKdcjUDOYZN0D3TwXaYfiBuELD3200lBfDmPEJ01iC2o7B5yvpOqtEKDcaqkIp4vafDuPPumJ~XiCGdUAe~vr52w3Tbuz5x7wbltk-gUELY0-ZAQBos4jOJ6QT1W1lhycHPhAK8qslgwfk94opyIl2pkRyuJhU-2VHc6Fsd621VXC86YAMT1SIfTZlFpoGVCFXDM~BXaLvygFaKf62qardAe0T48Ax6GxosAKXe-yLCVRaiD3KErULfwZXl23kQzRfxM4odG4DWeXawtuvypOmTjHT1skQHU0h52ujye5nT~2bOy14HkCoCnxJ7gSj3MjkmWLd1JhBsPH4ymRmI7jFJR1GYl8Wp5IigMBBzWfJUEEjS7QDHaRo5TCZJ9SXz6sgkGdfh74~r8FWL559gBQAEAAcAAA==" title="Address helper">ah</a></sup>
</p>
<p>Gitea. Anything I think is worth sharing is public. Private in terms of who can have account here.</p>
</div>
</div>
</section>
<section id="services-games">
<h2>Game servers</h2>
<div class="columns">
<div>
<h3 class={ isServiceUp("game-minecraft", services) }>Minecraft</h3>
<p class="highlighted">arav.su:25565</p>
<p><a href="/minemap">Web world map</a></p>
<p>Now runs a version 1.21 with Fabric. Just a fabric-api is needed to play.</p>
</div>
</div>
</section>
<section id="services-inner">
<h2>Inner services</h2>
<p class="center">Maintains other services or used exclusively by me.</p>
<div class="columns">
<div>
<h3>Web-server</h3>
<p>NGiNX. Nuff said.</p>
</div>
<div>
<h3>Database</h3>
<p>Used to run MariaDB, now my services use SQLite3.</p>
</div>
<div>
<h3>VPN</h3>
<p><s>OpenVPN</s> Wireguard.</p>
</div>
<div>
<h3>Network file storage</h3>
<p>Samba and NFSv4.</p>
</div>
<div>
<h3>Torrents</h3>
<p>I use transmission-cli. One annoying thing, it creates .part files for one of ignored files.</p>
</div>
<div>
<h3>Printing</h3>
<p>CUPS with ccpd (Canon CAPT printer).</p>
<p>It is guaranteed to work after reboot. :) If a kernel got updated &mdash; reboot. If you didn't use it for a long time and restart of CUPS and ccpd services after connecting a printer didn't work &mdash; reboot. xD</p>
</div>
<div>
<h3>DNS</h3>
<p>BIND9 via DNSCrypt-proxy.</p>
<p>For LAN I use &ldquo;arav.home.arpa&rdquo; domain. &ldquo;.home.arpa&rdquo; part is a special-use domain introduced in RFC 8375.</p>
<p>Master server lives on the laptop. It serves my external domain, internal one, and work as a recursion server to serve DNS queries from LAN. Raspberry Pi is a slave for the internal domain and recursion. And on the VPS lives a slave for my external domain.</p>
</div>
</div>
</section>
<section id="contacts">
<h2>Contacts</h2>
<span>E-Mail:&nbsp;<a href="mailto:me@arav.su">me@arav.su</a></span>
<span>PGP&nbsp;key:&nbsp;<a href="/assets/pgp.asc">7398 50CD 5051 DE55 4368 7092 2596 9B23 DCB5 CA34</a></span>
</section>
<section id="donation">
<h2>Donation</h2>
<p class="center">Just in case. %^)</p>
<table>
<tr>
<td>USDT&nbsp;(TRC&nbsp;20):</td>
<td>TGSEiAh9nAhCL6YPVA6zHUsnuoccW8tjep</td>
</tr>
<tr>
<td>USDT&nbsp;(ERC&nbsp;20):</td>
<td>0x584b3ab1b31d7248e2c0ba5d317e9ba88a4fb1b4</td>
</tr>
<tr>
<td>TON:</td>
<td>EQC4L0tZMDZ8IPGbyXQafoh2n-N9HbJwVp5EtrYGsRCuR28G</td>
</tr>
<tr>
<td>Bitcoin:</td>
<td>bc1qrmpahnvtqp34kpjaghnmq8acq27n0eke5w35ec</td>
</tr>
<tr>
<td>Etherium:</td>
<td>0x584b3ab1b31d7248e2c0ba5d317e9ba88a4fb1b4</td>
</tr>
<tr>
<td>Monero:</td>
<td>48namnfX17TX1kEGCpkXaRWhtw8p92cQjd5uQg7ivybgUuW4BTVaX8egxQhEi75JwuUGn3MDLKHYGNhu4eCfM6dRAAL2QAq</td>
</tr>
</table>
<div class="center">
<a href="https://www.donationalerts.com/r/arav">DonationAlerts</a>
<span><a href="https://www.tinkoff.ru/rm/andreev.aleksandr1164/5nVjK98501">T-bank</a> (<a href="https://www.tinkoff.ru/baf/5zRsqEQic6r">referal</a>)</span>
<a href="https://ruvds.com/pay/b5a7a24e142e4d30a46c7c8e09e8e07f">Help pay my VPS</a>
</div>
</section>
}
func isServiceUp(service string, services *servicestat.ServiceList) string {
if v, ok := (*services)[service]; ok && v {
return "service-up"
}
return "service-down"
}
templ aboutHead() {
<link rel="stylesheet" href="/assets/css/about.css"/>
}