1
0
Fork 0
This commit is contained in:
Lethe Beltane 2022-12-31 12:43:57 -06:00
parent b6d382f15c
commit a51ff6dd6b
Signed by: lethe
GPG key ID: 21A3DA3DE29CB63C
44 changed files with 103 additions and 1530 deletions

0
.domains Normal file → Executable file
View file

View file

@ -48,11 +48,11 @@ docker run --rm -v ~/Solid:/data -p 3344:3000 -it solidproject/community-server:
<p>After that, I went to try some apps again. I was able to log in with the <a href="https://otto-aa.github.io/solid-filemanager/">Solid file manager</a>, but because I had been using the localhost IP when I created my user in the web interface, the file manager kept throwing errors. I had to delete all my data and start over from the beginning. And by delete all my data, I mean running <code>sudo rm -rf ~/Solid/*</code>, deleting the Docker images, and then re-downloading the Docker images. Turns out this is a <a href="https://web.archive.org/web/20221123022111/https://github.com/CommunitySolidServer/CommunitySolidServer/issues/1394">known problem</a> that the developers don't feel like solving at the moment:</p> <p>After that, I went to try some apps again. I was able to log in with the <a href="https://otto-aa.github.io/solid-filemanager/">Solid file manager</a>, but because I had been using the localhost IP when I created my user in the web interface, the file manager kept throwing errors. I had to delete all my data and start over from the beginning. And by delete all my data, I mean running <code>sudo rm -rf ~/Solid/*</code>, deleting the Docker images, and then re-downloading the Docker images. Turns out this is a <a href="https://web.archive.org/web/20221123022111/https://github.com/CommunitySolidServer/CommunitySolidServer/issues/1394">known problem</a> that the developers don't feel like solving at the moment:</p>
<blockquote>The account system is still quite rudimentary and does not include account deletion yet. To delete the accounts on your server you would have to delete the <code>.internal/accounts/</code> folder on your disk.</blockquote> <blockquote>The account system is still quite rudimentary and does not include account deletion yet. To delete the accounts on your server you would have to delete the <code>.internal/accounts/</code> folder on your disk.</blockquote>
<p>After the full reset, the file manager then worked as intended, and I was able to create folders and upload files.</p> <p>After the full reset, the file manager then worked as intended, and I was able to create folders and upload files.</p>
<p class="center"><img src="../../../img/asuka_on_web3.png" alt="screenshot of a browser showing an image of Asuka eating a Happy Meal" /></p> <p class="center"><img class="big" src="../../../img/asuka_on_web3.png" alt="screenshot of a browser showing an image of Asuka eating a Happy Meal" /></p>
<p>I thought about self-hosting the file manager, but I looked at the <a href="https://web.archive.org/web/20221123020213/https://github.com/Otto-AA/solid-filemanager">Git repo</a>, and apparently it's unmaintained:</p> <p>I thought about self-hosting the file manager, but I looked at the <a href="https://web.archive.org/web/20221123020213/https://github.com/Otto-AA/solid-filemanager">Git repo</a>, and apparently it's unmaintained:</p>
<blockquote>NOTE: This project has no active maintainer. It may or may not be working, and from time to time stuff will probably get fixed.</blockquote> <blockquote>NOTE: This project has no active maintainer. It may or may not be working, and from time to time stuff will probably get fixed.</blockquote>
<p>As for alternatives, <a href="https://archive.ph/s82eL">Penny</a> and <a href="https://web.archive.org/web/20221123023441/https://github.com/jeff-zucker/solid-content-manager">Solid IDE</a> are actively maintained, and the UI for Penny is nicer. But Penny constantly sends HTTP requests every time you do <em>anything</em> in the window, which could easily overwhelm a server if you have more than a few Pods hosted on it, and the hosted instance of Solid IDE linked in the Solid app listing 404s, so I couldn't test it.</p> <p>As for alternatives, <a href="https://archive.ph/s82eL">Penny</a> and <a href="https://web.archive.org/web/20221123023441/https://github.com/jeff-zucker/solid-content-manager">Solid IDE</a> are actively maintained, and the UI for Penny is nicer. But Penny constantly sends HTTP requests every time you do <em>anything</em> in the window, which could easily overwhelm a server if you have more than a few Pods hosted on it, and the hosted instance of Solid IDE linked in the Solid app listing 404s, so I couldn't test it.</p>
<p class="center"><img src="../../../img/jett_via_penny.png" alt="screenshot of Penny showing an image" /></p> <p class="center"><img class="big" src="../../../img/jett_via_penny.png" alt="screenshot of Penny showing an image" /></p>
<p>I thought about <a href="https://archive.ph/UEf0r">deploying Plume</a> on my Pod since my whole reason for exploring web3 is to find new and creative ways to host my website, but the guide links to <a href="https://web.archive.org/web/20221123020854/https://github.com/happybeing/solid-plume/releases">an empty Releases page</a> on a <a href="https://web.archive.org/web/20221123020600/https://github.com/happybeing/solid-plume">Github repo that's been abandoned since early last year</a>. Not exactly reassuring.</p> <p>I thought about <a href="https://archive.ph/UEf0r">deploying Plume</a> on my Pod since my whole reason for exploring web3 is to find new and creative ways to host my website, but the guide links to <a href="https://web.archive.org/web/20221123020854/https://github.com/happybeing/solid-plume/releases">an empty Releases page</a> on a <a href="https://web.archive.org/web/20221123020600/https://github.com/happybeing/solid-plume">Github repo that's been abandoned since early last year</a>. Not exactly reassuring.</p>
<p>Next on my list of apps to try was <a href="https://archive.ph/oJb3P">Notepod</a>, a notepad application (also with an abandoned Git repo, this time from 2020). But after I entered the URL of my Solid provider (solid.letsdecentralize.org) and clicked "go"... nothing happened. Docker showed a few HTTP requests were being made every time I clicked "go":</p> <p>Next on my list of apps to try was <a href="https://archive.ph/oJb3P">Notepod</a>, a notepad application (also with an abandoned Git repo, this time from 2020). But after I entered the URL of my Solid provider (solid.letsdecentralize.org) and clicked "go"... nothing happened. Docker showed a few HTTP requests were being made every time I clicked "go":</p>
<pre> <pre>
@ -94,10 +94,10 @@ docker run --rm -v ~/Solid:/data -p 3344:3000 -it solidproject/community-server:
</ol> </ol>
<p>And here I was, saying that I wouldn't do free labor for cryptobros... Payment for the editing is welcome, PokedStudio. Fiat only. <a href="../../../identity/index.html">You know where to contact me.</a></p> <p>And here I was, saying that I wouldn't do free labor for cryptobros... Payment for the editing is welcome, PokedStudio. Fiat only. <a href="../../../identity/index.html">You know where to contact me.</a></p>
<p>If you want to do something other than buy expensive images, there are nine projects in the "Social" category. As my patience was starting to wear thin, I decided to try the first one listed: a Reddit clone named <a href="https://dscvr.one/">DSCVR</a>. But I wanted to be prepared before I dove in, so I went to the "Wallet" category and installed the first one listed, <a href="https://archive.ph/nztaK">Plug</a>. I mean, if web3 is all about cryptocurrency, then it makes sense that you'd need a wallet, right? I clicked on the extension icon once it popped up by the address bar, and I was immediately met with this sleep paralysis demon:</p> <p>If you want to do something other than buy expensive images, there are nine projects in the "Social" category. As my patience was starting to wear thin, I decided to try the first one listed: a Reddit clone named <a href="https://dscvr.one/">DSCVR</a>. But I wanted to be prepared before I dove in, so I went to the "Wallet" category and installed the first one listed, <a href="https://archive.ph/nztaK">Plug</a>. I mean, if web3 is all about cryptocurrency, then it makes sense that you'd need a wallet, right? I clicked on the extension icon once it popped up by the address bar, and I was immediately met with this sleep paralysis demon:</p>
<p class="center"><img src="../../../img/plug1.png" alt="screenshot of a creepy plug mascot with the text 'create password for Plug' underneath" /></p> <p class="center"><img class="big" src="../../../img/plug1.png" alt="screenshot of a creepy plug mascot with the text 'create password for Plug' underneath" /></p>
<p>(For those not familiar with zoomerspeak, "frfr" is short for "for real, for real".)</p> <p>(For those not familiar with zoomerspeak, "frfr" is short for "for real, for real".)</p>
<p>It prompted me to create a password, so I gave it a fourteen-word-long passphrase made in KeePassXC. Then it gave me a recovery phrase to backup... and whatever the hell this is:</p> <p>It prompted me to create a password, so I gave it a fourteen-word-long passphrase made in KeePassXC. Then it gave me a recovery phrase to backup... and whatever the hell this is:</p>
<p class="center"><img src="../../../img/plug2.png" alt="screenshot of a creepy plug mascot saying 'keep this sh*t safe, forreal'" /></p> <p class="center"><img class="big" src="../../../img/plug2.png" alt="screenshot of a creepy plug mascot saying 'keep this sh*t safe, forreal'" /></p>
<p>I get the feeling that the people at Fleek (the company that made Plug) don't take professionalism very seriously. Which is all good and fine when you're a Broke Dumbass like me who just wants to snark at everything, but when you're a company dealing with financial assets... well, a mascot with a creepy face who swears at you during the onboarding process doesn't exactly reassure the user that the company won't lose all the customer's assets.</p> <p>I get the feeling that the people at Fleek (the company that made Plug) don't take professionalism very seriously. Which is all good and fine when you're a Broke Dumbass like me who just wants to snark at everything, but when you're a company dealing with financial assets... well, a mascot with a creepy face who swears at you during the onboarding process doesn't exactly reassure the user that the company won't lose all the customer's assets.</p>
<p>Once I'd suffered all the way through the Plug setup, I went back to DSCVR, now ready to sign in. The homepage immediately blasted me with a post where... <a href="https://archive.ph/orEH0">Christians were arguing over whether Christ had a vagina</a>. (DSCVR also seems quite hostile to being archived by both the Wayback Machine and archive.md.) I was expecting the usual NFT hype to clog every post, but this time I had to actually scroll for it. I'm still not sure if I'd prefer the NFTs or not.</p> <p>Once I'd suffered all the way through the Plug setup, I went back to DSCVR, now ready to sign in. The homepage immediately blasted me with a post where... <a href="https://archive.ph/orEH0">Christians were arguing over whether Christ had a vagina</a>. (DSCVR also seems quite hostile to being archived by both the Wayback Machine and archive.md.) I was expecting the usual NFT hype to clog every post, but this time I had to actually scroll for it. I'm still not sure if I'd prefer the NFTs or not.</p>
<p>On your first visit, a welcome popup appears offering a site tour. Page one of the tour (there are six in total) is about receiving NFT airdrops... and so is page three. Page five says you can make <del>subreddits</del> "portals", and then paywall them by requiring certain NFTs to visit. I don't have any NFTs, and I don't have any interest in <a href="../../2021/december/copywrong.html">paywalling my content</a>, but I forged ahead to the login page anyway.</p> <p>On your first visit, a welcome popup appears offering a site tour. Page one of the tour (there are six in total) is about receiving NFT airdrops... and so is page three. Page five says you can make <del>subreddits</del> "portals", and then paywall them by requiring certain NFTs to visit. I don't have any NFTs, and I don't have any interest in <a href="../../2021/december/copywrong.html">paywalling my content</a>, but I forged ahead to the login page anyway.</p>

View file

@ -0,0 +1,41 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Uterus Pin Perler Bead Pattern - Archive - MayVaneDay Studios</title>
<link href="../../../style.css" rel="stylesheet" type="text/css" media="all">
<meta name="author" content="Vane Vander">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body class="mayvaneday">
<article>
<div class="box">
<h1>Uterus Pin Perler Bead Pattern</h1>
<p>published: 2023-01-01</p>
</div>
<hr>
<div class="box">
<p>Something was wrong with the milk machines at Hell College. Skim milk tasted like literal cow water, and the 2% milk made me want to puke. The chocolate milk dispenser was alright, but since my main source of milk meal-wise during my stay at Hell College was at breakfast for cereal, that would have been <em>too</em> much sugar at once for my poor body.</p>
<p>Thankfully, due to the high volume of lactose-intolerant and vegan students on campus, there was a regularly-restocked soy milk dispenser. It was delicious, which is a shame because I don't remember what brand it was and I have yet to find soy milk that tastes just as smooth. The cooks- and even a campus administrator once- ran out of the kitchen multiple times during my year there to yell at me for taking so much. I think once they purposely didn't refill the damn thing until noon because they knew I was coming to drink it all at breakfast. So, just for that morning, I was forced to use the almond milk dispenser instead. Maybe it was starting to go bad, or maybe almond milk just naturally tastes <em>rancid</em>, but I never tried that again.</p>
<p align="center"><img class="big" src="../../../img/AlmondMilkMeme.jpg" alt="meme where a dude does an online quiz to tell him what the next five years are like, and 2019-2022 is a bunch of pictures of Hell and 2023 is a meme about almond milk" /></p>
<p>Which is why, when I look at the calendar and see that the Year of the Almond Milk is upon us, my hope is that it means this is the year where I close the loopholes that men keep using to cause me pain, just like how I eventually stopped eating cereal at Hell College so the cooks would stop threatening to beat my ass for the crime of... drinking milk. (Have you ever had hash browns covered in hot sauce at six in the morning? Religious experience right there. Highly recommended. Alternatively, get a bunch of noodles in alfredo sauce in a take-out box, put some chicken tenders on top, and let it sit in the fridge overnight. The food is the only thing I really miss about Hell College.)</p>
<p>Dammit, I'm digressing again.</p>
<p>Wanna know one thing the cooks <em>didn't</em> do? Keep harassing me after I left Hell College. Exactly zero of the cooks stalked me after I left the campus and never returned. Not a single one gave me unsolicited passive-aggressive "career advice". <strong>Not a single one sicced their friends on me to leave nasty misogynistic screeds in my inbox, email or IRL, after I got COVID-19.</strong> I can't think of a single one who went out of their way to bypass my elaborate server filters just to tell me to kill myself. (I wish Zoho's web admin panel had an <em>actual</em> mobile version. Too much pinching and zooming for my bleary eyes.) I left Hell College, and they forgot about me, and we went our separate ways. Maybe it helped that all the cooks I remember were female. I mean, Ovarit was <a href="../../2022/october/ovarit.html">full of shitty people</a>, but I haven't received even a single <em>peep</em> of harassment from them since I left. I wish I knew exactly what it is about the Y chromosome that makes men <a href="https://archive.md/tHVeh">Behave Like That</a>.<!-- https://www.tumblr.com/r4dioe/704642314862215168 --></p>
<p>So, as the first post of the Year of the Almond Milk on this blog, let me remind everyone who this website is <em>really</em> for: on Christmas, instead of pretending to be a Christian, I sat in my grandmother's basement and designed from scratch a uterus pin. There were existing designs already on the Internet, but they were either too simplistic or too oblong and likely to have dangling pieces chip off when actually used as a pin.</p>
<p>I don't have a PO box to ship these from, so I currently have no way of safely selling them on Etsy... so apologies if you wanted one Certifiably Made By A Madwoman. As recompense for a crime not committed, here's the pattern. Use the "mini" bead size for these. Good luck, have fun, and may your first womynstruation in the Year of the Almond Milk be light and pain-free.</p>
<p align="center"><img class="big" src="../../../img/UterusPin1.png" /></p>
<p align="center"><img class="big" src="../../../img/UterusPin2.png" /></p>
<p align="center"><img class="big" src="../../../img/UterusPin3.png" /></p>
</div>
<hr>
<div class="box">
<p align=right>CC BY-NC-SA 4.0 &copy; Vane Vander</p>
</div>
</article>
<script data-goatcounter="https://stats.letsdecentralize.org/count"
async src="//stats.letsdecentralize.org/count.js"></script>
<noscript>
<img src="https://stats.letsdecentralize.org/count?p=/blog/2023/january/UterusPin.html">
</noscript>
</body>
</html>

View file

@ -15,6 +15,12 @@
<p>The list items marked with a star are the posts I feel are the most written and should be considered a kind of "greatest hits".</p> <p>The list items marked with a star are the posts I feel are the most written and should be considered a kind of "greatest hits".</p>
</div> </div>
<hr> <hr>
<div class="box">
<h2>2023</h2>
<ul>
<li>January 1 - <a href="./2023/january/UterusPin.html">Uterus Pin Perler Bead Pattern</a></li>
</ul>
</div>
<div class="box"> <div class="box">
<h2>2022</h2> <h2>2022</h2>
<ul> <ul>

View file

@ -1,5 +1,7 @@
# MayVaneDay ASS (https://tilde.town/~dzwdz/ass/) feed # MayVaneDay ASS (https://tilde.town/~dzwdz/ass/) feed
2023-01-01 https://mayvaneday.org/blog/2023/january/UterusPin.html Uterus Pin Perler Bead Pattern
2023-01-01 https://mayvaneday.org/poetry/z/zircons_beacon.txt ZIRCON'S BEACON
2022-12-07 https://mayvaneday.org/blog/2022/december/web3-2.html Broke Dumbass Attempts To Web3 Again 2022-12-07 https://mayvaneday.org/blog/2022/december/web3-2.html Broke Dumbass Attempts To Web3 Again
2022-11-22 https://mayvaneday.org/blog/2022/november/asking.html It's insane, the things you can get simply by asking 2022-11-22 https://mayvaneday.org/blog/2022/november/asking.html It's insane, the things you can get simply by asking
2022-11-01 https://mayvaneday.org/blog/2022/november/ld.html Woman who would have been revered prophetess 4,000 years ago now relegated to clicking links, opening tabs 2022-11-01 https://mayvaneday.org/blog/2022/november/ld.html Woman who would have been revered prophetess 4,000 years ago now relegated to clicking links, opening tabs

View file

@ -1,33 +0,0 @@
# Rooting the Samsung Galaxy Note 3 (Verizon) and installing LineageOS
## Stuff you need
=> https://download.lineageos.org/hltetmo The latest LineageOS recovery file
=> https://download.lineageos.org/hltetmo The latest LineageOS ROM file
=> https://androidfilehost.com/?fid=4349826312261712202 This very specific version of the Odin image flashing tool
=> https://developer.samsung.com/android-usb-driver Samsung Android USB Driver
=> https://ipfs.letsdecentralize.org/ipfs/QmNhEPB2oCAmkwM7rD6bN2EhmXxVTRZKxLckRh7DHAZnNf ArabicToolApp.exe (ignore virus warnings. Of course an Android exploit is going to be classified as "malware")
=> https://web.archive.org/web/20221010233203/https://forum.xda-developers.com/t/official-note-3-verizon-bootloader-unlock.3359370/ Note 3 Verizon Bootloader Unlock
### If some of the links are broken, try these mirrors
=> ../../dl/hltevzw/Odin_3.13.1.zip Odin image flashing tool
=> ipfs://QmaBWnbqJsWMFXS8aDspWsga7s3MtH7Gt3xF5sfKL6qGxr Odin image flashing tool (IPFS)
=> ipfs://QmaRn2E65XPT1YHFXL5qkMeWdgd7MwnNCtWzmQQtgWguNR Note 3 Verizon Bootloader Unlock script (IPFS)
=> ipfs://QmNhEPB2oCAmkwM7rD6bN2EhmXxVTRZKxLckRh7DHAZnNf ArabicToolApp.exe (IPFS)
### Also:
* a machine running Windows 10 (a VM will likely not work)
* the Note 3 has to be running build version "OB6" (not "SEPL")
* a blank microSD card (the bootloader unlock script will say how big it has to be)
## Instructions
1. Wipe the phone
2. Downgrade the software to OB6 using Odin (you don't need to do anything fancy to downgrade; just flash the image)
3. Enable ADB in developer settings
4. Get root using ArabicToolApp.exe
5. Follow the instructions on the bootloader unlock page to push the "unlock_n3" binary to the device and run it
6. Follow these instructions (it says "hltetmo", but it counts for "hltevzw" too):
=> https://wiki.lineageos.org/devices/hltetmo/install Install LineageOS on hltetmo

View file

@ -1,69 +0,0 @@
# Rooting the Barnes & Noble Nook 1st Generation
## Stuff you need
=> ../../dl/nook/ Individual files
=> https://upload.letsdecentralize.org/misc/nook.7z All the files in one .7z pack
=> ipfs://QmPV9YTCNV3StpfbbXGpcJQWDbxstrato1keqprvBG7Gw9 All the files in one .7z pack (IPFS)
## Instructions
1. Get a server running on port 80 on a machine on the same Wi-Fi network as the Nook.
All the server needs to host is "exploit.html" from the pack linked above. For best results, rename the HTML file to "index.html".
2. Crash your Nook's browser to enable ADB.
Using the Nook's browser, navigate to the web server via its local IPv4 address. The browser should refresh a few times and then crash to the home menu.
3. Connect to the Nook over ADB.
```
adb connect YOUR_NOOKS_LOCAL_IP_HERE
```
If ADB refuses to connect, run step 2 repeatedly until ADB manages to connect. It could take between one and one hundred tries.
4. Get and edit "/init.rc".
```
adb pull /init.rc
```
Open "init.rc" in your favorite text editor on your local machine. Find the line that says:
```
service adbd /sbin/adbd
```
Below that should say "disabled". Change that to "enabled".
5. Get root access.
While still connected to the Nook over ADB, run:
```
adb push ratc.bin /sqlite_stmt_journals
adb shell
cd /sqlite_stmt_journals
/system/bin/chmod 777 ./ratc.bin
./ratc.bin
```
Several lines of output will appear. Do not press anything. A few seconds later, adb will disconnect you.
```
adb kill-server
```
6. Push the patched "init.rc" to the Nook.
Repeat step 3 to reconnect to the Nook over ADB. Then run:
```
adb push init.rc /
```
After a reboot, your Nook should now be rooted.
The default launcher will not show third-party apps. "ru.mynook.launcher.apk" included in the pack is an alternative launcher that will show all apps installed, including third-party ones.

View file

@ -1,73 +0,0 @@
# Creating a Tor hidden service using Caddy and Debian 11
1. Install Tor.
```
sudo apt install tor
```
2. Install the Caddy web server.
```
echo "deb [trusted=yes] https://apt.fury.io/caddy/ /" | sudo tee -a /etc/apt/sources.list.d/caddy-fury.list
sudo apt update; sudo apt install caddy -y
```
3. Edit "/etc/tor/torrc" to create the hidden service.
Open "/etc/tor/torrc" in your favorite text editor. (Please note that this usually requires root privileges.)
Go to the lines that say:
```
#HiddenServiceDir /var/lib/tor/hidden_service/
#HiddenServicePort 80 127.0.0.1:80
```
Uncomment them by deleting the # mark in front of each line.
If you want, you can change the HiddenServiceDir directory, but you will need to remember it for later. For security purposes, keep the new directory inside of "/var/lib/tor/".
4. Restart the Tor daemon.
```
sudo systemctl restart tor@default
```
5. As root, go to the hidden service directory and get the new hidden service's domain.
```
sudo -i
cd /var/lib/tor/directory/
```
Replace "directory" with the actual directory you chose in step 3.
```
cat hostname
```
If all is well, you should now see a long string of letters and numbers that ends in ".onion". Copy this somewhere safe. You'll need it next step.
6. Configure Caddy to serve the hidden service.
Open "/etc/caddy/Caddyfile" with your favorite text editor. You should already be root, but if you did "exit" after getting the Tor hostname, just "sudo -i" again.
Type the following in:
```
http://YourTorHostnameHere.onion {
root * /your/website/file/path/here
file_server
encode gzip
bind 127.0.0.1
}
```
The "http://" in front of the address is important as that tells Caddy to not try to enable HTTPS on that domain. HTTPS is unnecessary for Tor hidden services as all traffic to and from the server is already encrypted in transit. And since Tor hidden services aren't accessible on the normal clearnet, the request for Let's Encrypt to give Caddy a certificate would fail as they wouldn't be able to access the domain.
7. Restart Caddy to apply your changes.
```
sudo systemctl restart caddy
```

View file

@ -1,81 +0,0 @@
# Creating a Yggdrasil website using Caddy and Debian 11
1. Install Yggdrasil.
```
sudo apt install dirmngr
gpg --fetch-keys https://neilalexander.s3.dualstack.eu-west-2.amazonaws.com/deb/key.txt
gpg --export 569130E8CA20FBC4CB3FDE555898470A764B32C9 | sudo apt-key add -
echo 'deb http://neilalexander.s3.dualstack.eu-west-2.amazonaws.com/deb/ debian yggdrasil' | sudo tee /etc/apt/sources.list.d/yggdrasil.list
sudo apt update; sudo apt install yggdrasil
```
2. Install Caddy.
```
echo "deb [trusted=yes] https://apt.fury.io/caddy/ /" | sudo tee -a /etc/apt/sources.list.d/caddy-fury.list
sudo apt update; sudo apt install caddy -y
```
3. Get the IP Yggdrasil generates for you.
```
sudo systemctl start yggdrasil; sudo systemctl enable yggdrasil
sudo journalctl -xfe -u yggdrasil
```
There will be a line that says "Your IPv6 address is". Copy the rest of that line somewhere safe.
Press the Control and C buttons on your keyboard at the same time to exit "journalctl".
4. Configure Caddy to serve the hidden service.
Open "/etc/caddy/Caddyfile" as root with your favorite text editor.
Type the following in:
```
http://[YGGDRASIL_IP_ADDRESS_HERE] {
root * /your/website/file/path/here
file_server
encode gzip
}
```
The "http://" in front of the address is important as that tells Caddy to not try to enable HTTPS for that website. HTTPS is unnecessary for Yggdrasil hidden services as all traffic to and from the server is already encrypted in transit. Besides, Let's Encrypt wouldn't be able to issue a certificate for an IP address anyway.
5. Restart Caddy to apply your changes.
```
sudo systemctl restart caddy
```
6. Get some peers for Yggdrasil.
=> https://github.com/yggdrasil-network/public-peers Copy some peers from this page. Try to select ones closest to your geographical location.
On your server, open "/etc/yggdrasil.conf" as root with your favorite text editor. At the top of the configuration file will be a section that looks like this:
```
Peers: []
```
Pick some peers from the list and add them to that section of the file (one per line) so it now looks something like this:
```
Peers:
[
tls://01.scv.usa.ygg.yt:443
tls://lax.yuetau.net:6643
tls://tasty.chowder.land:9001
tls://supergay.network:9001
tls://lancis.iscute.moe:49274
tls://mayvaneday.org:1414
]
```
Save the file and close it, then run:
```
sudo systemctl restart yggdrasil
```

View file

@ -1,38 +0,0 @@
# Quick guide to GPG
## Generate a key
```
gpg --generate-key
```
## Import an existing key
```
gpg --import key.txt
```
## Export a key
```
gpg --export -a person@domain.tld public.gpg
gpg --export-secret-keys -a person@domain.tld
```
## Encrypt a file using a specific key
```
gpg --encrypt -a -r person@domain.tld file.ext
```
## Sign a file using a specific key
```
gpg --clear-sign -a file.ext
```
## List all keys in the keyring
```
gpg --list-keys
```

View file

@ -1,19 +0,0 @@
# MayVaneDay Wiki
=> ./vlc.gmi VLC has an ncurses frontend that also supports equalizers
=> ./gpg.gmi Quick guide to GPG
=> ./list.gmi List of miscellaneous useful things
## Android rooting
=> ./android_root/hltevzw.gmi Samsung Galaxy Note 3 (Verizon)
=> ./android_root/nook1.gmi Barnes & Noble Nook 1st Generation
## Darknet setup
=> ./darknet/tor.gmi Tor
=> ./darknet/yggdrasil.gmi Yggdrasil
## Making operating systems usable
=> ./os/openbsd.gmi (Abandoned) notes for OpenBSD

View file

@ -1,38 +0,0 @@
# A big list of useful links
## Alternate search engines
=> https://wiby.me Wiby
=> https://millionshort.com Million Short
=> https://search.marginalia.nu Marginalia
=> https://www.seekport.com Seekport
=> https://teclis.com Teclis
## Obscure site discovery
=> https://theforest.link The Forest
## AI image generation
=> https://huggingface.co/spaces/stabilityai/stable-diffusion Stable Diffusion Demo
=> https://stabilityai.us.auth0.com/u/login?state=hKFo2SBqWXBRQ25mblJrSGFuZzNIM1l2VGJxNk1SeERKUEdMWqFur3VuaXZlcnNhbC1sb2dpbqN0aWTZIHJvN2huZFA1QWJDOUhfMmNaTHJoQmtNT2xvWUw1bVlyo2NpZNkgS3ZZWkpLU2htVW9PalhwY2xRbEtZVXh1Y0FWZXNsSE4 StabilityAI
=> https://www.drawanything.app Draw Anything
=> https://huggingface.co/spaces/hakurei/waifu-diffusion-demo Waifu Diffusion
=> https://neuralblender.com Neuralblender
=> https://www.wombo.art/create Dream by WOMBO
## IP anon check
=> https://www.whatismyip.com What Is My IP?
=> https://myip.wtf WTF is my IP?!?!?!??
=> https://check.torproject.org Am I using Tor?
## Piracy
=> https://fitgirl-repacks.site FitGirl Repacks
=> https://piratebayproxy.info List of Pirate Bay proxies
=> https://gog-games.com GOG Games
=> https://hshop.erista.me hShop for 3DS
=> https://archive.org/details/psxgames Console Living Room: Playstation
=> https://nxbrew.com NXBrew
=> https://nsw2u.in nsw2u

View file

@ -1,30 +0,0 @@
## installation
https://www.openbsd.org/faq/faq14.html#softraid
remember to run `ifconfig re0 up` before starting any shell operations
## package manager
https://www.openbsd.org/faq/faq15.html#Intro
apt search | pkg_info -Q
apt install | pkg_add
apt remove | pkg_delete
## wifi
run `ifconfig` and get name of wifi interface (for example, mine is `urtwn0`)
make a text file (as root) at `/etc/hostname.InterfaceName` (for example, `/etc/hostname.urtwn0`) with the following contents:
```
join SSID wpakey WIFIPASSWORD
inet autoconf
```
then run `doas sh /etc/netstart`
## misc
there is no `lsblk`. to get a list of all disks connected, run `sysctl hw.disknames`

View file

@ -1,37 +0,0 @@
# Using VLC via its ncurses frontend with equalizers
1. Install VLC.
2. Open VLC and drag some music in.
3. While playing some music, open the Tools > Effects and Filters menu. Play around with the presets until you find one that sounds good.
4. Write down the name of the preset you used and then close VLC.
5. In a terminal, "cd" to where the music you want to play is.
6. In that terminal, execute this command:
```
cvlc --equalizer-preset=INSERT_PRESET_NAME_HERE -I ncurses *.ext
```
".ext" is the file extension of your music files, like ".mp3" or ".flac".
Here is a list of possible presets as of 2020:
* flat
* classical
* club
* dance
* fullbass
* fulltreble
* fullbasstreble
* headphones
* largehall
* live
* party
* pop
* reggae
* rock
* ska
* soft
* softrock
* techno
Pressing the "h" key will open the help menu, which will show you the plyer controls.

BIN
img/AlmondMilkMeme.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

BIN
img/UterusPin1.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 240 KiB

BIN
img/UterusPin2.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 440 KiB

BIN
img/UterusPin3.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 468 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 372 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 344 KiB

View file

@ -17,7 +17,7 @@
<hr> <hr>
<div class="box center"> <div class="box center">
<p>THE ORACLE SPEAKS:</p> <p>THE ORACLE SPEAKS:</p>
<p><a href="./poetry/f/firebrand.txt">[FIREBRAND]</a> <a href="./poetry/w/watershed.txt">[WATERSHED]</a> <a href="./poetry/e/earthbound.txt">[EARTHBOUND]</a> <a href="./poetry/a/airborne.txt"><b>[AIRBORNE]</b></a></p> <p><a href="./poetry/f/firebrand.txt">[FIREBRAND]</a> <a href="./poetry/w/watershed.txt">[WATERSHED]</a> <a href="./poetry/e/earthbound.txt">[EARTHBOUND]</a> <a href="./poetry/a/airborne.txt">[AIRBORNE]</a> <a href="./poetry/z/zircons_beacon.txt"><b>[ZIRCON'S BEACON]</b></a></p>
</div> </div>
<hr> <hr>
<div class="box"> <div class="box">
@ -54,8 +54,6 @@
<p class="center"> <p class="center">
<a href="./blog/index.html">[Blog]</a> <a href="./blog/index.html">[Blog]</a>
<a href="./poetry/">[Poetry]</a> <a href="./poetry/">[Poetry]</a>
<a href="./garden/">[Garden]</a>
<a href="./tutorials/index.html">[Tutorials]</a>
</p> </p>
<p><a href="./cli.html">The Terminal Life</a></p> <p><a href="./cli.html">The Terminal Life</a></p>
<p><a href="./women.md">The big list of women who did things</a></p> <p><a href="./women.md">The big list of women who did things</a></p>

View file

@ -42,7 +42,7 @@ you'd live together with her until the cessation of time?
dear child, you remembered your wings and recalled how to fly dear child, you remembered your wings and recalled how to fly
but you're being chased to a cliff and the edge looms nearby: but you're being chased to a cliff and the edge looms nearby:
will you prostate yourself and live in self-scorn? will you prostrate yourself and live in self-scorn?
or jump off the edge and trust you'll become airborne? or jump off the edge and trust you'll become airborne?
*** ***

View file

@ -187,13 +187,15 @@
│   ├── <a href="./w/wip.txt">wip.txt</a><br> │   ├── <a href="./w/wip.txt">wip.txt</a><br>
│   ├── <a href="./w/withering.txt">withering.txt</a><br> │   ├── <a href="./w/withering.txt">withering.txt</a><br>
│   └── <a href="./w/wme.txt">wme.txt</a><br> │   └── <a href="./w/wme.txt">wme.txt</a><br>
└── <a href="./y/">y</a><br> ├── <a href="./y/">y</a><br>
&nbsp;&nbsp;&nbsp; └── <a href="./y/YOU-NEED-TO-KNOW.txt">YOU-NEED-TO-KNOW.txt</a><br> │   └── <a href="./y/YOU-NEED-TO-KNOW.txt">YOU-NEED-TO-KNOW.txt</a><br>
└── <a href="./z/">z</a><br>
&nbsp;&nbsp;&nbsp; └── <a href="./z/zircons_beacon.txt">zircons_beacon.txt</a><br>
<br><br> <br><br>
</p> </p>
<p> <p>
23 directories, 137 files 24 directories, 138 files
<br><br> <br><br>
</p> </p>
<hr> <hr>

42
poetry/z/zircons_beacon.txt Executable file
View file

@ -0,0 +1,42 @@
ZIRCON'S BEACON
2023-01-01
***
before, in your grief, you sigh with a tear
"it would be better for everyone if I disappeared"
just remember every person who's ever held you dear
with faces erased and memories decayed
who recall your actions if not your own name:
"She brightened, even if only for a moment, my days."
but these last six months, you've in bed languished
as all the things you counted on from you slipped:
the promise of employment, the hope of safety,
the Outside-bound ticket messless and pain-free
you jumped from the cliff as exhorted last Oracle
and unfurled your wings to catch all the wind you could hold
but while has deepened the bond with your wife
this is not true flight but only slow glide
gradual realization that in life you lost
while the destination grows anything but soft:
the climate beats harsher, economy bereft,
hordes at the gates demanding your own death
wings too weak to your body elevate
but is there strength to turn elsewhere you'll less hate?
one of these days you'll be free again
can you find a way to survive until then?
I hold this zircon gem up to the sky
in hopes it'll catch the fading sunset light
and scatter to fire, diamond-like rainbow:
my beacon follow to know where to go
***
CC BY-NC-SA 4.0 (c) Vane Vander

View file

@ -73,7 +73,7 @@ i, em {
} }
img.big { img.big {
width: 100%; max-width: 100%;
height: auto; height: auto;
} }

View file

@ -1,49 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>How to virtualhost on Gemini using Tor - Archive - MayVaneDay Studios</title>
<link href="../style.css" rel="stylesheet" type="text/css" media="all">
<meta name="author" content="Vane Vander">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body class="mayvaneday">
<article>
<div class="box">
<p><h1>How to virtualhost on Gemini using Tor</h1></p>
<p>published: 2020-11-14</p>
</div>
<hr>
<div class="box">
<p>This guide will assume you are using a Debian-based system.</p>
<ol type="1">
<li>Install Tor and Jetforce, a Gemini server.</li>
</ol>
<p><code>sudo -H pip3 install jetforce; sudo apt install tor</code></p>
<ol start="2" type="1">
<li>Set up a Tor hidden service.</li>
</ol>
<p>Add the following lines to <code>/etc/tor/torrc</code>, adjusting as necessary:</p>
<pre>HiddenServiceDir /var/lib/tor/gemini/
HiddenServiceVersion 3
HiddenServicePort 1965 127.0.0.1:1966</pre>
<p><code>1965</code> is Gemini's default port and the one clients will expect the server to be listening on. <code>1966</code> will be the actual port the second server instance is running on. This will allow the server serving the clearnet version to use the default port. Do not worry about the port numbers not matching; Tor will redirect Tor traffic on 1966 to the proper server to look like it is also running on <code>1965</code>.</p>
<p>If you need multiple hidden services, copy these lines again, changing the <code>HiddenServiceDir</code> path to a different one and changing <code>1966</code> to a different port not in use.</p>
<ol start="3" type="1">
<li>Configure Jetforce.</li>
</ol>
<p>Run the following to start the server:</p>
<pre>jetforce --host 127.0.0.1 \
--tls-certfile /path/to/certificate.crt \
--tls-keyfile /path/to/key.key \
--dir /path/to/gemsite/files/ \
--hostname YOUREXTREMELYLONGONIONHERE.onion \
--port 1966</pre>
</div>
<hr>
<div class="box">
<p align=right>CC BY-NC-SA 4.0 &copy; Vane Vander</p>
</div>
</article>
</body>
</html>

View file

@ -1,50 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>How to seed a Hyperdrive website on Debian 10 - Archive - MayVaneDay Studios</title>
<link href="../style.css" rel="stylesheet" type="text/css" media="all">
<meta name="author" content="Vane Vander">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body class="mayvaneday">
<article>
<div class="box">
<p><h1>How to seed a Hyperdrive website on Debian 10</h1></p>
<p>published: 2020-09-12</p>
</div>
<hr>
<div class="box">
<ol type="1">
<li>Install a recent version of Node.js.</li>
</ol>
<p><code>sudo -i</code></p>
<p><code>curl -sL https://deb.nodesource.com/setup_14.x | bash -</code></p>
<p><code>apt-get install -y nodejs fuse</code></p>
<ol start="2" type="1">
<li>Install the Hyperdrive daemon.</li>
</ol>
<p><code>npm install -g hyperdrive-daemon &amp;&amp; exit</code></p>
<p>The <code>exit</code> is necessary so that you're back in your normal user account again.</p>
<ol start="3" type="1">
<li>Set up the Fuse mount:</li>
</ol>
<p><code>mkdir ~/Hyperdrive</code></p>
<p><code>hyperdrive fuse-setup</code></p>
</code></pre>
<ol start="4" type="1">
<li>Start the Hyperdrive daemon. (You should do this in a multiplexer, as it will run in the foreground.)</li>
</ol>
<p><code>hyperdrive start --foreground</code></p>
<ol start="5" type="1">
<li>Seed your first site.</li>
</ol>
<p><code>cd ~/Hyperdrive && hyperdrive mount MakeUpANameHere SiteKeyHere</code></p>
</div>
<hr>
<div class="box">
<p align=right>CC BY-NC-SA 4.0 &copy; Vane Vander</p>
</div>
</article>
</body>
</html>

View file

@ -1,76 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>How to create an I2P eepsite on Caddy on Debian 10 - Archive - MayVaneDay Studios</title>
<link href="../style.css" rel="stylesheet" type="text/css" media="all">
<meta name="author" content="Vane Vander">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body class="mayvaneday">
<article>
<div class="box">
<p><h1>How to create an I2P eepsite on Caddy on Debian 10</h1></p>
<p>first published: 2021-02-08</p>
</div>
<hr>
<div class="box">
<ol style="list-style-type: decimal">
<li>Install I2PD (an I2P router that is lighter on resources than the original I2P).</li>
</ol>
<p><code>sudo apt install i2pd</code></p>
<ol start="2" style="list-style-type: decimal">
<li>Install the Caddy web server.</li>
</ol>
<p><code>echo "deb [trusted=yes] https://apt.fury.io/caddy/ /" | sudo tee -a /etc/apt/sources.list.d/caddy-fury.list</code></p>
<p><code>sudo apt update; sudo apt install caddy -y</code></p>
<ol start="3" style="list-style-type: decimal">
<li>Edit <code>/var/lib/i2pd/tunnels.conf</code> to create the eepsite.</li>
</ol>
<p>Open /var/lib/i2pd/tunnels.conf in your favorite text editor. (Please note that this usually requires root privileges.)</p>
<p>Go to the end of the file and add:</p>
<pre>
[mycooleepsite]
type = http
host = 127.0.0.1
port = 80
keys = mycooleepsite.dat
</pre>
<ol start="4" style="list-style-type: decimal">
<li>Restart I2PD.</li>
</ol>
<p><code>sudo systemctl restart i2pd</code></p>
<ol start="5" style="list-style-type: decimal">
<li>Find out your new eepsite's hash.</li>
</ol>
<p>Open <code>http://127.0.0.1:7070</code> in a web browser that can access that machine's localhost.</p>
<p>If you don't know what you're doing, run the following:</p>
<p><code>sudo apt install lynx -y</code></p>
<p><code>lynx http://127.0.0.1:7070</code></p>
<p>Go to the "I2P Tunnels" page. (In Lynx, press the down arrow until "I2P Tunnels" is highlighted, and then press the enter key.)</p>
<p>In the "Server Tunnels" section, there should be a string that looks something like <code>VERYLONGHASH.b32.i2p</code>. Copy the VERYLONGHASH part.</p>
<ol start="6" style="list-style-type: decimal">
<li>Configure Caddy to serve the eepsite.</li>
</ol>
<p>Open <code>/etc/caddy/Caddyfile</code> as root with your favorite text editor.</p>
<p>Type the following in:</p>
<pre>
http://VERYLONGHASH.b32.i2p {
root * /your/website/file/path/here
file_server
encode gzip
}
</pre>
<p>The &quot;http://&quot; in front of the address is important as that tells Caddy to not try to enable HTTPS for that website. HTTPS is unnecessary for I2P eepsites as all traffic to and from the server is already encrypted in transit. And since I2P eepsites aren't accessible on the normal clearnet, the request for Let's Encrypt to give Caddy a certificate would fail as they wouldn't be able to access the domain.</p>
<ol start="7" style="list-style-type: decimal">
<li>Restart Caddy to apply your changes.</li>
</ol>
<p><code>sudo systemctl restart caddy</code></p>
</div>
<hr>
<div class="box">
<p align=right>CC BY-NC-SA 4.0 &copy; Vane Vander</p>
</div>
</article>
</body>
</html>

View file

@ -1,39 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Tutorials - Archive - MayVaneDay Studios</title>
<link href="../style.css" rel="stylesheet" type="text/css" media="all">
<meta name="author" content="Vane Vander">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body class="mayvaneday">
<div class="box">
<p><h1>Tutorials</h1></p>
</div>
<hr>
<div class="box">
<h2>Darknet Guides</h2>
<p><a href="./onion.html">Create a Tor hidden service website on Caddy on Debian 10</a></p>
<p><a href="./yggdrasil.html">Create a Yggdrasil hidden service on Caddy on Debian 10</a></p>
<p><a href="./i2p.html">Create an I2P eepsite on Caddy on Debian 10</a></p>
<p><a href="./hyperdrive.html">Seed a Hyperdrive website on Debian 10</a></p>
<p><a href="./gemini-tor.html">Virtualhost on Gemini using Tor</a></p>
</div>
<hr>
<div class="box">
<p><a href="./nook.html">Root the Nook 1st Gen on Linux</a></p>
<p><a href="./oasis.html">Run Oasis, a Secure Scuttlebutt client, on a remote server</a></p>
<p><a href="./kristall-haiku.html">Install the Kristall browser in Haiku</a></p>
<p><a href="./lokinet-32.html">Build and install LokiNet on Linux Mint 32-bit</a></p>
<p><a href="./vlc.html">Play music in the CLI with an equalizer</a></p>
<p><a href="./misskey.html">Install Misskey on Debian 9</a></p>
<p><a href="./syncthing-tails.html">Install Syncthing on Tails</a></p>
<p><a href="./playlist-clip.html">Make playlists on the SanDisk Clip Sport on Linux</a></p>
<p><a href="./zeronet.html">Set up a detached and encrypted ZeroNet seedbox on a Raspberry Pi</a></p>
<p><a href="./tiles.html">Dump tiles from a GameBoy ROM on Linux</a></p>
<p><a href="./kobo-webdav.html">Browsing and publishing Gemini on a... Kobo?!</a></p>
</div>
<hr>
</body>
</html>

View file

@ -1,89 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Browsing and publishing Gemini on a... Kobo?! - Archive - MayVaneDay Studios</title>
<link href="../style.css" rel="stylesheet" type="text/css" media="all">
<meta name="author" content="Vane Vander">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body class="mayvaneday">
<article>
<div class="box">
<p><h1>Browsing and publishing Gemini on a... Kobo?!</h1></p>
<p>published: 2021-01-07</p>
</div>
<hr>
<div class="box">
<p>I have a Kobo Libra H2O. It's a little e-ink tablet-like device. While the specs aren't great, it <em>does</em> run Linux, which means theoretically one can run whatever programs they want on it! ...As long as those programs are line-based command-line or written for Kobo's special flavor of Qt.</p>
</div>
<hr>
<div class="box">
<h2>Getting shell access to your Kobo</h2>
<p>The first step is getting KOReader on the Kobo. Not only is it a much better reading app than the Kobo's built-in Nickel, it <em>also</em> includes a terminal emulator, a text editor, and a SSH server. <a href="https://github.com/koreader/koreader/wiki/Installation-on-Kobo-devices">The install instructions are on the KOReader wiki</a>. I personally recommend using the NickelMenu installation method halfway down the page.</p>
<p>After you have KOReader set up, plug your Kobo into a computer with a USB cable.</p>
<p><code>cd /path/to/your/kobo/</code></p>
<p><code>cd ./.adds/koreader/settings/SSH/</code></p>
<p><code>ssh-keygen -trsa -b 2048 -f ~/.ssh/kobo</code></p>
<p><code>cp ~/.ssh/kobo.pub ./authorized_keys</code></p>
<p>Safely disconnect your Kobo from your computer. Go into KOReader, then tap the gear icon on the top of the screen. Tap "Network". Connect to the same WiFi network your computer is on, then tap on "SSH server" and then "Start SSH server".</p>
<code>ssh -i ~/.ssh/kobo -p 2222 root@your_kobo_local_ip_address</code>
<p>Shell access should only be necessary for troubleshooting. For this guide, we are more interested in SFTP file transfer.</p>
</div>
<hr>
<div class="box">
<h2>Setting up your environment</h2>
<p>There are four programs you'll need:</p>
<ol>
<li><a href="https://github.com/mattn/godown">godown</a>: an HTML to Markdown converter</li>
<li><a href="https://github.com/makeworld-the-better-one/gemget">gemget</a>: wget, but for the Gemini protocol</li>
<li><a href="https://gitlab.com/davidjpeacock/kurly">kurly</a>: cURL, but written in Golang (since the version of <code>wget</code> that ships with KOReader's Dropbear doesn't support HTTPS for some reason)</li>
<li><a href="https://github.com/micromata/dave">dave</a>: a simple WebDAV server</li>
</ol>
<p>The first three we will install on your Kobo. The last one will go on the server that runs your Gemini site.</p>
<p>I specifically picked programs written in Golang because they compile to a single binary. This means no trying to manually resolve dependencies, since the Kobo doesn't have a package manager installed (that I could see). However, they still must be compiled for ARM. I compiled them on my Raspberry Pi 4 (which is also an ARM device) and copied the resulting binaries to my computer. If you want to cross-compile on your local computer instead, you're on your own.</p>
<p>The config file for <code>dave</dave> needs to go in <code>~/.swd/config.yaml</code> on the remote server. It should look something like this:</p>
<pre>
address: "domain.tld" # the bind address
port: "7778" # the listening port
dir: "/path/to/your/gemsite/files" # the provided base dir
prefix: "/" # the url-prefix of the original url
users:
# user: # with password 'foo' and jailed access to '/home/webdav/user'
# password: "HASHED_PASSWORD"
# subdir: "/user"
YOURUSERNAME: # with password 'foo' and access to '/home/webdav'
password: "HASHED_PASSWORD"
tls:
keyFile: gemini.key
certFile: gemini.crt
</pre>
<p>You can make a HASHED_PASSWORD by running <code>davecli passwd</code> and following the prompts.</p>
<p>After that, you need to get TLS certificates so <code>kurly</code> doesn't <del>shit its pants</del> complain about having no certificates.</p>
<p>On your local computer:</p>
<p><code>sftp -P 2222 -i ~/.ssh/kobo root@your_kobo_local_ip_address</code></p>
<p><code>cd /etc/</code></p>
<p><code>mkdir ssl && cd ssl</code></p>
<p><code>mkdir certs && cd certs</code></p>
<p><code>lcd /usr/share/ca-certificates/mozilla/</code></p>
<p><code>put -r *</code></p>
<p>This will put all the certificates installed on your computer onto your Kobo. If this is too much for you, you can instead just upload the public key you used for your WebDAV server above (Gemini uses TOFU for its TLS and thus doesn't require a certificate store). Just change the extension to <code>.pem</code> first before uploading.</p>
<p>Put your binary program files in <code>/bin/</code>.</p>
<p>At this point, you should be all set up. You can disconnect from the SFTP server and turn the SSH server on your Kobo off.</p>
</div>
<div class="box">
<p><h2>The fun commands</h2></p>
<p>Next to the gear icon at the top of the KOReader menu is a tool icon. Press it and then press "More tools". There's a terminal emulator!</p>
<p>Except it's not interactive, only processing one command at a time, and it doesn't save the state of the terminal in between sessions. While <code>vi</code> is installed, curiously, it's really only for debugging over SSH and isn't usable here. Best case scenario, it'll only print a bunch of terminal control characters and then exit without letting you do anything.</p>
<p>To look at an HTTP/S site: <code>/bin/kurly http://example.com | /bin/godown | grep -v -e '^$'</code></p>
<p>To look at a Gemini site: <code>/bin/gemget -o - gemini://domain.tld</code></p>
<p>To upload a text file: <code>/bin/kurly -T /path/to/file.txt -u 'username:password' "https://domain.tld:port/"</code></p>
<p>These are quite a lot to type every time. I recommend saving them as shortcuts so you only have to change the domain or the file path every time instead of retyping everything.</p>
</div>
<hr>
<div class="box">
<p align=right>CC BY-NC-SA 4.0 &copy; Vane Vander</p>
</div>
</article>
</body>
</html>

View file

@ -1,42 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>How to install the Kristall browser in Haiku - Archive - MayVaneDay Studios</title>
<link href="../style.css" rel="stylesheet" type="text/css" media="all">
<meta name="author" content="Vane Vander">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body class="mayvaneday">
<article>
<div class="box">
<p><h1>How to install the Kristall browser in Haiku</h1></p>
<p>published: 2020-06-09</p>
</div>
<hr>
<div class="box">
<p>Disclaimer: This was tested with Haiku nightly <code>hrev54304</code>. You may have to install more or different dependencies if you are using the <code>r1beta2</code> release instead.</p>
<ol type="1">
<li>Clone the Git repository:</li>
</ol>
<p><code>git clone https://github.com/masterq32/kristall</code></p>
<p><code>cd kristall</code></p>
<ol start="2" type="1">
<li>Install some build dependencies:</li>
</ol>
<p><code>pkgman install qt5 qt5_devel qt5_tools libiconv_devel</code></p>
<ol start="3" type="1">
<li>Compile and install:</li>
</ol>
<p><code>make</code></p>
<p><code>cd ~/config/settings/deskbar/menu/Applications/</code></p>
<p><code>ln -s ~/kristall/kristall .</code></p>
<p>Kristall should now be listed with the rest of your applications in the Deskbar.</p>
</div>
<hr>
<div class="box">
<p align=right>CC BY-NC-SA 4.0 &copy; Vane Vander</p>
</div>
</article>
</body>
</html>

View file

@ -1,50 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>How to build and install LokiNet on Linux Mint 32-bit - Archive - MayVaneDay Studios</title>
<link href="../style.css" rel="stylesheet" type="text/css" media="all">
<meta name="author" content="Vane Vander">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body class="mayvaneday">
<article>
<div class="box">
<p><h1>How to build and install LokiNet on Linux Mint 32-bit</h1></p>
<p>published: 2020-04-11</p>
</div>
<hr>
<div class="box">
<ol type="1">
<li>Install LokiNets build dependencies:</li>
</ol>
<p><code>sudo apt install build-essential cmake git libcap-dev curl libuv1-dev libsodium-dev libcurl4-openssl-dev pkg-config</code></p>
<ol start="2" type="1">
<li>Clone the LokiNet Git repository:</li>
</ol>
<p><code>git clone https://github.com/loki-project/loki-network; cd loki-network</code></p>
<p><code>git submodule update --init --recursive</code></p>
<ol start="3" type="1">
<li>Edit the Makefile to force the correct libsodium to be used.</li>
</ol>
<p>Open <code>Makefile</code> in your text editor of choice. Find the line that says <code>DOWNLOAD_SODIUM</code>. Change <code>OFF</code> to <code>ON</code>.</p>
<ol start="4" type="1">
<li>Build and install LokiNet:</li>
</ol>
<p><code>make</code> <code>sudo make install</code></p>
<ol start="5" type="1">
<li>Bootstrap and run:</li>
</ol>
<p><code>lokinet -g</code></p>
<p><code>lokinet-bootstrap</code></p>
<p><code>lokinet</code></p>
<p>If the LokiNet executable complains about not being able to set up network interfaces, run this command:</p>
<p><code>sudo setcap cap_net_admin,cap_net_bind_service=+eip /path/to/lokinet/executable</code></p>
</div>
<hr>
<div class="box">
<p align=right>CC BY-NC-SA 4.0 &copy; Vane Vander</p>
</div>
</article>
</body>
</html>

View file

@ -1,104 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>How to install Misskey on Debian 9 - Archive - MayVaneDay Studios</title>
<link href="../style.css" rel="stylesheet" type="text/css" media="all">
<meta name="author" content="Vane Vander">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body class="mayvaneday">
<article>
<div class="box">
<p><h1>How to install Misskey on Debian 9</h1></p>
<p>published: 2019-09-21</p>
</div>
<hr>
<div class="box">
<ol type="1">
<li>Create a user for Misskey:</li>
</ol>
<p><code>adduser --disabled-password --disabled-login misskey</code></p>
<p><code>adduser misskey sudo</code></p>
<p><code>passwd</span> misskey</a></code></p>
<p>Give the misskey user a strong password. Write it down somewhere safe.</p>
<ol start="2" type="1">
<li>Add the Node.js and PostgreSQL repositories:</li>
</ol>
<p><code>curl -sL https://deb.nodesource.com/setup_12.x |bash</code></p>
<p><code>echo &quot;deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main&quot; &gt; /etc/apt/sources.list.d/pgdg.list</code></p>
<p><code>cd /tmp</code></p>
<p><code>wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -</code></p>
<p><code>apt-get update</code></p>
<ol start="3" type="1">
<li>Install Misskeys dependencies:</li>
</ol>
<p><code>apt-get install -y nodejs postgresql redis-server build-essential python certbot byobu sudo</code></p>
<ol start="4" type="1">
<li>Set up a password for PostgreSQL:</li>
</ol>
<p><code>passwd postgres</code></p>
<p>Write this password down somewhere safe. Youll need it later.</p>
<ol start="5" type="1">
<li>Download Misskey:</li>
</ol>
<p><code>su - misskey</code></p>
<p><code>git clone -b master git://github.com/syuilo/misskey.git</code></p>
<p><code>cd misskey</code></p>
<p><code>git checkout master</code></p>
<p><code>npm install</code></p>
<ol start="6" type="1">
<li>Configure Misskey:</li>
</ol>
<p><code>cp .config/example.yml .config/default.yml</code></p>
<p>Edit <code>.config/default.yml</code> with your terminal editor of choice.</p>
<p><code>url</code> should be the URL of your server.</p>
<p>Assuming you dont know what youre doing, which is probably true if youre reading this, uncomment the line that says <code>port: 443</code>. This will make Misskey start its own web server on port 443 (the HTTPS port).</p>
<p>Uncomment the <code>key:</code> and <code>cert:</code> lines. Replace example.tld in the file path with the same URL as you used above, omitting the <code>https://</code> at the beginning.</p>
<p>Under the <code>user: postgres</code> line, there should be a password line. Make sure it is uncommented and put in the password that you set up earlier.</p>
<p>Uncomment the <code>autoAdmin: true</code> line. This will make the first user registrated on the instance the admin of the instance. Hopefully this is you!</p>
<ol start="7" type="1">
<li>Set up PostgreSQL:</li>
</ol>
<p><code>exit</code></p>
<p><code>su - postgres</code></p>
<p>You are now logged in as the postgres user. Type in <code>psql</code> and press enter. A different command prompt should show up. Type in <code>CREATE DATABASE misskey;</code> and follow whatever instructions it gives you.</p>
<!-- ALTER USER postgres PASSWORD 'newPassword'; as well? needs investigation-->
<ol start="8" type="1">
<li>Set up SSL:</li>
</ol>
<p><code>exit</code></p>
<p><code>certbot certonly -d example.tld</code></p>
<p><code>example.tld</code> should be the URL you previously configured in the Misskey config file. Make sure that your DNS is properly set up to point to your servers IP address.</p>
<p>Follow the instructions Certbot gives you.</p>
<ol start="9" type="1">
<li>Compile Misskey:</li>
</ol>
<p><code>su - misskey</code></p>
<p><code>cd misskey</code></p>
<p><code>NODE_ENV=production npm run build</code></p>
<p>Sit back for a hot minute while it compiles. If you have 2 GB or less of RAM, pick a god and pray. If you have less than 1 GB of RAM and youve somehow made it this far, nuke your server and give up now.</p>
<p>After thats done, run <code>npm run init</code> to set up the Misskey database.</p>
<ol start="10" type="1">
<li>Run Misskey:</li>
</ol>
<p><code>cd ~</code></p>
<p><code>byobu</code></p>
<p>You are now in Byobu. This is a window manager for the command line. This will allow you to daemonize Misskey (run it in the background) without using systemd, which is an absolute pain in the ass to diagnose and fix.</p>
<p><code>cd misskey</code></p>
<p><code>sudo NODE_ENV=production npm start</code></p>
<p>If everything looks good (there are no fatal error messages), open your configured URL in a web browser and complete setup from the web interface.</p>
<p>When you want to close the terminal, press Ctrl and A at the same time. Pick the first option for whatever Byobu nags you about. Press Ctrl and A again, and then press D. You should get a “detached from session” message. Log out of the misskey user and then the root user until the terminal disconnects from the server.</p>
<p>If Misskey ever locks up or it uses more than 70% of the servers CPU, either:</p>
<ul>
<li>log in as root, run <code>systemctl reboot now</code> to reboot the server, then log in as root, <code>su - misskey</code>, and repeat step 10 to get Misskey running again.</li>
<li>use your VPS providers dashboard to reboot the server, then log in as root, <code>su - misskey</code>, and repeat step 10 to get Misskey running again.</li>
</ul>
</div>
<hr>
<div class="box">
<p align=right>CC BY-NC-SA 4.0 &copy; Vane Vander</p>
</div>
</article>
</body>
</html>

View file

@ -1,57 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>How to root the Nook 1st Gen on Linux - Archive - MayVaneDay Studios</title>
<link href="../style.css" rel="stylesheet" type="text/css" media="all">
<meta name="author" content="Vane Vander">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body class="mayvaneday">
<article>
<div class="box">
<p><h1>How to root the Nook 1st Gen on Linux</h1></p>
<p>published: 2021-07-15</p>
</div>
<hr>
<div class="box">
<p><i>Note: this guide assumes you already have ADB installed.</i></p>
<ol type="1"><li><a href="../dl/nook/">Download the prerequisite files.</a></li></ol>
<p>At the very least, you need the launcher APK, <code>ratc.bin</code>, and <code>exploit.html</code>. These files <em>should</em> also be accesible on <a href="https://forum.xda-developers.com/showthread.php?t=2395798">this XDA Forums thread.</a></p>
<p>Rename <code>exploit.html</code> to <code>index.html</code>.</p>
<ol start="2" type="1"><li>Setup the crash server.</li></ol>
<p>Run <code>sudo python3 -m http.server --bind YOUR_COMPUTERS_LOCAL_IP_HERE 80</code> in the directory with the <code>index.html</code> file in it.</p>
<ol start="3" type="1"><li>Crash your Nook's browser to enable ADB.</li></ol>
<p>Open http://YOUR_COMPUTERS_LOCAL_IP_HERE in your Nook's built-in web browser (make sure that your computer and Nook are on the same network). The browser should refresh a few times and then crash to the home menu.</p>
<ol start="4" type="1"><li>Connect to your Nook over ADB.</li></ol>
<p><code>adb connect YOUR_NOOKS_LOCAL_IP_HERE</code></p>
<p>If ADB refuses to connect, run step 3 again until it connects. This might take one try; this might take a hundred tries.</p>
<ol start="5" type="1"><li>Get and edit <code>/init.rc</code>.</li></ol>
<p><code>adb pull /init.rc</code></p>
<p>Open <code>/init.rc</code> in your favorite text editor.</p>
<p>Find the line that says <code>service adbd /sbin/adbd</code>.</p>
<p>Below that should say <code>disabled</code>. Change that to <code>enabled</code>.</p>
<ol start="6" type="1"><li>Get root access.</li></ol>
<p>Repeat step 4 to connect to the Nook. Once connected:</p>
<p><code>adb push ratc.bin /sqlite_stmt_journals</code></p>
<p><code>adb shell</code></p>
<p><code>cd /sqlite_stmt_journals</code></p>
<p><code>/system/bin/chmod 777 ./ratc.bin</code></p>
<p><code>./ratc.bin</code></p>
<p>Several lines of output will appear. Do not press anything. A few seconds later, adb will disconnect you.</p>
<p><code>adb kill-server</code></p>
<ol start="7" type="1"><li>Push the patched <code>init.rc</code> to the Nook.</li></ol>
<p>Repeat step 4, as usual.</p>
<p><code>adb push init.rc /</code></p>
<p>If all goes well, your Nook should now be rooted with adbd running on reboot.</p>
<p>Go to the source link on the top of these instructions and install whatever apps you want. You <em>must</em> install, at the very minimum, <code>ru.mynook.launcher.apk</code> in order to access any of the other third-party apps installed.</p>
<p>To install apps over ADB:</p>
<p><code>adb install APP_NAME_HERE.apk</code></p>
</div>
<hr>
<div class="box">
<p align=right>CC BY-NC-SA 4.0 &copy; Vane Vander</p>
</div>
</article>
</body>
</html>

View file

@ -1,80 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>How to run Oasis, a Secure Scuttlebutt client, on a remote server - Archive - MayVaneDay Studios</title>
<link href="../style.css" rel="stylesheet" type="text/css" media="all">
<meta name="author" content="Vane Vander">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body class="mayvaneday">
<article>
<div class="box">
<h1>How to run Oasis, a Secure Scuttlebutt client, on a remote server</h1>
<p>published: 2021-11-13</p>
</div>
<hr>
<div class="box">
<p>This tutorial assumes you already have a functioning Node.js and Caddy installation.</p>
<ol type="1">
<li>Install Oasis.</li>
</ol>
<code>git clone https://github.com/fraction/oasis.git<br />cd oasis<br />npm install</code>
<p>Test the installation by running <code>node .</code> (yes, including the period).</p>
<ul>
<li>If the output stops after a few lines and isn't an obvious Node error, hit Control and C at the same time to exit; you're ready for the <code>systemd</code> file.</li>
<li>If you get an error about port 3000 already being in use, use the command <code>node . --port PORTNUMBER</code> instead, where <code>PORTNUMBER</code> is any open port you want.</li>
</ul>
<p>If your instance immediately throws <a href="https://github.com/fraction/oasis/issues/718#issuecomment-927379995">an error about <code>ssb.friends.get</code></a>:</p>
<code>git checkout 4e8f7426a4eb1d95f6e55cf894a3168f523f8af8<br />rm -rf node_modules<br />npm install</code>
<ol start="2" type="1">
<li>Prepare the <code>systemd</code> daemon file.</li>
</ol>
<p>Edit <code>/lib/systemd/system/oasis.service</code> as root with your favorite text editor. Paste the following:</p>
<pre>
[Unit]
Description=Oasis client for Secure Scuttlebutt
After=network.target
[Service]
User=YourUsername
Group=YourUsername
ExecStart=/path/to/your/node/binary . --port 8787
WorkingDirectory=/path/to/where/you/cloned/oasis/
TimeoutStopSec=5s
LimitNOFILE=1048576
PrivateTmp=true
ProtectSystem=full
[Install]
WantedBy=multi-user.target
</pre>
<p>Replace <code>/path/to/your/node/binary</code> with whatever comes up when you run <code>which node</code>. You may need to change this if you update Node.</p>
<ol start="3" type="1">
<li>Edit your Caddyfile. (This will probably also require root.)</li>
</ol>
<pre>
yourdomain.tld {
reverse_proxy 127.0.0.1:PORTNUMBER {
header_up Host 127.0.0.1
header_up Referer http://localhost
}
basicauth * {
AnyUsernameYouWant EXTREMELYLONGCADDYHASHHERE
}
}
</pre>
<p><code>EXTREMELYLONGCADDYHASHHERE</code> is used instead of an actual password so you don't have cleartext credentials hanging around. Generate this with <code>caddy hash-password</code>. Make sure you save your actual password in a password manager, as you can't reverse a hash!</p>
<p>The <code>header_up</code> lines are there to trick Oasis into thinking it is running on a local machine, as it (very aggressively) wants to be. Normally this would be true, as Secure Scuttlebutt is peer-to-peer and intended to be run on a personal device that may see intermittent internet connectivity. However, if you're looking at this tutorial, you probably want to host a public peer as an <em>actually functioning</em> alternative to a <a href="https://github.com/ssbc/ssb-server">pub</a> or <a href="https://github.com/ssb-ngi-pointer/go-ssb-room/">room</a>.</p>
<ol start="4" type="1">
<li>Get everything running.</li>
</ol>
<code>sudo systemctl daemon-reload<br />sudo systemctl restart caddy<br />sudo systemctl start oasis &amp;&amp; sudo systemctl enable oasis</code>
</div>
<hr>
<div class="box">
<p align=right>CC BY-NC-SA 4.0 &copy; Vane Vander</p>
</div>
</article>
</body>
</html>

View file

@ -1,76 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>How to create a Tor hidden service website on Caddy on Debian 10 - Archive - MayVaneDay Studios</title>
<link href="../style.css" rel="stylesheet" type="text/css" media="all">
<meta name="author" content="Vane Vander">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body class="mayvaneday">
<article>
<div class="box">
<p><h1>How to create a Tor hidden service website on Caddy on Debian 10</h1></p>
<p>first published: 2020-01-31</p>
<p>last updated: 2021-01-13</p>
</div>
<hr>
<div class="box">
<ol style="list-style-type: decimal">
<li>Install Tor.</li>
</ol>
<code>sudo apt install tor</code>
<ol start="2" style="list-style-type: decimal">
<li>Install the Caddy web server.</li>
</ol>
<p><code>echo "deb [trusted=yes] https://apt.fury.io/caddy/ /" | sudo tee -a /etc/apt/sources.list.d/caddy-fury.list</code></p>
<p><code>sudo apt update; sudo apt install caddy -y</code></p>
<ol start="3" style="list-style-type: decimal">
<li>Edit <code>/etc/tor/torrc</code> to create the hidden service.</li>
</ol>
<p>Open /etc/tor/torrc in your favorite text editor. (Please note that this usually requires root privileges.)</p>
<p>Go to the lines that say:</p>
<code>
#HiddenServiceDir /var/lib/tor/hidden_service/<br />
#HiddenServicePort 80 127.0.0.1:80
</code>
<p>Uncomment them by deleting the # mark in front of each line.</p>
<p>If you want, you can change the HiddenServiceDir directory, but you will need to remember it for later. For security purposes, keep the new directory inside of <code>/var/lib/tor/</code>.</p>
<ol start="4" style="list-style-type: decimal">
<li>Restart the Tor service.</li>
</ol>
<p><code>sudo systemctl restart tor@default</code></p>
<ol start="5" style="list-style-type: decimal">
<li>As root, go to the hidden service directory and get the new hidden service's domain.</li>
</ol>
<p><code>sudo -i</code></p>
<p><code>cd /var/lib/tor/directory/</code></p>
<p>Replace &quot;directory&quot; with the actual directory you chose in step 3.</p>
<p><code>cat hostname</code></p>
<p>If all is well, you should now see a long string of letters and numbers that ends in &quot;.onion&quot;. Copy this somewhere safe. You'll need it next step.</p>
<ol start="6" style="list-style-type: decimal">
<li>Configure Caddy to serve the hidden service.</li>
</ol>
<p>Open <code>/etc/caddy/Caddyfile</code> with your favorite text editor. You should already be root, but if you did <code>exit</code> after getting the Tor hostname, just <code>sudo -i</code> again.</p>
<p>Type the following in:</p>
<pre>
http://YourTorHostnameHere.onion {
root * /your/website/file/path/here
file_server
encode gzip
bind 127.0.0.1
}
</pre>
<p>The &quot;http://&quot; in front of the address is important as that tells Caddy to not try to enable HTTPS on that domain. HTTPS is unnecessary for Tor hidden services as all traffic to and from the server is already encrypted in transit. And since Tor hidden services aren't accessible on the normal clearnet, the request for Let's Encrypt to give Caddy a certificate would fail as they wouldn't be able to access the domain.</p>
<ol start="8" style="list-style-type: decimal">
<li>Restart Caddy to apply your changes.</li>
</ol>
<p><code>sudo systemctl restart caddy</code></p>
</div>
<hr>
<div class="box">
<p align=right>CC BY-NC-SA 4.0 &copy; Vane Vander</p>
</div>
</article>
</body>
</html>

View file

@ -1,44 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>How to make playlists on the SanDisk Clip Sport on Linux - Archive - MayVaneDay Studios</title>
<link href="../style.css" rel="stylesheet" type="text/css" media="all">
<meta name="author" content="Vane Vander">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body class="mayvaneday">
<article>
<div class="box">
<p><h1>How to make playlists on the SanDisk Clip Sport on Linux</h1></p>
<p>published: 2019-08-13</p>
</div>
<hr>
<div class="box">
<ol style="list-style-type: decimal">
<li>Make a playlist with the songs you want in VLC.</li>
<li>Save said playlist as an .m3u file. (Other playlist file types will not work.)</li>
<li>Make a copy of said playlist file. Open it up in a text editor of your choice.</li>
<li>Remove all the lines that start with "#EXTINF".</li>
<li>Using the find-replace function, change the following strings:</li>
</ol>
<p>Whatever the path to your main music folder on your computer is, starting with "file:///", to "&#92;Music". For example, the path to my main music library is <code>file:///mnt/Hell3/Music/Music Archive/Popular</code>. (My music is sorted into "Popular", "Soundtrack", and "Vaporwave".)</p>
<p>"%20" to " " (that is, a space).</p>
<p>"/" to "&#92;".</p>
<ol start="6" style="list-style-type: decimal">
<li>Change the end-of-line markers to the DOS/Windows version.</li>
</ol>
<p>Open a terminal and <code>cd</code> to the directory you saved the copy of your playlist in, then type the following:</p>
<p><code>unix2dos playlist-copy.m3u</code></p>
<ol start="7" style="list-style-type: decimal">
<li>Plug in your Clip Sport player. Make sure it is mounted properly (ie. not as a read-only device) before proceeding.</li>
<li>Copy the playlist you just converted in step 6 to the "Playlists" folder, and your music to the "Music" folder.</li>
</ol>
</div>
<hr>
<div class="box">
<p align=right>CC BY-NC-SA 4.0 &copy; Vane Vander</p>
</div>
</article>
</body>
</html>

View file

@ -1,55 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>How to install Syncthing on Tails - Archive - MayVaneDay Studios</title>
<link href="../style.css" rel="stylesheet" type="text/css" media="all">
<meta name="author" content="Vane Vander">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body class="mayvaneday">
<article>
<div class="box">
<p><h1>How to install Syncthing on Tails</h1></p>
<p>published: 2019-07-01</p>
</div>
<hr>
<div class="box">
<ol type="1">
<li>Create a persistent volume in Tails. If you already have a persistent volume configured with Additional Software, Dotfiles, and Personal Data enabled, skip to step 2.</li>
</ol>
<p>After your first boot, go to the Applications menu in the top left corner. Open the Tails menu, and then select “Configure persistent volume”. Follow the on-screen instructions. At the very least, enable Additional Software, Dotfiles, and Personal Data. When the on-screen instructions tell you to reboot, do so.</p>
<ol start="2" type="1">
<li><a href="https://tails.boum.org/doc/first_steps/welcome_screen/administration_password/index.en.html">Set up an admin password on Tails.</a></li>
</ol>
<p>On boot, go to the advanced settings button in Tails Greeter (the first window that pops up, before you go to the desktop). Click on the plus button, then select Administration Password. Type in a password of your choice and click Add.</p>
<ol start="3" type="1">
<li>Install Syncthing.</li>
</ol>
<p><code>sudo apt install syncthing</code></p>
<ol start="4" type="1">
<li>Configure Syncthing to use Tails SOCKS5 proxy and use your Persistent folder for its configuration.</li>
</ol>
<p>Open ~/.bashrc in your favorite text editor. At the end of the file, add the following lines:</p>
<p><code>export all_proxy=socks5://127.0.0.1:9150</code></p>
<p><code>alias sta=syncthing --home=/home/amnesia/Persistent/.config/syncthing</code></p>
<p>Save and close the file. Copy it into your persistent Dotfiles folder, usually at <code>/live/persistence/TailsData_unlocked/dotfiles/</code>.</p>
<ol start="5" type="1">
<li>Initialize and start Syncthing.</li>
</ol>
<p>Reboot and unlock your persistent volume. Once on the desktop, open a terminal and type <code>sta</code>.</p>
<ol start="6" type="1">
<li>Configure Tor Browser to connect to the Syncthing web interface.</li>
</ol>
<p>Open Tor Browser (obviously). Open the hamburger menu and click on Preferences. At the very bottom, click on “Settings” next to “Configure how Tor Browser connects to the internet”. In the “no proxy for” box, type in “127.0.0.1” without the quotes.</p>
<p>Click the OK box and exit Preferences. Open another terminal and type:</p>
<p><code>sudo iptables -I OUTPUT -o lo -p tcp --dport 8384 -j ACCEPT</code></p>
<p>You will need to do step 6 every time you reboot Tails, as there is currently no way to make this persistent.</p>
</div>
<hr>
<div class="box">
<p align=right>CC BY-NC-SA 4.0 &copy; Vane Vander</p>
</div>
</article>
</body>
</html>

View file

@ -1,39 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>How to dump tiles from a GameBoy ROM on Linux - Archive - MayVaneDay Studios</title>
<link href="../style.css" rel="stylesheet" type="text/css" media="all">
<meta name="author" content="Vane Vander">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body class="mayvaneday">
<article>
<div class="box">
<p><h1>How to dump tiles from a GameBoy ROM on Linux</h1></p>
<p>published: 2020-04-08</p>
</div>
<hr>
<div class="box">
<ol type="1">
<li>Download <a href="https://www.romhacking.net/utilities/119/">the yy-chr tool</a>. Extract it to a directory of your choice.</li>
</ol>
<p>Please note that it comes as a Windows binary; from my personal tests, it runs quite well in WINE.</p>
<ol start="2" type="1">
<li>Open/run <code>yychr.exe</code>. Go to <code>File &gt; Open</code> and open the ROM you want to dump tiles from.</li>
<li>Scroll to the place in the ROM you want to dump files from.</li>
<li>Go to <code>File &gt; Save snapshot</code>. It will ask you to save a file named <code>chrXXX.bmp</code>, where XXX is a number. Save it wherever you please.</li>
<li>Repeat steps 3 and 4 until you have saved screenshots of all the places in the ROM that have tiles you want to dump.</li>
<li>Once you are done, open a terminal and <code>cd</code> to the directory you saved the BMP files as.</li>
<li>Run the following command, replacing XXX with the actual numbers in the file name:</li>
</ol>
<p><code>convert chrXXX.bmp -crop 16x16@ +repage +adjoin tile-%d.bmp</code></p>
<p>This will dump each individual 8x8 tile into its own separate BMP file. Please be warned: this may generate more than a hundred files in that folder! Best to keep each separate chrXXX.bmp file in its own folder to keep everything organized.</p>
</div>
<hr>
<div class="box">
<p align=right>CC BY-NC-SA 4.0 &copy; Vane Vander</p>
</div>
</article>
</body>
</html>

View file

@ -1,63 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>How to play music in the CLI with an equalizer - Archive - MayVaneDay Studios</title>
<link href="../style.css" rel="stylesheet" type="text/css" media="all">
<meta name="author" content="Vane Vander">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body class="mayvaneday">
<article>
<div class="box">
<p><h1>How to play music in the CLI with an equalizer</h1></p>
<p>published: 2020-04-10</p>
</div>
<hr>
<div class="box">
<ol type="1">
<li>Install VLC.</li>
</ol>
<p><code>sudo apt install vlc</code></p>
<ol start="2" type="1">
<li>Open VLC and drag some music in.</li>
<li>While playing some music, open the Tools &gt; Effects and Filters menu. Play around with the presets until you find one that sounds good.</li>
<li>Write down the name of the preset you used and then close VLC.</li>
<li>In a terminal, <code>cd</code> to where the music you want to play is.</li>
<li>In that terminal, execute this command:</li>
</ol>
<p><code>cvlc --equalizer-preset=INSERT_PRESET_NAME_HERE -I ncurses *.flac</code></p>
<p><code>INSERT_PRESET_NAME_HERE</code> should be in all lowercase. For example, the “Headphones” preset (which is what I use) would be <code>--equalizer-preset=headphones</code>.</p>
<p>The full list of valid possibilities is:
<ul>
<li>flat</li>
<li>classical</li>
<li>club</li>
<li>dance</li>
<li>fullbass</li>
<li>fullbasstreble</li>
<li>fulltreble</li>
<li>headphones</li>
<li>largehall</li>
<li>live</li>
<li>party</li>
<li>pop</li>
<li>reggae</li>
<li>rock</li>
<li>ska</li>
<li>soft</li>
<li>softrock</li>
<li>techno</li>
</ul>
<p>If your files are MP3 or some other format, replace the <code>flac</code> in <code>*.flac</code> with the actual file type.</p>
<ol start="7" type="1">
<li>Press the “h” key to open the help menu, which will show you the player controls.</li>
</ol>
</div>
<hr>
<div class="box">
<p align=right>CC BY-NC-SA 4.0 &copy; Vane Vander</p>
</div>
</article>
</body>
</html>

View file

@ -1,84 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>How to create a Yggdrasil hidden service on Caddy on Debian 10 - Archive - MayVaneDay Studios</title>
<link href="../style.css" rel="stylesheet" type="text/css" media="all">
<meta name="author" content="Vane Vander">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body class="mayvaneday">
<article>
<div class="box">
<p><h1>How to create a Yggdrasil hidden service on Caddy on Debian 10</h1></p>
<p>first published: 2021-01-16</p>
<p>last updated: 2021-02-07</p>
</div>
<hr>
<div class="box">
<ol style="list-style-type: decimal">
<li>Install Yggdrasil.</li>
</ol>
<p><code>sudo apt install dirmngr</code></p>
<p><code>gpg --fetch-keys https://neilalexander.s3.dualstack.eu-west-2.amazonaws.com/deb/key.txt</code></p>
<p><code>gpg --export 569130E8CA20FBC4CB3FDE555898470A764B32C9 | sudo apt-key add -</code></p>
<p><code>echo 'deb http://neilalexander.s3.dualstack.eu-west-2.amazonaws.com/deb/ debian yggdrasil' | sudo tee /etc/apt/sources.list.d/yggdrasil.list</code></p>
<p><code>sudo apt update; sudo apt install yggdrasil</code></p>
<ol start="2" style="list-style-type: decimal">
<li>Install the Caddy web server.</li>
</ol>
<p><code>echo "deb [trusted=yes] https://apt.fury.io/caddy/ /" | sudo tee -a /etc/apt/sources.list.d/caddy-fury.list</code></p>
<p><code>sudo apt update; sudo apt install caddy -y</code></p>
<ol start="3" style="list-style-type: decimal">
<li>Get the IP Yggdrasil generates for you.</li>
</ol>
<p><code>sudo systemctl start yggdrasil; sudo systemctl enable yggdrasil</code></p>
<p><code>sudo journalctl -xfe -u yggdrasil</code></p>
<p>There will be a line that says "Your IPv6 address is". Copy the rest of that line somewhere safe.</p>
<p>Press the Control and C buttons on your keyboard at the same time to exit <code>journalctl</code>.</p>
<ol start="4" style="list-style-type: decimal">
<li>Configure Caddy to serve the hidden service.</li>
</ol>
<p>Open <code>/etc/caddy/Caddyfile</code> as root with your favorite text editor.</p>
<p>Type the following in:</p>
<pre>
http://[YGGDRASIL_IP_ADDRESS_HERE] {
root * /your/website/file/path/here
file_server
encode gzip
}
</pre>
<p>The &quot;http://&quot; in front of the address is important as that tells Caddy to not try to enable HTTPS for that website. HTTPS is unnecessary for Yggdrasil hidden services as all traffic to and from the server is already encrypted in transit. Besides, Let's Encrypt wouldn't be able to issue a certificate for an IP address anyway.</p>
<ol start="5" style="list-style-type: decimal">
<li>Restart Caddy to apply your changes.</li>
</ol>
<p><code>sudo systemctl restart caddy</code></p>
<ol start="6" style="list-style-type: decimal">
<li>Get some peers for Yggdrasil.</li>
</ol>
<p>Open <a href="https://github.com/yggdrasil-network/public-peers">this page</a> in a new tab on your browser. On your server, open <code>/etc/yggdrasil.conf</code> as root with your favorite text editor.</p>
<p>At the top of the configuration file will be a section that looks like this:</p>
<p><code>Peers: []</code></p>
<p>Pick some peers from the list and add them to that section of the file (one per line) so it now looks something like this:</p>
<pre>
Peers:
[
tcp://50.236.201.218:56088
tcp://lancis.iscute.moe:49273
tcp://45.77.107.150:34660
tls://longseason.1200bps.xyz:13122
tcp://8.9.30.45:34371
tls://107.189.4.167:42024
]
</pre>
<p>Substitute for the peers closest to your server geographically.</p>
<p>Save the file and close it.</p>
<p><code>sudo systemctl restart yggdrasil</code></p>
</div>
<hr>
<div class="box">
<p align=right>CC BY-NC-SA 4.0 &copy; Vane Vander</p>
</div>
</article>
</body>
</html>

View file

@ -1,103 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>How to set up a detached and encrypted ZeroNet seedbox on a Raspberry Pi - Archive - MayVaneDay Studios</title>
<link href="../style.css" rel="stylesheet" type="text/css" media="all">
<meta name="author" content="Vane Vander">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body class="mayvaneday">
<article>
<div class="box">
<p><h1>How to set up a detached and encrypted ZeroNet seedbox on a Raspberry Pi</h1></p>
<p>published: 2019-11-06</p>
</div>
<hr>
<div class="box">
<ol style="list-style-type: decimal">
<li>Format a USB stick with LUKS:</li>
</ol>
<p><code>sudo apt install gnome-disk-utility cryptsetup</code></p>
<p>If you're running a different distro on your server, the package name will likely vary: it's usually some form of <code>gnome-disks</code>. <code>cryptsetup</code> is required for LUKS, and for some reason, apt doesn't install it by default.</p>
<p>Once it installs, make sure your USB stick is plugged in, open a terminal, and run <code>sudo gnome-disks</code>.</p>
<p>Hit the gear icon below the partition table and choose <i>Format Partition</i>, then choose LUKS. Enter a strong password (that you'll remember, of course). In the &quot;Volume Label&quot; section, enter &quot;zeronet&quot; just to make this guide a little easier.</p>
<ol start="2" style="list-style-type: decimal">
<li>Mount the USB stick:</li>
</ol>
<p><code>sudo nano -$ /etc/fstab</code></p>
<p>Put the following line on the bottom:</p>
<p><code>/dev/disk/by-label/zeronet /mnt/zeronet auto user,nosuid,nodev,nofail,x-gvfs-show 0 0</code></p>
<p>Reboot your server.</p>
<p>If /mnt/zeronet isn't accessible by non-root users, execute the following command to fix that:</p>
<p><code>sudo chmod -R 777 /mnt/zeronet</code></p>
<p>Please note that 777 isn't the safest of permissions; if you know your username and group, a <code>chown</code> instead is safer:</p>
<p><code>sudo chown -R username:group /mnt/zeronet</sudo></p>
<ol start="3" style="list-style-type: decimal">
<li>Download and install the latest version of ZeroNet:</li>
</ol>
<p><code>cd /mnt/zeronet</code></p>
<p><code>git clone https://github.com/HelloZeroNet/ZeroNet</code></p>
<p><code>cd ZeroNet</code></p>
<p><code>sudo -H pip3 install -r requirements.txt</code></p>
<p>Enable the UiPassword plugin, and remove the Multiuser plugin to avoid future issues:</p>
<p><code>mv plugins/disabled-UiPassword plugins/UiPassword</code></p>
<p><code>rm -rf plugins/disabled-Multiuser</code></p>
<p>Then configure it to be accessible over the network:</p>
<p><code>nano -$ zeronet.conf</code></p>
<p>Paste the following into the text editor:</p>
<pre>
[global]
fileserver_port = 27328
ui_ip = your.local.ip.here
ui_password = set_a_password_here
</pre>
<ol start="4" style="list-style-type: decimal">
<li>Enable Tor access:</li>
</ol>
<p><code>sudo apt install tor</code></p>
<p><code>sudo nano -$ /etc/tor/torrc</code></p>
<p>Uncomment the lines that say <code>ControlPort 9051</code> and <code>CookieAuthentication 1</code>.</p>
<p>Save and exit the file, then restart the Tor service:</p>
<p><code>sudo systemctl restart tor</code></p>
<p>Then give your user permission to read the Tor cookie you just set up:</p>
<p><code>sudo usermod -a -G debian-tor YourUsername</code></p>
<p>Login and logout of your user, or just reboot the server.</p>
<ol start="5" style="list-style-type: decimal">
<li>Make a systemd service:</li>
</ol>
<p><code>sudo nano -$ /etc/systemd/system/zeronet.service</code></p>
<p>Paste the following:</p>
<pre>
[Unit]
Description=zeronet
After=syslog.target
After=network.target
[Service]
Type=simple
User=YourUsername
WorkingDirectory=/mnt/zeronet/ZeroNet
ExecStart=/usr/bin/python3 /mnt/zeronet/ZeroNet/zeronet.py
Environment=USER=YourUsername
Restart=always
StandardError=syslog
CPUQuota=80%
[Install]
WantedBy=multi-user.target
</pre>
<p>Then reload systemd to install the new service:</p>
<p><code>sudo systemctl daemon-reload</code></p>
<ol start="6" style="list-style-type: decimal">
<li>Start ZeroNet:</li>
</ol>
<p><code>sudo systemctl start zeronet</code></p>
</div>
<hr>
<div class="box">
<p align=right>CC BY-NC-SA 4.0 &copy; Vane Vander</p>
</div>
</article>
</body>
</html>