2 more posts

This commit is contained in:
bullshar-k
2026-08-10 22:10:48 -04:00
parent b7442749ec
commit 7a5be5fe33
24 changed files with 4033 additions and 443 deletions
+232 -9
View File
@@ -1,10 +1,233 @@
<!doctype html><html lang=en><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><title>About - bullshark369.org</title><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=https://bullshark369.org/favicon.png><link rel=canonical href=https://bullshark369.org/about/><link rel=stylesheet href=/css/style.min.1c18def2aed6b057aa439fbec51b1d6f55f2d2d8073fe48390bceb467a226be6.css><link rel=stylesheet href=/assets/css/extended.min.64eff6070754dbd5f137b9a69ee5d178af8882fb423ebae458728838b1518560.css><meta name=description content="Short yap about me"><meta name=keywords content="Nathan Buache,Test Manager,QA,Quality Assurance,Lausanne,Switzerland,Web Testing,Software Testing,QoQa"><meta property="og:title" content="About - bullshark369.org"><meta property="og:type" content="website"><meta property="og:url" content="https://bullshark369.org/about/"><meta property="og:site_name" content="bullshark369.org"><meta property="og:description" content="Short yap about me"><meta name=twitter:card content="summary_large_image"><meta name=twitter:title content="About"><meta name=twitter:description content="Short yap about me"></head><body class='page page-default-single'><div id=menu-main-mobile class=menu-main-mobile><ul class=menu><li class=menu-item-home><a href=https://bullshark369.org/>Home</a></li><li class=menu-item-blog><a href=https://bullshark369.org/posts/>Blog</a></li><li class=menu-item-contact><a href=https://bullshark369.org/pages/contact/>Contact</a></li></ul></div><div id=wrapper class=wrapper><div class=header><div class=menu-main><ul><li class=menu-item-home><a href=/><span>Home</span></a></li><li class=menu-item-blog><a href=/posts/><span>Blog</span></a></li><li class=menu-item-contact><a href=/pages/contact/><span>Contact</span></a></li></ul></div><div id=toggle-menu-main-mobile class=hamburger-trigger><button class=hamburger>Menu</button></div></div><div class=intro><h1>About</h1></div><div class=content><hr><h1 id=me>Me</h1><h3 id=career>Career</h3><p>I am a network engineer and will not disclose specifics. I do a lot of LAN work and network architecture as opposed to the more usual help desk, service deployment,
or network maintenance.</p><p>I do intend to switch fields of work and do cloud or network engineering for a different company within the future.</p><h3 id=education>Education</h3><p>I currently am in college for cloud and network engineering. My current certs include A+, ITIL 4, and LPI 010. However, I have 3 CompTIA certs in my degree and plan on getting
my CCNA, terraforge associate, and AWS SAA-C03.</p><h3 id=experience>Experience</h3><p>Well obviously Hugo, Caddy, vps management, Linux, git, HTML, CSS, and SSH. That is everything I needed to make this website.</p><p>However I do have a large list of skills and softwares, as well as a large base fundamental knowledge of how these tools work. I don&rsquo;t care to list them all as it feels
pointless, however, you can see all of my (recent as of writing this) experiences I thought were notable on the blog page.</p><h1 id=my-equipment>My equipment</h1><h3 id=dell-optiplex-3060>Dell Optiplex 3060</h3><p>Specs: Intel I5-8500 | 16GB DDR4 RAM | 250GB NVMe | +4x1GiB NIC</p><p>Current purpose: Running OPNsense in a ProxmoxVM. Firewall & router</p><h3 id=main-home-server>Main home server</h3><p>Specs: Ryzen 9-5900XT | 32GB DDR4 RAM | 2TB NVMe</p><p>Current purpose: Hypervisor is Proxmox. Hosts adguard home for DNS a presistent IRC client.</p><h3 id=personal-pc>Personal PC</h3><p>Specs: Ryzen 9-9800X3D | 64GB DDR5 RAM | 2TB NVMe | RTX 3080</p><p>Current purpose: Almost all of my personal computer needs, network management, SSH etc. I have Arch Linux with a lightly customized KDE Plasma & BTFRS subvolumes. I would
switch to ext4 but I tried something new when installing it and it surprisingly is stable so now I&rsquo;m too lazy.</p><h3 id=thinkpad-t14s-gen3>Thinkpad T14s gen3</h3><p>Specs: Ryzen 7 PRO 6850U | 32GB DDR5 | 512GB NVME | 14" 1920x1200 | Debian 13.6 with Cinnamon DE.</p><p>Currnet purpose: My main personal work, travel, and leisure laptop. I&rsquo;ve never had a laptop I cared about, trusted, or valued, and this is finally that. Also it starts into
tty mode as I don&rsquo;t need a DE for a lot of things.</p><h3 id=laptop-2>Laptop 2</h3><p>Specs: Some 11th gen I7 | 4050 | 16gb DDR4 | 512GB NVMe | Debian 13.6 Cinnamon</p><p>Current purpose: Isolated windows laptop because my college requires it sometimes and I don&rsquo;t dual boot or do VMs for windows.</p><h3 id=laptop-3>Laptop 3</h3><p>Specs: Im not entirely sure, I think 8th gen I5 & 8gb DDR4 ram + 512GB NVMe. Its a dell latitude 7480</p><p>Current purpose: Just a burner laptop I reinstall a new OS on every time I find I need a laptop for a specific purpose. Usually for travel because it was cheap and I don&rsquo;t
mind if it gets broken</p><h1 id=my-ideology>My ideology</h1><p>I dislike the amount of politics in software development currently. People hating good things because of the person that made it. I entirely beleive you seperate the
<!DOCTYPE html>
<html lang="en">
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>About - bullshark369.org</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" href="http://localhost:1313/favicon.png">
<link rel="canonical" href="http://localhost:1313/about/" />
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/assets/css/extended.css">
<meta name="description" content="Short yap about me"/>
<meta name="keywords" content="Nathan Buache, Test Manager, QA, Quality Assurance, Lausanne, Switzerland, Web Testing, Software Testing, QoQa"/>
<meta property="og:title" content="About - bullshark369.org"/>
<meta property="og:type" content="website"/>
<meta property="og:url" content="http://localhost:1313/about/"/>
<meta property="og:site_name" content="bullshark369.org"/>
<meta property="og:description" content="Short yap about me"/>
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:title" content="About"/>
<meta name="twitter:description" content="Short yap about me"/>
</head>
<body class='page page-default-single'>
<div id="menu-main-mobile" class="menu-main-mobile">
<ul class="menu">
<li class="menu-item-home">
<a href="http://localhost:1313/">Home</a>
</li>
<li class="menu-item-blog">
<a href="http://localhost:1313/posts/">Blog</a>
</li>
<li class="menu-item-contact">
<a href="http://localhost:1313/pages/contact/">Contact</a>
</li>
</ul>
</div>
<div id="wrapper" class="wrapper">
<div class='header'>
<div class="menu-main">
<ul>
<li class="menu-item-home ">
<a href="/">
<span>Home</span>
</a>
</li>
<li class="menu-item-blog ">
<a href="/posts/">
<span>Blog</span>
</a>
</li>
<li class="menu-item-contact ">
<a href="/pages/contact/">
<span>Contact</span>
</a>
</li>
</ul>
</div>
<div id="toggle-menu-main-mobile" class="hamburger-trigger">
<button class="hamburger">Menu</button>
</div>
</div>
<div class="intro">
<h1>About</h1>
</div>
<div class="content">
<hr>
<h1 id="me">Me</h1>
<h3 id="career">Career</h3>
<p>I am a network engineer and will not disclose specifics. I do a lot of LAN work and network architecture as opposed to the more usual help desk, service deployment,
or network maintenance.</p>
<p>I do intend to switch fields of work and do cloud or network engineering for a different company within the future.</p>
<h3 id="education">Education</h3>
<p>I currently am in college for cloud and network engineering. My current certs include A+, ITIL 4, and LPI 010. However, I have 3 CompTIA certs in my degree and plan on getting
my CCNA, terraforge associate, and AWS SAA-C03.</p>
<h3 id="experience">Experience</h3>
<p>Well obviously Hugo, Caddy, vps management, Linux, git, HTML, CSS, and SSH. That is everything I needed to make this website.</p>
<p>However I do have a large list of skills and softwares, as well as a large base fundamental knowledge of how these tools work. I don&rsquo;t care to list them all as it feels
pointless, however, you can see all of my (recent as of writing this) experiences I thought were notable on the blog page.</p>
<h1 id="my-equipment">My equipment</h1>
<h3 id="dell-optiplex-3060">Dell Optiplex 3060</h3>
<p>Specs: Intel I5-8500 | 16GB DDR4 RAM | 250GB NVMe | +4x1GiB NIC</p>
<p>Current purpose: Running OPNsense in a ProxmoxVM. Firewall &amp; router</p>
<h3 id="main-home-server">Main home server</h3>
<p>Specs: Ryzen 9-5900XT | 32GB DDR4 RAM | 2TB NVMe</p>
<p>Current purpose: Hypervisor is Proxmox. Hosts adguard home for DNS a presistent IRC client.</p>
<h3 id="personal-pc">Personal PC</h3>
<p>Specs: Ryzen 9-9800X3D | 64GB DDR5 RAM | 2TB NVMe | RTX 3080</p>
<p>Current purpose: Almost all of my personal computer needs, network management, SSH etc. I have Arch Linux with a lightly customized KDE Plasma &amp; BTFRS subvolumes. I would
switch to ext4 but I tried something new when installing it and it surprisingly is stable so now I&rsquo;m too lazy.</p>
<h3 id="thinkpad-t14s-gen3">Thinkpad T14s gen3</h3>
<p>Specs: Ryzen 7 PRO 6850U | 32GB DDR5 | 512GB NVME | 14&quot; 1920x1200 | Debian 13.6 with Cinnamon DE.</p>
<p>Currnet purpose: My main personal work, travel, and leisure laptop. I&rsquo;ve never had a laptop I cared about, trusted, or valued, and this is finally that. Also it starts into
tty mode as I don&rsquo;t need a DE for a lot of things.</p>
<h3 id="laptop-2">Laptop 2</h3>
<p>Specs: Some 11th gen I7 | 4050 | 16gb DDR4 | 512GB NVMe | Debian 13.6 Cinnamon</p>
<p>Current purpose: Isolated windows laptop because my college requires it sometimes and I don&rsquo;t dual boot or do VMs for windows.</p>
<h3 id="laptop-3">Laptop 3</h3>
<p>Specs: Im not entirely sure, I think 8th gen I5 &amp; 8gb DDR4 ram + 512GB NVMe. Its a dell latitude 7480</p>
<p>Current purpose: Just a burner laptop I reinstall a new OS on every time I find I need a laptop for a specific purpose. Usually for travel because it was cheap and I don&rsquo;t
mind if it gets broken</p>
<h1 id="my-ideology">My ideology</h1>
<p>I dislike the amount of politics in software development currently. People hating good things because of the person that made it. I entirely beleive you seperate the
creation from the creator. That if someone does something bad you don&rsquo;t make it worse by throwing away the good they have done. If you say &ldquo;I don&rsquo;t like X because it was
made by Y&rdquo;, you&rsquo;ve just stated you made your ability to objectively observe something benign in the pursuit of bias.</p></div><div class=footer><p class=footer-credit>@bullshark.win maintained by shark</p><div class=footer-social><div class=social-link><a href=https://github.com/bullshar-k title=GitHub target=_blank rel=noopener>GitHub</a></div><div class=social-link><a href=mailto:bullsharkgunsemail@pm.me title=Email target=_blank rel=noopener>Email</a></div><button type=button class="social-link social-copy" data-copy=@bullshar_k:matrix.org title="Copy Matrix to clipboard">
<span class=social-copy-label>Matrix</span></button></div></div><script>(function(){var e=document.querySelectorAll(".social-copy");e.forEach(function(e){e.addEventListener("click",function(){var t,o=e.getAttribute("data-copy"),n=e.querySelector(".social-copy-label, .contact-social-name"),i=n?n.textContent:e.textContent;function s(){n.textContent="Copied!",setTimeout(function(){n.textContent=i},1500)}if(navigator.clipboard&&navigator.clipboard.writeText)navigator.clipboard.writeText(o).then(s).catch(s);else{t=document.createElement("textarea"),t.value=o,document.body.appendChild(t),t.select();try{document.execCommand("copy")}catch{}document.body.removeChild(t),s()}})})})()</script></div><script type=text/javascript src=/js/bundle.min.5993fcb11c07dea925a3fbd58c03c7f1857197c35fccce3aa963a12c0b3c9960.js></script></body></html>
made by Y&rdquo;, you&rsquo;ve just stated you made your ability to objectively observe something benign in the pursuit of bias.</p>
</div>
<div class="footer">
<p class="footer-credit">@bullshark.win maintained by shark</p>
<div class="footer-social">
<div class="social-link">
<a href="https://github.com/bullshar-k" title="GitHub" target="_blank" rel="noopener">
GitHub
</a>
</div>
<div class="social-link">
<a href="mailto:bullsharkgunsemail@pm.me" title="Email" target="_blank" rel="noopener">
Email
</a>
</div>
<button type="button" class="social-link social-copy" data-copy="@bullshar_k:matrix.org" title="Copy Matrix to clipboard">
<span class="social-copy-label">Matrix</span>
</button>
</div>
</div>
<script>
(function () {
var btns = document.querySelectorAll('.social-copy');
btns.forEach(function (btn) {
btn.addEventListener('click', function () {
var text = btn.getAttribute('data-copy');
var label = btn.querySelector('.social-copy-label, .contact-social-name');
var original = label ? label.textContent : btn.textContent;
function done() {
label.textContent = 'Copied!';
setTimeout(function () { label.textContent = original; }, 1500);
}
if (navigator.clipboard && navigator.clipboard.writeText) {
navigator.clipboard.writeText(text).then(done).catch(done);
} else {
var ta = document.createElement('textarea');
ta.value = text;
document.body.appendChild(ta);
ta.select();
try { document.execCommand('copy'); } catch (e) {}
document.body.removeChild(ta);
done();
}
});
});
})();
</script>
</div>
<script type="text/javascript" src="/js/bundle.js"></script>
</body>
</html>
+17
View File
@@ -74,6 +74,23 @@
.intro h2 {
color: var(--primary);
}
.intro h1 {
font-size: clamp(48px, 10vw, 165px);
overflow-wrap: break-word;
}
.content h1 {
font-size: clamp(28px, 6vw, 40px);
overflow-wrap: break-word;
}
.intro,
.intro-content,
.content {
overflow-wrap: break-word;
word-break: break-word;
}
.content table {
width: 100%;
border-collapse: collapse;
+192 -2
View File
@@ -1,2 +1,192 @@
<!doctype html><html lang=en><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><title>Categories - bullshark369.org</title><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=https://bullshark369.org/favicon.png><link rel=canonical href=https://bullshark369.org/categories/><link rel=stylesheet href=/css/style.min.1c18def2aed6b057aa439fbec51b1d6f55f2d2d8073fe48390bceb467a226be6.css><link rel=stylesheet href=/assets/css/extended.min.64eff6070754dbd5f137b9a69ee5d178af8882fb423ebae458728838b1518560.css><meta name=keywords content="Nathan Buache,Test Manager,QA,Quality Assurance,Lausanne,Switzerland,Web Testing,Software Testing,QoQa"><meta property="og:title" content="Categories - bullshark369.org"><meta property="og:type" content="website"><meta property="og:url" content="https://bullshark369.org/categories/"><meta property="og:site_name" content="bullshark369.org"><meta property="og:description" content="Test Manager based in Lausanne, Switzerland. QA specialist sharing insights on testing, technology, and quality assurance."><meta name=twitter:card content="summary_large_image"><meta name=twitter:title content="Categories"></head><body class='page page-default-list'><div id=menu-main-mobile class=menu-main-mobile><ul class=menu><li class=menu-item-home><a href=https://bullshark369.org/>Home</a></li><li class=menu-item-blog><a href=https://bullshark369.org/posts/>Blog</a></li><li class=menu-item-contact><a href=https://bullshark369.org/pages/contact/>Contact</a></li></ul></div><div id=wrapper class=wrapper><div class=header><div class=menu-main><ul><li class=menu-item-home><a href=/><span>Home</span></a></li><li class=menu-item-blog><a href=/posts/><span>Blog</span></a></li><li class=menu-item-contact><a href=/pages/contact/><span>Contact</span></a></li></ul></div><div id=toggle-menu-main-mobile class=hamburger-trigger><button class=hamburger>Menu</button></div></div><div class=intro><h1>Categories</h1></div><div class=footer><p class=footer-credit>@bullshark.win maintained by shark</p><div class=footer-social><div class=social-link><a href=https://github.com/bullshar-k title=GitHub target=_blank rel=noopener>GitHub</a></div><div class=social-link><a href=mailto:bullsharkgunsemail@pm.me title=Email target=_blank rel=noopener>Email</a></div><button type=button class="social-link social-copy" data-copy=@bullshar_k:matrix.org title="Copy Matrix to clipboard">
<span class=social-copy-label>Matrix</span></button></div></div><script>(function(){var e=document.querySelectorAll(".social-copy");e.forEach(function(e){e.addEventListener("click",function(){var t,o=e.getAttribute("data-copy"),n=e.querySelector(".social-copy-label, .contact-social-name"),i=n?n.textContent:e.textContent;function s(){n.textContent="Copied!",setTimeout(function(){n.textContent=i},1500)}if(navigator.clipboard&&navigator.clipboard.writeText)navigator.clipboard.writeText(o).then(s).catch(s);else{t=document.createElement("textarea"),t.value=o,document.body.appendChild(t),t.select();try{document.execCommand("copy")}catch{}document.body.removeChild(t),s()}})})})()</script></div><script type=text/javascript src=/js/bundle.min.5993fcb11c07dea925a3fbd58c03c7f1857197c35fccce3aa963a12c0b3c9960.js></script></body></html>
<!DOCTYPE html>
<html lang="en">
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>Categories - bullshark369.org</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" href="http://localhost:1313/favicon.png">
<link rel="canonical" href="http://localhost:1313/categories/" />
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/assets/css/extended.css">
<meta name="keywords" content="Nathan Buache, Test Manager, QA, Quality Assurance, Lausanne, Switzerland, Web Testing, Software Testing, QoQa"/>
<meta property="og:title" content="Categories - bullshark369.org"/>
<meta property="og:type" content="website"/>
<meta property="og:url" content="http://localhost:1313/categories/"/>
<meta property="og:site_name" content="bullshark369.org"/>
<meta property="og:description" content="Test Manager based in Lausanne, Switzerland. QA specialist sharing insights on testing, technology, and quality assurance."/>
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:title" content="Categories"/>
</head>
<body class='page page-default-list'>
<div id="menu-main-mobile" class="menu-main-mobile">
<ul class="menu">
<li class="menu-item-home">
<a href="http://localhost:1313/">Home</a>
</li>
<li class="menu-item-blog">
<a href="http://localhost:1313/posts/">Blog</a>
</li>
<li class="menu-item-contact">
<a href="http://localhost:1313/pages/contact/">Contact</a>
</li>
</ul>
</div>
<div id="wrapper" class="wrapper">
<div class='header'>
<div class="menu-main">
<ul>
<li class="menu-item-home ">
<a href="/">
<span>Home</span>
</a>
</li>
<li class="menu-item-blog ">
<a href="/posts/">
<span>Blog</span>
</a>
</li>
<li class="menu-item-contact ">
<a href="/pages/contact/">
<span>Contact</span>
</a>
</li>
</ul>
</div>
<div id="toggle-menu-main-mobile" class="hamburger-trigger">
<button class="hamburger">Menu</button>
</div>
</div>
<div class="intro">
<h1>Categories</h1>
</div>
<div class="footer">
<p class="footer-credit">@bullshark.win maintained by shark</p>
<div class="footer-social">
<div class="social-link">
<a href="https://github.com/bullshar-k" title="GitHub" target="_blank" rel="noopener">
GitHub
</a>
</div>
<div class="social-link">
<a href="mailto:bullsharkgunsemail@pm.me" title="Email" target="_blank" rel="noopener">
Email
</a>
</div>
<button type="button" class="social-link social-copy" data-copy="@bullshar_k:matrix.org" title="Copy Matrix to clipboard">
<span class="social-copy-label">Matrix</span>
</button>
</div>
</div>
<script>
(function () {
var btns = document.querySelectorAll('.social-copy');
btns.forEach(function (btn) {
btn.addEventListener('click', function () {
var text = btn.getAttribute('data-copy');
var label = btn.querySelector('.social-copy-label, .contact-social-name');
var original = label ? label.textContent : btn.textContent;
function done() {
label.textContent = 'Copied!';
setTimeout(function () { label.textContent = original; }, 1500);
}
if (navigator.clipboard && navigator.clipboard.writeText) {
navigator.clipboard.writeText(text).then(done).catch(done);
} else {
var ta = document.createElement('textarea');
ta.value = text;
document.body.appendChild(ta);
ta.select();
try { document.execCommand('copy'); } catch (e) {}
document.body.removeChild(ta);
done();
}
});
});
})();
</script>
</div>
<script type="text/javascript" src="/js/bundle.js"></script>
</body>
</html>
+15 -1
View File
@@ -1 +1,15 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Categories on bullshark369.org</title><link>https://bullshark369.org/categories/</link><description>Recent content in Categories on bullshark369.org</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://bullshark369.org/categories/index.xml" rel="self" type="application/rss+xml"/></channel></rss>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Categories on bullshark369.org</title>
<link>http://localhost:1313/categories/</link>
<description>Recent content in Categories on bullshark369.org</description>
<generator>Hugo</generator>
<language>en-us</language>
<atom:link href="http://localhost:1313/categories/index.xml" rel="self" type="application/rss+xml" />
</channel>
</rss>
+261 -9
View File
@@ -1,10 +1,262 @@
<!doctype html><html lang=en><head><meta name=generator content="Hugo 0.164.0"><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><title>bullshark369.org - Network Engineer | Pro ranter</title><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=https://bullshark369.org/favicon.png><link rel=canonical href=https://bullshark369.org/><link rel=stylesheet href=/css/style.min.1c18def2aed6b057aa439fbec51b1d6f55f2d2d8073fe48390bceb467a226be6.css><link rel=stylesheet href=/assets/css/extended.min.64eff6070754dbd5f137b9a69ee5d178af8882fb423ebae458728838b1518560.css><meta name=description content="A personal blog and portfolio."><meta name=keywords content="Nathan Buache,Test Manager,QA,Quality Assurance,Lausanne,Switzerland,Web Testing,Software Testing,QoQa"><meta property="og:title" content="bullshark369.org - Test Manager | QA Specialist"><meta property="og:type" content="website"><meta property="og:url" content="https://bullshark369.org/"><meta property="og:site_name" content="bullshark369.org"><meta property="og:description" content="A personal blog and portfolio."><meta name=twitter:card content="summary_large_image"><meta name=twitter:title content="bullshark369.org - Test Manager"><meta name=twitter:description content="A personal blog and portfolio."><script type=application/ld+json>{"@context":"https://schema.org","@type":"Person","name":"Nathan Buache","url":"https:\/\/bullshark369.org\/","jobTitle":"Test Manager","description":"Test Manager and QA Specialist based in Lausanne, Switzerland","address":{"@type":"PostalAddress","addressLocality":"Lausanne","addressCountry":"Switzerland"},"sameAs":["https://github.com/nthnbch","https://www.linkedin.com/in/nathanbuache/"]}</script></head><body class='page page-home'><div id=menu-main-mobile class=menu-main-mobile><ul class=menu><li class=menu-item-home><a href=https://bullshark369.org/>Home</a></li><li class=menu-item-blog><a href=https://bullshark369.org/posts/>Blog</a></li><li class=menu-item-contact><a href=https://bullshark369.org/pages/contact/>Contact</a></li></ul></div><div id=wrapper class=wrapper><div class=header><div class=menu-main><ul><li class="menu-item-home active"><a href=/><span>Home</span></a></li><li class=menu-item-blog><a href=/posts/><span>Blog</span></a></li><li class=menu-item-contact><a href=/pages/contact/><span>Contact</span></a></li></ul></div><div id=toggle-menu-main-mobile class=hamburger-trigger><button class=hamburger>Menu</button></div></div><div class=intro><h1>bullshark</h1><div class=intro-content><hr><h2 id=welcome>Welcome</h2><p>I am one individual who bought a .org domain because thats silly. I wont introduce myself here because you can go to &lsquo;About&rsquo; to see that.</p><p>This is where I post sometimes informative rants about network engineering, pc building, programming, and other similar things.</p><hr><h2 id=me>Me</h2><h3 id=career>Career</h3><p>I am a network engineer and will not disclose specifics. I do a lot of LAN work and network architecture as opposed to the more usual help desk, service deployment,
or network maintenance.</p><p>I do intend to switch fields of work and do cloud or network engineering for a different company within the future.</p><h3 id=education>Education</h3><p>I currently am in college for cloud and network engineering. My current certs include A+, ITIL 4, and LPI 010. However, I have 3 CompTIA certs in my degree and plan on getting
my CCNA, terraforge associate, and AWS SAA-C03.</p><h3 id=experience>Experience</h3><p>Well obviously Hugo, Caddy, vps management, Linux, git, HTML, CSS, and SSH. That is everything I needed to make this website.</p><p>However I do have a large list of skills and softwares, as well as a large base fundamental knowledge of how these tools work. I don&rsquo;t care to list them all as it feels
pointless, however, you can see all of my (recent as of writing this) experiences I thought were notable on the blog page.</p><hr><h2 id=my-equipment>My equipment</h2><h3 id=dell-optiplex-3060>Dell Optiplex 3060</h3><p>Specs: Intel I5-8500 | 16GB DDR4 RAM | 250GB NVMe | +4x1GiB NIC</p><p>Current purpose: Running OPNsense in a ProxmoxVM. Firewall & router</p><h3 id=main-home-server>Main home server</h3><p>Specs: Ryzen 9-5900XT | 32GB DDR4 RAM | 2TB NVMe</p><p>Current purpose: Hypervisor is Proxmox. Hosts adguard home for DNS a presistent IRC client.</p><h3 id=personal-pc>Personal PC</h3><p>Specs: Ryzen 9-9800X3D | 64GB DDR5 RAM | 2TB NVMe | RTX 3080</p><p>Current purpose: Almost all of my personal computer needs, network management, SSH etc. I have Arch Linux with a lightly customized KDE Plasma & BTFRS subvolumes. I would
switch to ext4 but I tried something new when installing it and it surprisingly is stable so now I&rsquo;m too lazy.</p><h3 id=thinkpad-t14s-gen3>Thinkpad T14s gen3</h3><p>Specs: Ryzen 7 PRO 6850U | 32GB DDR5 | 512GB NVME | 14" 1920x1200 | Debian 13.6 with Cinnamon DE.</p><p>Currnet purpose: My main personal work, travel, and leisure laptop. I&rsquo;ve never had a laptop I cared about, trusted, or valued, and this is finally that. Also it starts into
tty mode as I don&rsquo;t need a DE for a lot of things.</p><h3 id=laptop-2>Laptop 2</h3><p>Specs: Some 11th gen I7 | 4050 | 16gb DDR4 | 512GB NVMe | Debian 13.6 Cinnamon</p><p>Current purpose: Isolated windows laptop because my college requires it sometimes and I don&rsquo;t dual boot or do VMs for windows.</p><h3 id=laptop-3>Laptop 3</h3><p>Specs: Im not entirely sure, I think 8th gen I5 & 8gb DDR4 ram + 512GB NVMe. Its a dell latitude 7480</p><p>Current purpose: Just a burner laptop I reinstall a new OS on every time I find I need a laptop for a specific purpose. Usually for travel because it was cheap and I don&rsquo;t
mind if it gets broken</p><hr><h2 id=my-ideology>My ideology</h2><p>I dislike the amount of politics in software development currently. People hating good things because of the person that made it. I entirely beleive you seperate the
<!DOCTYPE html>
<html lang="en">
<head>
<meta name="generator" content="Hugo 0.164.0"><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>bullshark369.org - Network Engineer | Pro ranter</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" href="http://localhost:1313/favicon.png">
<link rel="canonical" href="http://localhost:1313/" />
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/assets/css/extended.css">
<meta name="description" content="A personal blog and portfolio."/>
<meta name="keywords" content="Nathan Buache, Test Manager, QA, Quality Assurance, Lausanne, Switzerland, Web Testing, Software Testing, QoQa"/>
<meta property="og:title" content="bullshark369.org - Test Manager | QA Specialist"/>
<meta property="og:type" content="website"/>
<meta property="og:url" content="http://localhost:1313/"/>
<meta property="og:site_name" content="bullshark369.org"/>
<meta property="og:description" content="A personal blog and portfolio."/>
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:title" content="bullshark369.org - Test Manager"/>
<meta name="twitter:description" content="A personal blog and portfolio."/>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Person",
"name": "Nathan Buache",
"url": "http:\/\/localhost:1313\/",
"jobTitle": "Test Manager",
"description": "Test Manager and QA Specialist based in Lausanne, Switzerland",
"address": {
"@type": "PostalAddress",
"addressLocality": "Lausanne",
"addressCountry": "Switzerland"
},
"sameAs": [
"https://github.com/nthnbch",
"https://www.linkedin.com/in/nathanbuache/"
]
}
</script>
</head>
<body class='page page-home'>
<div id="menu-main-mobile" class="menu-main-mobile">
<ul class="menu">
<li class="menu-item-home">
<a href="http://localhost:1313/">Home</a>
</li>
<li class="menu-item-blog">
<a href="http://localhost:1313/posts/">Blog</a>
</li>
<li class="menu-item-contact">
<a href="http://localhost:1313/pages/contact/">Contact</a>
</li>
</ul>
</div>
<div id="wrapper" class="wrapper">
<div class='header'>
<div class="menu-main">
<ul>
<li class="menu-item-home active">
<a href="/">
<span>Home</span>
</a>
</li>
<li class="menu-item-blog ">
<a href="/posts/">
<span>Blog</span>
</a>
</li>
<li class="menu-item-contact ">
<a href="/pages/contact/">
<span>Contact</span>
</a>
</li>
</ul>
</div>
<div id="toggle-menu-main-mobile" class="hamburger-trigger">
<button class="hamburger">Menu</button>
</div>
</div>
<div class="intro">
<h1>bullshark</h1>
<div class="intro-content"><hr>
<h2 id="welcome">Welcome</h2>
<p>I wont introduce myself here because you can go to &lsquo;About&rsquo; to see that.</p>
<p>This is where I post sometimes informative rants about network engineering, pc building, programming, and other similar things.</p>
<hr>
<h2 id="me">Me</h2>
<h3 id="career">Career</h3>
<p>I am a network engineer and will not disclose specifics. I do a lot of LAN work and network architecture as opposed to the more usual help desk, service deployment,
or network maintenance.</p>
<p>I do intend to switch fields of work and do cloud or network engineering for a different company within the future.</p>
<h3 id="education">Education</h3>
<p>I currently am in college for cloud and network engineering. My current certs include A+, ITIL 4, and LPI 010. However, I have 3 CompTIA certs in my degree and plan on getting
my CCNA, terraforge associate, and AWS SAA-C03.</p>
<h3 id="experience">Experience</h3>
<p>Well obviously Hugo, Caddy, vps management, Linux, git, HTML, CSS, and SSH. That is everything I needed to make this website.</p>
<p>However I do have a large list of skills and softwares, as well as a large base fundamental knowledge of how these tools work. I don&rsquo;t care to list them all as it feels
pointless, however, you can see all of my (recent as of writing this) experiences I thought were notable on the blog page.</p>
<hr>
<h2 id="my-equipment">My equipment</h2>
<h3 id="dell-optiplex-3060">Dell Optiplex 3060</h3>
<p>Specs: Intel I5-8500 | 16GB DDR4 RAM | 250GB NVMe | +4x1GiB NIC</p>
<p>Current purpose: Running OPNsense in a ProxmoxVM. Firewall &amp; router</p>
<h3 id="main-home-server">Main home server</h3>
<p>Specs: Ryzen 9-5900XT | 32GB DDR4 RAM | 2TB NVMe</p>
<p>Current purpose: Hypervisor is Proxmox. Hosts adguard home for DNS a presistent IRC client.</p>
<h3 id="personal-pc">Personal PC</h3>
<p>Specs: Ryzen 9-9800X3D | 64GB DDR5 RAM | 2TB NVMe | RTX 3080</p>
<p>Current purpose: Almost all of my personal computer needs, network management, SSH etc. I have Arch Linux with a lightly customized KDE Plasma &amp; BTRFS file system. I would
usually use ext4 but I tried something new when installing it and it surprisingly is stable so now I&rsquo;m too lazy.</p>
<h3 id="thinkpad-t14s-gen3">Thinkpad T14s gen3</h3>
<p>Specs: Ryzen 7 PRO 6850U | 32GB DDR5 | 512GB NVME | 14&quot; 1920x1200 | Debian 13.6 with Cinnamon DE.</p>
<p>Currnet purpose: My main personal work, travel, and leisure laptop. I&rsquo;ve never had a laptop I cared about, trusted, or valued, and this is finally that. Also it starts into
tty mode as I don&rsquo;t need a DE for a lot of things.</p>
<h3 id="laptop-2">Laptop 2</h3>
<p>Specs: Some 11th gen I7 | 4050 | 16gb DDR4 | 512GB NVMe | Debian 13.6 Cinnamon</p>
<p>Current purpose: Isolated windows laptop because my college requires it sometimes and I don&rsquo;t dual boot or do VMs for windows.</p>
<h3 id="laptop-3">Laptop 3</h3>
<p>Specs: Im not entirely sure, I think 8th gen I5 &amp; 8gb DDR4 ram + 512GB NVMe. Its a dell latitude 7480</p>
<p>Current purpose: Just a burner laptop I reinstall a new OS on every time I find I need a laptop for a specific purpose. Usually for travel because it was cheap and I don&rsquo;t
mind if it gets broken</p>
<hr>
<h2 id="my-ideology">My ideology</h2>
<p>I dislike the amount of politics in software development currently. People hating good things because of the person that made it. I entirely believe you separate the
creation from the creator. That if someone does something bad you don&rsquo;t make it worse by throwing away the good they have done. If you say &ldquo;I don&rsquo;t like X because it was
made by Y&rdquo;, you&rsquo;ve just stated you made your ability to objectively observe something benign in the pursuit of bias.</p></div></div><div class=footer><p class=footer-credit>@bullshark.win maintained by shark</p><div class=footer-social><div class=social-link><a href=https://github.com/bullshar-k title=GitHub target=_blank rel=noopener>GitHub</a></div><div class=social-link><a href=mailto:bullsharkgunsemail@pm.me title=Email target=_blank rel=noopener>Email</a></div><button type=button class="social-link social-copy" data-copy=@bullshar_k:matrix.org title="Copy Matrix to clipboard">
<span class=social-copy-label>Matrix</span></button></div></div><script>(function(){var e=document.querySelectorAll(".social-copy");e.forEach(function(e){e.addEventListener("click",function(){var t,o=e.getAttribute("data-copy"),n=e.querySelector(".social-copy-label, .contact-social-name"),i=n?n.textContent:e.textContent;function s(){n.textContent="Copied!",setTimeout(function(){n.textContent=i},1500)}if(navigator.clipboard&&navigator.clipboard.writeText)navigator.clipboard.writeText(o).then(s).catch(s);else{t=document.createElement("textarea"),t.value=o,document.body.appendChild(t),t.select();try{document.execCommand("copy")}catch{}document.body.removeChild(t),s()}})})})()</script></div><script type=text/javascript src=/js/bundle.min.5993fcb11c07dea925a3fbd58c03c7f1857197c35fccce3aa963a12c0b3c9960.js></script></body></html>
made by Y&rdquo;, you&rsquo;ve just stated you made your ability to objectively observe something benign in the pursuit of bias.</p>
</div>
</div>
<div class="footer">
<p class="footer-credit">@bullshark.win maintained by shark</p>
<div class="footer-social">
<div class="social-link">
<a href="https://github.com/bullshar-k" title="GitHub" target="_blank" rel="noopener">
GitHub
</a>
</div>
<div class="social-link">
<a href="mailto:bullsharkgunsemail@pm.me" title="Email" target="_blank" rel="noopener">
Email
</a>
</div>
<button type="button" class="social-link social-copy" data-copy="@bullshar_k:matrix.org" title="Copy Matrix to clipboard">
<span class="social-copy-label">Matrix</span>
</button>
</div>
</div>
<script>
(function () {
var btns = document.querySelectorAll('.social-copy');
btns.forEach(function (btn) {
btn.addEventListener('click', function () {
var text = btn.getAttribute('data-copy');
var label = btn.querySelector('.social-copy-label, .contact-social-name');
var original = label ? label.textContent : btn.textContent;
function done() {
label.textContent = 'Copied!';
setTimeout(function () { label.textContent = original; }, 1500);
}
if (navigator.clipboard && navigator.clipboard.writeText) {
navigator.clipboard.writeText(text).then(done).catch(done);
} else {
var ta = document.createElement('textarea');
ta.value = text;
document.body.appendChild(ta);
ta.select();
try { document.execCommand('copy'); } catch (e) {}
document.body.removeChild(ta);
done();
}
});
});
})();
</script>
</div>
<script type="text/javascript" src="/js/bundle.js"></script>
</body>
</html>
+101 -193
View File
@@ -1,193 +1,101 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>bullshark on bullshark369.org</title><link>https://bullshark369.org/</link><description>Recent content in bullshark on bullshark369.org</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Wed, 05 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://bullshark369.org/index.xml" rel="self" type="application/rss+xml"/><item><title>About</title><link>https://bullshark369.org/about/</link><pubDate>Wed, 05 Aug 2026 00:00:00 +0000</pubDate><guid>https://bullshark369.org/about/</guid><description>&lt;hr&gt;
&lt;h1 id="me"&gt;Me&lt;/h1&gt;
&lt;h3 id="career"&gt;Career&lt;/h3&gt;
&lt;p&gt;I am a network engineer and will not disclose specifics. I do a lot of LAN work and network architecture as opposed to the more usual help desk, service deployment,
or network maintenance.&lt;/p&gt;
&lt;p&gt;I do intend to switch fields of work and do cloud or network engineering for a different company within the future.&lt;/p&gt;
&lt;h3 id="education"&gt;Education&lt;/h3&gt;
&lt;p&gt;I currently am in college for cloud and network engineering. My current certs include A+, ITIL 4, and LPI 010. However, I have 3 CompTIA certs in my degree and plan on getting
my CCNA, terraforge associate, and AWS SAA-C03.&lt;/p&gt;</description></item><item><title>Contact</title><link>https://bullshark369.org/pages/contact/</link><pubDate>Wed, 05 Aug 2026 00:00:00 +0000</pubDate><guid>https://bullshark369.org/pages/contact/</guid><description>&lt;p&gt;Here is some more of me, incase you are curious.&lt;/p&gt;</description></item><item><title>Hugo &amp; caddy</title><link>https://bullshark369.org/posts/caddy/</link><pubDate>Wed, 05 Aug 2026 00:00:00 +0000</pubDate><guid>https://bullshark369.org/posts/caddy/</guid><description>&lt;h1 id="hugo"&gt;Hugo&lt;/h1&gt;
&lt;p&gt;Don&amp;rsquo;t get me wrong, Hugo is well made and &amp;ldquo;easy to use&amp;rdquo;. However, it is not at all intuitive. Once you know it its amazing, if you don&amp;rsquo;t its terrible.&lt;/p&gt;
&lt;h1 id="caddy"&gt;Caddy&lt;/h1&gt;
&lt;p&gt;Caddy is much more straght forward for simple webserver use than nginx.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Thing&lt;/th&gt;
&lt;th&gt;Place&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Config file&lt;/td&gt;
&lt;td&gt;/etc/caddy/Caddyfile&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Content&lt;/td&gt;
&lt;td&gt;/www/var/web.site/&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SSL&lt;/td&gt;
&lt;td&gt;/etc/caddy/ssl/&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>VPS proxies with wireguard tunnels</title><link>https://bullshark369.org/posts/wireguard/</link><pubDate>Sat, 25 Jul 2026 00:00:00 +0000</pubDate><guid>https://bullshark369.org/posts/wireguard/</guid><description>&lt;h2 id="quick-guide"&gt;Quick guide&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;apt update &amp;amp;&amp;amp; apt upgrade
apt install wireguard-tools git go iptables
git clone https://github.com/bullshar-k/wgconf
cd wgconf
go build main.go
./main -peer 10 -dest server_ip -port 51855
mv server.conf /etc/wireguard
wg-quick up server
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;From there you move the client 1-10 onto the appropriate clients and use wg-quick up on them too.
Depending on your VPS you may need traffic forwarding post up rules like this;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;PostUp = iptables -A FORWARD -i server -j ACCEPT
PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i server -j ACCEPT
PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;em&gt;If it isn&amp;rsquo;t apparent this goes in the &lt;code&gt;[INTERFACE]&lt;/code&gt; section after the interface info before the first &lt;code&gt;[PEER]&lt;/code&gt;
Ensure &lt;code&gt;server&lt;/code&gt; is the name of the .conf file as that will be the name of the interface, and &lt;code&gt;eth0&lt;/code&gt; is the name of your WAN facing NIC interface.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Self hosting monero node</title><link>https://bullshark369.org/posts/monero/</link><pubDate>Fri, 24 Jul 2026 00:00:00 +0000</pubDate><guid>https://bullshark369.org/posts/monero/</guid><description>&lt;hr&gt;
&lt;h2 id="on-server"&gt;On server&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;apt update &amp;amp;&amp;amp; apt update
apt install monero
monerod --datadir ~/.bitmoner --prune-blockchain
// ^ THIS WILL TAKE 2-6 DAYS DEPENDING ON INTERNET SPEED
monerod --rpc-bind-ip=0.0.0.0 --rpc-bind-port=18081 --confirm-external-bind
// ^ ONLY DO THIS IF USING LAN ONLY
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Took long, super easy though.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="on-client"&gt;On client&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo pacman -S monero
// then add to bashRC
alias wallert=&amp;#34;monero-wallet-cli --wallet /wallet/address/path --daemon-address 192.168.1.67:18081 --trusted-daemon&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This way when I type wallert it opens my wallet, and I don&amp;rsquo;t need a lengthy command.&lt;/p&gt;</description></item><item><title>OpenRC vs SystemD</title><link>https://bullshark369.org/posts/benchmark/</link><pubDate>Tue, 21 Jul 2026 00:00:00 +0000</pubDate><guid>https://bullshark369.org/posts/benchmark/</guid><description>&lt;p&gt;Both tests were done separately, not in concurrency, with the same background activity on the host machine. Scores are difference from Arch - Artix. If the number is positive Arch scored higher. Percent diffs are calcualted as follows: 100(|diff|/arch&amp;rsquo;s score)&lt;/p&gt;
&lt;p&gt;Gentoo wiki has an article with the breakdown comparison of these two @&lt;a href="https://wiki.gentoo.org/wiki/Comparison_of_init_systems"&gt;Comparison of init systems&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="environment"&gt;Environment&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Ram&lt;/th&gt;
&lt;th&gt;Swap&lt;/th&gt;
&lt;th&gt;Storage&lt;/th&gt;
&lt;th&gt;Filesys&lt;/th&gt;
&lt;th&gt;DE&lt;/th&gt;
&lt;th&gt;Compiler&lt;/th&gt;
&lt;th&gt;Benchmark&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;16GiB&lt;/td&gt;
&lt;td&gt;None&lt;/td&gt;
&lt;td&gt;50GiB NVMe&lt;/td&gt;
&lt;td&gt;ext4&lt;/td&gt;
&lt;td&gt;none, TTY&lt;/td&gt;
&lt;td&gt;GCC 13.3.0&lt;/td&gt;
&lt;td&gt;FOSSbench&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="results"&gt;Results&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Native integer math&lt;/th&gt;
&lt;th&gt;Wide integer math&lt;/th&gt;
&lt;th&gt;Floating point math&lt;/th&gt;
&lt;th&gt;Prime numbers&lt;/th&gt;
&lt;th&gt;Extended instructions&lt;/th&gt;
&lt;th&gt;Compression&lt;/th&gt;
&lt;th&gt;Encryption&lt;/th&gt;
&lt;th&gt;Physics&lt;/th&gt;
&lt;th&gt;Sorting&lt;/th&gt;
&lt;th&gt;Memory latency&lt;/th&gt;
&lt;th&gt;Memory bandwidth&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;-514.3&lt;/td&gt;
&lt;td&gt;-689.5&lt;/td&gt;
&lt;td&gt;277&lt;/td&gt;
&lt;td&gt;-44.5&lt;/td&gt;
&lt;td&gt;492.2&lt;/td&gt;
&lt;td&gt;2079.9&lt;/td&gt;
&lt;td&gt;213&lt;/td&gt;
&lt;td&gt;78&lt;/td&gt;
&lt;td&gt;224&lt;/td&gt;
&lt;td&gt;-4&lt;/td&gt;
&lt;td&gt;15568.7&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;-0.41%&lt;/td&gt;
&lt;td&gt;-0.59%&lt;/td&gt;
&lt;td&gt;1.34%&lt;/td&gt;
&lt;td&gt;-0.35%&lt;/td&gt;
&lt;td&gt;0.19%&lt;/td&gt;
&lt;td&gt;20.66%&lt;/td&gt;
&lt;td&gt;2.4%&lt;/td&gt;
&lt;td&gt;2.53%&lt;/td&gt;
&lt;td&gt;6.94%&lt;/td&gt;
&lt;td&gt;-5.39%&lt;/td&gt;
&lt;td&gt;9.04%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Adguard home</title><link>https://bullshark369.org/posts/adguard/</link><pubDate>Sun, 28 Jun 2026 00:00:00 +0000</pubDate><guid>https://bullshark369.org/posts/adguard/</guid><description>&lt;hr&gt;
&lt;h2 id="installation-itself"&gt;Installation itself&lt;/h2&gt;
&lt;p&gt;Very easy, good jobs on the devs overall. My upstream is &lt;code&gt;9.9.9.9:853&lt;/code&gt; and I have wireguard running on that VM so it proxies to one of my VPSes in another country.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="mullvad-linux-client-lan-sharing"&gt;Mullvad linux client LAN sharing&lt;/h2&gt;
&lt;p&gt;It does NOT play nice. It does not let you use your own DNS even with lockdown mode off, LAN sharing on, and custom DNS enabled. DNS goes out and it doesn&amp;rsquo;t get it back from adguard because mullvad actually never changes the interfaces DNS to the custom one.
It only changes it to SEND dns queries, not RECEIVE, so you are effectively left WITHOUT DNS unless you set it manually like so.&lt;/p&gt;</description></item><item><title>OPNsense</title><link>https://bullshark369.org/posts/opnsense/</link><pubDate>Fri, 19 Jun 2026 00:00:00 +0000</pubDate><guid>https://bullshark369.org/posts/opnsense/</guid><description>&lt;h2 id="opinion"&gt;Opinion&lt;/h2&gt;
&lt;p&gt;OPNsense is built on FreeBSD which has a broken network stack. The devs are great but I can&amp;rsquo;t recommend it. Use VyOS.
Also, having to configure 11 different areas in a website to set up a wireguard tunnel sucks compared to CLI where you just put &lt;code&gt;wireguard.conf&lt;/code&gt;in &lt;code&gt;/etc/wireguard/&lt;/code&gt; and run &lt;code&gt;wg-quick up wireguard&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Proxmox</title><link>https://bullshark369.org/posts/proxmox/</link><pubDate>Fri, 19 Jun 2026 00:00:00 +0000</pubDate><guid>https://bullshark369.org/posts/proxmox/</guid><description>&lt;h2 id="opinion"&gt;Opinion&lt;/h2&gt;
&lt;p&gt;I run proxmox on two PCs. A dell optiplex and a custom built server focused PC. The Optiplex handles my firewall and the other PC handles DNS and some other services.
Genuinely an amazing free piece of sotware. Much better than ESXi. From the networking, to the UI, to the virtualization, it is a great type 1 hypervisor.&lt;/p&gt;
&lt;h2 id="how-to"&gt;How to&lt;/h2&gt;
&lt;h3 id="flash-proxmox-onto-drive"&gt;Flash proxmox onto drive&lt;/h3&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo wipefs -af /dev/sda
sudo dd if=proxmox.iso of=/dev/sda bs=4M conv=fsync
sync &amp;amp;&amp;amp; sync
sudo eject /dev/sda
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="allow-bios-to-do-things"&gt;Allow BIOS to do things&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Set proxmox USB to top of boot priority&lt;/li&gt;
&lt;li&gt;Turn off secure boot&lt;/li&gt;
&lt;li&gt;Enable KVM &amp;amp; IOMMU&lt;/li&gt;
&lt;li&gt;Enable above 4G decoding&lt;/li&gt;
&lt;li&gt;Disable wait for F1 when errors
This is really annoying, it will wait for you to press F1 if it detects an error, running it headless with no output at all will cause an error, making you have to plug
a keyboard into your server and press F1.&lt;/li&gt;
&lt;li&gt;Disable secure boot or set to &amp;ldquo;other os&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Ensure secure boot allows UEFI USB boot&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="installation"&gt;Installation&lt;/h3&gt;
&lt;p&gt;It will boot, and you literaly just answer your way through the setup prompts. Super easy.&lt;/p&gt;</description></item><item><title>Linux</title><link>https://bullshark369.org/posts/linux/</link><pubDate>Sun, 01 Feb 2026 00:00:00 +0000</pubDate><guid>https://bullshark369.org/posts/linux/</guid><description>&lt;h2 id="preamble"&gt;Preamble&lt;/h2&gt;
&lt;p&gt;I was already familiar with Linux and had used it on this date, however, I had stopped playing Tarkov which had kept me on Windows. So on this date I switched.
I pretty quickly went mint -&amp;gt; cachy -&amp;gt; arch in the course of a week or so.&lt;/p&gt;
&lt;h2 id="tierlist"&gt;Tierlist&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;S&lt;/th&gt;
&lt;th&gt;Arch Alpine&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;A&lt;/td&gt;
&lt;td&gt;Artix NixOS Mint Cachy Debian Fedora&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;B&lt;/td&gt;
&lt;td&gt;Ubuntu Endeavour Gentoo&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;C&lt;/td&gt;
&lt;td&gt;Bazzite CentOS&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;</description></item></channel></rss>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>bullshark on bullshark369.org</title>
<link>http://localhost:1313/</link>
<description>Recent content in bullshark on bullshark369.org</description>
<generator>Hugo</generator>
<language>en-us</language>
<lastBuildDate>Sat, 08 Aug 2026 00:00:00 +0000</lastBuildDate>
<atom:link href="http://localhost:1313/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Trying to install Windows</title>
<link>http://localhost:1313/posts/windows/</link>
<pubDate>Sat, 08 Aug 2026 00:00:00 +0000</pubDate>
<guid>http://localhost:1313/posts/windows/</guid>
<description>&lt;h3 id=&#34;installing-windows-from-linux&#34;&gt;Installing windows from Linux&lt;/h3&gt;&#xA;&lt;p&gt;I attempted to install Windows on a new 512GB NVMe I bought so I can put Windows on it to play Tarkov.&#xA;Big mistake.&lt;/p&gt;&#xA;&lt;p&gt;See it wants this driver to be able to sense the storage. The driver is the RAID or SATA driver from the manufactureres website. It has to be on the same drive as the installation media but if you dd the windows ISO onto the flash drive its read only. Using ventoy didn&amp;rsquo;t help either. The driver just didn&amp;rsquo;t work.&lt;/p&gt;</description>
</item>
<item>
<title>About</title>
<link>http://localhost:1313/about/</link>
<pubDate>Wed, 05 Aug 2026 00:00:00 +0000</pubDate>
<guid>http://localhost:1313/about/</guid>
<description>&lt;hr&gt;&#xA;&lt;h1 id=&#34;me&#34;&gt;Me&lt;/h1&gt;&#xA;&lt;h3 id=&#34;career&#34;&gt;Career&lt;/h3&gt;&#xA;&lt;p&gt;I am a network engineer and will not disclose specifics. I do a lot of LAN work and network architecture as opposed to the more usual help desk, service deployment,&#xA;or network maintenance.&lt;/p&gt;&#xA;&lt;p&gt;I do intend to switch fields of work and do cloud or network engineering for a different company within the future.&lt;/p&gt;&#xA;&lt;h3 id=&#34;education&#34;&gt;Education&lt;/h3&gt;&#xA;&lt;p&gt;I currently am in college for cloud and network engineering. My current certs include A+, ITIL 4, and LPI 010. However, I have 3 CompTIA certs in my degree and plan on getting&#xA;my CCNA, terraforge associate, and AWS SAA-C03.&lt;/p&gt;</description>
</item>
<item>
<title>Contact</title>
<link>http://localhost:1313/pages/contact/</link>
<pubDate>Wed, 05 Aug 2026 00:00:00 +0000</pubDate>
<guid>http://localhost:1313/pages/contact/</guid>
<description>&lt;p&gt;Here is some more of me, incase you are curious.&lt;/p&gt;</description>
</item>
<item>
<title>Hugo &amp; caddy</title>
<link>http://localhost:1313/posts/caddy/</link>
<pubDate>Wed, 05 Aug 2026 00:00:00 +0000</pubDate>
<guid>http://localhost:1313/posts/caddy/</guid>
<description>&lt;h1 id=&#34;hugo&#34;&gt;Hugo&lt;/h1&gt;&#xA;&lt;p&gt;Don&amp;rsquo;t get me wrong, Hugo is well made and &amp;ldquo;easy to use&amp;rdquo;. However, it is not at all intuitive. Once you know it its amazing, if you don&amp;rsquo;t its terrible.&lt;/p&gt;&#xA;&lt;h1 id=&#34;caddy&#34;&gt;Caddy&lt;/h1&gt;&#xA;&lt;p&gt;Caddy is much more straght forward for simple webserver use than nginx.&lt;/p&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Thing&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Place&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Config file&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;/etc/caddy/Caddyfile&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Content&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;/www/var/web.site/&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;SSL&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;/etc/caddy/ssl/&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;</description>
</item>
<item>
<title>Slow VPS due to bad luck w BGP</title>
<link>http://localhost:1313/posts/bgp/</link>
<pubDate>Mon, 03 Aug 2026 00:00:00 +0000</pubDate>
<guid>http://localhost:1313/posts/bgp/</guid>
<description>&lt;h3 id=&#34;the-vps&#34;&gt;The VPS&lt;/h3&gt;&#xA;&lt;p&gt;The VPS itself was a 10GB/s VPS with enough hardware to handle most of that throughput on a wireguard tunnel. The iperf3 test I ran outisde of the tunnel would show ~70-100mb of download. The YABS from VPS to multiple clearnet WAN test points would show correct speeds. My conclusion is it was probably bad luck with the BGP routing, one of the hops is probably just incredibly slow or dated equipment. Take this as a lesson that if you are going to subscribe to remote networking equipment to get 1 month first and test its performance against advertised or promised performance, then purchase the rest of the subscription time.&lt;/p&gt;</description>
</item>
<item>
<title>VPS proxies with wireguard tunnels</title>
<link>http://localhost:1313/posts/wireguard/</link>
<pubDate>Sat, 25 Jul 2026 00:00:00 +0000</pubDate>
<guid>http://localhost:1313/posts/wireguard/</guid>
<description>&lt;h2 id=&#34;quick-guide&#34;&gt;Quick guide&lt;/h2&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;apt update &amp;amp;&amp;amp; apt upgrade&#xA;apt install wireguard-tools git go iptables&#xA;git clone https://github.com/bullshar-k/wgconf&#xA;cd wgconf&#xA;go build main.go&#xA;./main -peer 10 -dest server_ip -port 51855&#xA;mv server.conf /etc/wireguard&#xA;wg-quick up server&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;From there you move the client 1-10 onto the appropriate clients and use wg-quick up on them too.&#xA;Depending on your VPS you may need traffic forwarding post up rules like this;&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;PostUp = iptables -A FORWARD -i server -j ACCEPT&#xA;PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE&#xA;PostDown = iptables -D FORWARD -i server -j ACCEPT&#xA;PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;em&gt;If it isn&amp;rsquo;t apparent this goes in the &lt;code&gt;[INTERFACE]&lt;/code&gt; section after the interface info before the first &lt;code&gt;[PEER]&lt;/code&gt;&#xA;Ensure &lt;code&gt;server&lt;/code&gt; is the name of the .conf file as that will be the name of the interface, and &lt;code&gt;eth0&lt;/code&gt; is the name of your WAN facing NIC interface.&lt;/em&gt;&lt;/p&gt;</description>
</item>
<item>
<title>Self hosting monero node</title>
<link>http://localhost:1313/posts/monero/</link>
<pubDate>Fri, 24 Jul 2026 00:00:00 +0000</pubDate>
<guid>http://localhost:1313/posts/monero/</guid>
<description>&lt;hr&gt;&#xA;&lt;h2 id=&#34;on-server&#34;&gt;On server&lt;/h2&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;apt update &amp;amp;&amp;amp; apt update&#xA;apt install monero&#xA;monerod --datadir ~/.bitmoner --prune-blockchain&#xA;// ^ THIS WILL TAKE 2-6 DAYS DEPENDING ON INTERNET SPEED&#xA;monerod --rpc-bind-ip=0.0.0.0 --rpc-bind-port=18081 --confirm-external-bind&#xA;// ^ ONLY DO THIS IF USING LAN ONLY&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Took long, super easy though.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;on-client&#34;&gt;On client&lt;/h2&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo pacman -S monero&#xA;// then add to bashRC&#xA;alias wallert=&amp;#34;monero-wallet-cli --wallet /wallet/address/path --daemon-address 192.168.1.67:18081 --trusted-daemon&amp;#34;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This way when I type wallert it opens my wallet, and I don&amp;rsquo;t need a lengthy command.&lt;/p&gt;</description>
</item>
<item>
<title>OpenRC vs SystemD</title>
<link>http://localhost:1313/posts/benchmark/</link>
<pubDate>Tue, 21 Jul 2026 00:00:00 +0000</pubDate>
<guid>http://localhost:1313/posts/benchmark/</guid>
<description>&lt;p&gt;Both tests were done separately, not in concurrency, with the same background activity on the host machine. Scores are difference from Arch - Artix. If the number is positive Arch scored higher. Percent diffs are calcualted as follows: 100(|diff|/arch&amp;rsquo;s score)&lt;/p&gt;&#xA;&lt;p&gt;Gentoo wiki has an article with the breakdown comparison of these two @&lt;a href=&#34;https://wiki.gentoo.org/wiki/Comparison_of_init_systems&#34;&gt;Comparison of init systems&lt;/a&gt;&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;environment&#34;&gt;Environment&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Ram&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Swap&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Storage&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Filesys&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;DE&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Compiler&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Benchmark&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;16GiB&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;None&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;50GiB NVMe&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;ext4&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;none, TTY&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;GCC 13.3.0&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;FOSSbench&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;results&#34;&gt;Results&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Native integer math&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Wide integer math&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Floating point math&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Prime numbers&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Extended instructions&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Compression&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Encryption&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Physics&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Sorting&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Memory latency&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Memory bandwidth&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;-514.3&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;-689.5&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;277&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;-44.5&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;492.2&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;2079.9&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;213&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;78&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;224&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;-4&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;15568.7&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;-0.41%&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;-0.59%&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;1.34%&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;-0.35%&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;0.19%&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;20.66%&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;2.4%&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;2.53%&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;6.94%&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;-5.39%&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;9.04%&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;</description>
</item>
<item>
<title>Adguard home</title>
<link>http://localhost:1313/posts/adguard/</link>
<pubDate>Sun, 28 Jun 2026 00:00:00 +0000</pubDate>
<guid>http://localhost:1313/posts/adguard/</guid>
<description>&lt;hr&gt;&#xA;&lt;h2 id=&#34;installation-itself&#34;&gt;Installation itself&lt;/h2&gt;&#xA;&lt;p&gt;Very easy, good jobs on the devs overall. My upstream is &lt;code&gt;9.9.9.9:853&lt;/code&gt; and I have wireguard running on that VM so it proxies to one of my VPSes in another country.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;mullvad-linux-client-lan-sharing&#34;&gt;Mullvad linux client LAN sharing&lt;/h2&gt;&#xA;&lt;p&gt;It does NOT play nice. It does not let you use your own DNS even with lockdown mode off, LAN sharing on, and custom DNS enabled. DNS goes out and it doesn&amp;rsquo;t get it back from adguard because mullvad actually never changes the interfaces DNS to the custom one.&#xA;It only changes it to SEND dns queries, not RECEIVE, so you are effectively left WITHOUT DNS unless you set it manually like so.&lt;/p&gt;</description>
</item>
<item>
<title>OPNsense</title>
<link>http://localhost:1313/posts/opnsense/</link>
<pubDate>Fri, 19 Jun 2026 00:00:00 +0000</pubDate>
<guid>http://localhost:1313/posts/opnsense/</guid>
<description>&lt;h2 id=&#34;opinion&#34;&gt;Opinion&lt;/h2&gt;&#xA;&lt;p&gt;OPNsense is built on FreeBSD which has a broken network stack. The devs are great but I can&amp;rsquo;t recommend it. Use VyOS.&#xA;Also, having to configure 11 different areas in a website to set up a wireguard tunnel sucks compared to CLI where you just put &lt;code&gt;wireguard.conf&lt;/code&gt;in &lt;code&gt;/etc/wireguard/&lt;/code&gt; and run &lt;code&gt;wg-quick up wireguard&lt;/code&gt;.&lt;/p&gt;</description>
</item>
<item>
<title>Proxmox</title>
<link>http://localhost:1313/posts/proxmox/</link>
<pubDate>Fri, 19 Jun 2026 00:00:00 +0000</pubDate>
<guid>http://localhost:1313/posts/proxmox/</guid>
<description>&lt;h2 id=&#34;opinion&#34;&gt;Opinion&lt;/h2&gt;&#xA;&lt;p&gt;I run proxmox on two PCs. A dell optiplex and a custom built server focused PC. The Optiplex handles my firewall and the other PC handles DNS and some other services.&#xA;Genuinely an amazing free piece of sotware. Much better than ESXi. From the networking, to the UI, to the virtualization, it is a great type 1 hypervisor.&lt;/p&gt;&#xA;&lt;h2 id=&#34;how-to&#34;&gt;How to&lt;/h2&gt;&#xA;&lt;h3 id=&#34;flash-proxmox-onto-drive&#34;&gt;Flash proxmox onto drive&lt;/h3&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo wipefs -af /dev/sda&#xA;sudo dd if=proxmox.iso of=/dev/sda bs=4M conv=fsync&#xA;sync &amp;amp;&amp;amp; sync&#xA;sudo eject /dev/sda&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;allow-bios-to-do-things&#34;&gt;Allow BIOS to do things&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Set proxmox USB to top of boot priority&lt;/li&gt;&#xA;&lt;li&gt;Turn off secure boot&lt;/li&gt;&#xA;&lt;li&gt;Enable KVM &amp;amp; IOMMU&lt;/li&gt;&#xA;&lt;li&gt;Enable above 4G decoding&lt;/li&gt;&#xA;&lt;li&gt;Disable wait for F1 when errors&#xA;This is really annoying, it will wait for you to press F1 if it detects an error, running it headless with no output at all will cause an error, making you have to plug&#xA;a keyboard into your server and press F1.&lt;/li&gt;&#xA;&lt;li&gt;Disable secure boot or set to &amp;ldquo;other os&amp;rdquo;&lt;/li&gt;&#xA;&lt;li&gt;Ensure secure boot allows UEFI USB boot&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;installation&#34;&gt;Installation&lt;/h3&gt;&#xA;&lt;p&gt;It will boot, and you literaly just answer your way through the setup prompts. Super easy.&lt;/p&gt;</description>
</item>
<item>
<title>Linux</title>
<link>http://localhost:1313/posts/linux/</link>
<pubDate>Sun, 01 Feb 2026 00:00:00 +0000</pubDate>
<guid>http://localhost:1313/posts/linux/</guid>
<description>&lt;h2 id=&#34;preamble&#34;&gt;Preamble&lt;/h2&gt;&#xA;&lt;p&gt;I was already familiar with Linux and had used it on this date, however, I had stopped playing Tarkov which had kept me on Windows. So on this date I switched.&#xA;I pretty quickly went mint -&amp;gt; cachy -&amp;gt; arch in the course of a week or so.&lt;/p&gt;&#xA;&lt;h2 id=&#34;tierlist&#34;&gt;Tierlist&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;S&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Arch Alpine&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;A&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Artix NixOS Mint Cachy Debian Fedora&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;B&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Ubuntu Endeavour Gentoo&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;C&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Bazzite CentOS&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;</description>
</item>
</channel>
</rss>
+220 -7
View File
@@ -1,8 +1,221 @@
<!doctype html><html lang=en><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><title>Contact - bullshark369.org</title><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=https://bullshark369.org/favicon.png><link rel=canonical href=https://bullshark369.org/pages/contact/><link rel=stylesheet href=/css/style.min.1c18def2aed6b057aa439fbec51b1d6f55f2d2d8073fe48390bceb467a226be6.css><link rel=stylesheet href=/assets/css/extended.min.64eff6070754dbd5f137b9a69ee5d178af8882fb423ebae458728838b1518560.css><meta name=description content="Get in touch"><meta name=keywords content="Nathan Buache,Test Manager,QA,Quality Assurance,Lausanne,Switzerland,Web Testing,Software Testing,QoQa"><meta property="og:title" content="Contact - bullshark369.org"><meta property="og:type" content="website"><meta property="og:url" content="https://bullshark369.org/pages/contact/"><meta property="og:site_name" content="bullshark369.org"><meta property="og:description" content="Get in touch"><meta name=twitter:card content="summary_large_image"><meta name=twitter:title content="Contact"><meta name=twitter:description content="Get in touch"></head><body class=page><div id=menu-main-mobile class=menu-main-mobile><ul class=menu><li class=menu-item-home><a href=https://bullshark369.org/>Home</a></li><li class=menu-item-blog><a href=https://bullshark369.org/posts/>Blog</a></li><li class=menu-item-contact><a href=https://bullshark369.org/pages/contact/>Contact</a></li></ul></div><div id=wrapper class=wrapper><div class=header><div class=menu-main><ul><li class=menu-item-home><a href=/><span>Home</span></a></li><li class=menu-item-blog><a href=/posts/><span>Blog</span></a></li><li class="menu-item-contact active"><a href=/pages/contact/><span>Contact</span></a></li></ul></div><div id=toggle-menu-main-mobile class=hamburger-trigger><button class=hamburger>Menu</button></div></div><div class=contact-page><h1 class=contact-title>Contact</h1><div class=contact-intro><p>Here is some more of me, incase you are curious.</p></div><div class=contact-social><a class=contact-social-item href=https://github.com/bullshar-k target=_blank rel=noopener><span class=contact-social-name>GitHub</span>
<span class=contact-social-desc>Incase you are curious</span>
</a><a class=contact-social-item href=mailto:bullsharkgunsemail@pm.me target=_blank rel=noopener><span class=contact-social-name>Email</span>
<span class=contact-social-desc>Get in touch directly</span>
</a><button type=button class="contact-social-item social-copy" data-copy=@bullshar_k:matrix.org>
<!DOCTYPE html>
<html lang="en">
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>Contact - bullshark369.org</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" href="http://localhost:1313/favicon.png">
<link rel="canonical" href="http://localhost:1313/pages/contact/" />
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/assets/css/extended.css">
<meta name="description" content="Get in touch"/>
<meta name="keywords" content="Nathan Buache, Test Manager, QA, Quality Assurance, Lausanne, Switzerland, Web Testing, Software Testing, QoQa"/>
<meta property="og:title" content="Contact - bullshark369.org"/>
<meta property="og:type" content="website"/>
<meta property="og:url" content="http://localhost:1313/pages/contact/"/>
<meta property="og:site_name" content="bullshark369.org"/>
<meta property="og:description" content="Get in touch"/>
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:title" content="Contact"/>
<meta name="twitter:description" content="Get in touch"/>
</head>
<body class='page '>
<div id="menu-main-mobile" class="menu-main-mobile">
<ul class="menu">
<li class="menu-item-home">
<a href="http://localhost:1313/">Home</a>
</li>
<li class="menu-item-blog">
<a href="http://localhost:1313/posts/">Blog</a>
</li>
<li class="menu-item-contact">
<a href="http://localhost:1313/pages/contact/">Contact</a>
</li>
</ul>
</div>
<div id="wrapper" class="wrapper">
<div class='header'>
<div class="menu-main">
<ul>
<li class="menu-item-home ">
<a href="/">
<span>Home</span>
</a>
</li>
<li class="menu-item-blog ">
<a href="/posts/">
<span>Blog</span>
</a>
</li>
<li class="menu-item-contact active">
<a href="/pages/contact/">
<span>Contact</span>
</a>
</li>
</ul>
</div>
<div id="toggle-menu-main-mobile" class="hamburger-trigger">
<button class="hamburger">Menu</button>
</div>
</div>
<div class="contact-page">
<h1 class="contact-title">Contact</h1>
<div class="contact-intro"><p>Here is some more of me, incase you are curious.</p>
</div>
<div class="contact-social">
<a class="contact-social-item" href="https://github.com/bullshar-k" target="_blank" rel="noopener">
<span class="contact-social-name">GitHub</span>
<span class="contact-social-desc">Incase you are curious</span>
</a>
<a class="contact-social-item" href="mailto:bullsharkgunsemail@pm.me" target="_blank" rel="noopener">
<span class="contact-social-name">Email</span>
<span class="contact-social-desc">Get in touch directly</span>
</a>
<button type="button" class="contact-social-item social-copy" data-copy="@bullshar_k:matrix.org">
<span class="contact-social-name social-copy-label">Matrix</span>
<span class=contact-social-desc>Primary form of contact</span></button></div></div><div class=footer><p class=footer-credit>@bullshark.win maintained by shark</p><div class=footer-social><div class=social-link><a href=https://github.com/bullshar-k title=GitHub target=_blank rel=noopener>GitHub</a></div><div class=social-link><a href=mailto:bullsharkgunsemail@pm.me title=Email target=_blank rel=noopener>Email</a></div><button type=button class="social-link social-copy" data-copy=@bullshar_k:matrix.org title="Copy Matrix to clipboard">
<span class=social-copy-label>Matrix</span></button></div></div><script>(function(){var e=document.querySelectorAll(".social-copy");e.forEach(function(e){e.addEventListener("click",function(){var t,o=e.getAttribute("data-copy"),n=e.querySelector(".social-copy-label, .contact-social-name"),i=n?n.textContent:e.textContent;function s(){n.textContent="Copied!",setTimeout(function(){n.textContent=i},1500)}if(navigator.clipboard&&navigator.clipboard.writeText)navigator.clipboard.writeText(o).then(s).catch(s);else{t=document.createElement("textarea"),t.value=o,document.body.appendChild(t),t.select();try{document.execCommand("copy")}catch{}document.body.removeChild(t),s()}})})})()</script></div><script type=text/javascript src=/js/bundle.min.5993fcb11c07dea925a3fbd58c03c7f1857197c35fccce3aa963a12c0b3c9960.js></script></body></html>
<span class="contact-social-desc">Primary form of contact</span>
</button>
</div>
</div>
<div class="footer">
<p class="footer-credit">@bullshark.win maintained by shark</p>
<div class="footer-social">
<div class="social-link">
<a href="https://github.com/bullshar-k" title="GitHub" target="_blank" rel="noopener">
GitHub
</a>
</div>
<div class="social-link">
<a href="mailto:bullsharkgunsemail@pm.me" title="Email" target="_blank" rel="noopener">
Email
</a>
</div>
<button type="button" class="social-link social-copy" data-copy="@bullshar_k:matrix.org" title="Copy Matrix to clipboard">
<span class="social-copy-label">Matrix</span>
</button>
</div>
</div>
<script>
(function () {
var btns = document.querySelectorAll('.social-copy');
btns.forEach(function (btn) {
btn.addEventListener('click', function () {
var text = btn.getAttribute('data-copy');
var label = btn.querySelector('.social-copy-label, .contact-social-name');
var original = label ? label.textContent : btn.textContent;
function done() {
label.textContent = 'Copied!';
setTimeout(function () { label.textContent = original; }, 1500);
}
if (navigator.clipboard && navigator.clipboard.writeText) {
navigator.clipboard.writeText(text).then(done).catch(done);
} else {
var ta = document.createElement('textarea');
ta.value = text;
document.body.appendChild(ta);
ta.select();
try { document.execCommand('copy'); } catch (e) {}
document.body.removeChild(ta);
done();
}
});
});
})();
</script>
</div>
<script type="text/javascript" src="/js/bundle.js"></script>
</body>
</html>
+198 -2
View File
@@ -1,2 +1,198 @@
<!doctype html><html lang=en><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><title>Pages - bullshark369.org</title><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=https://bullshark369.org/favicon.png><link rel=canonical href=https://bullshark369.org/pages/><link rel=stylesheet href=/css/style.min.1c18def2aed6b057aa439fbec51b1d6f55f2d2d8073fe48390bceb467a226be6.css><link rel=stylesheet href=/assets/css/extended.min.64eff6070754dbd5f137b9a69ee5d178af8882fb423ebae458728838b1518560.css><meta name=keywords content="Nathan Buache,Test Manager,QA,Quality Assurance,Lausanne,Switzerland,Web Testing,Software Testing,QoQa"><meta property="og:title" content="Pages - bullshark369.org"><meta property="og:type" content="website"><meta property="og:url" content="https://bullshark369.org/pages/"><meta property="og:site_name" content="bullshark369.org"><meta property="og:description" content="Test Manager based in Lausanne, Switzerland. QA specialist sharing insights on testing, technology, and quality assurance."><meta name=twitter:card content="summary_large_image"><meta name=twitter:title content="Pages"></head><body class='page page-default-list'><div id=menu-main-mobile class=menu-main-mobile><ul class=menu><li class=menu-item-home><a href=https://bullshark369.org/>Home</a></li><li class=menu-item-blog><a href=https://bullshark369.org/posts/>Blog</a></li><li class=menu-item-contact><a href=https://bullshark369.org/pages/contact/>Contact</a></li></ul></div><div id=wrapper class=wrapper><div class=header><div class=menu-main><ul><li class=menu-item-home><a href=/><span>Home</span></a></li><li class=menu-item-blog><a href=/posts/><span>Blog</span></a></li><li class=menu-item-contact><a href=/pages/contact/><span>Contact</span></a></li></ul></div><div id=toggle-menu-main-mobile class=hamburger-trigger><button class=hamburger>Menu</button></div></div><div class=intro><h1>Pages</h1></div><div class=summary><div class=summary-date>Aug 5, 2026</div><h2 class=summary-title><a href=/pages/contact/>Contact</a></h2><p class=summary-description>Get in touch</p></div><div class=footer><p class=footer-credit>@bullshark.win maintained by shark</p><div class=footer-social><div class=social-link><a href=https://github.com/bullshar-k title=GitHub target=_blank rel=noopener>GitHub</a></div><div class=social-link><a href=mailto:bullsharkgunsemail@pm.me title=Email target=_blank rel=noopener>Email</a></div><button type=button class="social-link social-copy" data-copy=@bullshar_k:matrix.org title="Copy Matrix to clipboard">
<span class=social-copy-label>Matrix</span></button></div></div><script>(function(){var e=document.querySelectorAll(".social-copy");e.forEach(function(e){e.addEventListener("click",function(){var t,o=e.getAttribute("data-copy"),n=e.querySelector(".social-copy-label, .contact-social-name"),i=n?n.textContent:e.textContent;function s(){n.textContent="Copied!",setTimeout(function(){n.textContent=i},1500)}if(navigator.clipboard&&navigator.clipboard.writeText)navigator.clipboard.writeText(o).then(s).catch(s);else{t=document.createElement("textarea"),t.value=o,document.body.appendChild(t),t.select();try{document.execCommand("copy")}catch{}document.body.removeChild(t),s()}})})})()</script></div><script type=text/javascript src=/js/bundle.min.5993fcb11c07dea925a3fbd58c03c7f1857197c35fccce3aa963a12c0b3c9960.js></script></body></html>
<!DOCTYPE html>
<html lang="en">
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>Pages - bullshark369.org</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" href="http://localhost:1313/favicon.png">
<link rel="canonical" href="http://localhost:1313/pages/" />
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/assets/css/extended.css">
<meta name="keywords" content="Nathan Buache, Test Manager, QA, Quality Assurance, Lausanne, Switzerland, Web Testing, Software Testing, QoQa"/>
<meta property="og:title" content="Pages - bullshark369.org"/>
<meta property="og:type" content="website"/>
<meta property="og:url" content="http://localhost:1313/pages/"/>
<meta property="og:site_name" content="bullshark369.org"/>
<meta property="og:description" content="Test Manager based in Lausanne, Switzerland. QA specialist sharing insights on testing, technology, and quality assurance."/>
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:title" content="Pages"/>
</head>
<body class='page page-default-list'>
<div id="menu-main-mobile" class="menu-main-mobile">
<ul class="menu">
<li class="menu-item-home">
<a href="http://localhost:1313/">Home</a>
</li>
<li class="menu-item-blog">
<a href="http://localhost:1313/posts/">Blog</a>
</li>
<li class="menu-item-contact">
<a href="http://localhost:1313/pages/contact/">Contact</a>
</li>
</ul>
</div>
<div id="wrapper" class="wrapper">
<div class='header'>
<div class="menu-main">
<ul>
<li class="menu-item-home ">
<a href="/">
<span>Home</span>
</a>
</li>
<li class="menu-item-blog ">
<a href="/posts/">
<span>Blog</span>
</a>
</li>
<li class="menu-item-contact ">
<a href="/pages/contact/">
<span>Contact</span>
</a>
</li>
</ul>
</div>
<div id="toggle-menu-main-mobile" class="hamburger-trigger">
<button class="hamburger">Menu</button>
</div>
</div>
<div class="intro">
<h1>Pages</h1>
</div>
<div class="summary">
<div class="summary-date">Aug 5, 2026</div>
<h2 class="summary-title"><a href="/pages/contact/">Contact</a></h2>
<p class="summary-description">Get in touch</p>
</div>
<div class="footer">
<p class="footer-credit">@bullshark.win maintained by shark</p>
<div class="footer-social">
<div class="social-link">
<a href="https://github.com/bullshar-k" title="GitHub" target="_blank" rel="noopener">
GitHub
</a>
</div>
<div class="social-link">
<a href="mailto:bullsharkgunsemail@pm.me" title="Email" target="_blank" rel="noopener">
Email
</a>
</div>
<button type="button" class="social-link social-copy" data-copy="@bullshar_k:matrix.org" title="Copy Matrix to clipboard">
<span class="social-copy-label">Matrix</span>
</button>
</div>
</div>
<script>
(function () {
var btns = document.querySelectorAll('.social-copy');
btns.forEach(function (btn) {
btn.addEventListener('click', function () {
var text = btn.getAttribute('data-copy');
var label = btn.querySelector('.social-copy-label, .contact-social-name');
var original = label ? label.textContent : btn.textContent;
function done() {
label.textContent = 'Copied!';
setTimeout(function () { label.textContent = original; }, 1500);
}
if (navigator.clipboard && navigator.clipboard.writeText) {
navigator.clipboard.writeText(text).then(done).catch(done);
} else {
var ta = document.createElement('textarea');
ta.value = text;
document.body.appendChild(ta);
ta.select();
try { document.execCommand('copy'); } catch (e) {}
document.body.removeChild(ta);
done();
}
});
});
})();
</script>
</div>
<script type="text/javascript" src="/js/bundle.js"></script>
</body>
</html>
+24 -1
View File
@@ -1 +1,24 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Pages on bullshark369.org</title><link>https://bullshark369.org/pages/</link><description>Recent content in Pages on bullshark369.org</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Wed, 05 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://bullshark369.org/pages/index.xml" rel="self" type="application/rss+xml"/><item><title>Contact</title><link>https://bullshark369.org/pages/contact/</link><pubDate>Wed, 05 Aug 2026 00:00:00 +0000</pubDate><guid>https://bullshark369.org/pages/contact/</guid><description>&lt;p&gt;Here is some more of me, incase you are curious.&lt;/p&gt;</description></item></channel></rss>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Pages on bullshark369.org</title>
<link>http://localhost:1313/pages/</link>
<description>Recent content in Pages on bullshark369.org</description>
<generator>Hugo</generator>
<language>en-us</language>
<lastBuildDate>Wed, 05 Aug 2026 00:00:00 +0000</lastBuildDate>
<atom:link href="http://localhost:1313/pages/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Contact</title>
<link>http://localhost:1313/pages/contact/</link>
<pubDate>Wed, 05 Aug 2026 00:00:00 +0000</pubDate>
<guid>http://localhost:1313/pages/contact/</guid>
<description>&lt;p&gt;Here is some more of me, incase you are curious.&lt;/p&gt;</description>
</item>
</channel>
</rss>
+203 -4
View File
@@ -1,5 +1,204 @@
<!doctype html><html lang=en><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><title>Adguard home - bullshark369.org</title><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=https://bullshark369.org/favicon.png><link rel=canonical href=https://bullshark369.org/posts/adguard/><link rel=stylesheet href=/css/style.min.1c18def2aed6b057aa439fbec51b1d6f55f2d2d8073fe48390bceb467a226be6.css><link rel=stylesheet href=/assets/css/extended.min.64eff6070754dbd5f137b9a69ee5d178af8882fb423ebae458728838b1518560.css><meta name=description content="Setting up adguard home, and mostly my issues with LAN sharing on Mullvad"><meta name=keywords content="Nathan Buache,Test Manager,QA,Quality Assurance,Lausanne,Switzerland,Web Testing,Software Testing,QoQa"><meta property="og:title" content="Adguard home - bullshark369.org"><meta property="og:type" content="website"><meta property="og:url" content="https://bullshark369.org/posts/adguard/"><meta property="og:site_name" content="bullshark369.org"><meta property="og:description" content="Setting up adguard home, and mostly my issues with LAN sharing on Mullvad"><meta name=twitter:card content="summary_large_image"><meta name=twitter:title content="Adguard home"><meta name=twitter:description content="Setting up adguard home, and mostly my issues with LAN sharing on Mullvad"></head><body class='page page-blog-single'><div id=menu-main-mobile class=menu-main-mobile><ul class=menu><li class=menu-item-home><a href=https://bullshark369.org/>Home</a></li><li class=menu-item-blog><a href=https://bullshark369.org/posts/>Blog</a></li><li class=menu-item-contact><a href=https://bullshark369.org/pages/contact/>Contact</a></li></ul></div><div id=wrapper class=wrapper><div class=header><div class=menu-main><ul><li class=menu-item-home><a href=/><span>Home</span></a></li><li class=menu-item-blog><a href=/posts/><span>Blog</span></a></li><li class=menu-item-contact><a href=/pages/contact/><span>Contact</span></a></li></ul></div><div id=toggle-menu-main-mobile class=hamburger-trigger><button class=hamburger>Menu</button></div></div><div class=blog><div class=intro><h1>Adguard home</h1></div><div class=content><hr><h2 id=installation-itself>Installation itself</h2><p>Very easy, good jobs on the devs overall. My upstream is <code>9.9.9.9:853</code> and I have wireguard running on that VM so it proxies to one of my VPSes in another country.</p><hr><h2 id=mullvad-linux-client-lan-sharing>Mullvad linux client LAN sharing</h2><p>It does NOT play nice. It does not let you use your own DNS even with lockdown mode off, LAN sharing on, and custom DNS enabled. DNS goes out and it doesn&rsquo;t get it back from adguard because mullvad actually never changes the interfaces DNS to the custom one.
It only changes it to SEND dns queries, not RECEIVE, so you are effectively left WITHOUT DNS unless you set it manually like so.</p><pre tabindex=0><code>sudo resolvectl dns eno1 192.168.1.50
<!DOCTYPE html>
<html lang="en">
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>Adguard home - bullshark369.org</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" href="http://localhost:1313/favicon.png">
<link rel="canonical" href="http://localhost:1313/posts/adguard/" />
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/assets/css/extended.css">
<meta name="description" content="Setting up adguard home, and mostly my issues with LAN sharing on Mullvad"/>
<meta name="keywords" content="Nathan Buache, Test Manager, QA, Quality Assurance, Lausanne, Switzerland, Web Testing, Software Testing, QoQa"/>
<meta property="og:title" content="Adguard home - bullshark369.org"/>
<meta property="og:type" content="website"/>
<meta property="og:url" content="http://localhost:1313/posts/adguard/"/>
<meta property="og:site_name" content="bullshark369.org"/>
<meta property="og:description" content="Setting up adguard home, and mostly my issues with LAN sharing on Mullvad"/>
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:title" content="Adguard home"/>
<meta name="twitter:description" content="Setting up adguard home, and mostly my issues with LAN sharing on Mullvad"/>
</head>
<body class='page page-blog-single'>
<div id="menu-main-mobile" class="menu-main-mobile">
<ul class="menu">
<li class="menu-item-home">
<a href="http://localhost:1313/">Home</a>
</li>
<li class="menu-item-blog">
<a href="http://localhost:1313/posts/">Blog</a>
</li>
<li class="menu-item-contact">
<a href="http://localhost:1313/pages/contact/">Contact</a>
</li>
</ul>
</div>
<div id="wrapper" class="wrapper">
<div class='header'>
<div class="menu-main">
<ul>
<li class="menu-item-home ">
<a href="/">
<span>Home</span>
</a>
</li>
<li class="menu-item-blog ">
<a href="/posts/">
<span>Blog</span>
</a>
</li>
<li class="menu-item-contact ">
<a href="/pages/contact/">
<span>Contact</span>
</a>
</li>
</ul>
</div>
<div id="toggle-menu-main-mobile" class="hamburger-trigger">
<button class="hamburger">Menu</button>
</div>
</div>
<div class="blog">
<div class="intro">
<h1>Adguard home</h1>
</div>
<div class="content">
<hr>
<h2 id="installation-itself">Installation itself</h2>
<p>Very easy, good jobs on the devs overall. My upstream is <code>9.9.9.9:853</code> and I have wireguard running on that VM so it proxies to one of my VPSes in another country.</p>
<hr>
<h2 id="mullvad-linux-client-lan-sharing">Mullvad linux client LAN sharing</h2>
<p>It does NOT play nice. It does not let you use your own DNS even with lockdown mode off, LAN sharing on, and custom DNS enabled. DNS goes out and it doesn&rsquo;t get it back from adguard because mullvad actually never changes the interfaces DNS to the custom one.
It only changes it to SEND dns queries, not RECEIVE, so you are effectively left WITHOUT DNS unless you set it manually like so.</p>
<pre tabindex="0"><code>sudo resolvectl dns eno1 192.168.1.50
sudo resolvectl domain eno1 &#34;~.&#34;
</code></pre></div></div><div class=footer><p class=footer-credit>@bullshark.win maintained by shark</p><div class=footer-social><div class=social-link><a href=https://github.com/bullshar-k title=GitHub target=_blank rel=noopener>GitHub</a></div><div class=social-link><a href=mailto:bullsharkgunsemail@pm.me title=Email target=_blank rel=noopener>Email</a></div><button type=button class="social-link social-copy" data-copy=@bullshar_k:matrix.org title="Copy Matrix to clipboard">
<span class=social-copy-label>Matrix</span></button></div></div><script>(function(){var e=document.querySelectorAll(".social-copy");e.forEach(function(e){e.addEventListener("click",function(){var t,o=e.getAttribute("data-copy"),n=e.querySelector(".social-copy-label, .contact-social-name"),i=n?n.textContent:e.textContent;function s(){n.textContent="Copied!",setTimeout(function(){n.textContent=i},1500)}if(navigator.clipboard&&navigator.clipboard.writeText)navigator.clipboard.writeText(o).then(s).catch(s);else{t=document.createElement("textarea"),t.value=o,document.body.appendChild(t),t.select();try{document.execCommand("copy")}catch{}document.body.removeChild(t),s()}})})})()</script></div><script type=text/javascript src=/js/bundle.min.5993fcb11c07dea925a3fbd58c03c7f1857197c35fccce3aa963a12c0b3c9960.js></script></body></html>
</code></pre>
</div>
</div>
<div class="footer">
<p class="footer-credit">@bullshark.win maintained by shark</p>
<div class="footer-social">
<div class="social-link">
<a href="https://github.com/bullshar-k" title="GitHub" target="_blank" rel="noopener">
GitHub
</a>
</div>
<div class="social-link">
<a href="mailto:bullsharkgunsemail@pm.me" title="Email" target="_blank" rel="noopener">
Email
</a>
</div>
<button type="button" class="social-link social-copy" data-copy="@bullshar_k:matrix.org" title="Copy Matrix to clipboard">
<span class="social-copy-label">Matrix</span>
</button>
</div>
</div>
<script>
(function () {
var btns = document.querySelectorAll('.social-copy');
btns.forEach(function (btn) {
btn.addEventListener('click', function () {
var text = btn.getAttribute('data-copy');
var label = btn.querySelector('.social-copy-label, .contact-social-name');
var original = label ? label.textContent : btn.textContent;
function done() {
label.textContent = 'Copied!';
setTimeout(function () { label.textContent = original; }, 1500);
}
if (navigator.clipboard && navigator.clipboard.writeText) {
navigator.clipboard.writeText(text).then(done).catch(done);
} else {
var ta = document.createElement('textarea');
ta.value = text;
document.body.appendChild(ta);
ta.select();
try { document.execCommand('copy'); } catch (e) {}
document.body.removeChild(ta);
done();
}
});
});
})();
</script>
</div>
<script type="text/javascript" src="/js/bundle.js"></script>
</body>
</html>
+270 -2
View File
@@ -1,2 +1,270 @@
<!doctype html><html lang=en><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><title>OpenRC vs SystemD - bullshark369.org</title><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=https://bullshark369.org/favicon.png><link rel=canonical href=https://bullshark369.org/posts/benchmark/><link rel=stylesheet href=/css/style.min.1c18def2aed6b057aa439fbec51b1d6f55f2d2d8073fe48390bceb467a226be6.css><link rel=stylesheet href=/assets/css/extended.min.64eff6070754dbd5f137b9a69ee5d178af8882fb423ebae458728838b1518560.css><meta name=description content="A likely slightly innacurate benchmark of OpenRC vs SystemD in CPU math operations"><meta name=keywords content="Nathan Buache,Test Manager,QA,Quality Assurance,Lausanne,Switzerland,Web Testing,Software Testing,QoQa"><meta property="og:title" content="OpenRC vs SystemD - bullshark369.org"><meta property="og:type" content="website"><meta property="og:url" content="https://bullshark369.org/posts/benchmark/"><meta property="og:site_name" content="bullshark369.org"><meta property="og:description" content="A likely slightly innacurate benchmark of OpenRC vs SystemD in CPU math operations"><meta name=twitter:card content="summary_large_image"><meta name=twitter:title content="OpenRC vs SystemD"><meta name=twitter:description content="A likely slightly innacurate benchmark of OpenRC vs SystemD in CPU math operations"></head><body class='page page-blog-single'><div id=menu-main-mobile class=menu-main-mobile><ul class=menu><li class=menu-item-home><a href=https://bullshark369.org/>Home</a></li><li class=menu-item-blog><a href=https://bullshark369.org/posts/>Blog</a></li><li class=menu-item-contact><a href=https://bullshark369.org/pages/contact/>Contact</a></li></ul></div><div id=wrapper class=wrapper><div class=header><div class=menu-main><ul><li class=menu-item-home><a href=/><span>Home</span></a></li><li class=menu-item-blog><a href=/posts/><span>Blog</span></a></li><li class=menu-item-contact><a href=/pages/contact/><span>Contact</span></a></li></ul></div><div id=toggle-menu-main-mobile class=hamburger-trigger><button class=hamburger>Menu</button></div></div><div class=blog><div class=intro><h1>OpenRC vs SystemD</h1></div><div class=content><p>Both tests were done separately, not in concurrency, with the same background activity on the host machine. Scores are difference from Arch - Artix. If the number is positive Arch scored higher. Percent diffs are calcualted as follows: 100(|diff|/arch&rsquo;s score)</p><p>Gentoo wiki has an article with the breakdown comparison of these two @<a href=https://wiki.gentoo.org/wiki/Comparison_of_init_systems>Comparison of init systems</a></p><hr><h2 id=environment>Environment</h2><table><thead><tr><th>Ram</th><th>Swap</th><th>Storage</th><th>Filesys</th><th>DE</th><th>Compiler</th><th>Benchmark</th></tr></thead><tbody><tr><td>16GiB</td><td>None</td><td>50GiB NVMe</td><td>ext4</td><td>none, TTY</td><td>GCC 13.3.0</td><td>FOSSbench</td></tr></tbody></table><hr><h2 id=results>Results</h2><table><thead><tr><th>Native integer math</th><th>Wide integer math</th><th>Floating point math</th><th>Prime numbers</th><th>Extended instructions</th><th>Compression</th><th>Encryption</th><th>Physics</th><th>Sorting</th><th>Memory latency</th><th>Memory bandwidth</th></tr></thead><tbody><tr><td>-514.3</td><td>-689.5</td><td>277</td><td>-44.5</td><td>492.2</td><td>2079.9</td><td>213</td><td>78</td><td>224</td><td>-4</td><td>15568.7</td></tr><tr><td>-0.41%</td><td>-0.59%</td><td>1.34%</td><td>-0.35%</td><td>0.19%</td><td>20.66%</td><td>2.4%</td><td>2.53%</td><td>6.94%</td><td>-5.39%</td><td>9.04%</td></tr></tbody></table></div></div><div class=footer><p class=footer-credit>@bullshark.win maintained by shark</p><div class=footer-social><div class=social-link><a href=https://github.com/bullshar-k title=GitHub target=_blank rel=noopener>GitHub</a></div><div class=social-link><a href=mailto:bullsharkgunsemail@pm.me title=Email target=_blank rel=noopener>Email</a></div><button type=button class="social-link social-copy" data-copy=@bullshar_k:matrix.org title="Copy Matrix to clipboard">
<span class=social-copy-label>Matrix</span></button></div></div><script>(function(){var e=document.querySelectorAll(".social-copy");e.forEach(function(e){e.addEventListener("click",function(){var t,o=e.getAttribute("data-copy"),n=e.querySelector(".social-copy-label, .contact-social-name"),i=n?n.textContent:e.textContent;function s(){n.textContent="Copied!",setTimeout(function(){n.textContent=i},1500)}if(navigator.clipboard&&navigator.clipboard.writeText)navigator.clipboard.writeText(o).then(s).catch(s);else{t=document.createElement("textarea"),t.value=o,document.body.appendChild(t),t.select();try{document.execCommand("copy")}catch{}document.body.removeChild(t),s()}})})})()</script></div><script type=text/javascript src=/js/bundle.min.5993fcb11c07dea925a3fbd58c03c7f1857197c35fccce3aa963a12c0b3c9960.js></script></body></html>
<!DOCTYPE html>
<html lang="en">
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>OpenRC vs SystemD - bullshark369.org</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" href="http://localhost:1313/favicon.png">
<link rel="canonical" href="http://localhost:1313/posts/benchmark/" />
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/assets/css/extended.css">
<meta name="description" content="A likely slightly innacurate benchmark of OpenRC vs SystemD in CPU math operations"/>
<meta name="keywords" content="Nathan Buache, Test Manager, QA, Quality Assurance, Lausanne, Switzerland, Web Testing, Software Testing, QoQa"/>
<meta property="og:title" content="OpenRC vs SystemD - bullshark369.org"/>
<meta property="og:type" content="website"/>
<meta property="og:url" content="http://localhost:1313/posts/benchmark/"/>
<meta property="og:site_name" content="bullshark369.org"/>
<meta property="og:description" content="A likely slightly innacurate benchmark of OpenRC vs SystemD in CPU math operations"/>
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:title" content="OpenRC vs SystemD"/>
<meta name="twitter:description" content="A likely slightly innacurate benchmark of OpenRC vs SystemD in CPU math operations"/>
</head>
<body class='page page-blog-single'>
<div id="menu-main-mobile" class="menu-main-mobile">
<ul class="menu">
<li class="menu-item-home">
<a href="http://localhost:1313/">Home</a>
</li>
<li class="menu-item-blog">
<a href="http://localhost:1313/posts/">Blog</a>
</li>
<li class="menu-item-contact">
<a href="http://localhost:1313/pages/contact/">Contact</a>
</li>
</ul>
</div>
<div id="wrapper" class="wrapper">
<div class='header'>
<div class="menu-main">
<ul>
<li class="menu-item-home ">
<a href="/">
<span>Home</span>
</a>
</li>
<li class="menu-item-blog ">
<a href="/posts/">
<span>Blog</span>
</a>
</li>
<li class="menu-item-contact ">
<a href="/pages/contact/">
<span>Contact</span>
</a>
</li>
</ul>
</div>
<div id="toggle-menu-main-mobile" class="hamburger-trigger">
<button class="hamburger">Menu</button>
</div>
</div>
<div class="blog">
<div class="intro">
<h1>OpenRC vs SystemD</h1>
</div>
<div class="content">
<p>Both tests were done separately, not in concurrency, with the same background activity on the host machine. Scores are difference from Arch - Artix. If the number is positive Arch scored higher. Percent diffs are calcualted as follows: 100(|diff|/arch&rsquo;s score)</p>
<p>Gentoo wiki has an article with the breakdown comparison of these two @<a href="https://wiki.gentoo.org/wiki/Comparison_of_init_systems">Comparison of init systems</a></p>
<hr>
<h2 id="environment">Environment</h2>
<table>
<thead>
<tr>
<th>Ram</th>
<th>Swap</th>
<th>Storage</th>
<th>Filesys</th>
<th>DE</th>
<th>Compiler</th>
<th>Benchmark</th>
</tr>
</thead>
<tbody>
<tr>
<td>16GiB</td>
<td>None</td>
<td>50GiB NVMe</td>
<td>ext4</td>
<td>none, TTY</td>
<td>GCC 13.3.0</td>
<td>FOSSbench</td>
</tr>
</tbody>
</table>
<hr>
<h2 id="results">Results</h2>
<table>
<thead>
<tr>
<th>Native integer math</th>
<th>Wide integer math</th>
<th>Floating point math</th>
<th>Prime numbers</th>
<th>Extended instructions</th>
<th>Compression</th>
<th>Encryption</th>
<th>Physics</th>
<th>Sorting</th>
<th>Memory latency</th>
<th>Memory bandwidth</th>
</tr>
</thead>
<tbody>
<tr>
<td>-514.3</td>
<td>-689.5</td>
<td>277</td>
<td>-44.5</td>
<td>492.2</td>
<td>2079.9</td>
<td>213</td>
<td>78</td>
<td>224</td>
<td>-4</td>
<td>15568.7</td>
</tr>
<tr>
<td>-0.41%</td>
<td>-0.59%</td>
<td>1.34%</td>
<td>-0.35%</td>
<td>0.19%</td>
<td>20.66%</td>
<td>2.4%</td>
<td>2.53%</td>
<td>6.94%</td>
<td>-5.39%</td>
<td>9.04%</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="footer">
<p class="footer-credit">@bullshark.win maintained by shark</p>
<div class="footer-social">
<div class="social-link">
<a href="https://github.com/bullshar-k" title="GitHub" target="_blank" rel="noopener">
GitHub
</a>
</div>
<div class="social-link">
<a href="mailto:bullsharkgunsemail@pm.me" title="Email" target="_blank" rel="noopener">
Email
</a>
</div>
<button type="button" class="social-link social-copy" data-copy="@bullshar_k:matrix.org" title="Copy Matrix to clipboard">
<span class="social-copy-label">Matrix</span>
</button>
</div>
</div>
<script>
(function () {
var btns = document.querySelectorAll('.social-copy');
btns.forEach(function (btn) {
btn.addEventListener('click', function () {
var text = btn.getAttribute('data-copy');
var label = btn.querySelector('.social-copy-label, .contact-social-name');
var original = label ? label.textContent : btn.textContent;
function done() {
label.textContent = 'Copied!';
setTimeout(function () { label.textContent = original; }, 1500);
}
if (navigator.clipboard && navigator.clipboard.writeText) {
navigator.clipboard.writeText(text).then(done).catch(done);
} else {
var ta = document.createElement('textarea');
ta.value = text;
document.body.appendChild(ta);
ta.select();
try { document.execCommand('copy'); } catch (e) {}
document.body.removeChild(ta);
done();
}
});
});
})();
</script>
</div>
<script type="text/javascript" src="/js/bundle.js"></script>
</body>
</html>
+233
View File
@@ -0,0 +1,233 @@
<!DOCTYPE html>
<html lang="en">
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>Slow VPS due to bad luck w BGP - bullshark369.org</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" href="http://localhost:1313/favicon.png">
<link rel="canonical" href="http://localhost:1313/posts/bgp/" />
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/assets/css/extended.css">
<meta name="description" content="I bought a VPS to use as a proxy and its speeds were far slower than expected or seen on the YABS."/>
<meta name="keywords" content="Nathan Buache, Test Manager, QA, Quality Assurance, Lausanne, Switzerland, Web Testing, Software Testing, QoQa"/>
<meta property="og:title" content="Slow VPS due to bad luck w BGP - bullshark369.org"/>
<meta property="og:type" content="website"/>
<meta property="og:url" content="http://localhost:1313/posts/bgp/"/>
<meta property="og:site_name" content="bullshark369.org"/>
<meta property="og:description" content="I bought a VPS to use as a proxy and its speeds were far slower than expected or seen on the YABS."/>
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:title" content="Slow VPS due to bad luck w BGP"/>
<meta name="twitter:description" content="I bought a VPS to use as a proxy and its speeds were far slower than expected or seen on the YABS."/>
</head>
<body class='page page-blog-single'>
<div id="menu-main-mobile" class="menu-main-mobile">
<ul class="menu">
<li class="menu-item-home">
<a href="http://localhost:1313/">Home</a>
</li>
<li class="menu-item-blog">
<a href="http://localhost:1313/posts/">Blog</a>
</li>
<li class="menu-item-contact">
<a href="http://localhost:1313/pages/contact/">Contact</a>
</li>
</ul>
</div>
<div id="wrapper" class="wrapper">
<div class='header'>
<div class="menu-main">
<ul>
<li class="menu-item-home ">
<a href="/">
<span>Home</span>
</a>
</li>
<li class="menu-item-blog ">
<a href="/posts/">
<span>Blog</span>
</a>
</li>
<li class="menu-item-contact ">
<a href="/pages/contact/">
<span>Contact</span>
</a>
</li>
</ul>
</div>
<div id="toggle-menu-main-mobile" class="hamburger-trigger">
<button class="hamburger">Menu</button>
</div>
</div>
<div class="blog">
<div class="intro">
<h1>Slow VPS due to bad luck w BGP</h1>
</div>
<div class="content">
<h3 id="the-vps">The VPS</h3>
<p>The VPS itself was a 10GB/s VPS with enough hardware to handle most of that throughput on a wireguard tunnel. The iperf3 test I ran outisde of the tunnel would show ~70-100mb of download. The YABS from VPS to multiple clearnet WAN test points would show correct speeds. My conclusion is it was probably bad luck with the BGP routing, one of the hops is probably just incredibly slow or dated equipment. Take this as a lesson that if you are going to subscribe to remote networking equipment to get 1 month first and test its performance against advertised or promised performance, then purchase the rest of the subscription time.</p>
<h3 id="data">Data</h3>
<p>Iperf3 without the tunnel averages to 14.6 Mbits/sec. As for the yabs;</p>
<table>
<thead>
<tr>
<th>Location</th>
<th>Speed (Gbits/sec)</th>
</tr>
</thead>
<tbody>
<tr>
<td>UK</td>
<td>1.56</td>
</tr>
<tr>
<td>Amsterdam</td>
<td>5.21</td>
</tr>
<tr>
<td>Tashkent, UZ</td>
<td>2.62</td>
</tr>
<tr>
<td>Singapore</td>
<td>1.67</td>
</tr>
<tr>
<td>Los Angeles</td>
<td>6.92</td>
</tr>
<tr>
<td>NYC NY</td>
<td>7.44</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="footer">
<p class="footer-credit">@bullshark.win maintained by shark</p>
<div class="footer-social">
<div class="social-link">
<a href="https://github.com/bullshar-k" title="GitHub" target="_blank" rel="noopener">
GitHub
</a>
</div>
<div class="social-link">
<a href="mailto:bullsharkgunsemail@pm.me" title="Email" target="_blank" rel="noopener">
Email
</a>
</div>
<button type="button" class="social-link social-copy" data-copy="@bullshar_k:matrix.org" title="Copy Matrix to clipboard">
<span class="social-copy-label">Matrix</span>
</button>
</div>
</div>
<script>
(function () {
var btns = document.querySelectorAll('.social-copy');
btns.forEach(function (btn) {
btn.addEventListener('click', function () {
var text = btn.getAttribute('data-copy');
var label = btn.querySelector('.social-copy-label, .contact-social-name');
var original = label ? label.textContent : btn.textContent;
function done() {
label.textContent = 'Copied!';
setTimeout(function () { label.textContent = original; }, 1500);
}
if (navigator.clipboard && navigator.clipboard.writeText) {
navigator.clipboard.writeText(text).then(done).catch(done);
} else {
var ta = document.createElement('textarea');
ta.value = text;
document.body.appendChild(ta);
ta.select();
try { document.execCommand('copy'); } catch (e) {}
document.body.removeChild(ta);
done();
}
});
});
})();
</script>
</div>
<script type="text/javascript" src="/js/bundle.js"></script>
</body>
</html>
+221 -2
View File
@@ -1,2 +1,221 @@
<!doctype html><html lang=en><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><title>Hugo & caddy - bullshark369.org</title><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=https://bullshark369.org/favicon.png><link rel=canonical href=https://bullshark369.org/posts/caddy/><link rel=stylesheet href=/css/style.min.1c18def2aed6b057aa439fbec51b1d6f55f2d2d8073fe48390bceb467a226be6.css><link rel=stylesheet href=/assets/css/extended.min.64eff6070754dbd5f137b9a69ee5d178af8882fb423ebae458728838b1518560.css><meta name=description content="Migrating bullshark369.org from nginx w/ static HTML to caddy with hugo made pages"><meta name=keywords content="Nathan Buache,Test Manager,QA,Quality Assurance,Lausanne,Switzerland,Web Testing,Software Testing,QoQa"><meta property="og:title" content="Hugo & caddy - bullshark369.org"><meta property="og:type" content="website"><meta property="og:url" content="https://bullshark369.org/posts/caddy/"><meta property="og:site_name" content="bullshark369.org"><meta property="og:description" content="Migrating bullshark369.org from nginx w/ static HTML to caddy with hugo made pages"><meta name=twitter:card content="summary_large_image"><meta name=twitter:title content="Hugo & caddy"><meta name=twitter:description content="Migrating bullshark369.org from nginx w/ static HTML to caddy with hugo made pages"></head><body class='page page-blog-single'><div id=menu-main-mobile class=menu-main-mobile><ul class=menu><li class=menu-item-home><a href=https://bullshark369.org/>Home</a></li><li class=menu-item-blog><a href=https://bullshark369.org/posts/>Blog</a></li><li class=menu-item-contact><a href=https://bullshark369.org/pages/contact/>Contact</a></li></ul></div><div id=wrapper class=wrapper><div class=header><div class=menu-main><ul><li class=menu-item-home><a href=/><span>Home</span></a></li><li class=menu-item-blog><a href=/posts/><span>Blog</span></a></li><li class=menu-item-contact><a href=/pages/contact/><span>Contact</span></a></li></ul></div><div id=toggle-menu-main-mobile class=hamburger-trigger><button class=hamburger>Menu</button></div></div><div class=blog><div class=intro><h1>Hugo & caddy</h1></div><div class=content><h1 id=hugo>Hugo</h1><p>Don&rsquo;t get me wrong, Hugo is well made and &ldquo;easy to use&rdquo;. However, it is not at all intuitive. Once you know it its amazing, if you don&rsquo;t its terrible.</p><h1 id=caddy>Caddy</h1><p>Caddy is much more straght forward for simple webserver use than nginx.</p><table><thead><tr><th>Thing</th><th>Place</th></tr></thead><tbody><tr><td>Config file</td><td>/etc/caddy/Caddyfile</td></tr><tr><td>Content</td><td>/www/var/web.site/</td></tr><tr><td>SSL</td><td>/etc/caddy/ssl/</td></tr></tbody></table></div></div><div class=footer><p class=footer-credit>@bullshark.win maintained by shark</p><div class=footer-social><div class=social-link><a href=https://github.com/bullshar-k title=GitHub target=_blank rel=noopener>GitHub</a></div><div class=social-link><a href=mailto:bullsharkgunsemail@pm.me title=Email target=_blank rel=noopener>Email</a></div><button type=button class="social-link social-copy" data-copy=@bullshar_k:matrix.org title="Copy Matrix to clipboard">
<span class=social-copy-label>Matrix</span></button></div></div><script>(function(){var e=document.querySelectorAll(".social-copy");e.forEach(function(e){e.addEventListener("click",function(){var t,o=e.getAttribute("data-copy"),n=e.querySelector(".social-copy-label, .contact-social-name"),i=n?n.textContent:e.textContent;function s(){n.textContent="Copied!",setTimeout(function(){n.textContent=i},1500)}if(navigator.clipboard&&navigator.clipboard.writeText)navigator.clipboard.writeText(o).then(s).catch(s);else{t=document.createElement("textarea"),t.value=o,document.body.appendChild(t),t.select();try{document.execCommand("copy")}catch{}document.body.removeChild(t),s()}})})})()</script></div><script type=text/javascript src=/js/bundle.min.5993fcb11c07dea925a3fbd58c03c7f1857197c35fccce3aa963a12c0b3c9960.js></script></body></html>
<!DOCTYPE html>
<html lang="en">
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>Hugo &amp; caddy - bullshark369.org</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" href="http://localhost:1313/favicon.png">
<link rel="canonical" href="http://localhost:1313/posts/caddy/" />
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/assets/css/extended.css">
<meta name="description" content="Migrating bullshark369.org from nginx w/ static HTML to caddy with hugo made pages"/>
<meta name="keywords" content="Nathan Buache, Test Manager, QA, Quality Assurance, Lausanne, Switzerland, Web Testing, Software Testing, QoQa"/>
<meta property="og:title" content="Hugo &amp; caddy - bullshark369.org"/>
<meta property="og:type" content="website"/>
<meta property="og:url" content="http://localhost:1313/posts/caddy/"/>
<meta property="og:site_name" content="bullshark369.org"/>
<meta property="og:description" content="Migrating bullshark369.org from nginx w/ static HTML to caddy with hugo made pages"/>
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:title" content="Hugo &amp; caddy"/>
<meta name="twitter:description" content="Migrating bullshark369.org from nginx w/ static HTML to caddy with hugo made pages"/>
</head>
<body class='page page-blog-single'>
<div id="menu-main-mobile" class="menu-main-mobile">
<ul class="menu">
<li class="menu-item-home">
<a href="http://localhost:1313/">Home</a>
</li>
<li class="menu-item-blog">
<a href="http://localhost:1313/posts/">Blog</a>
</li>
<li class="menu-item-contact">
<a href="http://localhost:1313/pages/contact/">Contact</a>
</li>
</ul>
</div>
<div id="wrapper" class="wrapper">
<div class='header'>
<div class="menu-main">
<ul>
<li class="menu-item-home ">
<a href="/">
<span>Home</span>
</a>
</li>
<li class="menu-item-blog ">
<a href="/posts/">
<span>Blog</span>
</a>
</li>
<li class="menu-item-contact ">
<a href="/pages/contact/">
<span>Contact</span>
</a>
</li>
</ul>
</div>
<div id="toggle-menu-main-mobile" class="hamburger-trigger">
<button class="hamburger">Menu</button>
</div>
</div>
<div class="blog">
<div class="intro">
<h1>Hugo &amp; caddy</h1>
</div>
<div class="content">
<h1 id="hugo">Hugo</h1>
<p>Don&rsquo;t get me wrong, Hugo is well made and &ldquo;easy to use&rdquo;. However, it is not at all intuitive. Once you know it its amazing, if you don&rsquo;t its terrible.</p>
<h1 id="caddy">Caddy</h1>
<p>Caddy is much more straght forward for simple webserver use than nginx.</p>
<table>
<thead>
<tr>
<th>Thing</th>
<th>Place</th>
</tr>
</thead>
<tbody>
<tr>
<td>Config file</td>
<td>/etc/caddy/Caddyfile</td>
</tr>
<tr>
<td>Content</td>
<td>/www/var/web.site/</td>
</tr>
<tr>
<td>SSL</td>
<td>/etc/caddy/ssl/</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="footer">
<p class="footer-credit">@bullshark.win maintained by shark</p>
<div class="footer-social">
<div class="social-link">
<a href="https://github.com/bullshar-k" title="GitHub" target="_blank" rel="noopener">
GitHub
</a>
</div>
<div class="social-link">
<a href="mailto:bullsharkgunsemail@pm.me" title="Email" target="_blank" rel="noopener">
Email
</a>
</div>
<button type="button" class="social-link social-copy" data-copy="@bullshar_k:matrix.org" title="Copy Matrix to clipboard">
<span class="social-copy-label">Matrix</span>
</button>
</div>
</div>
<script>
(function () {
var btns = document.querySelectorAll('.social-copy');
btns.forEach(function (btn) {
btn.addEventListener('click', function () {
var text = btn.getAttribute('data-copy');
var label = btn.querySelector('.social-copy-label, .contact-social-name');
var original = label ? label.textContent : btn.textContent;
function done() {
label.textContent = 'Copied!';
setTimeout(function () { label.textContent = original; }, 1500);
}
if (navigator.clipboard && navigator.clipboard.writeText) {
navigator.clipboard.writeText(text).then(done).catch(done);
} else {
var ta = document.createElement('textarea');
ta.value = text;
document.body.appendChild(ta);
ta.select();
try { document.execCommand('copy'); } catch (e) {}
document.body.removeChild(ta);
done();
}
});
});
})();
</script>
</div>
<script type="text/javascript" src="/js/bundle.js"></script>
</body>
</html>
+255 -2
View File
@@ -1,2 +1,255 @@
<!doctype html><html lang=en><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><title>Blog - bullshark369.org</title><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=https://bullshark369.org/favicon.png><link rel=canonical href=https://bullshark369.org/posts/><link rel=stylesheet href=/css/style.min.1c18def2aed6b057aa439fbec51b1d6f55f2d2d8073fe48390bceb467a226be6.css><link rel=stylesheet href=/assets/css/extended.min.64eff6070754dbd5f137b9a69ee5d178af8882fb423ebae458728838b1518560.css><meta name=description content="The afformentioned sometimes informative rants."><meta name=keywords content="Nathan Buache,Test Manager,QA,Quality Assurance,Lausanne,Switzerland,Web Testing,Software Testing,QoQa"><meta property="og:title" content="Blog - bullshark369.org"><meta property="og:type" content="website"><meta property="og:url" content="https://bullshark369.org/posts/"><meta property="og:site_name" content="bullshark369.org"><meta property="og:description" content="The afformentioned sometimes informative rants."><meta name=twitter:card content="summary_large_image"><meta name=twitter:title content="Blog"><meta name=twitter:description content="The afformentioned sometimes informative rants."></head><body class='page page-blog-list'><div id=menu-main-mobile class=menu-main-mobile><ul class=menu><li class=menu-item-home><a href=https://bullshark369.org/>Home</a></li><li class=menu-item-blog><a href=https://bullshark369.org/posts/>Blog</a></li><li class=menu-item-contact><a href=https://bullshark369.org/pages/contact/>Contact</a></li></ul></div><div id=wrapper class=wrapper><div class=header><div class=menu-main><ul><li class=menu-item-home><a href=/><span>Home</span></a></li><li class="menu-item-blog active"><a href=/posts/><span>Blog</span></a></li><li class=menu-item-contact><a href=/pages/contact/><span>Contact</span></a></li></ul></div><div id=toggle-menu-main-mobile class=hamburger-trigger><button class=hamburger>Menu</button></div></div><div class=intro><h1>Blog</h1><p>The afformentioned sometimes informative rants.</p></div><hr><p>All posts, newest first, bias included.</p><div class=summary><div class=summary-date>Aug 5, 2026</div><h2 class=summary-title><a href=/posts/caddy/>Hugo & caddy</a></h2><p class=summary-description>Migrating bullshark369.org from nginx w/ static HTML to caddy with hugo made pages</p></div><div class=summary><div class=summary-date>Jul 25, 2026</div><h2 class=summary-title><a href=/posts/wireguard/>VPS proxies with wireguard tunnels</a></h2><p class=summary-description>The most private VPN is your own</p></div><div class=summary><div class=summary-date>Jul 24, 2026</div><h2 class=summary-title><a href=/posts/monero/>Self hosting monero node</a></h2><p class=summary-description>Straightforward process with little fluff</p></div><div class=summary><div class=summary-date>Jul 21, 2026</div><h2 class=summary-title><a href=/posts/benchmark/>OpenRC vs SystemD</a></h2><p class=summary-description>A likely slightly innacurate benchmark of OpenRC vs SystemD in CPU math operations</p></div><div class=summary><div class=summary-date>Jun 28, 2026</div><h2 class=summary-title><a href=/posts/adguard/>Adguard home</a></h2><p class=summary-description>Setting up adguard home, and mostly my issues with LAN sharing on Mullvad</p></div><div class=summary><div class=summary-date>Jun 19, 2026</div><h2 class=summary-title><a href=/posts/opnsense/>OPNsense</a></h2><p class=summary-description>Small rant</p></div><div class=summary><div class=summary-date>Jun 19, 2026</div><h2 class=summary-title><a href=/posts/proxmox/>Proxmox</a></h2><p class=summary-description>My great experience with proxmox on 2 different servers</p></div><div class=summary><div class=summary-date>Feb 1, 2026</div><h2 class=summary-title><a href=/posts/linux/>Linux</a></h2><p class=summary-description>My initial experience with Linux</p></div><div class=footer><p class=footer-credit>@bullshark.win maintained by shark</p><div class=footer-social><div class=social-link><a href=https://github.com/bullshar-k title=GitHub target=_blank rel=noopener>GitHub</a></div><div class=social-link><a href=mailto:bullsharkgunsemail@pm.me title=Email target=_blank rel=noopener>Email</a></div><button type=button class="social-link social-copy" data-copy=@bullshar_k:matrix.org title="Copy Matrix to clipboard">
<span class=social-copy-label>Matrix</span></button></div></div><script>(function(){var e=document.querySelectorAll(".social-copy");e.forEach(function(e){e.addEventListener("click",function(){var t,o=e.getAttribute("data-copy"),n=e.querySelector(".social-copy-label, .contact-social-name"),i=n?n.textContent:e.textContent;function s(){n.textContent="Copied!",setTimeout(function(){n.textContent=i},1500)}if(navigator.clipboard&&navigator.clipboard.writeText)navigator.clipboard.writeText(o).then(s).catch(s);else{t=document.createElement("textarea"),t.value=o,document.body.appendChild(t),t.select();try{document.execCommand("copy")}catch{}document.body.removeChild(t),s()}})})})()</script></div><script type=text/javascript src=/js/bundle.min.5993fcb11c07dea925a3fbd58c03c7f1857197c35fccce3aa963a12c0b3c9960.js></script></body></html>
<!DOCTYPE html>
<html lang="en">
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>Blog - bullshark369.org</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" href="http://localhost:1313/favicon.png">
<link rel="canonical" href="http://localhost:1313/posts/" />
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/assets/css/extended.css">
<meta name="description" content="The afformentioned sometimes informative rants."/>
<meta name="keywords" content="Nathan Buache, Test Manager, QA, Quality Assurance, Lausanne, Switzerland, Web Testing, Software Testing, QoQa"/>
<meta property="og:title" content="Blog - bullshark369.org"/>
<meta property="og:type" content="website"/>
<meta property="og:url" content="http://localhost:1313/posts/"/>
<meta property="og:site_name" content="bullshark369.org"/>
<meta property="og:description" content="The afformentioned sometimes informative rants."/>
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:title" content="Blog"/>
<meta name="twitter:description" content="The afformentioned sometimes informative rants."/>
</head>
<body class='page page-blog-list'>
<div id="menu-main-mobile" class="menu-main-mobile">
<ul class="menu">
<li class="menu-item-home">
<a href="http://localhost:1313/">Home</a>
</li>
<li class="menu-item-blog">
<a href="http://localhost:1313/posts/">Blog</a>
</li>
<li class="menu-item-contact">
<a href="http://localhost:1313/pages/contact/">Contact</a>
</li>
</ul>
</div>
<div id="wrapper" class="wrapper">
<div class='header'>
<div class="menu-main">
<ul>
<li class="menu-item-home ">
<a href="/">
<span>Home</span>
</a>
</li>
<li class="menu-item-blog active">
<a href="/posts/">
<span>Blog</span>
</a>
</li>
<li class="menu-item-contact ">
<a href="/pages/contact/">
<span>Contact</span>
</a>
</li>
</ul>
</div>
<div id="toggle-menu-main-mobile" class="hamburger-trigger">
<button class="hamburger">Menu</button>
</div>
</div>
<div class="intro">
<h1>Blog</h1>
<p>The afformentioned sometimes informative rants.</p>
</div>
<hr>
<p>All posts, newest first, bias included.</p>
<div class="summary">
<div class="summary-date">Aug 8, 2026</div>
<h2 class="summary-title"><a href="/posts/windows/">Trying to install Windows</a></h2>
<p class="summary-description">Trying and failing to install Windows</p>
</div>
<div class="summary">
<div class="summary-date">Aug 5, 2026</div>
<h2 class="summary-title"><a href="/posts/caddy/">Hugo &amp; caddy</a></h2>
<p class="summary-description">Migrating bullshark369.org from nginx w/ static HTML to caddy with hugo made pages</p>
</div>
<div class="summary">
<div class="summary-date">Aug 3, 2026</div>
<h2 class="summary-title"><a href="/posts/bgp/">Slow VPS due to bad luck w BGP</a></h2>
<p class="summary-description">I bought a VPS to use as a proxy and its speeds were far slower than expected or seen on the YABS.</p>
</div>
<div class="summary">
<div class="summary-date">Jul 25, 2026</div>
<h2 class="summary-title"><a href="/posts/wireguard/">VPS proxies with wireguard tunnels</a></h2>
<p class="summary-description">The most private VPN is your own</p>
</div>
<div class="summary">
<div class="summary-date">Jul 24, 2026</div>
<h2 class="summary-title"><a href="/posts/monero/">Self hosting monero node</a></h2>
<p class="summary-description">Straightforward process with little fluff</p>
</div>
<div class="summary">
<div class="summary-date">Jul 21, 2026</div>
<h2 class="summary-title"><a href="/posts/benchmark/">OpenRC vs SystemD</a></h2>
<p class="summary-description">A likely slightly innacurate benchmark of OpenRC vs SystemD in CPU math operations</p>
</div>
<div class="summary">
<div class="summary-date">Jun 28, 2026</div>
<h2 class="summary-title"><a href="/posts/adguard/">Adguard home</a></h2>
<p class="summary-description">Setting up adguard home, and mostly my issues with LAN sharing on Mullvad</p>
</div>
<div class="summary">
<div class="summary-date">Jun 19, 2026</div>
<h2 class="summary-title"><a href="/posts/opnsense/">OPNsense</a></h2>
<p class="summary-description">Small rant</p>
</div>
<div class="summary">
<div class="summary-date">Jun 19, 2026</div>
<h2 class="summary-title"><a href="/posts/proxmox/">Proxmox</a></h2>
<p class="summary-description">My great experience with proxmox on 2 different servers</p>
</div>
<div class="summary">
<div class="summary-date">Feb 1, 2026</div>
<h2 class="summary-title"><a href="/posts/linux/">Linux</a></h2>
<p class="summary-description">My initial experience with Linux</p>
</div>
<div class="footer">
<p class="footer-credit">@bullshark.win maintained by shark</p>
<div class="footer-social">
<div class="social-link">
<a href="https://github.com/bullshar-k" title="GitHub" target="_blank" rel="noopener">
GitHub
</a>
</div>
<div class="social-link">
<a href="mailto:bullsharkgunsemail@pm.me" title="Email" target="_blank" rel="noopener">
Email
</a>
</div>
<button type="button" class="social-link social-copy" data-copy="@bullshar_k:matrix.org" title="Copy Matrix to clipboard">
<span class="social-copy-label">Matrix</span>
</button>
</div>
</div>
<script>
(function () {
var btns = document.querySelectorAll('.social-copy');
btns.forEach(function (btn) {
btn.addEventListener('click', function () {
var text = btn.getAttribute('data-copy');
var label = btn.querySelector('.social-copy-label, .contact-social-name');
var original = label ? label.textContent : btn.textContent;
function done() {
label.textContent = 'Copied!';
setTimeout(function () { label.textContent = original; }, 1500);
}
if (navigator.clipboard && navigator.clipboard.writeText) {
navigator.clipboard.writeText(text).then(done).catch(done);
} else {
var ta = document.createElement('textarea');
ta.value = text;
document.body.appendChild(ta);
ta.select();
try { document.execCommand('copy'); } catch (e) {}
document.body.removeChild(ta);
done();
}
});
});
})();
</script>
</div>
<script type="text/javascript" src="/js/bundle.js"></script>
</body>
</html>
+87 -185
View File
@@ -1,185 +1,87 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Blog on bullshark369.org</title><link>https://bullshark369.org/posts/</link><description>Recent content in Blog on bullshark369.org</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Wed, 05 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://bullshark369.org/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>Hugo &amp; caddy</title><link>https://bullshark369.org/posts/caddy/</link><pubDate>Wed, 05 Aug 2026 00:00:00 +0000</pubDate><guid>https://bullshark369.org/posts/caddy/</guid><description>&lt;h1 id="hugo"&gt;Hugo&lt;/h1&gt;
&lt;p&gt;Don&amp;rsquo;t get me wrong, Hugo is well made and &amp;ldquo;easy to use&amp;rdquo;. However, it is not at all intuitive. Once you know it its amazing, if you don&amp;rsquo;t its terrible.&lt;/p&gt;
&lt;h1 id="caddy"&gt;Caddy&lt;/h1&gt;
&lt;p&gt;Caddy is much more straght forward for simple webserver use than nginx.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Thing&lt;/th&gt;
&lt;th&gt;Place&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Config file&lt;/td&gt;
&lt;td&gt;/etc/caddy/Caddyfile&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Content&lt;/td&gt;
&lt;td&gt;/www/var/web.site/&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SSL&lt;/td&gt;
&lt;td&gt;/etc/caddy/ssl/&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>VPS proxies with wireguard tunnels</title><link>https://bullshark369.org/posts/wireguard/</link><pubDate>Sat, 25 Jul 2026 00:00:00 +0000</pubDate><guid>https://bullshark369.org/posts/wireguard/</guid><description>&lt;h2 id="quick-guide"&gt;Quick guide&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;apt update &amp;amp;&amp;amp; apt upgrade
apt install wireguard-tools git go iptables
git clone https://github.com/bullshar-k/wgconf
cd wgconf
go build main.go
./main -peer 10 -dest server_ip -port 51855
mv server.conf /etc/wireguard
wg-quick up server
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;From there you move the client 1-10 onto the appropriate clients and use wg-quick up on them too.
Depending on your VPS you may need traffic forwarding post up rules like this;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;PostUp = iptables -A FORWARD -i server -j ACCEPT
PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i server -j ACCEPT
PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;em&gt;If it isn&amp;rsquo;t apparent this goes in the &lt;code&gt;[INTERFACE]&lt;/code&gt; section after the interface info before the first &lt;code&gt;[PEER]&lt;/code&gt;
Ensure &lt;code&gt;server&lt;/code&gt; is the name of the .conf file as that will be the name of the interface, and &lt;code&gt;eth0&lt;/code&gt; is the name of your WAN facing NIC interface.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Self hosting monero node</title><link>https://bullshark369.org/posts/monero/</link><pubDate>Fri, 24 Jul 2026 00:00:00 +0000</pubDate><guid>https://bullshark369.org/posts/monero/</guid><description>&lt;hr&gt;
&lt;h2 id="on-server"&gt;On server&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;apt update &amp;amp;&amp;amp; apt update
apt install monero
monerod --datadir ~/.bitmoner --prune-blockchain
// ^ THIS WILL TAKE 2-6 DAYS DEPENDING ON INTERNET SPEED
monerod --rpc-bind-ip=0.0.0.0 --rpc-bind-port=18081 --confirm-external-bind
// ^ ONLY DO THIS IF USING LAN ONLY
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Took long, super easy though.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="on-client"&gt;On client&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo pacman -S monero
// then add to bashRC
alias wallert=&amp;#34;monero-wallet-cli --wallet /wallet/address/path --daemon-address 192.168.1.67:18081 --trusted-daemon&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This way when I type wallert it opens my wallet, and I don&amp;rsquo;t need a lengthy command.&lt;/p&gt;</description></item><item><title>OpenRC vs SystemD</title><link>https://bullshark369.org/posts/benchmark/</link><pubDate>Tue, 21 Jul 2026 00:00:00 +0000</pubDate><guid>https://bullshark369.org/posts/benchmark/</guid><description>&lt;p&gt;Both tests were done separately, not in concurrency, with the same background activity on the host machine. Scores are difference from Arch - Artix. If the number is positive Arch scored higher. Percent diffs are calcualted as follows: 100(|diff|/arch&amp;rsquo;s score)&lt;/p&gt;
&lt;p&gt;Gentoo wiki has an article with the breakdown comparison of these two @&lt;a href="https://wiki.gentoo.org/wiki/Comparison_of_init_systems"&gt;Comparison of init systems&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="environment"&gt;Environment&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Ram&lt;/th&gt;
&lt;th&gt;Swap&lt;/th&gt;
&lt;th&gt;Storage&lt;/th&gt;
&lt;th&gt;Filesys&lt;/th&gt;
&lt;th&gt;DE&lt;/th&gt;
&lt;th&gt;Compiler&lt;/th&gt;
&lt;th&gt;Benchmark&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;16GiB&lt;/td&gt;
&lt;td&gt;None&lt;/td&gt;
&lt;td&gt;50GiB NVMe&lt;/td&gt;
&lt;td&gt;ext4&lt;/td&gt;
&lt;td&gt;none, TTY&lt;/td&gt;
&lt;td&gt;GCC 13.3.0&lt;/td&gt;
&lt;td&gt;FOSSbench&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="results"&gt;Results&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Native integer math&lt;/th&gt;
&lt;th&gt;Wide integer math&lt;/th&gt;
&lt;th&gt;Floating point math&lt;/th&gt;
&lt;th&gt;Prime numbers&lt;/th&gt;
&lt;th&gt;Extended instructions&lt;/th&gt;
&lt;th&gt;Compression&lt;/th&gt;
&lt;th&gt;Encryption&lt;/th&gt;
&lt;th&gt;Physics&lt;/th&gt;
&lt;th&gt;Sorting&lt;/th&gt;
&lt;th&gt;Memory latency&lt;/th&gt;
&lt;th&gt;Memory bandwidth&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;-514.3&lt;/td&gt;
&lt;td&gt;-689.5&lt;/td&gt;
&lt;td&gt;277&lt;/td&gt;
&lt;td&gt;-44.5&lt;/td&gt;
&lt;td&gt;492.2&lt;/td&gt;
&lt;td&gt;2079.9&lt;/td&gt;
&lt;td&gt;213&lt;/td&gt;
&lt;td&gt;78&lt;/td&gt;
&lt;td&gt;224&lt;/td&gt;
&lt;td&gt;-4&lt;/td&gt;
&lt;td&gt;15568.7&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;-0.41%&lt;/td&gt;
&lt;td&gt;-0.59%&lt;/td&gt;
&lt;td&gt;1.34%&lt;/td&gt;
&lt;td&gt;-0.35%&lt;/td&gt;
&lt;td&gt;0.19%&lt;/td&gt;
&lt;td&gt;20.66%&lt;/td&gt;
&lt;td&gt;2.4%&lt;/td&gt;
&lt;td&gt;2.53%&lt;/td&gt;
&lt;td&gt;6.94%&lt;/td&gt;
&lt;td&gt;-5.39%&lt;/td&gt;
&lt;td&gt;9.04%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Adguard home</title><link>https://bullshark369.org/posts/adguard/</link><pubDate>Sun, 28 Jun 2026 00:00:00 +0000</pubDate><guid>https://bullshark369.org/posts/adguard/</guid><description>&lt;hr&gt;
&lt;h2 id="installation-itself"&gt;Installation itself&lt;/h2&gt;
&lt;p&gt;Very easy, good jobs on the devs overall. My upstream is &lt;code&gt;9.9.9.9:853&lt;/code&gt; and I have wireguard running on that VM so it proxies to one of my VPSes in another country.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="mullvad-linux-client-lan-sharing"&gt;Mullvad linux client LAN sharing&lt;/h2&gt;
&lt;p&gt;It does NOT play nice. It does not let you use your own DNS even with lockdown mode off, LAN sharing on, and custom DNS enabled. DNS goes out and it doesn&amp;rsquo;t get it back from adguard because mullvad actually never changes the interfaces DNS to the custom one.
It only changes it to SEND dns queries, not RECEIVE, so you are effectively left WITHOUT DNS unless you set it manually like so.&lt;/p&gt;</description></item><item><title>OPNsense</title><link>https://bullshark369.org/posts/opnsense/</link><pubDate>Fri, 19 Jun 2026 00:00:00 +0000</pubDate><guid>https://bullshark369.org/posts/opnsense/</guid><description>&lt;h2 id="opinion"&gt;Opinion&lt;/h2&gt;
&lt;p&gt;OPNsense is built on FreeBSD which has a broken network stack. The devs are great but I can&amp;rsquo;t recommend it. Use VyOS.
Also, having to configure 11 different areas in a website to set up a wireguard tunnel sucks compared to CLI where you just put &lt;code&gt;wireguard.conf&lt;/code&gt;in &lt;code&gt;/etc/wireguard/&lt;/code&gt; and run &lt;code&gt;wg-quick up wireguard&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Proxmox</title><link>https://bullshark369.org/posts/proxmox/</link><pubDate>Fri, 19 Jun 2026 00:00:00 +0000</pubDate><guid>https://bullshark369.org/posts/proxmox/</guid><description>&lt;h2 id="opinion"&gt;Opinion&lt;/h2&gt;
&lt;p&gt;I run proxmox on two PCs. A dell optiplex and a custom built server focused PC. The Optiplex handles my firewall and the other PC handles DNS and some other services.
Genuinely an amazing free piece of sotware. Much better than ESXi. From the networking, to the UI, to the virtualization, it is a great type 1 hypervisor.&lt;/p&gt;
&lt;h2 id="how-to"&gt;How to&lt;/h2&gt;
&lt;h3 id="flash-proxmox-onto-drive"&gt;Flash proxmox onto drive&lt;/h3&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo wipefs -af /dev/sda
sudo dd if=proxmox.iso of=/dev/sda bs=4M conv=fsync
sync &amp;amp;&amp;amp; sync
sudo eject /dev/sda
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="allow-bios-to-do-things"&gt;Allow BIOS to do things&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Set proxmox USB to top of boot priority&lt;/li&gt;
&lt;li&gt;Turn off secure boot&lt;/li&gt;
&lt;li&gt;Enable KVM &amp;amp; IOMMU&lt;/li&gt;
&lt;li&gt;Enable above 4G decoding&lt;/li&gt;
&lt;li&gt;Disable wait for F1 when errors
This is really annoying, it will wait for you to press F1 if it detects an error, running it headless with no output at all will cause an error, making you have to plug
a keyboard into your server and press F1.&lt;/li&gt;
&lt;li&gt;Disable secure boot or set to &amp;ldquo;other os&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Ensure secure boot allows UEFI USB boot&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="installation"&gt;Installation&lt;/h3&gt;
&lt;p&gt;It will boot, and you literaly just answer your way through the setup prompts. Super easy.&lt;/p&gt;</description></item><item><title>Linux</title><link>https://bullshark369.org/posts/linux/</link><pubDate>Sun, 01 Feb 2026 00:00:00 +0000</pubDate><guid>https://bullshark369.org/posts/linux/</guid><description>&lt;h2 id="preamble"&gt;Preamble&lt;/h2&gt;
&lt;p&gt;I was already familiar with Linux and had used it on this date, however, I had stopped playing Tarkov which had kept me on Windows. So on this date I switched.
I pretty quickly went mint -&amp;gt; cachy -&amp;gt; arch in the course of a week or so.&lt;/p&gt;
&lt;h2 id="tierlist"&gt;Tierlist&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;S&lt;/th&gt;
&lt;th&gt;Arch Alpine&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;A&lt;/td&gt;
&lt;td&gt;Artix NixOS Mint Cachy Debian Fedora&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;B&lt;/td&gt;
&lt;td&gt;Ubuntu Endeavour Gentoo&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;C&lt;/td&gt;
&lt;td&gt;Bazzite CentOS&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;</description></item></channel></rss>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Blog on bullshark369.org</title>
<link>http://localhost:1313/posts/</link>
<description>Recent content in Blog on bullshark369.org</description>
<generator>Hugo</generator>
<language>en-us</language>
<lastBuildDate>Sat, 08 Aug 2026 00:00:00 +0000</lastBuildDate>
<atom:link href="http://localhost:1313/posts/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Trying to install Windows</title>
<link>http://localhost:1313/posts/windows/</link>
<pubDate>Sat, 08 Aug 2026 00:00:00 +0000</pubDate>
<guid>http://localhost:1313/posts/windows/</guid>
<description>&lt;h3 id=&#34;installing-windows-from-linux&#34;&gt;Installing windows from Linux&lt;/h3&gt;&#xA;&lt;p&gt;I attempted to install Windows on a new 512GB NVMe I bought so I can put Windows on it to play Tarkov.&#xA;Big mistake.&lt;/p&gt;&#xA;&lt;p&gt;See it wants this driver to be able to sense the storage. The driver is the RAID or SATA driver from the manufactureres website. It has to be on the same drive as the installation media but if you dd the windows ISO onto the flash drive its read only. Using ventoy didn&amp;rsquo;t help either. The driver just didn&amp;rsquo;t work.&lt;/p&gt;</description>
</item>
<item>
<title>Hugo &amp; caddy</title>
<link>http://localhost:1313/posts/caddy/</link>
<pubDate>Wed, 05 Aug 2026 00:00:00 +0000</pubDate>
<guid>http://localhost:1313/posts/caddy/</guid>
<description>&lt;h1 id=&#34;hugo&#34;&gt;Hugo&lt;/h1&gt;&#xA;&lt;p&gt;Don&amp;rsquo;t get me wrong, Hugo is well made and &amp;ldquo;easy to use&amp;rdquo;. However, it is not at all intuitive. Once you know it its amazing, if you don&amp;rsquo;t its terrible.&lt;/p&gt;&#xA;&lt;h1 id=&#34;caddy&#34;&gt;Caddy&lt;/h1&gt;&#xA;&lt;p&gt;Caddy is much more straght forward for simple webserver use than nginx.&lt;/p&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Thing&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Place&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Config file&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;/etc/caddy/Caddyfile&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Content&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;/www/var/web.site/&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;SSL&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;/etc/caddy/ssl/&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;</description>
</item>
<item>
<title>Slow VPS due to bad luck w BGP</title>
<link>http://localhost:1313/posts/bgp/</link>
<pubDate>Mon, 03 Aug 2026 00:00:00 +0000</pubDate>
<guid>http://localhost:1313/posts/bgp/</guid>
<description>&lt;h3 id=&#34;the-vps&#34;&gt;The VPS&lt;/h3&gt;&#xA;&lt;p&gt;The VPS itself was a 10GB/s VPS with enough hardware to handle most of that throughput on a wireguard tunnel. The iperf3 test I ran outisde of the tunnel would show ~70-100mb of download. The YABS from VPS to multiple clearnet WAN test points would show correct speeds. My conclusion is it was probably bad luck with the BGP routing, one of the hops is probably just incredibly slow or dated equipment. Take this as a lesson that if you are going to subscribe to remote networking equipment to get 1 month first and test its performance against advertised or promised performance, then purchase the rest of the subscription time.&lt;/p&gt;</description>
</item>
<item>
<title>VPS proxies with wireguard tunnels</title>
<link>http://localhost:1313/posts/wireguard/</link>
<pubDate>Sat, 25 Jul 2026 00:00:00 +0000</pubDate>
<guid>http://localhost:1313/posts/wireguard/</guid>
<description>&lt;h2 id=&#34;quick-guide&#34;&gt;Quick guide&lt;/h2&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;apt update &amp;amp;&amp;amp; apt upgrade&#xA;apt install wireguard-tools git go iptables&#xA;git clone https://github.com/bullshar-k/wgconf&#xA;cd wgconf&#xA;go build main.go&#xA;./main -peer 10 -dest server_ip -port 51855&#xA;mv server.conf /etc/wireguard&#xA;wg-quick up server&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;From there you move the client 1-10 onto the appropriate clients and use wg-quick up on them too.&#xA;Depending on your VPS you may need traffic forwarding post up rules like this;&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;PostUp = iptables -A FORWARD -i server -j ACCEPT&#xA;PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE&#xA;PostDown = iptables -D FORWARD -i server -j ACCEPT&#xA;PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;em&gt;If it isn&amp;rsquo;t apparent this goes in the &lt;code&gt;[INTERFACE]&lt;/code&gt; section after the interface info before the first &lt;code&gt;[PEER]&lt;/code&gt;&#xA;Ensure &lt;code&gt;server&lt;/code&gt; is the name of the .conf file as that will be the name of the interface, and &lt;code&gt;eth0&lt;/code&gt; is the name of your WAN facing NIC interface.&lt;/em&gt;&lt;/p&gt;</description>
</item>
<item>
<title>Self hosting monero node</title>
<link>http://localhost:1313/posts/monero/</link>
<pubDate>Fri, 24 Jul 2026 00:00:00 +0000</pubDate>
<guid>http://localhost:1313/posts/monero/</guid>
<description>&lt;hr&gt;&#xA;&lt;h2 id=&#34;on-server&#34;&gt;On server&lt;/h2&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;apt update &amp;amp;&amp;amp; apt update&#xA;apt install monero&#xA;monerod --datadir ~/.bitmoner --prune-blockchain&#xA;// ^ THIS WILL TAKE 2-6 DAYS DEPENDING ON INTERNET SPEED&#xA;monerod --rpc-bind-ip=0.0.0.0 --rpc-bind-port=18081 --confirm-external-bind&#xA;// ^ ONLY DO THIS IF USING LAN ONLY&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Took long, super easy though.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;on-client&#34;&gt;On client&lt;/h2&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo pacman -S monero&#xA;// then add to bashRC&#xA;alias wallert=&amp;#34;monero-wallet-cli --wallet /wallet/address/path --daemon-address 192.168.1.67:18081 --trusted-daemon&amp;#34;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This way when I type wallert it opens my wallet, and I don&amp;rsquo;t need a lengthy command.&lt;/p&gt;</description>
</item>
<item>
<title>OpenRC vs SystemD</title>
<link>http://localhost:1313/posts/benchmark/</link>
<pubDate>Tue, 21 Jul 2026 00:00:00 +0000</pubDate>
<guid>http://localhost:1313/posts/benchmark/</guid>
<description>&lt;p&gt;Both tests were done separately, not in concurrency, with the same background activity on the host machine. Scores are difference from Arch - Artix. If the number is positive Arch scored higher. Percent diffs are calcualted as follows: 100(|diff|/arch&amp;rsquo;s score)&lt;/p&gt;&#xA;&lt;p&gt;Gentoo wiki has an article with the breakdown comparison of these two @&lt;a href=&#34;https://wiki.gentoo.org/wiki/Comparison_of_init_systems&#34;&gt;Comparison of init systems&lt;/a&gt;&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;environment&#34;&gt;Environment&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Ram&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Swap&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Storage&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Filesys&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;DE&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Compiler&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Benchmark&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;16GiB&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;None&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;50GiB NVMe&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;ext4&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;none, TTY&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;GCC 13.3.0&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;FOSSbench&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;results&#34;&gt;Results&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Native integer math&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Wide integer math&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Floating point math&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Prime numbers&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Extended instructions&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Compression&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Encryption&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Physics&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Sorting&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Memory latency&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Memory bandwidth&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;-514.3&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;-689.5&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;277&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;-44.5&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;492.2&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;2079.9&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;213&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;78&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;224&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;-4&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;15568.7&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;-0.41%&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;-0.59%&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;1.34%&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;-0.35%&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;0.19%&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;20.66%&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;2.4%&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;2.53%&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;6.94%&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;-5.39%&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;9.04%&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;</description>
</item>
<item>
<title>Adguard home</title>
<link>http://localhost:1313/posts/adguard/</link>
<pubDate>Sun, 28 Jun 2026 00:00:00 +0000</pubDate>
<guid>http://localhost:1313/posts/adguard/</guid>
<description>&lt;hr&gt;&#xA;&lt;h2 id=&#34;installation-itself&#34;&gt;Installation itself&lt;/h2&gt;&#xA;&lt;p&gt;Very easy, good jobs on the devs overall. My upstream is &lt;code&gt;9.9.9.9:853&lt;/code&gt; and I have wireguard running on that VM so it proxies to one of my VPSes in another country.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;mullvad-linux-client-lan-sharing&#34;&gt;Mullvad linux client LAN sharing&lt;/h2&gt;&#xA;&lt;p&gt;It does NOT play nice. It does not let you use your own DNS even with lockdown mode off, LAN sharing on, and custom DNS enabled. DNS goes out and it doesn&amp;rsquo;t get it back from adguard because mullvad actually never changes the interfaces DNS to the custom one.&#xA;It only changes it to SEND dns queries, not RECEIVE, so you are effectively left WITHOUT DNS unless you set it manually like so.&lt;/p&gt;</description>
</item>
<item>
<title>OPNsense</title>
<link>http://localhost:1313/posts/opnsense/</link>
<pubDate>Fri, 19 Jun 2026 00:00:00 +0000</pubDate>
<guid>http://localhost:1313/posts/opnsense/</guid>
<description>&lt;h2 id=&#34;opinion&#34;&gt;Opinion&lt;/h2&gt;&#xA;&lt;p&gt;OPNsense is built on FreeBSD which has a broken network stack. The devs are great but I can&amp;rsquo;t recommend it. Use VyOS.&#xA;Also, having to configure 11 different areas in a website to set up a wireguard tunnel sucks compared to CLI where you just put &lt;code&gt;wireguard.conf&lt;/code&gt;in &lt;code&gt;/etc/wireguard/&lt;/code&gt; and run &lt;code&gt;wg-quick up wireguard&lt;/code&gt;.&lt;/p&gt;</description>
</item>
<item>
<title>Proxmox</title>
<link>http://localhost:1313/posts/proxmox/</link>
<pubDate>Fri, 19 Jun 2026 00:00:00 +0000</pubDate>
<guid>http://localhost:1313/posts/proxmox/</guid>
<description>&lt;h2 id=&#34;opinion&#34;&gt;Opinion&lt;/h2&gt;&#xA;&lt;p&gt;I run proxmox on two PCs. A dell optiplex and a custom built server focused PC. The Optiplex handles my firewall and the other PC handles DNS and some other services.&#xA;Genuinely an amazing free piece of sotware. Much better than ESXi. From the networking, to the UI, to the virtualization, it is a great type 1 hypervisor.&lt;/p&gt;&#xA;&lt;h2 id=&#34;how-to&#34;&gt;How to&lt;/h2&gt;&#xA;&lt;h3 id=&#34;flash-proxmox-onto-drive&#34;&gt;Flash proxmox onto drive&lt;/h3&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo wipefs -af /dev/sda&#xA;sudo dd if=proxmox.iso of=/dev/sda bs=4M conv=fsync&#xA;sync &amp;amp;&amp;amp; sync&#xA;sudo eject /dev/sda&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;allow-bios-to-do-things&#34;&gt;Allow BIOS to do things&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Set proxmox USB to top of boot priority&lt;/li&gt;&#xA;&lt;li&gt;Turn off secure boot&lt;/li&gt;&#xA;&lt;li&gt;Enable KVM &amp;amp; IOMMU&lt;/li&gt;&#xA;&lt;li&gt;Enable above 4G decoding&lt;/li&gt;&#xA;&lt;li&gt;Disable wait for F1 when errors&#xA;This is really annoying, it will wait for you to press F1 if it detects an error, running it headless with no output at all will cause an error, making you have to plug&#xA;a keyboard into your server and press F1.&lt;/li&gt;&#xA;&lt;li&gt;Disable secure boot or set to &amp;ldquo;other os&amp;rdquo;&lt;/li&gt;&#xA;&lt;li&gt;Ensure secure boot allows UEFI USB boot&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;installation&#34;&gt;Installation&lt;/h3&gt;&#xA;&lt;p&gt;It will boot, and you literaly just answer your way through the setup prompts. Super easy.&lt;/p&gt;</description>
</item>
<item>
<title>Linux</title>
<link>http://localhost:1313/posts/linux/</link>
<pubDate>Sun, 01 Feb 2026 00:00:00 +0000</pubDate>
<guid>http://localhost:1313/posts/linux/</guid>
<description>&lt;h2 id=&#34;preamble&#34;&gt;Preamble&lt;/h2&gt;&#xA;&lt;p&gt;I was already familiar with Linux and had used it on this date, however, I had stopped playing Tarkov which had kept me on Windows. So on this date I switched.&#xA;I pretty quickly went mint -&amp;gt; cachy -&amp;gt; arch in the course of a week or so.&lt;/p&gt;&#xA;&lt;h2 id=&#34;tierlist&#34;&gt;Tierlist&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;S&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Arch Alpine&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;A&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Artix NixOS Mint Cachy Debian Fedora&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;B&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Ubuntu Endeavour Gentoo&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;C&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Bazzite CentOS&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;</description>
</item>
</channel>
</rss>
+221 -3
View File
@@ -1,3 +1,221 @@
<!doctype html><html lang=en><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><title>Linux - bullshark369.org</title><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=https://bullshark369.org/favicon.png><link rel=canonical href=https://bullshark369.org/posts/linux/><link rel=stylesheet href=/css/style.min.1c18def2aed6b057aa439fbec51b1d6f55f2d2d8073fe48390bceb467a226be6.css><link rel=stylesheet href=/assets/css/extended.min.64eff6070754dbd5f137b9a69ee5d178af8882fb423ebae458728838b1518560.css><meta name=description content="My initial experience with Linux"><meta name=keywords content="Nathan Buache,Test Manager,QA,Quality Assurance,Lausanne,Switzerland,Web Testing,Software Testing,QoQa"><meta property="og:title" content="Linux - bullshark369.org"><meta property="og:type" content="website"><meta property="og:url" content="https://bullshark369.org/posts/linux/"><meta property="og:site_name" content="bullshark369.org"><meta property="og:description" content="My initial experience with Linux"><meta name=twitter:card content="summary_large_image"><meta name=twitter:title content="Linux"><meta name=twitter:description content="My initial experience with Linux"></head><body class='page page-blog-single'><div id=menu-main-mobile class=menu-main-mobile><ul class=menu><li class=menu-item-home><a href=https://bullshark369.org/>Home</a></li><li class=menu-item-blog><a href=https://bullshark369.org/posts/>Blog</a></li><li class=menu-item-contact><a href=https://bullshark369.org/pages/contact/>Contact</a></li></ul></div><div id=wrapper class=wrapper><div class=header><div class=menu-main><ul><li class=menu-item-home><a href=/><span>Home</span></a></li><li class=menu-item-blog><a href=/posts/><span>Blog</span></a></li><li class=menu-item-contact><a href=/pages/contact/><span>Contact</span></a></li></ul></div><div id=toggle-menu-main-mobile class=hamburger-trigger><button class=hamburger>Menu</button></div></div><div class=blog><div class=intro><h1>Linux</h1></div><div class=content><h2 id=preamble>Preamble</h2><p>I was already familiar with Linux and had used it on this date, however, I had stopped playing Tarkov which had kept me on Windows. So on this date I switched.
I pretty quickly went mint -> cachy -> arch in the course of a week or so.</p><h2 id=tierlist>Tierlist</h2><table><thead><tr><th>S</th><th>Arch Alpine</th></tr></thead><tbody><tr><td>A</td><td>Artix NixOS Mint Cachy Debian Fedora</td></tr><tr><td>B</td><td>Ubuntu Endeavour Gentoo</td></tr><tr><td>C</td><td>Bazzite CentOS</td></tr></tbody></table></div></div><div class=footer><p class=footer-credit>@bullshark.win maintained by shark</p><div class=footer-social><div class=social-link><a href=https://github.com/bullshar-k title=GitHub target=_blank rel=noopener>GitHub</a></div><div class=social-link><a href=mailto:bullsharkgunsemail@pm.me title=Email target=_blank rel=noopener>Email</a></div><button type=button class="social-link social-copy" data-copy=@bullshar_k:matrix.org title="Copy Matrix to clipboard">
<span class=social-copy-label>Matrix</span></button></div></div><script>(function(){var e=document.querySelectorAll(".social-copy");e.forEach(function(e){e.addEventListener("click",function(){var t,o=e.getAttribute("data-copy"),n=e.querySelector(".social-copy-label, .contact-social-name"),i=n?n.textContent:e.textContent;function s(){n.textContent="Copied!",setTimeout(function(){n.textContent=i},1500)}if(navigator.clipboard&&navigator.clipboard.writeText)navigator.clipboard.writeText(o).then(s).catch(s);else{t=document.createElement("textarea"),t.value=o,document.body.appendChild(t),t.select();try{document.execCommand("copy")}catch{}document.body.removeChild(t),s()}})})})()</script></div><script type=text/javascript src=/js/bundle.min.5993fcb11c07dea925a3fbd58c03c7f1857197c35fccce3aa963a12c0b3c9960.js></script></body></html>
<!DOCTYPE html>
<html lang="en">
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>Linux - bullshark369.org</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" href="http://localhost:1313/favicon.png">
<link rel="canonical" href="http://localhost:1313/posts/linux/" />
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/assets/css/extended.css">
<meta name="description" content="My initial experience with Linux"/>
<meta name="keywords" content="Nathan Buache, Test Manager, QA, Quality Assurance, Lausanne, Switzerland, Web Testing, Software Testing, QoQa"/>
<meta property="og:title" content="Linux - bullshark369.org"/>
<meta property="og:type" content="website"/>
<meta property="og:url" content="http://localhost:1313/posts/linux/"/>
<meta property="og:site_name" content="bullshark369.org"/>
<meta property="og:description" content="My initial experience with Linux"/>
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:title" content="Linux"/>
<meta name="twitter:description" content="My initial experience with Linux"/>
</head>
<body class='page page-blog-single'>
<div id="menu-main-mobile" class="menu-main-mobile">
<ul class="menu">
<li class="menu-item-home">
<a href="http://localhost:1313/">Home</a>
</li>
<li class="menu-item-blog">
<a href="http://localhost:1313/posts/">Blog</a>
</li>
<li class="menu-item-contact">
<a href="http://localhost:1313/pages/contact/">Contact</a>
</li>
</ul>
</div>
<div id="wrapper" class="wrapper">
<div class='header'>
<div class="menu-main">
<ul>
<li class="menu-item-home ">
<a href="/">
<span>Home</span>
</a>
</li>
<li class="menu-item-blog ">
<a href="/posts/">
<span>Blog</span>
</a>
</li>
<li class="menu-item-contact ">
<a href="/pages/contact/">
<span>Contact</span>
</a>
</li>
</ul>
</div>
<div id="toggle-menu-main-mobile" class="hamburger-trigger">
<button class="hamburger">Menu</button>
</div>
</div>
<div class="blog">
<div class="intro">
<h1>Linux</h1>
</div>
<div class="content">
<h2 id="preamble">Preamble</h2>
<p>I was already familiar with Linux and had used it on this date, however, I had stopped playing Tarkov which had kept me on Windows. So on this date I switched.
I pretty quickly went mint -&gt; cachy -&gt; arch in the course of a week or so.</p>
<h2 id="tierlist">Tierlist</h2>
<table>
<thead>
<tr>
<th>S</th>
<th>Arch Alpine</th>
</tr>
</thead>
<tbody>
<tr>
<td>A</td>
<td>Artix NixOS Mint Cachy Debian Fedora</td>
</tr>
<tr>
<td>B</td>
<td>Ubuntu Endeavour Gentoo</td>
</tr>
<tr>
<td>C</td>
<td>Bazzite CentOS</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="footer">
<p class="footer-credit">@bullshark.win maintained by shark</p>
<div class="footer-social">
<div class="social-link">
<a href="https://github.com/bullshar-k" title="GitHub" target="_blank" rel="noopener">
GitHub
</a>
</div>
<div class="social-link">
<a href="mailto:bullsharkgunsemail@pm.me" title="Email" target="_blank" rel="noopener">
Email
</a>
</div>
<button type="button" class="social-link social-copy" data-copy="@bullshar_k:matrix.org" title="Copy Matrix to clipboard">
<span class="social-copy-label">Matrix</span>
</button>
</div>
</div>
<script>
(function () {
var btns = document.querySelectorAll('.social-copy');
btns.forEach(function (btn) {
btn.addEventListener('click', function () {
var text = btn.getAttribute('data-copy');
var label = btn.querySelector('.social-copy-label, .contact-social-name');
var original = label ? label.textContent : btn.textContent;
function done() {
label.textContent = 'Copied!';
setTimeout(function () { label.textContent = original; }, 1500);
}
if (navigator.clipboard && navigator.clipboard.writeText) {
navigator.clipboard.writeText(text).then(done).catch(done);
} else {
var ta = document.createElement('textarea');
ta.value = text;
document.body.appendChild(ta);
ta.select();
try { document.execCommand('copy'); } catch (e) {}
document.body.removeChild(ta);
done();
}
});
});
})();
</script>
</div>
<script type="text/javascript" src="/js/bundle.js"></script>
</body>
</html>
+205 -4
View File
@@ -1,11 +1,212 @@
<!doctype html><html lang=en><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><title>Self hosting monero node - bullshark369.org</title><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=https://bullshark369.org/favicon.png><link rel=canonical href=https://bullshark369.org/posts/monero/><link rel=stylesheet href=/css/style.min.1c18def2aed6b057aa439fbec51b1d6f55f2d2d8073fe48390bceb467a226be6.css><link rel=stylesheet href=/assets/css/extended.min.64eff6070754dbd5f137b9a69ee5d178af8882fb423ebae458728838b1518560.css><meta name=description content="Straightforward process with little fluff"><meta name=keywords content="Nathan Buache,Test Manager,QA,Quality Assurance,Lausanne,Switzerland,Web Testing,Software Testing,QoQa"><meta property="og:title" content="Self hosting monero node - bullshark369.org"><meta property="og:type" content="website"><meta property="og:url" content="https://bullshark369.org/posts/monero/"><meta property="og:site_name" content="bullshark369.org"><meta property="og:description" content="Straightforward process with little fluff"><meta name=twitter:card content="summary_large_image"><meta name=twitter:title content="Self hosting monero node"><meta name=twitter:description content="Straightforward process with little fluff"></head><body class='page page-blog-single'><div id=menu-main-mobile class=menu-main-mobile><ul class=menu><li class=menu-item-home><a href=https://bullshark369.org/>Home</a></li><li class=menu-item-blog><a href=https://bullshark369.org/posts/>Blog</a></li><li class=menu-item-contact><a href=https://bullshark369.org/pages/contact/>Contact</a></li></ul></div><div id=wrapper class=wrapper><div class=header><div class=menu-main><ul><li class=menu-item-home><a href=/><span>Home</span></a></li><li class=menu-item-blog><a href=/posts/><span>Blog</span></a></li><li class=menu-item-contact><a href=/pages/contact/><span>Contact</span></a></li></ul></div><div id=toggle-menu-main-mobile class=hamburger-trigger><button class=hamburger>Menu</button></div></div><div class=blog><div class=intro><h1>Self hosting monero node</h1></div><div class=content><hr><h2 id=on-server>On server</h2><pre tabindex=0><code>apt update &amp;&amp; apt update
<!DOCTYPE html>
<html lang="en">
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>Self hosting monero node - bullshark369.org</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" href="http://localhost:1313/favicon.png">
<link rel="canonical" href="http://localhost:1313/posts/monero/" />
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/assets/css/extended.css">
<meta name="description" content="Straightforward process with little fluff"/>
<meta name="keywords" content="Nathan Buache, Test Manager, QA, Quality Assurance, Lausanne, Switzerland, Web Testing, Software Testing, QoQa"/>
<meta property="og:title" content="Self hosting monero node - bullshark369.org"/>
<meta property="og:type" content="website"/>
<meta property="og:url" content="http://localhost:1313/posts/monero/"/>
<meta property="og:site_name" content="bullshark369.org"/>
<meta property="og:description" content="Straightforward process with little fluff"/>
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:title" content="Self hosting monero node"/>
<meta name="twitter:description" content="Straightforward process with little fluff"/>
</head>
<body class='page page-blog-single'>
<div id="menu-main-mobile" class="menu-main-mobile">
<ul class="menu">
<li class="menu-item-home">
<a href="http://localhost:1313/">Home</a>
</li>
<li class="menu-item-blog">
<a href="http://localhost:1313/posts/">Blog</a>
</li>
<li class="menu-item-contact">
<a href="http://localhost:1313/pages/contact/">Contact</a>
</li>
</ul>
</div>
<div id="wrapper" class="wrapper">
<div class='header'>
<div class="menu-main">
<ul>
<li class="menu-item-home ">
<a href="/">
<span>Home</span>
</a>
</li>
<li class="menu-item-blog ">
<a href="/posts/">
<span>Blog</span>
</a>
</li>
<li class="menu-item-contact ">
<a href="/pages/contact/">
<span>Contact</span>
</a>
</li>
</ul>
</div>
<div id="toggle-menu-main-mobile" class="hamburger-trigger">
<button class="hamburger">Menu</button>
</div>
</div>
<div class="blog">
<div class="intro">
<h1>Self hosting monero node</h1>
</div>
<div class="content">
<hr>
<h2 id="on-server">On server</h2>
<pre tabindex="0"><code>apt update &amp;&amp; apt update
apt install monero
monerod --datadir ~/.bitmoner --prune-blockchain
// ^ THIS WILL TAKE 2-6 DAYS DEPENDING ON INTERNET SPEED
monerod --rpc-bind-ip=0.0.0.0 --rpc-bind-port=18081 --confirm-external-bind
// ^ ONLY DO THIS IF USING LAN ONLY
</code></pre><p>Took long, super easy though.</p><hr><h2 id=on-client>On client</h2><pre tabindex=0><code>sudo pacman -S monero
</code></pre><p>Took long, super easy though.</p>
<hr>
<h2 id="on-client">On client</h2>
<pre tabindex="0"><code>sudo pacman -S monero
// then add to bashRC
alias wallert=&#34;monero-wallet-cli --wallet /wallet/address/path --daemon-address 192.168.1.67:18081 --trusted-daemon&#34;
</code></pre><p>This way when I type wallert it opens my wallet, and I don&rsquo;t need a lengthy command.</p><h3 id=side-note>Side note</h3><p>I did forget (I swear I know what it is but it wasn&rsquo;t working) the password to this VM. So I had to delete it and resync it TwT</p></div></div><div class=footer><p class=footer-credit>@bullshark.win maintained by shark</p><div class=footer-social><div class=social-link><a href=https://github.com/bullshar-k title=GitHub target=_blank rel=noopener>GitHub</a></div><div class=social-link><a href=mailto:bullsharkgunsemail@pm.me title=Email target=_blank rel=noopener>Email</a></div><button type=button class="social-link social-copy" data-copy=@bullshar_k:matrix.org title="Copy Matrix to clipboard">
<span class=social-copy-label>Matrix</span></button></div></div><script>(function(){var e=document.querySelectorAll(".social-copy");e.forEach(function(e){e.addEventListener("click",function(){var t,o=e.getAttribute("data-copy"),n=e.querySelector(".social-copy-label, .contact-social-name"),i=n?n.textContent:e.textContent;function s(){n.textContent="Copied!",setTimeout(function(){n.textContent=i},1500)}if(navigator.clipboard&&navigator.clipboard.writeText)navigator.clipboard.writeText(o).then(s).catch(s);else{t=document.createElement("textarea"),t.value=o,document.body.appendChild(t),t.select();try{document.execCommand("copy")}catch{}document.body.removeChild(t),s()}})})})()</script></div><script type=text/javascript src=/js/bundle.min.5993fcb11c07dea925a3fbd58c03c7f1857197c35fccce3aa963a12c0b3c9960.js></script></body></html>
</code></pre><p>This way when I type wallert it opens my wallet, and I don&rsquo;t need a lengthy command.</p>
<h3 id="side-note">Side note</h3>
<p>I did forget (I swear I know what it is but it wasn&rsquo;t working) the password to this VM. So I had to delete it and resync it TwT</p>
</div>
</div>
<div class="footer">
<p class="footer-credit">@bullshark.win maintained by shark</p>
<div class="footer-social">
<div class="social-link">
<a href="https://github.com/bullshar-k" title="GitHub" target="_blank" rel="noopener">
GitHub
</a>
</div>
<div class="social-link">
<a href="mailto:bullsharkgunsemail@pm.me" title="Email" target="_blank" rel="noopener">
Email
</a>
</div>
<button type="button" class="social-link social-copy" data-copy="@bullshar_k:matrix.org" title="Copy Matrix to clipboard">
<span class="social-copy-label">Matrix</span>
</button>
</div>
</div>
<script>
(function () {
var btns = document.querySelectorAll('.social-copy');
btns.forEach(function (btn) {
btn.addEventListener('click', function () {
var text = btn.getAttribute('data-copy');
var label = btn.querySelector('.social-copy-label, .contact-social-name');
var original = label ? label.textContent : btn.textContent;
function done() {
label.textContent = 'Copied!';
setTimeout(function () { label.textContent = original; }, 1500);
}
if (navigator.clipboard && navigator.clipboard.writeText) {
navigator.clipboard.writeText(text).then(done).catch(done);
} else {
var ta = document.createElement('textarea');
ta.value = text;
document.body.appendChild(ta);
ta.select();
try { document.execCommand('copy'); } catch (e) {}
document.body.removeChild(ta);
done();
}
});
});
})();
</script>
</div>
<script type="text/javascript" src="/js/bundle.js"></script>
</body>
</html>
+198 -3
View File
@@ -1,3 +1,198 @@
<!doctype html><html lang=en><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><title>OPNsense - bullshark369.org</title><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=https://bullshark369.org/favicon.png><link rel=canonical href=https://bullshark369.org/posts/opnsense/><link rel=stylesheet href=/css/style.min.1c18def2aed6b057aa439fbec51b1d6f55f2d2d8073fe48390bceb467a226be6.css><link rel=stylesheet href=/assets/css/extended.min.64eff6070754dbd5f137b9a69ee5d178af8882fb423ebae458728838b1518560.css><meta name=description content="Small rant"><meta name=keywords content="Nathan Buache,Test Manager,QA,Quality Assurance,Lausanne,Switzerland,Web Testing,Software Testing,QoQa"><meta property="og:title" content="OPNsense - bullshark369.org"><meta property="og:type" content="website"><meta property="og:url" content="https://bullshark369.org/posts/opnsense/"><meta property="og:site_name" content="bullshark369.org"><meta property="og:description" content="Small rant"><meta name=twitter:card content="summary_large_image"><meta name=twitter:title content="OPNsense"><meta name=twitter:description content="Small rant"></head><body class='page page-blog-single'><div id=menu-main-mobile class=menu-main-mobile><ul class=menu><li class=menu-item-home><a href=https://bullshark369.org/>Home</a></li><li class=menu-item-blog><a href=https://bullshark369.org/posts/>Blog</a></li><li class=menu-item-contact><a href=https://bullshark369.org/pages/contact/>Contact</a></li></ul></div><div id=wrapper class=wrapper><div class=header><div class=menu-main><ul><li class=menu-item-home><a href=/><span>Home</span></a></li><li class=menu-item-blog><a href=/posts/><span>Blog</span></a></li><li class=menu-item-contact><a href=/pages/contact/><span>Contact</span></a></li></ul></div><div id=toggle-menu-main-mobile class=hamburger-trigger><button class=hamburger>Menu</button></div></div><div class=blog><div class=intro><h1>OPNsense</h1></div><div class=content><h2 id=opinion>Opinion</h2><p>OPNsense is built on FreeBSD which has a broken network stack. The devs are great but I can&rsquo;t recommend it. Use VyOS.
Also, having to configure 11 different areas in a website to set up a wireguard tunnel sucks compared to CLI where you just put <code>wireguard.conf</code>in <code>/etc/wireguard/</code> and run <code>wg-quick up wireguard</code>.</p></div></div><div class=footer><p class=footer-credit>@bullshark.win maintained by shark</p><div class=footer-social><div class=social-link><a href=https://github.com/bullshar-k title=GitHub target=_blank rel=noopener>GitHub</a></div><div class=social-link><a href=mailto:bullsharkgunsemail@pm.me title=Email target=_blank rel=noopener>Email</a></div><button type=button class="social-link social-copy" data-copy=@bullshar_k:matrix.org title="Copy Matrix to clipboard">
<span class=social-copy-label>Matrix</span></button></div></div><script>(function(){var e=document.querySelectorAll(".social-copy");e.forEach(function(e){e.addEventListener("click",function(){var t,o=e.getAttribute("data-copy"),n=e.querySelector(".social-copy-label, .contact-social-name"),i=n?n.textContent:e.textContent;function s(){n.textContent="Copied!",setTimeout(function(){n.textContent=i},1500)}if(navigator.clipboard&&navigator.clipboard.writeText)navigator.clipboard.writeText(o).then(s).catch(s);else{t=document.createElement("textarea"),t.value=o,document.body.appendChild(t),t.select();try{document.execCommand("copy")}catch{}document.body.removeChild(t),s()}})})})()</script></div><script type=text/javascript src=/js/bundle.min.5993fcb11c07dea925a3fbd58c03c7f1857197c35fccce3aa963a12c0b3c9960.js></script></body></html>
<!DOCTYPE html>
<html lang="en">
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>OPNsense - bullshark369.org</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" href="http://localhost:1313/favicon.png">
<link rel="canonical" href="http://localhost:1313/posts/opnsense/" />
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/assets/css/extended.css">
<meta name="description" content="Small rant"/>
<meta name="keywords" content="Nathan Buache, Test Manager, QA, Quality Assurance, Lausanne, Switzerland, Web Testing, Software Testing, QoQa"/>
<meta property="og:title" content="OPNsense - bullshark369.org"/>
<meta property="og:type" content="website"/>
<meta property="og:url" content="http://localhost:1313/posts/opnsense/"/>
<meta property="og:site_name" content="bullshark369.org"/>
<meta property="og:description" content="Small rant"/>
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:title" content="OPNsense"/>
<meta name="twitter:description" content="Small rant"/>
</head>
<body class='page page-blog-single'>
<div id="menu-main-mobile" class="menu-main-mobile">
<ul class="menu">
<li class="menu-item-home">
<a href="http://localhost:1313/">Home</a>
</li>
<li class="menu-item-blog">
<a href="http://localhost:1313/posts/">Blog</a>
</li>
<li class="menu-item-contact">
<a href="http://localhost:1313/pages/contact/">Contact</a>
</li>
</ul>
</div>
<div id="wrapper" class="wrapper">
<div class='header'>
<div class="menu-main">
<ul>
<li class="menu-item-home ">
<a href="/">
<span>Home</span>
</a>
</li>
<li class="menu-item-blog ">
<a href="/posts/">
<span>Blog</span>
</a>
</li>
<li class="menu-item-contact ">
<a href="/pages/contact/">
<span>Contact</span>
</a>
</li>
</ul>
</div>
<div id="toggle-menu-main-mobile" class="hamburger-trigger">
<button class="hamburger">Menu</button>
</div>
</div>
<div class="blog">
<div class="intro">
<h1>OPNsense</h1>
</div>
<div class="content">
<h2 id="opinion">Opinion</h2>
<p>OPNsense is built on FreeBSD which has a broken network stack. The devs are great but I can&rsquo;t recommend it. Use VyOS.
Also, having to configure 11 different areas in a website to set up a wireguard tunnel sucks compared to CLI where you just put <code>wireguard.conf</code>in <code>/etc/wireguard/</code> and run <code>wg-quick up wireguard</code>.</p>
</div>
</div>
<div class="footer">
<p class="footer-credit">@bullshark.win maintained by shark</p>
<div class="footer-social">
<div class="social-link">
<a href="https://github.com/bullshar-k" title="GitHub" target="_blank" rel="noopener">
GitHub
</a>
</div>
<div class="social-link">
<a href="mailto:bullsharkgunsemail@pm.me" title="Email" target="_blank" rel="noopener">
Email
</a>
</div>
<button type="button" class="social-link social-copy" data-copy="@bullshar_k:matrix.org" title="Copy Matrix to clipboard">
<span class="social-copy-label">Matrix</span>
</button>
</div>
</div>
<script>
(function () {
var btns = document.querySelectorAll('.social-copy');
btns.forEach(function (btn) {
btn.addEventListener('click', function () {
var text = btn.getAttribute('data-copy');
var label = btn.querySelector('.social-copy-label, .contact-social-name');
var original = label ? label.textContent : btn.textContent;
function done() {
label.textContent = 'Copied!';
setTimeout(function () { label.textContent = original; }, 1500);
}
if (navigator.clipboard && navigator.clipboard.writeText) {
navigator.clipboard.writeText(text).then(done).catch(done);
} else {
var ta = document.createElement('textarea');
ta.value = text;
document.body.appendChild(ta);
ta.select();
try { document.execCommand('copy'); } catch (e) {}
document.body.removeChild(ta);
done();
}
});
});
})();
</script>
</div>
<script type="text/javascript" src="/js/bundle.js"></script>
</body>
</html>
+214 -5
View File
@@ -1,9 +1,218 @@
<!doctype html><html lang=en><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><title>Proxmox - bullshark369.org</title><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=https://bullshark369.org/favicon.png><link rel=canonical href=https://bullshark369.org/posts/proxmox/><link rel=stylesheet href=/css/style.min.1c18def2aed6b057aa439fbec51b1d6f55f2d2d8073fe48390bceb467a226be6.css><link rel=stylesheet href=/assets/css/extended.min.64eff6070754dbd5f137b9a69ee5d178af8882fb423ebae458728838b1518560.css><meta name=description content="My great experience with proxmox on 2 different servers"><meta name=keywords content="Nathan Buache,Test Manager,QA,Quality Assurance,Lausanne,Switzerland,Web Testing,Software Testing,QoQa"><meta property="og:title" content="Proxmox - bullshark369.org"><meta property="og:type" content="website"><meta property="og:url" content="https://bullshark369.org/posts/proxmox/"><meta property="og:site_name" content="bullshark369.org"><meta property="og:description" content="My great experience with proxmox on 2 different servers"><meta name=twitter:card content="summary_large_image"><meta name=twitter:title content="Proxmox"><meta name=twitter:description content="My great experience with proxmox on 2 different servers"></head><body class='page page-blog-single'><div id=menu-main-mobile class=menu-main-mobile><ul class=menu><li class=menu-item-home><a href=https://bullshark369.org/>Home</a></li><li class=menu-item-blog><a href=https://bullshark369.org/posts/>Blog</a></li><li class=menu-item-contact><a href=https://bullshark369.org/pages/contact/>Contact</a></li></ul></div><div id=wrapper class=wrapper><div class=header><div class=menu-main><ul><li class=menu-item-home><a href=/><span>Home</span></a></li><li class=menu-item-blog><a href=/posts/><span>Blog</span></a></li><li class=menu-item-contact><a href=/pages/contact/><span>Contact</span></a></li></ul></div><div id=toggle-menu-main-mobile class=hamburger-trigger><button class=hamburger>Menu</button></div></div><div class=blog><div class=intro><h1>Proxmox</h1></div><div class=content><h2 id=opinion>Opinion</h2><p>I run proxmox on two PCs. A dell optiplex and a custom built server focused PC. The Optiplex handles my firewall and the other PC handles DNS and some other services.
Genuinely an amazing free piece of sotware. Much better than ESXi. From the networking, to the UI, to the virtualization, it is a great type 1 hypervisor.</p><h2 id=how-to>How to</h2><h3 id=flash-proxmox-onto-drive>Flash proxmox onto drive</h3><pre tabindex=0><code>sudo wipefs -af /dev/sda
<!DOCTYPE html>
<html lang="en">
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>Proxmox - bullshark369.org</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" href="http://localhost:1313/favicon.png">
<link rel="canonical" href="http://localhost:1313/posts/proxmox/" />
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/assets/css/extended.css">
<meta name="description" content="My great experience with proxmox on 2 different servers"/>
<meta name="keywords" content="Nathan Buache, Test Manager, QA, Quality Assurance, Lausanne, Switzerland, Web Testing, Software Testing, QoQa"/>
<meta property="og:title" content="Proxmox - bullshark369.org"/>
<meta property="og:type" content="website"/>
<meta property="og:url" content="http://localhost:1313/posts/proxmox/"/>
<meta property="og:site_name" content="bullshark369.org"/>
<meta property="og:description" content="My great experience with proxmox on 2 different servers"/>
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:title" content="Proxmox"/>
<meta name="twitter:description" content="My great experience with proxmox on 2 different servers"/>
</head>
<body class='page page-blog-single'>
<div id="menu-main-mobile" class="menu-main-mobile">
<ul class="menu">
<li class="menu-item-home">
<a href="http://localhost:1313/">Home</a>
</li>
<li class="menu-item-blog">
<a href="http://localhost:1313/posts/">Blog</a>
</li>
<li class="menu-item-contact">
<a href="http://localhost:1313/pages/contact/">Contact</a>
</li>
</ul>
</div>
<div id="wrapper" class="wrapper">
<div class='header'>
<div class="menu-main">
<ul>
<li class="menu-item-home ">
<a href="/">
<span>Home</span>
</a>
</li>
<li class="menu-item-blog ">
<a href="/posts/">
<span>Blog</span>
</a>
</li>
<li class="menu-item-contact ">
<a href="/pages/contact/">
<span>Contact</span>
</a>
</li>
</ul>
</div>
<div id="toggle-menu-main-mobile" class="hamburger-trigger">
<button class="hamburger">Menu</button>
</div>
</div>
<div class="blog">
<div class="intro">
<h1>Proxmox</h1>
</div>
<div class="content">
<h2 id="opinion">Opinion</h2>
<p>I run proxmox on two PCs. A dell optiplex and a custom built server focused PC. The Optiplex handles my firewall and the other PC handles DNS and some other services.
Genuinely an amazing free piece of sotware. Much better than ESXi. From the networking, to the UI, to the virtualization, it is a great type 1 hypervisor.</p>
<h2 id="how-to">How to</h2>
<h3 id="flash-proxmox-onto-drive">Flash proxmox onto drive</h3>
<pre tabindex="0"><code>sudo wipefs -af /dev/sda
sudo dd if=proxmox.iso of=/dev/sda bs=4M conv=fsync
sync &amp;&amp; sync
sudo eject /dev/sda
</code></pre><h3 id=allow-bios-to-do-things>Allow BIOS to do things</h3><ul><li>Set proxmox USB to top of boot priority</li><li>Turn off secure boot</li><li>Enable KVM & IOMMU</li><li>Enable above 4G decoding</li><li>Disable wait for F1 when errors
</code></pre><h3 id="allow-bios-to-do-things">Allow BIOS to do things</h3>
<ul>
<li>Set proxmox USB to top of boot priority</li>
<li>Turn off secure boot</li>
<li>Enable KVM &amp; IOMMU</li>
<li>Enable above 4G decoding</li>
<li>Disable wait for F1 when errors
This is really annoying, it will wait for you to press F1 if it detects an error, running it headless with no output at all will cause an error, making you have to plug
a keyboard into your server and press F1.</li><li>Disable secure boot or set to &ldquo;other os&rdquo;</li><li>Ensure secure boot allows UEFI USB boot</li></ul><h3 id=installation>Installation</h3><p>It will boot, and you literaly just answer your way through the setup prompts. Super easy.</p></div></div><div class=footer><p class=footer-credit>@bullshark.win maintained by shark</p><div class=footer-social><div class=social-link><a href=https://github.com/bullshar-k title=GitHub target=_blank rel=noopener>GitHub</a></div><div class=social-link><a href=mailto:bullsharkgunsemail@pm.me title=Email target=_blank rel=noopener>Email</a></div><button type=button class="social-link social-copy" data-copy=@bullshar_k:matrix.org title="Copy Matrix to clipboard">
<span class=social-copy-label>Matrix</span></button></div></div><script>(function(){var e=document.querySelectorAll(".social-copy");e.forEach(function(e){e.addEventListener("click",function(){var t,o=e.getAttribute("data-copy"),n=e.querySelector(".social-copy-label, .contact-social-name"),i=n?n.textContent:e.textContent;function s(){n.textContent="Copied!",setTimeout(function(){n.textContent=i},1500)}if(navigator.clipboard&&navigator.clipboard.writeText)navigator.clipboard.writeText(o).then(s).catch(s);else{t=document.createElement("textarea"),t.value=o,document.body.appendChild(t),t.select();try{document.execCommand("copy")}catch{}document.body.removeChild(t),s()}})})})()</script></div><script type=text/javascript src=/js/bundle.min.5993fcb11c07dea925a3fbd58c03c7f1857197c35fccce3aa963a12c0b3c9960.js></script></body></html>
a keyboard into your server and press F1.</li>
<li>Disable secure boot or set to &ldquo;other os&rdquo;</li>
<li>Ensure secure boot allows UEFI USB boot</li>
</ul>
<h3 id="installation">Installation</h3>
<p>It will boot, and you literaly just answer your way through the setup prompts. Super easy.</p>
</div>
</div>
<div class="footer">
<p class="footer-credit">@bullshark.win maintained by shark</p>
<div class="footer-social">
<div class="social-link">
<a href="https://github.com/bullshar-k" title="GitHub" target="_blank" rel="noopener">
GitHub
</a>
</div>
<div class="social-link">
<a href="mailto:bullsharkgunsemail@pm.me" title="Email" target="_blank" rel="noopener">
Email
</a>
</div>
<button type="button" class="social-link social-copy" data-copy="@bullshar_k:matrix.org" title="Copy Matrix to clipboard">
<span class="social-copy-label">Matrix</span>
</button>
</div>
</div>
<script>
(function () {
var btns = document.querySelectorAll('.social-copy');
btns.forEach(function (btn) {
btn.addEventListener('click', function () {
var text = btn.getAttribute('data-copy');
var label = btn.querySelector('.social-copy-label, .contact-social-name');
var original = label ? label.textContent : btn.textContent;
function done() {
label.textContent = 'Copied!';
setTimeout(function () { label.textContent = original; }, 1500);
}
if (navigator.clipboard && navigator.clipboard.writeText) {
navigator.clipboard.writeText(text).then(done).catch(done);
} else {
var ta = document.createElement('textarea');
ta.value = text;
document.body.appendChild(ta);
ta.select();
try { document.execCommand('copy'); } catch (e) {}
document.body.removeChild(ta);
done();
}
});
});
})();
</script>
</div>
<script type="text/javascript" src="/js/bundle.js"></script>
</body>
</html>
+204
View File
@@ -0,0 +1,204 @@
<!DOCTYPE html>
<html lang="en">
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>Trying to install Windows - bullshark369.org</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" href="http://localhost:1313/favicon.png">
<link rel="canonical" href="http://localhost:1313/posts/windows/" />
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/assets/css/extended.css">
<meta name="description" content="Trying and failing to install Windows"/>
<meta name="keywords" content="Nathan Buache, Test Manager, QA, Quality Assurance, Lausanne, Switzerland, Web Testing, Software Testing, QoQa"/>
<meta property="og:title" content="Trying to install Windows - bullshark369.org"/>
<meta property="og:type" content="website"/>
<meta property="og:url" content="http://localhost:1313/posts/windows/"/>
<meta property="og:site_name" content="bullshark369.org"/>
<meta property="og:description" content="Trying and failing to install Windows"/>
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:title" content="Trying to install Windows"/>
<meta name="twitter:description" content="Trying and failing to install Windows"/>
</head>
<body class='page page-blog-single'>
<div id="menu-main-mobile" class="menu-main-mobile">
<ul class="menu">
<li class="menu-item-home">
<a href="http://localhost:1313/">Home</a>
</li>
<li class="menu-item-blog">
<a href="http://localhost:1313/posts/">Blog</a>
</li>
<li class="menu-item-contact">
<a href="http://localhost:1313/pages/contact/">Contact</a>
</li>
</ul>
</div>
<div id="wrapper" class="wrapper">
<div class='header'>
<div class="menu-main">
<ul>
<li class="menu-item-home ">
<a href="/">
<span>Home</span>
</a>
</li>
<li class="menu-item-blog ">
<a href="/posts/">
<span>Blog</span>
</a>
</li>
<li class="menu-item-contact ">
<a href="/pages/contact/">
<span>Contact</span>
</a>
</li>
</ul>
</div>
<div id="toggle-menu-main-mobile" class="hamburger-trigger">
<button class="hamburger">Menu</button>
</div>
</div>
<div class="blog">
<div class="intro">
<h1>Trying to install Windows</h1>
</div>
<div class="content">
<h3 id="installing-windows-from-linux">Installing windows from Linux</h3>
<p>I attempted to install Windows on a new 512GB NVMe I bought so I can put Windows on it to play Tarkov.
Big mistake.</p>
<p>See it wants this driver to be able to sense the storage. The driver is the RAID or SATA driver from the manufactureres website. It has to be on the same drive as the installation media but if you dd the windows ISO onto the flash drive its read only. Using ventoy didn&rsquo;t help either. The driver just didn&rsquo;t work.</p>
<h3 id="giving-up-and-installing-windows-from-windows">Giving up and installing windows from windows</h3>
<p>Without using the Windows Media Installation tool you will have to install drivers from your motherboard manufacturers website. If they don&rsquo;t work you&rsquo;re screwed. I eventually gave up and used the installation tool on a windows laptop of mine. This worked fine OOB, didn&rsquo;t even need the driver. It then proceeded to be a normal windows installation and take 2 hours.
Using rufus you can automatically configure some things like a local account. Running Shift + F10 in the installer will open the command prompt and you can then type <code>oobe \\bypassnro</code>, disconnect it from any internet, then restart. Then you can click &ldquo;I don&rsquo;t have internet&rdquo; and you can make a local account.</p>
<h3 id="ctt-and-other-optimization-tools">CTT and other optimization tools</h3>
<p>I used to use CTT aka <code>irm christitus.com/win | iex</code>. I notice after about 2 years a common pattern. When I used CTT on a machine it would often blue screen, when I didn&rsquo;t it wouldn&rsquo;t. Take that for what you will but optimization tools to make Windows go from 9.5GB of background RAM usage to 9.2GB at the cost of stability isn&rsquo;t worth it to me.</p>
</div>
</div>
<div class="footer">
<p class="footer-credit">@bullshark.win maintained by shark</p>
<div class="footer-social">
<div class="social-link">
<a href="https://github.com/bullshar-k" title="GitHub" target="_blank" rel="noopener">
GitHub
</a>
</div>
<div class="social-link">
<a href="mailto:bullsharkgunsemail@pm.me" title="Email" target="_blank" rel="noopener">
Email
</a>
</div>
<button type="button" class="social-link social-copy" data-copy="@bullshar_k:matrix.org" title="Copy Matrix to clipboard">
<span class="social-copy-label">Matrix</span>
</button>
</div>
</div>
<script>
(function () {
var btns = document.querySelectorAll('.social-copy');
btns.forEach(function (btn) {
btn.addEventListener('click', function () {
var text = btn.getAttribute('data-copy');
var label = btn.querySelector('.social-copy-label, .contact-social-name');
var original = label ? label.textContent : btn.textContent;
function done() {
label.textContent = 'Copied!';
setTimeout(function () { label.textContent = original; }, 1500);
}
if (navigator.clipboard && navigator.clipboard.writeText) {
navigator.clipboard.writeText(text).then(done).catch(done);
} else {
var ta = document.createElement('textarea');
ta.value = text;
document.body.appendChild(ta);
ta.select();
try { document.execCommand('copy'); } catch (e) {}
document.body.removeChild(ta);
done();
}
});
});
})();
</script>
</div>
<script type="text/javascript" src="/js/bundle.js"></script>
</body>
</html>
+200 -4
View File
@@ -1,4 +1,117 @@
<!doctype html><html lang=en><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><title>VPS proxies with wireguard tunnels - bullshark369.org</title><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=https://bullshark369.org/favicon.png><link rel=canonical href=https://bullshark369.org/posts/wireguard/><link rel=stylesheet href=/css/style.min.1c18def2aed6b057aa439fbec51b1d6f55f2d2d8073fe48390bceb467a226be6.css><link rel=stylesheet href=/assets/css/extended.min.64eff6070754dbd5f137b9a69ee5d178af8882fb423ebae458728838b1518560.css><meta name=description content="The most private VPN is your own"><meta name=keywords content="Nathan Buache,Test Manager,QA,Quality Assurance,Lausanne,Switzerland,Web Testing,Software Testing,QoQa"><meta property="og:title" content="VPS proxies with wireguard tunnels - bullshark369.org"><meta property="og:type" content="website"><meta property="og:url" content="https://bullshark369.org/posts/wireguard/"><meta property="og:site_name" content="bullshark369.org"><meta property="og:description" content="The most private VPN is your own"><meta name=twitter:card content="summary_large_image"><meta name=twitter:title content="VPS proxies with wireguard tunnels"><meta name=twitter:description content="The most private VPN is your own"></head><body class='page page-blog-single'><div id=menu-main-mobile class=menu-main-mobile><ul class=menu><li class=menu-item-home><a href=https://bullshark369.org/>Home</a></li><li class=menu-item-blog><a href=https://bullshark369.org/posts/>Blog</a></li><li class=menu-item-contact><a href=https://bullshark369.org/pages/contact/>Contact</a></li></ul></div><div id=wrapper class=wrapper><div class=header><div class=menu-main><ul><li class=menu-item-home><a href=/><span>Home</span></a></li><li class=menu-item-blog><a href=/posts/><span>Blog</span></a></li><li class=menu-item-contact><a href=/pages/contact/><span>Contact</span></a></li></ul></div><div id=toggle-menu-main-mobile class=hamburger-trigger><button class=hamburger>Menu</button></div></div><div class=blog><div class=intro><h1>VPS proxies with wireguard tunnels</h1></div><div class=content><h2 id=quick-guide>Quick guide</h2><pre tabindex=0><code>apt update &amp;&amp; apt upgrade
<!DOCTYPE html>
<html lang="en">
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>VPS proxies with wireguard tunnels - bullshark369.org</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" href="http://localhost:1313/favicon.png">
<link rel="canonical" href="http://localhost:1313/posts/wireguard/" />
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/assets/css/extended.css">
<meta name="description" content="The most private VPN is your own"/>
<meta name="keywords" content="Nathan Buache, Test Manager, QA, Quality Assurance, Lausanne, Switzerland, Web Testing, Software Testing, QoQa"/>
<meta property="og:title" content="VPS proxies with wireguard tunnels - bullshark369.org"/>
<meta property="og:type" content="website"/>
<meta property="og:url" content="http://localhost:1313/posts/wireguard/"/>
<meta property="og:site_name" content="bullshark369.org"/>
<meta property="og:description" content="The most private VPN is your own"/>
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:title" content="VPS proxies with wireguard tunnels"/>
<meta name="twitter:description" content="The most private VPN is your own"/>
</head>
<body class='page page-blog-single'>
<div id="menu-main-mobile" class="menu-main-mobile">
<ul class="menu">
<li class="menu-item-home">
<a href="http://localhost:1313/">Home</a>
</li>
<li class="menu-item-blog">
<a href="http://localhost:1313/posts/">Blog</a>
</li>
<li class="menu-item-contact">
<a href="http://localhost:1313/pages/contact/">Contact</a>
</li>
</ul>
</div>
<div id="wrapper" class="wrapper">
<div class='header'>
<div class="menu-main">
<ul>
<li class="menu-item-home ">
<a href="/">
<span>Home</span>
</a>
</li>
<li class="menu-item-blog ">
<a href="/posts/">
<span>Blog</span>
</a>
</li>
<li class="menu-item-contact ">
<a href="/pages/contact/">
<span>Contact</span>
</a>
</li>
</ul>
</div>
<div id="toggle-menu-main-mobile" class="hamburger-trigger">
<button class="hamburger">Menu</button>
</div>
</div>
<div class="blog">
<div class="intro">
<h1>VPS proxies with wireguard tunnels</h1>
</div>
<div class="content">
<h2 id="quick-guide">Quick guide</h2>
<pre tabindex="0"><code>apt update &amp;&amp; apt upgrade
apt install wireguard-tools git go iptables
git clone https://github.com/bullshar-k/wgconf
cd wgconf
@@ -7,10 +120,93 @@ go build main.go
mv server.conf /etc/wireguard
wg-quick up server
</code></pre><p>From there you move the client 1-10 onto the appropriate clients and use wg-quick up on them too.
Depending on your VPS you may need traffic forwarding post up rules like this;</p><pre tabindex=0><code>PostUp = iptables -A FORWARD -i server -j ACCEPT
Depending on your VPS you may need traffic forwarding post up rules like this;</p>
<pre tabindex="0"><code>PostUp = iptables -A FORWARD -i server -j ACCEPT
PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i server -j ACCEPT
PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
</code></pre><p><em>If it isn&rsquo;t apparent this goes in the <code>[INTERFACE]</code> section after the interface info before the first <code>[PEER]</code>
Ensure <code>server</code> is the name of the .conf file as that will be the name of the interface, and <code>eth0</code> is the name of your WAN facing NIC interface.</em></p></div></div><div class=footer><p class=footer-credit>@bullshark.win maintained by shark</p><div class=footer-social><div class=social-link><a href=https://github.com/bullshar-k title=GitHub target=_blank rel=noopener>GitHub</a></div><div class=social-link><a href=mailto:bullsharkgunsemail@pm.me title=Email target=_blank rel=noopener>Email</a></div><button type=button class="social-link social-copy" data-copy=@bullshar_k:matrix.org title="Copy Matrix to clipboard">
<span class=social-copy-label>Matrix</span></button></div></div><script>(function(){var e=document.querySelectorAll(".social-copy");e.forEach(function(e){e.addEventListener("click",function(){var t,o=e.getAttribute("data-copy"),n=e.querySelector(".social-copy-label, .contact-social-name"),i=n?n.textContent:e.textContent;function s(){n.textContent="Copied!",setTimeout(function(){n.textContent=i},1500)}if(navigator.clipboard&&navigator.clipboard.writeText)navigator.clipboard.writeText(o).then(s).catch(s);else{t=document.createElement("textarea"),t.value=o,document.body.appendChild(t),t.select();try{document.execCommand("copy")}catch{}document.body.removeChild(t),s()}})})})()</script></div><script type=text/javascript src=/js/bundle.min.5993fcb11c07dea925a3fbd58c03c7f1857197c35fccce3aa963a12c0b3c9960.js></script></body></html>
Ensure <code>server</code> is the name of the .conf file as that will be the name of the interface, and <code>eth0</code> is the name of your WAN facing NIC interface.</em></p>
</div>
</div>
<div class="footer">
<p class="footer-credit">@bullshark.win maintained by shark</p>
<div class="footer-social">
<div class="social-link">
<a href="https://github.com/bullshar-k" title="GitHub" target="_blank" rel="noopener">
GitHub
</a>
</div>
<div class="social-link">
<a href="mailto:bullsharkgunsemail@pm.me" title="Email" target="_blank" rel="noopener">
Email
</a>
</div>
<button type="button" class="social-link social-copy" data-copy="@bullshar_k:matrix.org" title="Copy Matrix to clipboard">
<span class="social-copy-label">Matrix</span>
</button>
</div>
</div>
<script>
(function () {
var btns = document.querySelectorAll('.social-copy');
btns.forEach(function (btn) {
btn.addEventListener('click', function () {
var text = btn.getAttribute('data-copy');
var label = btn.querySelector('.social-copy-label, .contact-social-name');
var original = label ? label.textContent : btn.textContent;
function done() {
label.textContent = 'Copied!';
setTimeout(function () { label.textContent = original; }, 1500);
}
if (navigator.clipboard && navigator.clipboard.writeText) {
navigator.clipboard.writeText(text).then(done).catch(done);
} else {
var ta = document.createElement('textarea');
ta.value = text;
document.body.appendChild(ta);
ta.select();
try { document.execCommand('copy'); } catch (e) {}
document.body.removeChild(ta);
done();
}
});
});
})();
</script>
</div>
<script type="text/javascript" src="/js/bundle.js"></script>
</body>
</html>
+54 -1
View File
@@ -1 +1,54 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>https://bullshark369.org/about/</loc><lastmod>2026-08-05T00:00:00+00:00</lastmod></url><url><loc>https://bullshark369.org/posts/</loc><lastmod>2026-08-05T00:00:00+00:00</lastmod></url><url><loc>https://bullshark369.org/</loc><lastmod>2026-08-05T00:00:00+00:00</lastmod></url><url><loc>https://bullshark369.org/pages/contact/</loc><lastmod>2026-08-05T00:00:00+00:00</lastmod></url><url><loc>https://bullshark369.org/posts/caddy/</loc><lastmod>2026-08-05T00:00:00+00:00</lastmod></url><url><loc>https://bullshark369.org/pages/</loc><lastmod>2026-08-05T00:00:00+00:00</lastmod></url><url><loc>https://bullshark369.org/posts/wireguard/</loc><lastmod>2026-07-25T00:00:00+00:00</lastmod></url><url><loc>https://bullshark369.org/posts/monero/</loc><lastmod>2026-07-24T00:00:00+00:00</lastmod></url><url><loc>https://bullshark369.org/posts/benchmark/</loc><lastmod>2026-07-21T00:00:00+00:00</lastmod></url><url><loc>https://bullshark369.org/posts/adguard/</loc><lastmod>2026-06-28T00:00:00+00:00</lastmod></url><url><loc>https://bullshark369.org/posts/opnsense/</loc><lastmod>2026-06-19T00:00:00+00:00</lastmod></url><url><loc>https://bullshark369.org/posts/proxmox/</loc><lastmod>2026-06-19T00:00:00+00:00</lastmod></url><url><loc>https://bullshark369.org/posts/linux/</loc><lastmod>2026-02-01T00:00:00+00:00</lastmod></url><url><loc>https://bullshark369.org/categories/</loc></url><url><loc>https://bullshark369.org/tags/</loc></url></urlset>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>http://localhost:1313/posts/</loc>
<lastmod>2026-08-08T00:00:00+00:00</lastmod>
</url><url>
<loc>http://localhost:1313/</loc>
<lastmod>2026-08-08T00:00:00+00:00</lastmod>
</url><url>
<loc>http://localhost:1313/posts/windows/</loc>
<lastmod>2026-08-08T00:00:00+00:00</lastmod>
</url><url>
<loc>http://localhost:1313/about/</loc>
<lastmod>2026-08-05T00:00:00+00:00</lastmod>
</url><url>
<loc>http://localhost:1313/pages/contact/</loc>
<lastmod>2026-08-05T00:00:00+00:00</lastmod>
</url><url>
<loc>http://localhost:1313/posts/caddy/</loc>
<lastmod>2026-08-05T00:00:00+00:00</lastmod>
</url><url>
<loc>http://localhost:1313/pages/</loc>
<lastmod>2026-08-05T00:00:00+00:00</lastmod>
</url><url>
<loc>http://localhost:1313/posts/bgp/</loc>
<lastmod>2026-08-03T00:00:00+00:00</lastmod>
</url><url>
<loc>http://localhost:1313/posts/wireguard/</loc>
<lastmod>2026-07-25T00:00:00+00:00</lastmod>
</url><url>
<loc>http://localhost:1313/posts/monero/</loc>
<lastmod>2026-07-24T00:00:00+00:00</lastmod>
</url><url>
<loc>http://localhost:1313/posts/benchmark/</loc>
<lastmod>2026-07-21T00:00:00+00:00</lastmod>
</url><url>
<loc>http://localhost:1313/posts/adguard/</loc>
<lastmod>2026-06-28T00:00:00+00:00</lastmod>
</url><url>
<loc>http://localhost:1313/posts/opnsense/</loc>
<lastmod>2026-06-19T00:00:00+00:00</lastmod>
</url><url>
<loc>http://localhost:1313/posts/proxmox/</loc>
<lastmod>2026-06-19T00:00:00+00:00</lastmod>
</url><url>
<loc>http://localhost:1313/posts/linux/</loc>
<lastmod>2026-02-01T00:00:00+00:00</lastmod>
</url><url>
<loc>http://localhost:1313/categories/</loc>
</url><url>
<loc>http://localhost:1313/tags/</loc>
</url>
</urlset>
+192 -2
View File
@@ -1,2 +1,192 @@
<!doctype html><html lang=en><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><title>Tags - bullshark369.org</title><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=https://bullshark369.org/favicon.png><link rel=canonical href=https://bullshark369.org/tags/><link rel=stylesheet href=/css/style.min.1c18def2aed6b057aa439fbec51b1d6f55f2d2d8073fe48390bceb467a226be6.css><link rel=stylesheet href=/assets/css/extended.min.64eff6070754dbd5f137b9a69ee5d178af8882fb423ebae458728838b1518560.css><meta name=keywords content="Nathan Buache,Test Manager,QA,Quality Assurance,Lausanne,Switzerland,Web Testing,Software Testing,QoQa"><meta property="og:title" content="Tags - bullshark369.org"><meta property="og:type" content="website"><meta property="og:url" content="https://bullshark369.org/tags/"><meta property="og:site_name" content="bullshark369.org"><meta property="og:description" content="Test Manager based in Lausanne, Switzerland. QA specialist sharing insights on testing, technology, and quality assurance."><meta name=twitter:card content="summary_large_image"><meta name=twitter:title content="Tags"></head><body class='page page-default-list'><div id=menu-main-mobile class=menu-main-mobile><ul class=menu><li class=menu-item-home><a href=https://bullshark369.org/>Home</a></li><li class=menu-item-blog><a href=https://bullshark369.org/posts/>Blog</a></li><li class=menu-item-contact><a href=https://bullshark369.org/pages/contact/>Contact</a></li></ul></div><div id=wrapper class=wrapper><div class=header><div class=menu-main><ul><li class=menu-item-home><a href=/><span>Home</span></a></li><li class=menu-item-blog><a href=/posts/><span>Blog</span></a></li><li class=menu-item-contact><a href=/pages/contact/><span>Contact</span></a></li></ul></div><div id=toggle-menu-main-mobile class=hamburger-trigger><button class=hamburger>Menu</button></div></div><div class=intro><h1>Tags</h1></div><div class=footer><p class=footer-credit>@bullshark.win maintained by shark</p><div class=footer-social><div class=social-link><a href=https://github.com/bullshar-k title=GitHub target=_blank rel=noopener>GitHub</a></div><div class=social-link><a href=mailto:bullsharkgunsemail@pm.me title=Email target=_blank rel=noopener>Email</a></div><button type=button class="social-link social-copy" data-copy=@bullshar_k:matrix.org title="Copy Matrix to clipboard">
<span class=social-copy-label>Matrix</span></button></div></div><script>(function(){var e=document.querySelectorAll(".social-copy");e.forEach(function(e){e.addEventListener("click",function(){var t,o=e.getAttribute("data-copy"),n=e.querySelector(".social-copy-label, .contact-social-name"),i=n?n.textContent:e.textContent;function s(){n.textContent="Copied!",setTimeout(function(){n.textContent=i},1500)}if(navigator.clipboard&&navigator.clipboard.writeText)navigator.clipboard.writeText(o).then(s).catch(s);else{t=document.createElement("textarea"),t.value=o,document.body.appendChild(t),t.select();try{document.execCommand("copy")}catch{}document.body.removeChild(t),s()}})})})()</script></div><script type=text/javascript src=/js/bundle.min.5993fcb11c07dea925a3fbd58c03c7f1857197c35fccce3aa963a12c0b3c9960.js></script></body></html>
<!DOCTYPE html>
<html lang="en">
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>Tags - bullshark369.org</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" href="http://localhost:1313/favicon.png">
<link rel="canonical" href="http://localhost:1313/tags/" />
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/assets/css/extended.css">
<meta name="keywords" content="Nathan Buache, Test Manager, QA, Quality Assurance, Lausanne, Switzerland, Web Testing, Software Testing, QoQa"/>
<meta property="og:title" content="Tags - bullshark369.org"/>
<meta property="og:type" content="website"/>
<meta property="og:url" content="http://localhost:1313/tags/"/>
<meta property="og:site_name" content="bullshark369.org"/>
<meta property="og:description" content="Test Manager based in Lausanne, Switzerland. QA specialist sharing insights on testing, technology, and quality assurance."/>
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:title" content="Tags"/>
</head>
<body class='page page-default-list'>
<div id="menu-main-mobile" class="menu-main-mobile">
<ul class="menu">
<li class="menu-item-home">
<a href="http://localhost:1313/">Home</a>
</li>
<li class="menu-item-blog">
<a href="http://localhost:1313/posts/">Blog</a>
</li>
<li class="menu-item-contact">
<a href="http://localhost:1313/pages/contact/">Contact</a>
</li>
</ul>
</div>
<div id="wrapper" class="wrapper">
<div class='header'>
<div class="menu-main">
<ul>
<li class="menu-item-home ">
<a href="/">
<span>Home</span>
</a>
</li>
<li class="menu-item-blog ">
<a href="/posts/">
<span>Blog</span>
</a>
</li>
<li class="menu-item-contact ">
<a href="/pages/contact/">
<span>Contact</span>
</a>
</li>
</ul>
</div>
<div id="toggle-menu-main-mobile" class="hamburger-trigger">
<button class="hamburger">Menu</button>
</div>
</div>
<div class="intro">
<h1>Tags</h1>
</div>
<div class="footer">
<p class="footer-credit">@bullshark.win maintained by shark</p>
<div class="footer-social">
<div class="social-link">
<a href="https://github.com/bullshar-k" title="GitHub" target="_blank" rel="noopener">
GitHub
</a>
</div>
<div class="social-link">
<a href="mailto:bullsharkgunsemail@pm.me" title="Email" target="_blank" rel="noopener">
Email
</a>
</div>
<button type="button" class="social-link social-copy" data-copy="@bullshar_k:matrix.org" title="Copy Matrix to clipboard">
<span class="social-copy-label">Matrix</span>
</button>
</div>
</div>
<script>
(function () {
var btns = document.querySelectorAll('.social-copy');
btns.forEach(function (btn) {
btn.addEventListener('click', function () {
var text = btn.getAttribute('data-copy');
var label = btn.querySelector('.social-copy-label, .contact-social-name');
var original = label ? label.textContent : btn.textContent;
function done() {
label.textContent = 'Copied!';
setTimeout(function () { label.textContent = original; }, 1500);
}
if (navigator.clipboard && navigator.clipboard.writeText) {
navigator.clipboard.writeText(text).then(done).catch(done);
} else {
var ta = document.createElement('textarea');
ta.value = text;
document.body.appendChild(ta);
ta.select();
try { document.execCommand('copy'); } catch (e) {}
document.body.removeChild(ta);
done();
}
});
});
})();
</script>
</div>
<script type="text/javascript" src="/js/bundle.js"></script>
</body>
</html>
+15 -1
View File
@@ -1 +1,15 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Tags on bullshark369.org</title><link>https://bullshark369.org/tags/</link><description>Recent content in Tags on bullshark369.org</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://bullshark369.org/tags/index.xml" rel="self" type="application/rss+xml"/></channel></rss>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Tags on bullshark369.org</title>
<link>http://localhost:1313/tags/</link>
<description>Recent content in Tags on bullshark369.org</description>
<generator>Hugo</generator>
<language>en-us</language>
<atom:link href="http://localhost:1313/tags/index.xml" rel="self" type="application/rss+xml" />
</channel>
</rss>