From 7a52ddeba2a68388b544f529d2d92104420f77b0 Mon Sep 17 00:00:00 2001 From: Shipwreckt Date: Fri, 31 Oct 2025 20:02:14 +0000 Subject: Changed from static to 11ty! --- src/_includes/internet.njk | 30 +++ src/_includes/layout.njk | 31 +++ src/_includes/linux.njk | 30 +++ src/_includes/post.njk | 42 ++++ src/archive.md | 13 ++ src/archive/internet.md | 24 +++ src/archive/internet/Burning_ISO.md | 25 +++ src/archive/internet/Passwords.md | 39 ++++ src/archive/internet/browsers.md | 33 +++ src/archive/internet/i2p.md | 62 ++++++ src/archive/linux.md | 32 +++ src/archive/linux/Burning_ISO.md | 60 ++++++ src/archive/linux/Cleaning_Arch_Linux.md | 42 ++++ src/archive/linux/Encrypting_USBs.md | 71 +++++++ src/archive/linux/File_Hierarchy.md | 70 +++++++ src/archive/linux/Formatting_USB.md | 56 +++++ src/archive/linux/Git_Server.md | 132 ++++++++++++ src/archive/linux/Optical_Media.md | 60 ++++++ src/archive/linux/Speeding_Up_Pacman.md | 49 +++++ src/archive/linux/TarGZ.md | 30 +++ src/archive/linux/Terminal_Is_Better.md | 30 +++ src/archive/linux/Ventoy.md | 65 ++++++ src/assets/css/main.css | 334 ++++++++++++++++++++++++++++++ src/assets/css/main.css.bk | 219 ++++++++++++++++++++ src/churches.md | 24 +++ src/contact.md | 21 ++ src/images/art/Dublin.png | Bin 0 -> 566434 bytes src/images/art/NewYork.png | Bin 0 -> 26051366 bytes src/images/art/Tux_vaporwave.png | Bin 0 -> 1486274 bytes src/images/bsd/BSDneo.png | Bin 0 -> 50944 bytes src/images/bsd/bsdinstall-choose-mode.png | Bin 0 -> 6969 bytes src/images/dwm.png | Bin 0 -> 778 bytes src/images/dwmsetup.png | Bin 0 -> 1461873 bytes src/images/hardware/GoogleP7a.png | Bin 0 -> 3219911 bytes src/images/hardware/ThinkPad-L560.png | Bin 0 -> 18009014 bytes src/images/hardware/ThinkpadT440p.png | Bin 0 -> 2066500 bytes src/images/hardware/pccase/OPCcase0.png | Bin 0 -> 4766767 bytes src/images/hardware/pccase/OPCcase1.png | Bin 0 -> 7234275 bytes src/images/hardware/pccase/PCcase0.png | Bin 0 -> 8100627 bytes src/images/hardware/pccase/PCcase1.png | Bin 0 -> 8207204 bytes src/images/hardware/pccase/PCcase2.png | Bin 0 -> 8807204 bytes src/images/hardware/pccase/PCcase3.png | Bin 0 -> 8214686 bytes src/images/hardware/pccase/PCcase4.png | Bin 0 -> 9327486 bytes src/images/hardware/thinkcenter.png | Bin 0 -> 136722 bytes src/images/hardware/yubikey.png | Bin 0 -> 1704353 bytes src/images/logos/11ty.png | Bin 0 -> 81948 bytes src/images/logos/fish.png | Bin 0 -> 45432 bytes src/images/logos/gentoo.png | Bin 0 -> 80088 bytes src/images/logos/i2p.png | Bin 0 -> 45842 bytes src/images/logos/keepassxc.png | Bin 0 -> 71747 bytes src/images/logos/librewolf.png | Bin 0 -> 6341 bytes src/images/logos/pihole.png | Bin 0 -> 27676 bytes src/images/logos/tor.png | Bin 0 -> 192194 bytes src/images/logos/ubuntu-logo.png | Bin 0 -> 22900 bytes src/images/screenshots/fishscreen.png | Bin 0 -> 48688 bytes src/images/summertux.png | Bin 0 -> 47044 bytes src/images/testpc.png | Bin 0 -> 2001521 bytes src/index.njk | 37 ++++ src/links.md | 21 ++ src/posts/2025-10-30.md | 41 ++++ src/posts/I2P.md | 41 ++++ src/posts/No_more_school.md | 24 +++ src/posts/Pi-hole.md | 35 ++++ src/posts/School.md | 12 ++ src/posts/archserver.md | 51 +++++ src/posts/christmas.md | 78 +++++++ src/posts/dwm.md | 47 +++++ src/posts/emailandlife.md | 19 ++ src/posts/fishshell.md | 41 ++++ src/posts/freebsd.md | 82 ++++++++ src/posts/gentoo.md | 29 +++ src/posts/kernal.md | 18 ++ src/posts/life_update.md | 20 ++ src/posts/makingart.md | 24 +++ src/posts/newlaptop.md | 37 ++++ src/posts/pccase.md | 48 +++++ src/posts/posts.json | 4 + src/posts/servers.md | 31 +++ src/posts/summer.md | 45 ++++ src/posts/vps.md | 38 ++++ src/posts/yubikeys.md | 27 +++ src/tags.njk | 23 ++ 82 files changed, 2497 insertions(+) create mode 100644 src/_includes/internet.njk create mode 100644 src/_includes/layout.njk create mode 100644 src/_includes/linux.njk create mode 100644 src/_includes/post.njk create mode 100644 src/archive.md create mode 100644 src/archive/internet.md create mode 100644 src/archive/internet/Burning_ISO.md create mode 100644 src/archive/internet/Passwords.md create mode 100644 src/archive/internet/browsers.md create mode 100644 src/archive/internet/i2p.md create mode 100644 src/archive/linux.md create mode 100644 src/archive/linux/Burning_ISO.md create mode 100644 src/archive/linux/Cleaning_Arch_Linux.md create mode 100644 src/archive/linux/Encrypting_USBs.md create mode 100644 src/archive/linux/File_Hierarchy.md create mode 100644 src/archive/linux/Formatting_USB.md create mode 100644 src/archive/linux/Git_Server.md create mode 100644 src/archive/linux/Optical_Media.md create mode 100644 src/archive/linux/Speeding_Up_Pacman.md create mode 100644 src/archive/linux/TarGZ.md create mode 100644 src/archive/linux/Terminal_Is_Better.md create mode 100644 src/archive/linux/Ventoy.md create mode 100644 src/assets/css/main.css create mode 100644 src/assets/css/main.css.bk create mode 100644 src/churches.md create mode 100644 src/contact.md create mode 100644 src/images/art/Dublin.png create mode 100644 src/images/art/NewYork.png create mode 100644 src/images/art/Tux_vaporwave.png create mode 100644 src/images/bsd/BSDneo.png create mode 100644 src/images/bsd/bsdinstall-choose-mode.png create mode 100644 src/images/dwm.png create mode 100644 src/images/dwmsetup.png create mode 100644 src/images/hardware/GoogleP7a.png create mode 100644 src/images/hardware/ThinkPad-L560.png create mode 100644 src/images/hardware/ThinkpadT440p.png create mode 100644 src/images/hardware/pccase/OPCcase0.png create mode 100644 src/images/hardware/pccase/OPCcase1.png create mode 100644 src/images/hardware/pccase/PCcase0.png create mode 100644 src/images/hardware/pccase/PCcase1.png create mode 100644 src/images/hardware/pccase/PCcase2.png create mode 100644 src/images/hardware/pccase/PCcase3.png create mode 100644 src/images/hardware/pccase/PCcase4.png create mode 100644 src/images/hardware/thinkcenter.png create mode 100644 src/images/hardware/yubikey.png create mode 100644 src/images/logos/11ty.png create mode 100644 src/images/logos/fish.png create mode 100644 src/images/logos/gentoo.png create mode 100644 src/images/logos/i2p.png create mode 100644 src/images/logos/keepassxc.png create mode 100644 src/images/logos/librewolf.png create mode 100644 src/images/logos/pihole.png create mode 100644 src/images/logos/tor.png create mode 100644 src/images/logos/ubuntu-logo.png create mode 100644 src/images/screenshots/fishscreen.png create mode 100644 src/images/summertux.png create mode 100644 src/images/testpc.png create mode 100644 src/index.njk create mode 100644 src/links.md create mode 100644 src/posts/2025-10-30.md create mode 100644 src/posts/I2P.md create mode 100644 src/posts/No_more_school.md create mode 100644 src/posts/Pi-hole.md create mode 100644 src/posts/School.md create mode 100644 src/posts/archserver.md create mode 100644 src/posts/christmas.md create mode 100644 src/posts/dwm.md create mode 100644 src/posts/emailandlife.md create mode 100644 src/posts/fishshell.md create mode 100644 src/posts/freebsd.md create mode 100644 src/posts/gentoo.md create mode 100644 src/posts/kernal.md create mode 100644 src/posts/life_update.md create mode 100644 src/posts/makingart.md create mode 100644 src/posts/newlaptop.md create mode 100644 src/posts/pccase.md create mode 100644 src/posts/posts.json create mode 100644 src/posts/servers.md create mode 100644 src/posts/summer.md create mode 100644 src/posts/vps.md create mode 100644 src/posts/yubikeys.md create mode 100644 src/tags.njk (limited to 'src') diff --git a/src/_includes/internet.njk b/src/_includes/internet.njk new file mode 100644 index 0000000..515c5d5 --- /dev/null +++ b/src/_includes/internet.njk @@ -0,0 +1,30 @@ + + + + + + + {{ title }} + + +
+
+

{{ title }}

+ +
+
+
+ {{ content | safe }} +
+
+ + {% set postTags = (page and page.data and page.data.tags) or tags or [] %} + {% set displayTags = postTags | reject("equalto", "post") | list %} + + + + + + diff --git a/src/_includes/layout.njk b/src/_includes/layout.njk new file mode 100644 index 0000000..0ab7c9b --- /dev/null +++ b/src/_includes/layout.njk @@ -0,0 +1,31 @@ + + + + + + {{ title }} + + + +
+ +
+
+
+ {{ content | safe }} +
+ + + diff --git a/src/_includes/linux.njk b/src/_includes/linux.njk new file mode 100644 index 0000000..f9075dc --- /dev/null +++ b/src/_includes/linux.njk @@ -0,0 +1,30 @@ + + + + + + + {{ title }} + + +
+
+

{{ title }}

+ +
+
+
+ {{ content | safe }} +
+
+ + {% set postTags = (page and page.data and page.data.tags) or tags or [] %} + {% set displayTags = postTags | reject("equalto", "post") | list %} + + + + + + diff --git a/src/_includes/post.njk b/src/_includes/post.njk new file mode 100644 index 0000000..2b868ae --- /dev/null +++ b/src/_includes/post.njk @@ -0,0 +1,42 @@ + + + + + + + {{ title }} + + +
+
+

{{ title }}

+ +
+
+
+ {{ content | safe }} +
+
+ + {% set postTags = (page and page.data and page.data.tags) or tags or [] %} + {% set displayTags = postTags | reject("equalto", "post") | list %} + + + + + + diff --git a/src/archive.md b/src/archive.md new file mode 100644 index 0000000..1c945df --- /dev/null +++ b/src/archive.md @@ -0,0 +1,13 @@ +--- +layout: layout +title: Shipwreckt +--- +# Archive + +## Computing +Linux - Documentation, tutorials, opinions, all about the Linux operating system + +The Internet - Tips, security, and more! + +## College +Soon I will post my polished notes from college here! diff --git a/src/archive/internet.md b/src/archive/internet.md new file mode 100644 index 0000000..9c4e231 --- /dev/null +++ b/src/archive/internet.md @@ -0,0 +1,24 @@ +--- +layout: layout +title: Linux Archive +--- + +{% macro tagList(tagName) %} + {% for post in collections.all %} + {% set tags = post.data.tags %} + {% if tags and tags.push is defined and tagName in tags %} + {{ post.date | dateFormat("dd-MM-yyyy") }} + β€” {{ post.data.title }} + {% endif %} + {% endfor %} +{% endmacro %} + +# Linux archive + +## How to stay safe Online +{{ tagList("safe") }} + +## The internet you never see (Darknet) +{{ tagList("dark") }} + + diff --git a/src/archive/internet/Burning_ISO.md b/src/archive/internet/Burning_ISO.md new file mode 100644 index 0000000..e6a318c --- /dev/null +++ b/src/archive/internet/Burning_ISO.md @@ -0,0 +1,25 @@ +--- +title: Online profiles +date: 2024-08-24 +layout: internet +tags: + - safe +--- +## why? +The internet is constantly evolving and changing. It is hard to stay safe online in the modern world, and with this, it is hard to protect your personal data from others online, so much so that over 40% of the UK's adult population has experienced some form of online crime. So in answer to the question, 'How do I stay safe online?' I have compiled this series of articles in order for you, the reader, to educate yourself on online safety. + +*** +## Profiles +We all have online profiles, whether with [Google](https://about.google/?fg=1) or [X (Twitter)](twitter.com); you are probably reading this to make sure your online accounts are secure, and I am here to help you do just that, so let's just get into it! + +### The less the better + +What do I mean by this? You may be thinking, well, I mean, the fewer online accounts you have to manage, the more secure you are overall! So if you have any accounts you do not use anymore or any accounts you do not need, I would suggest deleting them. + +### No connections! + +A lot of online services like [Canva](https://www.canva.com/) offer an option to sign up to their service with your Google or Facebook account. Now this may seem convenient, and it is, but it is a bad idea. It is a bad idea because if your Google or Facebook accounts get hacked into, all of these connected accounts are now compromised, and you cannot do anything about it because you cannot log into the account you connected it all to. + +### Common sense! + +Use your common sense! Do not share any of your passwords unless you absolutely have tools. If a website seems off and you feel uncomfortable, leave the website. diff --git a/src/archive/internet/Passwords.md b/src/archive/internet/Passwords.md new file mode 100644 index 0000000..b407171 --- /dev/null +++ b/src/archive/internet/Passwords.md @@ -0,0 +1,39 @@ +--- +title: Passwords πŸ”‘ +date: 2024-08-24 +layout: internet +tags: + - safe +--- +Having a secure Password is the most important part of your online security, so how do you keep and know a good password? + +* * * + +## Password managers + + + +In the modern day you do not need to remember your passwords thanks to password managers! But what password managers can you turst and use? + +I only suggest one password manager, that being [KeePassXC](https://keepassxc.org), and the reason why I suggest KeePassXC is because the source code is available to view so you know you can trust it, and the other reason why I suggest using KeePassXC is because it is offline, meaning nobody can hack an online account; instead, they have to obtain the password.kdbx file on your computer, which is harder to do than hacking an online account. + +Due to the fact that KeePassXC works offline with a .kdbx file, I suggest having a spare USB stick with a backup on it just in case it gets deleted for whatever reason. + +Syncing all of your passwords between devices is easy with KeePassXC; I just use [Syncthing](https://syncthing.net/) to do so. It is easy to setup, and I have never had any issues with it! + +* * * + +## What makes a good password? + +A good password should be made up of totally random charicters that have no relation to you as a person. + +An example of a weak password would be: + +> Grace'sPassword123 + +And an example of a strong password would be: +> {gΓ™IjWÝ0Γ³{Ðâ÷Γ₯QΓΌ9+òÀË×?̯Áv + +Now you might see why you should have a password manager, so it can remember stuff like this for you! + +I do suggest your password to be longer than 16 charicters! diff --git a/src/archive/internet/browsers.md b/src/archive/internet/browsers.md new file mode 100644 index 0000000..b2ee8e5 --- /dev/null +++ b/src/archive/internet/browsers.md @@ -0,0 +1,33 @@ +--- +title: Web browsers 🌐 +date: 2024-08-25 +layout: internet +tags: + - safe +--- +There is lots of debate on what the best 'privacy based browser' is, so I am going to settle it here and now, and suggest the two best web browser you should daily drive. + +* * * + + +## LibreWolf + + +[LibreWolf](https://librewolf.net) is a custom version of Mozilla's Firefox that is focused on privacy, security, and freedom. LibreWolf is designed to protect you against trackers and being fingerprinted across the internet. LibreWolf also removes all of Firefox's telemetry, data collection, and all the annoyances that come with using Firefox. Librewolf also by default disables anti-user freedom features like DRM. + +I personally use LibreWolf on a day-to-day basis, and I love it with all my heart! There is not one issue I have had with it; the only problems I have had with LibreWolf are that some websites refuse to work because it disables a bunch of trackers, but I have only had this issue happen twice over the time I have used LibreWolf. My favourite feature of LibreWolf is that it comes with [uBlock Origin](https://ublockorigin.com/) by default, so you can enjoy the internet without ads, which is a blessing. + +* * * + + +## Tor browser + +The [Tor web browser](https://www.torproject.org/) is a browser that uses the Tor network to make your digital self look like anybody else who is using the Tor network. Most of the time the Tor web browser is used to access the 'dark web' which is the Tor network. The Tor browser can be used to access normal domains and is very good at masking who you really are. So if you are super privacy conscious, I would suggest the Tor browser. + +I do not personally use the Tor browser because I am happy with LibreWolf, and I do not do much on the internet; I mostly just read and sometimes watch Youtube. + +* * * + +## overview + +Overall, if you use one of these two browsers, you should be pretty safe from being tracked across the internet. Before you try out one of these browsers, make sure you still have your previous browser installed, just in case you dislike it. diff --git a/src/archive/internet/i2p.md b/src/archive/internet/i2p.md new file mode 100644 index 0000000..a9d516b --- /dev/null +++ b/src/archive/internet/i2p.md @@ -0,0 +1,62 @@ +--- +title: I2P πŸ•΅οΈ +date: 2024-08-25 +layout: internet +tags: + - dark +--- +## What is I2P? + +I2P stands for "The Invisible Internet Project," an anonymous network layer allowing for censorship-free internet browsing. The goal of I2P is to provide full anonymity and privacy to all who use it. + +* * * + +## The Good and the Bad of I2P + +Just like all things in life, there are pros and cons. Here is a list of these pros and cons of the I2P network: + +Good: + +* Optimized for hidden services +* Good for torrenting +* Not much DDoS due to the small size of users +* Very private and secure +* Both TCP and UDP transports +* All peers participate in routing for others + +Bad: + +* Written in Java +* Small user base +* Not many developers working on the project +* Not as many websites as something like [Tor](https://www.torproject.org/) + +In my opinion, the worst issue I2P has is the small user base; this is because it causes there to be fewer websites on the network, which leads to more people leaving because there are not many websites. + +* * * + + + +## How to Access the I2P Network + +To access the I2P network, all you need to do is run an I2P router. This is one of the benefits of using I2P because you are sharing your bandwidth while using the I2P network, meaning that as long as you are using it, you are helping it run. + +## Router List + +* [Normal I2P router](https://geti2p.net/en/download), written in Java +* [I2P+](https://i2pplus.github.io/#download), extended version of the base I2P router +* [I2Pd](https://i2pd.website/), written in C++ + +When you have gotten your I2P router running, all you need to do is go to the dashboard at your computer's local host and see if an I2P site works. I would suggest trying out [notbob.i2p](http://notbob.i2p/), since it is just an index of other I2P pages for you to explore. + +## Torrenting + +To torrent files on I2P can be a bit complex depending on what BitTorrent manager you are using. For a new user of I2P, I would suggest using the [Normal I2P router](https://geti2p.net/en/download) due to the fact that it has a BitTorrent manager built into it. + +If you are using I2Pd, I would suggest enabling the SAM, I2CP, and I2PControl protocols to make sure you are able to torrent while using [I2Psnark](https://i2pplus.github.io/#download) as your BitTorrent manager. If you do this, everything should work. + +* * * + +## Overview + +Overall, I would say I2P is an amazing project and I believe you should try it out, for it has a lot of interesting websites and has amazing potential in the coming future. diff --git a/src/archive/linux.md b/src/archive/linux.md new file mode 100644 index 0000000..25bc1f1 --- /dev/null +++ b/src/archive/linux.md @@ -0,0 +1,32 @@ +--- +layout: layout +title: Linux Archive +--- + +{% macro tagList(tagName) %} + {% for post in collections.all %} + {% set tags = post.data.tags %} + {% if tags and tags.push is defined and tagName in tags %} + {{ post.date | dateFormat("dd-MM-yyyy") }} + β€” {{ post.data.title }} + {% endif %} + {% endfor %} +{% endmacro %} + +# Linux archive + +## Information about Linux +{{ tagList("information-about-linux") }} + +## The Linux server +{{ tagList("the-linux-server") }} + +## Media tutorials +{{ tagList("media-tutorials") }} + +## Arch Linux tutorials +{{ tagList("arch-linux") }} + +## Tools +{{ tagList("tools") }} + diff --git a/src/archive/linux/Burning_ISO.md b/src/archive/linux/Burning_ISO.md new file mode 100644 index 0000000..e96119a --- /dev/null +++ b/src/archive/linux/Burning_ISO.md @@ -0,0 +1,60 @@ +--- +title: Burning an ISO to a USB stick πŸ’Ύ +date: 2024-08-24 +layout: linux +tags: + - media-tutorials +--- +Burning an ISO onto a USB stick on Linux is very easy, and you only need to use a few commands! + +* * * + +## What you will need πŸ“‹ + +* A USB drive +* A computer with Linux 🐧πŸ–₯ +* The ability to read instructions and to follow them 🧠 + +* * * + +### Warning ⚠️ + +Make sure there is no valuable information on the USB stick. + +* * * + +## How to burn an ISO to a USB πŸ”₯πŸ’Ύ + +1) You need to have an ISO file. I am guessing you already have one, but if you do have one, I would suggest checking out [Distrowatch](https://distrowatch.com). + +* * * + +2) Now that you have the ISO file, you need to plug in the USB stick. After doing that, you need to identify the name of the USB with the following command: + +> $ lsblk + +The USB name will be something like sdb or sdc; if you are unsure, check the size of the USB and the size of the device listed. + +* * * + +3) We need to make sure the USB is unmounted, and we do this with this command. Remember to use your USB name: + +> $ sudo umount /dev/sdX + +* * * + +4) Now it is time to burn the ISO to the USB stick, use your USB name and your ISO name with this command! + +> $ sudo dd if=debian.iso of=/dev/sdX bs=4M status=progress oflag=sync + +* * * + +5) After waiting a bit for it to burn, you now need to eject it so you are able to use it with this command: + +> $ sudo eject /dev/sdX + +* * * + +## Finished βœ… + +After following all of these steps, your USB should have the ISO image burned into it. I hope this has helped you burn a Linux or BSD distro to a USB! diff --git a/src/archive/linux/Cleaning_Arch_Linux.md b/src/archive/linux/Cleaning_Arch_Linux.md new file mode 100644 index 0000000..d49c467 --- /dev/null +++ b/src/archive/linux/Cleaning_Arch_Linux.md @@ -0,0 +1,42 @@ +--- +title: How To Clean Arch Linux 🧹 +date: 2024-07-21 +layout: linux +tags: + - arch-linux +--- +In this artical I will be telling you how to clean up your [Arch Linux system](https://archlinux.org) in the same way I do so. + +* * * + +## Package Cache + +The first thing you want to do is clean the Pacman cache, as Pacman does not automatically clean it. This is because Pacman retains the cache in case you need to downgrade a package or reinstall it after uninstalling. To clean the cache, use the following commands: + +> $ sudo pacman -Sc # Remove packages from cache not installed
+> $ sudo pacman -Scc # Remove packages from cache both installed and not installed + +Some people like to automate this task of cleaning the cache with [paccache](https://wiki.archlinux.org/title/Pacman#Cleaning_the_package_cache), but personally I would not because it is something that takes around five minutes max to do. However, it is your choice if you want to do so to avoid the trouble of doing it manually. Regardless of whether you choose to do this manually or automatically, I suggest cleaning the cache monthly. + +* * * + +## Removing Orphan Packages + +Orphan packages are those installed as dependencies for other software but are no longer needed. For example, when you install [LibreWolf](https://librewolf.net/), it downloads a package called librewolf-debug as a dependency. Once the installation is complete, librewolf-debug becomes an orphan package because it is no longer used by LibreWolf. + +> $ sudo pacman -Qtdq # Identify orphan packages
+> $ sudo pacman -Rns $(pacman -Qtdq) # Uninstall orphan packages + +I suggest uninstalling Orphan packages every month or so, just like cleaning the Pacman cache. + +* * * + +## Cache + +Sometimes you want to clean out the ~/.cache directory, as it can accumulate a large number of files from various programs on your system. The cache directory contains temporary files used by different applications to speed up their processes. In general, it is safe to delete all items in this directory, but be cautious if you have specific applications with unusual caching mechanisms. To clean the cache directory run the following command: + +> $ rm -rf ~/.cache/\* # Clear the cache directory + +* * * + +That is all for now, I hope this artical has helped you clean your system. diff --git a/src/archive/linux/Encrypting_USBs.md b/src/archive/linux/Encrypting_USBs.md new file mode 100644 index 0000000..7df83fb --- /dev/null +++ b/src/archive/linux/Encrypting_USBs.md @@ -0,0 +1,71 @@ +--- +title: Encrypting USB with luks πŸ”’ +date: 2025-02-17 +layout: linux +tags: + - media-tutorials +--- +## What you will need πŸ“‹ + +* A USB drive +* A computer with Linux 🐧πŸ–₯ +* The ability to read instructions and to follow them 🧠 + +* * * + +1) Install cryptsetup + +> $ sudo pacman -S cryptsetup + +* * * + +2) Backup any information on the USB stick because this process involves formatting the USB drive. + +* * * + +3) Formatting USB. + +> $ sudo fdisk /dev/sdX + +The X being your USB drive. + +Press the following keys: +o +n +Press enter for the rest +w + +* * * + +4) Encryption time! + +> $ sudo cryptsetup luksFormat /dev/sdX1 + +* * * + +5) Decrypt USB + +> $ sudo cryptsetup luksOpen /dev/sdX1 USB + +Note: The first password is your root user password, not the encryption password. I have sadly made this mistake in the past. + +* * * + +6) Format the Encrypted Partition + +> $ sudo mkfs.ext4 /dev/mapper/USB + +Depending on the size of the USB, this may take some time. For me, it took 3 minutes. + +* * * + +Step 7: Mount the Encrypted Partition + +> $ sudo mkdir -p /mnt/USB
+> $ sudo mount /dev/mapper/USB /mnt/USB + +* * * + +## Finished βœ… + +I hope your password is good, make sure to memorize it or save it in a password manager! diff --git a/src/archive/linux/File_Hierarchy.md b/src/archive/linux/File_Hierarchy.md new file mode 100644 index 0000000..926d289 --- /dev/null +++ b/src/archive/linux/File_Hierarchy.md @@ -0,0 +1,70 @@ +--- +title: Linux File Hierarchy +date: 2024-08-05 +layout: linux +tags: + - information-about-linux +--- +Like any other operating system Linux has a File Hierarchy, due to the fact that the Linux operating system is a Unix-like operating system the infomation in this article can be applied to BSD and any modern versions of Unix like Solaris or IBM's AIX. + +## / (root) +Every single varient of Linux has a root directory reposented by the forward slash symbol '/' it is the highest level directory in Linux and it stores all the system files that make it possable to run Linux. + +## /bin +The bin directory is where all of the executable binaries are stored, this allows you to use commands like ''cd', 'mkdir' and all the commands you can type into your command line. + +## /boot +The /boot directory holds all the files needed for you to be able to boot up your Linux system. It includes configuration files for whatever bootloader you are using and other components, such as the installed kernel and the initial RAM disk. The kernel is the main part of every operating system, from Windows to Linux to BSD. Its goal is to allocate resources to programs and allow them to run, while the initial RAM disk is just there to mount the root filesystem at boot. If you have more than one kernel installed, it will be stored in the /boot directory, so if you plan to install more than one kernel, I would strongly suggest allocating some more space to this directory. + +##/dev +The /dev directory contains files that represent the hardware devices of your computer, such as hard drives, terminals, and such. These device files allow the operating system and software to interact with the hardware. For example, if you have ever installed Arch Linux or Gentoo /dev/sda would be the first SATA drive on your computer, while something like /dev/tty20 would represent the twentieth terminal on the system. Also the /dev directory includes virtual device files, such as /dev/null, which discards all data written to it, and /dev/random, which generates random numbers. These virtual devices provide various system functions that do not interact with the physical hardware. + +## /etc +The etc directory contains configuration files for all of the system-wide settings. It includes configurations for system services, users, and various applications. A few essential files in /etc would be the fstab file which defines how all the disk partitions are mounted on boot and if this is not present well your computer will not mount propally meaning you will not be able to boot, /etc/passwd which contains user info, and /etc/hostname which has the system’s hostname whithin it. This directory is needed for managing your Linux system because it holds many aspects of system behavior and configuration. + +## /home +The /home directory is where users' files are stored. Each user on the system has a subdirectory within /home, normally named after their username, where they can store personal files, configurations, and other personal files. For example, my user is "shipwreckt" and I have my home directory in /home/shipwreckt. This directory is essential for normal computer use. + +## /lib +The /lib directory holds all of the shared library files that are needed by programs. In these libraries is the code for various programs to run; an example would be the C library, which is essential for programs written in C (who would have guessed). This directory is critical for the running of programs and your system as a whole. + +## /lib64 +The /lib64 directory is basically the same as /lib but it holds 64-bit libraries. If your Linux system runs on a 64-bit architecture, /lib64 contains the needed libraries required for 64-bit programmes. While /lib normally contains 32-bit libraries, the separation helps in managing libraries for different system architectures. + +## /media +The /media directory is used for mounting removable media like USBs, CDs, and if you are old floppy disks. When a removable device is plugged into the computer, it should be mounted to the /media directory. On some Linux systems, like Arch Linux, there is no /media directory but there is a /run/media directory. Removable media is not automatically mounted, so you might need to do this manually, be that through your file manager or the terminal. + +## /mnt +The /mnt directory is used for mounting other hard drives on your computer. On my computer I have two drives my NVME drive that has Arch Linux installed on it and my secondary drive that I use for backups, the drive is in /mnt sadly there is not much to say about /mnt but this is all I know about it. + +## /opt +The /opt directory is used for installing third-party software are not part of the default system. Software installed here does not normally need core system components. In my /opt I only have the nuclear music player and to my knowlage only programs written in higher level programming langauges like python and java are installed here. + +## /proc +the /proc directory is a virtual filesystem that gives us a view into the kernel's internal data structures. This directory contains infomation about system processes and a bunch of kernel parameters. Files in /proc are not readable files but are created over time by the kernel. For example /proc/cpuinfo holds a bunch of useful infomaiton about your CPU, whilst /proc/meminfo shows memory usage. This directroy is needed ofr monitoring and managing system performance + +## /root +If you did not know root is technically a user and its home directory is not in /home instead it is in the /root. It is used to store anything a normal user would use their home directory for. + +## /sbin +The /sbin directory contains essential binaries and commands that are used by the root user. Unlike the /bin directory which includes binarys for basic programs for all users to use /sbin holds commands that can only be used by the root user. It contains lots of useful programs like 'fsck' and more. + +## /srv +/srv stands for "service" and is used to hold files that are served by various system services such as web servers. By default I beleve on all Linux systems /srv has two files in it, being http and ftp both being types of web servers. There is not much to say about /srv but you are only really going to use it if you are messing around with websites. + +## /sys +The /sys directory is a virtual filesystem that allows us to examine the kernel's hardware and device model in greater detail. /sys is specifically made to interact with and set up kernel subsystems and hardware devices. Similar to /proc, the contents of this directory are generated in real time by the kernel and are important to understanding the hardware of your Linux system. + +## /tmp +The /tmp directory is used for storing temporary files created by programs and system processes. It serves as a place for programs to dump their data that is only needed temporarily. Files in /tmp are normally deleted on reboot or after a certain period of time. This directory is needed for many programs to work. There is not much else to say apart from do not store normal files here just in case they disappear! + +## /usr +The /usr directory is a very important part of the Linux filesystem, it stores user related programs and data. It contains a lot of the system's executable programs, libraries, and more. Within /usr you will find a few important directories /usr/bin that holds binaries /usr/lib that holds libraries, /usr/share which contains documentation and configuration files. /usr is made for files to be used by all users. It is essential for programs to function. + +## /var +The /var directory is used to store variable data that changes all the time while yout system is powered on. Important things such as logs, mail spools, and temporary files. If you are running a server I do suggest giving /var its own partition because it allows for easy backup and recovery. + +## Overview +This has took me a while to write because I have had to double check everything and put it in my own words so I understand it! If there are any issues please with this artical please report it. + +As normal thank you for reading! diff --git a/src/archive/linux/Formatting_USB.md b/src/archive/linux/Formatting_USB.md new file mode 100644 index 0000000..cc7fc12 --- /dev/null +++ b/src/archive/linux/Formatting_USB.md @@ -0,0 +1,56 @@ +--- +title: Formatting USBs With Linux πŸ”ŒπŸ”₯ +date: 2024-08-23 +layout: linux +tags: + - media-tutorials +--- +Formatting a USB in Linux is easier then [burning an ISO](01BurningIsos) and only needs a few quick commands! + +* * * + +## What you will need πŸ“‹ + +* A USB drive +* A computer with Linux 🐧πŸ–₯ +* The ability to read instructions and to follow them 🧠 + +* * * + +## Formatting the USB + +1) The first thing you want to do is plug in your USB stick and identify the USB stick's name. + +lsblk + +Normally the USB will be something like sdX; a tip on identifying it is by looking at the size of the USB in the table that lsblk gives you! + +* * * + +2) Now you need to use a program called [fdisk](https://linux.die.net/man/8/fdisk) that will allow you to create a new partition table for the USB, this will format the USB. + +sudo fdisk /dev/sdX + +You will need to press the following keys to make a new partition table for the USB. + +* o - Creates a new DOS partition table +* n - New partition, press enter to all that follows +* w - Writes the partition table + +Give fdisk a minute to write the new partition to the USB. + +* * * + +3) Now is the time to give that partition a file system. You should look into this beforehand to see what file system you want, but I will use fat32 because it works with all operating systems. + +sudo mkfs.fat -F 32 -n "Backup-USB" /dev/sdXx + +The small x represents the number of the partition; the -L flag is used to give the USB stick a name. + +* * * + +## Finished βœ… + +All done! Now you have an empty USB stick you can use for all your files! + +* * * diff --git a/src/archive/linux/Git_Server.md b/src/archive/linux/Git_Server.md new file mode 100644 index 0000000..e8c7de7 --- /dev/null +++ b/src/archive/linux/Git_Server.md @@ -0,0 +1,132 @@ +--- +title: How to start your own epic Git server! +date: 2025-02-23 +layout: linux +tags: + - the-linux-server +--- +Quick guide on how to set up a git server with stagic html website. +*** +## What you will need πŸ“‹ +- A computer with Linux 🐧πŸ–₯️ +- A VPS with Linux instaled πŸ§πŸ—„οΈ +- Some terminal knowlage 🧠 +- Ideally have a domain name +*** +### 1\) Install Git +> \# sudo apt install git +*** +### 2\) Create Git user +> \# adduser git +*** +### 3\) Now you need to add your SSh keys + +On computer +> $ ssh-copy-id git@server_ip + +If you want to allow other people to use your Git server, add their SSH keys alongside yours. + +On server: +> \# su git
+> $ cd
+> $ mkdir .ssh && chmod 700 .ssh
+> $ touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys + +*** + +### 4) Nearly done, now all you need to do is make a git repo. +> \# mkdir -p /srv/git
+> \# chown git:git /srv/git
+> \# su git
+> $ cd /srv/git
+> $ mkdir yourrepo.git
+> $ cd yourrepo.git
+> $ git init --bare + +*** + +### 5) Add your server to your local repo +On computer +> $ cd yourrepo
+> $ git init
+> $ git add .
+> $ git commit -m 'Initial commit'
+> $ git remote add origin git@gitserver:/srv/git/project.git
+> $ git push origin master + +If you already have a Git repository from another server, you can do the following to add your new Git server alongside your old one. + +> $ cd yourrepo
+> $ git remote add server git@gitserver:/srv/git/project.git
+> $ git push server master && git push origin master + +*** + +### 6) If you want to enable anybody to clone from your website do the following! + +> \# sudo git daemon --reuseaddr --base-path=/srv/git/ /srv/git/ &
+> \# sudo systemctl enable git-daemon
+> \# sudo systemctl start git-daemon
+> \# su git
+> \# touch /srv/git/project.git/git-daemon-export-ok + +Cloning your git repo + +> git clone git://your-server-ip-address/repository.git + +Now you should be able to be able to clone without a ssh key! + +*** +# Setting up Stagit for personal git website +Now that you have a Git server, you probably want a way to show off all of your repositories. I personally use Stagit for this because it is lightweight and stylish. I will assume you know how to make a website using Apache or Nginx. +*** +### 1) First you need to install stagit (I have my own custom fork to make it easier to setup) + +> \# cd /var/www
+> \# git clone git://shipwreckt.co.uk/Stagit.git
+> \# mkdir git
+> \# chown git:git git
+> \# mv stagit-fork/* git
+> \# cd git
+> \# sudo make clean install + +*** + +### 2) Setup website. +> \# cd htmldir
+> \# sh example_create.sh + +Your static stagit website should be generated for you! Check by going to git.yourdomain.com. + +*** +### 3) Next you want to set up ownership, links, and descriptions for stagiit to display + +Descriptions +> \# This is my git repo > /srv/git/yourrepo.git/description + +URL +> \# git://yourdomain.com/yourrepo.git > /srv/git/yourrepo.git/url + +Owner +> \# owner > /srv/git/yourrepo.git/owner + +Update stagit +> \# sh /var/www/git/htmldir/example_create.sh + +Now repete for all of your repos till all is correct! + +*** + +### 3) Now you want it so stagit updates whenever there is an update, thankfully for you I have modified the script to work whenever a git commit is made! +> \# cp /var/www/git/example_post-receive.sh /srv/git /srv/git/yourgitrepo.git/hooks/post-receive + +Now whenever you push a commit everything should update! + +*** + +# Overview +I hope this guide has helped you setup a kool git server! If there are any problems please contact me! + + + + diff --git a/src/archive/linux/Optical_Media.md b/src/archive/linux/Optical_Media.md new file mode 100644 index 0000000..384eef9 --- /dev/null +++ b/src/archive/linux/Optical_Media.md @@ -0,0 +1,60 @@ +--- +title: Burning optical media in Linux πŸ’Ώ +date: 2024-08-23 +layout: linux +tags: + - media-tutorials +--- +This is a quick tutorial to show you how to burn any file to a piece of optical disk media! + +*** + +### Warning ⚠️ + +Once you burn an optical disk you cannot reburn it. + +Optical media does not have the best storage, normally under 1GiB so make sure your files align with the size of the optical media. + +*** + +## What you will need πŸ“‹ + +* Optical drive capable of writing to a CD +* A computer with Linux 🐧πŸ–₯️ +* The ability to read instructions and to follow them 🧠 + +*** + +## Steps to burn πŸ”₯ + +You will only need one program to burn media to a CD; the name of that program is [wodim](https://linux.die.net/man/1/wodim), and it is part of a collection of programs called [cdrkit](https://packages.debian.org/source/sid/cdrkit), as in thename ofe this collection of programs that allow you to do a whole variaty of things withopticall media! + +*** + +1) Install cdrkit, on some Linux distrobutions cdrkit is already installed, but on my main Linux distrobution [Arch Linux](https://archlinux.org), it is not so check you have it installed, the package on your distro will most likely be called cdrkit. + + +> sudo pacman -S cdrkit + + + +*** + + 2) You want to get whatever data you want into an ISO file, so if you had a file called movies that held movies you would use the command. As an example, I will be using the location of the Fallout 1 installation files on my system. + + +> mkisofs -o Fallout.iso -V "Fallout 1" ~/Downloads/Fallout
+>Fallout.iso being the output ISO and ~/Downloads/Fallout being the directory with the movies in there. + +*** + + 3) Now the last command is the actual event of burning the optical media! So insert it into your optical drive and type this command. + + +> cdrecord -v dev=/dev/cdrom ~/Downloads/Fallout.iso
+> movies.iso being the output ISO from the last command. + +*** + +## Overview +Now it is time to sit back and wait for it to burn; do not get impatient; give it time, and it will burn. When it is done, you may enject the optical media from the CD drive, and it should have all the files you desire. diff --git a/src/archive/linux/Speeding_Up_Pacman.md b/src/archive/linux/Speeding_Up_Pacman.md new file mode 100644 index 0000000..ff44adf --- /dev/null +++ b/src/archive/linux/Speeding_Up_Pacman.md @@ -0,0 +1,49 @@ +--- +title: Speeding up Pacman πŸš— +date: 2024-08-23 +layout: linux +tags: + - arch-linux +--- +It is very easy to speed up Pacman, and we can do it in a few easy steps, so follow this guide, and your favourite package manager will be fast as anything! + +* * * + +## Pacman.conf + +Pacman can download packages in parallel, meaning you are able to download more than one package at a time, which makes the process of installing and updating packages way faster! + +The first thing you want to do is go to the location of pacman.conf, which is located in **/etc/pacman.conf**. So you would want to run a command like this but with your preferred text editor: + +> $ sudo nvim /etc/pacman.conf + +Now that you are in the configuration file, you want to navigate to a section where it says **Misc options**. You want to uncomment the line where it says **'ParallelDownloads.'** It should look something like this: + +> \# Misc options
+> #UseSyslog
+> Color
+> #NoProgressBar
+> CheckSpace
+> #VerbosePkgLists
+> ParallelDownloads = 5
+> ILoveCandy + +If you have a keen eye, you may have spotted the last line, which says 'I Love Candy,' and the reason why this line is here is because it gives the Pacman prompt when you run it a bit of styal with the pound signs being replaced with Pacman! + +* * * + +## Mirrors πŸͺž + +If you did not know, a mirror is a server where the packages you install are hosted. Ideally, you want to download all of your packages from the fastest mirrors, so let me show you how to do that! + +The first thing you will need to do is install the reflector program and run the reflector command. + +> $ sudo pacman -S reflector
+> $ sudo reflector --latest 10 --sort rate --save /etc/pacman.d/mirrorlist
+> $ sudo pacman -Syy # To update package list from server + +After running this command, your download speed should be way faster! + +* * * + +I hope this has helped you in making Pacman not only look better but function better! diff --git a/src/archive/linux/TarGZ.md b/src/archive/linux/TarGZ.md new file mode 100644 index 0000000..d46bc3d --- /dev/null +++ b/src/archive/linux/TarGZ.md @@ -0,0 +1,30 @@ +--- +title: How to tar.gz a directory πŸ“ +date: 2025-04-13 +layout: linux +tags: + - tools +--- +## What you will need πŸ“‹ + +* A computer with Linux or BSD 🐧πŸ–₯️ +* The ability to read instructions and to follow them 🧠 + +* * * + +## Why? + +Main reason why you want to tar.gz a directory is because it compresses a directory and all of the data inside of it. It is also good for backing things up too. + +* * * + +## The command + +> $ tar -czvf file.tar.gz /Location/Of/Directory + +* * * + +## All done βœ… + +Really easily done, only one command and done! + diff --git a/src/archive/linux/Terminal_Is_Better.md b/src/archive/linux/Terminal_Is_Better.md new file mode 100644 index 0000000..5cc411e --- /dev/null +++ b/src/archive/linux/Terminal_Is_Better.md @@ -0,0 +1,30 @@ +--- +title: Why the terminal will always beat the GUI πŸ‘¨β€πŸ’» +date: 2024-08-27 +layout: linux +tags: + - information-about-linux +--- +I want to say this now, I do not care if people use a GUI option for things, Linux is all about choice and if you choose to use a GUI instead of using the terminal that is your choice! +*** + +## 1) The Terminal Simplifies Tasks With Fewer Steps: +Using the terminal can be way faster and more straightforward than navigating a GUI. For example, updating your Linux system requires one simple command in the terminal. In contrast, using a GUI software centre involves way more steps: opening the software center, navigating to the update section, and then updating all the programs. The terminal streamlines all of this which makes it way more efficient. +*** + +## 2) Enhanced Efficiency +A GUI is essentially the command line dressed up with buttons and such, allowing users to execute commands through the elements of the GUI. While this is useful for those who are less familiar with computers, for technical users like you and me, we seek greater efficiency. By learning how to use the command line, we can perform tasks more quickly with only a few words. This not only saves us time but also enhances our productivity. +*** + +## 3) Understanding The System +By learning all of these command-line tools over time, you will start learning how a Linux system works and operates, and this will help you fix any issues that pop up in the future. For example, if you wanted to format a USB stick, while yes, you could use Gnome-disk, it is faster just to use fdisk and mkfs for formatting a USB stick. +*** + +## Kool TUI / CLI programs + + MPV - Video player + FEH - Image viewer + +*** + +For now that is all I have on why terminal is better! diff --git a/src/archive/linux/Ventoy.md b/src/archive/linux/Ventoy.md new file mode 100644 index 0000000..1b46401 --- /dev/null +++ b/src/archive/linux/Ventoy.md @@ -0,0 +1,65 @@ +--- +title: How to Install Ventoy with Linux πŸ§πŸ”Œ +date: 2024-08-25 +layout: linux +tags: + - tools +--- +Installing Ventoy is pretty easy, just a few quick steps and you will be there! + +* * * + +## What you will need πŸ“‹ + +* A USB with over 10GiB +* A computer with Linux 🐧πŸ–₯️ +* The ability to read instructions and to follow them 🧠 + +* * * + +### Warning ⚠️ + +If the USB has any useful data, please back it up before following this guide. + +* * * + +## Installing Ventoy with Linux πŸ§πŸ”Œ + +1) The first thing you want to do is get a few .ISO and .IMG files. [Tails](https://tails.net/install/download/index.en.html) is a must-have on Ventoy, and you can also have a little look on [distrowatch](https://distrowatch.com) for other distros that peak your curiosity! + +* * * + +2) Install ventoy.tar.gz from [https://ventoy.net/en/index.html](https://ventoy.net/en/index.html), the website tells you to install it from [source forge](https://sourceforge.net/projects/ventoy/files/v1.0.99/), make sure it is the linux.tar.gz file. + +* * * + +3) After installing the tar.gz, you need to run the following command; this will open the compressed file, which will allow you to use Ventoy. + +> $ gunzip ventoy--linux.tar.gz && tar -xvf ventoy--linux.tar + +* * * + +4) Next you want to enter the Ventoy directory and identify what your USB name is + +> $ cd ventoy-/ && lsblk + +Normally the USB with the lowest amount of storage will be your USB; to make sure, check the size of your USB compared to the devices listed under lsblk. + +* * * + +5) This command will install Ventoy to the USB. Make sure your USB name is correct; it will be something like sdb. A good way to identify the USB is by running lsblk when the USB is out and then running lsblk while the USB is plugged in. + +> $ sudo sh Ventoy2Disk.sh -i /dev/sdX +> $ Replace the X with your device letter. + +* * * + +6) The last command is just ejecting your USB + +> $ sudo eject sdX + +* * * + +## All done βœ… + +After following all of these steps Ventoy should be installed on your USB stick, now the only thing to do is plug the USB in and put the ISO and IMG files into the USB, I hope this has helped you! diff --git a/src/assets/css/main.css b/src/assets/css/main.css new file mode 100644 index 0000000..042ec84 --- /dev/null +++ b/src/assets/css/main.css @@ -0,0 +1,334 @@ +/* === Global reset & base styles === */ +* { + box-sizing: border-box; + margin: 0; + padding: 0; +} + +html, body { + height: 100%; +} + +body { + background-color: #1e1e2f; + color: #e0e0e0; + font-family: 'IBM Plex Sans', 'FreeSerif', serif; + line-height: 1.7; + font-size: 18px; + max-width: 900px; + margin: 0 auto; + padding: 20px; +} + +/* === Header & nav === */ +header { + text-align: center; + margin-bottom: 40px; +} + +nav ul { + list-style: none; + text-align: center; +} + +nav ul li { + display: inline-block; + margin: 0 15px; +} + +nav ul li.logo img { + max-height: 70px; +} + +nav ul li a { + color: #a39cff; + text-decoration: none; + font-weight: 500; + transition: color 0.2s; +} + +nav ul li a:hover { + color: #ffffff; +} + +/* === Links === */ +a { + color: #9fa7ff; + text-decoration: none; + transition: color 0.2s; +} + +a:hover { + color: #ffffff; + text-decoration: underline; +} + +/* === Main content === */ +main { + margin: 0 auto; + padding: 0 10px; + font-size: 18px; +} + +h1, h2, h3 { + font-weight: 600; + margin: 1.5rem 0 0.5rem; + color: #c0c0ff; +} + +h1 { + font-size: 2.2rem; +} + +h2 { + font-size: 1.6rem; +} + +/* === Paragraphs & spacing === */ +p { + margin: 1rem 0; +} + +/* === Images === */ +img { + max-width: 100%; + height: auto; + display: block; + margin: 1rem 0; +} + +.right-image { + float: right; + margin: 0 0 10px 15px; +} + +.left-image { + float: left; + margin: 0 15px 10px 0; +} + +/* === Tags / meta === */ +.tags, .tags2 { + display: block; + margin: 1rem 0; + font-size: 0.9rem; + color: #b0b0ff; +} + +/* === Blockquotes === */ +blockquote { + border-left: 6px solid #a39cff; /* keeps your accent color */ + background-color: #2e2460; /* slightly brighter than current bg */ + color: #d0d0ff; /* lighter text for contrast */ + font-style: italic; + margin: 1.5rem 0; + padding: 15px 20px; /* more breathing room inside */ + border-radius: 8px; /* softer corners */ + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); /* subtle shadow for depth */ + line-height: 1.6; +} + + +/* === Lists === */ +ul, ol { + margin: 1rem 0 1rem 2rem; +} + +/* === Footer === */ +footer { + margin-top: 10px; + border-top: 3px solid #444; + color: #999; + font-size: 0.9rem; +} + +/* === Media queries (responsive) === */ +@media (max-width: 600px) { + main { + padding: 0 5px; + } + + nav ul li { + display: block; + margin: 10px 0; + } + + .right-image, .left-image { + float: none; + margin: 10px auto; + } +} + +/* === Tables === */ +table { + width: 100%; + border-collapse: collapse; + margin: 1.5rem 0; + background-color: #2a2a40; /* slightly lighter than body for contrast */ + color: #e0e0e0; + font-size: 16px; +} + +thead { + background-color: #3a3a5a; /* header row darker */ +} + +th, td { + padding: 12px 15px; + text-align: left; + border-bottom: 1px solid #444; /* subtle row separation */ +} + +th { + font-weight: 600; + color: #c0c0ff; +} + +tr:hover { + background-color: #404060; /* highlight row on hover */ +} + +/* Responsive table tweaks */ +@media (max-width: 600px) { + table, thead, tbody, th, td, tr { + display: block; + } + + thead tr { + display: none; /* hide header row on small screens */ + } + + tr { + margin-bottom: 15px; + border-bottom: 2px solid #444; + } + + td { + padding-left: 50%; + position: relative; + } + + td::before { + content: attr(data-label); + position: absolute; + left: 15px; + font-weight: 600; + color: #a39cff; + } +} + +/* === Post footer: Back link left, tags right === */ +.post-footer { + display: flex; + justify-content: space-between; /* Back left, tags right */ + align-items: center; + flex-wrap: wrap; /* ensures it wraps on smaller screens */ +} + +.post-footer a { + color: #9fa7ff; + text-decoration: none; + transition: color 0.2s; +} + +.post-footer a:hover { + color: #ffffff; + text-decoration: underline; +} + +.post-footer .post-tags { + font-size: 0.9rem; + color: #b0b0ff; +} + +.post-footer .post-tags a { + margin-right: 0.5rem; + color: #9fa7ff; + text-decoration: none; +} + +.post-footer .post-tags a:hover { + color: #ffffff; + text-decoration: underline; +} + +/* === Compact Header / Navigation === */ +.site-nav { + background-color: #24243a; + padding: 8px 0; /* reduced vertical padding */ + border-bottom: 2px solid #333; +} + +.nav-container { + display: flex; + justify-content: space-between; + align-items: center; + flex-wrap: wrap; + max-width: 900px; + margin: 0 auto; + padding: 0 15px; /* slightly narrower horizontal padding */ +} + +.site-title { + font-size: 1.4rem; /* smaller title */ + font-weight: 700; + color: #c0c0ff; + text-decoration: none; + letter-spacing: 0.5px; +} + +.site-title:hover { + color: #ffffff; + text-shadow: 0 0 6px rgba(160, 150, 255, 0.4); +} + +.nav-right { + list-style: none; + display: flex; + gap: 18px; /* tighter link spacing */ +} + +.nav-right li a { + color: #a39cff; + text-decoration: none; + font-weight: 500; + position: relative; + padding-bottom: 2px; + font-size: 0.95rem; /* slightly smaller link text */ + transition: color 0.2s, transform 0.2s; +} + +.nav-right li a::after { + content: ""; + position: absolute; + bottom: 0; + left: 0; + width: 0; + height: 1px; /* thinner underline */ + background: #9fa7ff; + transition: width 0.3s ease; +} + +.nav-right li a:hover { + color: #ffffff; + transform: translateY(-1px); +} + +.nav-right li a:hover::after { + width: 100%; +} + +/* Mobile adjustments */ +@media (max-width: 600px) { + .nav-container { + flex-direction: column; + align-items: center; + } + + .nav-right { + flex-direction: column; + gap: 8px; + margin-top: 8px; + } +} + diff --git a/src/assets/css/main.css.bk b/src/assets/css/main.css.bk new file mode 100644 index 0000000..1d006ad --- /dev/null +++ b/src/assets/css/main.css.bk @@ -0,0 +1,219 @@ +/* === Global reset & base styles === */ +* { + box-sizing: border-box; + margin: 0; + padding: 0; +} + +html, body { + height: 100%; +} + +body { + background-color: #1e1e2f; /* darker, richer background */ + color: #e0e0e0; /* lighter text */ + font-family: 'IBM Plex Sans', 'FreeSerif', serif; /* modern + fallback */ + line-height: 1.7; + font-size: 18px; + max-width: 900px; + margin: 0 auto; + padding: 20px; +} + +/* === Header & nav === */ +header { + text-align: center; + margin-bottom: 40px; +} + +nav ul { + list-style: none; + text-align: center; +} + +nav ul li { + display: inline-block; + margin: 0 15px; +} + +nav ul li.logo img { + max-height: 70px; +} + +nav ul li a { + color: #a39cff; + text-decoration: none; + font-weight: 500; + transition: color 0.2s; +} + +nav ul li a:hover { + color: #ffffff; +} + +/* === Links === */ +a { + color: #9fa7ff; + text-decoration: none; + transition: color 0.2s; +} + +a:hover { + color: #ffffff; + text-decoration: underline; +} + +/* === Main content === */ +main { + margin: 0 auto; + padding: 0 10px; + font-size: 18px; +} + +h1, h2, h3 { + font-weight: 600; + margin: 1.5rem 0 0.5rem; + color: #c0c0ff; +} + +h1 { + font-size: 2.2rem; +} + +h2 { + font-size: 1.6rem; +} + +/* === Paragraphs & spacing === */ +p { + margin: 1rem 0; +} + +/* === Images === */ +img { + max-width: 100%; + height: auto; + display: block; + margin: 1rem 0; +} + +.right-image { + float: right; + margin: 0 0 10px 15px; +} + +.left-image { + float: left; + margin: 0 15px 10px 0; +} + +/* === Tags / meta === */ +.tags, .tags2 { + display: block; + margin: 1rem 0; + font-size: 0.9rem; + color: #b0b0ff; +} + +/* === Blockquotes === */ +blockquote { + border-left: 6px solid #a39cff; /* keeps your accent color */ + background-color: #2e2460; /* slightly brighter than current bg */ + color: #d0d0ff; /* lighter text for contrast */ + font-style: italic; + margin: 1.5rem 0; + padding: 15px 20px; /* more breathing room inside */ + border-radius: 8px; /* softer corners */ + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); /* subtle shadow for depth */ + line-height: 1.6; +} + + +/* === Lists === */ +ul, ol { + margin: 1rem 0 1rem 2rem; +} + +/* === Footer === */ +footer { + margin-top: 40px; + padding-top: 20px; + border-top: 1px solid #444; + color: #999; + font-size: 0.9rem; +} + +/* === Media queries (responsive) === */ +@media (max-width: 600px) { + main { + padding: 0 5px; + } + + nav ul li { + display: block; + margin: 10px 0; + } + + .right-image, .left-image { + float: none; + margin: 10px auto; + } +} + +/* === Tables === */ +table { + width: 100%; + border-collapse: collapse; + margin: 1.5rem 0; + background-color: #2a2a40; /* slightly lighter than body for contrast */ + color: #e0e0e0; + font-size: 16px; +} + +thead { + background-color: #3a3a5a; /* header row darker */ +} + +th, td { + padding: 12px 15px; + text-align: left; + border-bottom: 1px solid #444; /* subtle row separation */ +} + +th { + font-weight: 600; + color: #c0c0ff; +} + +tr:hover { + background-color: #404060; /* highlight row on hover */ +} + +/* Responsive table tweaks */ +@media (max-width: 600px) { + table, thead, tbody, th, td, tr { + display: block; + } + + thead tr { + display: none; /* hide header row on small screens */ + } + + tr { + margin-bottom: 15px; + border-bottom: 2px solid #444; + } + + td { + padding-left: 50%; + position: relative; + } + + td::before { + content: attr(data-label); + position: absolute; + left: 15px; + font-weight: 600; + color: #a39cff; + } +} diff --git a/src/churches.md b/src/churches.md new file mode 100644 index 0000000..e9782e6 --- /dev/null +++ b/src/churches.md @@ -0,0 +1,24 @@ +--- +layout: layout +title: Churches β›ͺ +--- +# Churches I have been to +I only take communion with churches within the Anglican communion or churches who are in Communion with the CofE (Church of England) + +\* = Not attended a service + +| Church | Location | Sect | +| ------------------------------------------------------------------------------------------------- | --------- | ------------------------------ | +| All Saint's * | Bloxwich | Anglican (CofE) | +| All Saint's | Streetly | Anglican (CofE) | +| Christ Church | Blakenall | Anglican (CofE) | +| Church of the Nativity of the
Mother of God
| Walsall | Orthodox Constantinople | +| Lichfield Cathedral * | Lichfield | Anglican (CofE) | +| Saint Chad's | Beechdale | Anglican (CofE) | +| Saint Gabriel's | Fullbrook | Anglo-Catholic (CofE) | +| Saint John's | Bloxwich | Hidden River Methodist Circuit | +| Saint Matthew's * | Walsall | Anglican (CofE) | +| Saint Paul's | Walsall | Anglican (CofE) | +| Saint Patrick's | Walsall | Roman Catholic | +| Saint Peter's | Bloxwich | Roman Catholic | + diff --git a/src/contact.md b/src/contact.md new file mode 100644 index 0000000..0351c43 --- /dev/null +++ b/src/contact.md @@ -0,0 +1,21 @@ +--- +layout: layout +title: Shipwreckt +--- +# Contact +Email: me@shipwreckt.co.uk + +PGP key: 261F B571 ADC9 4529 990D 0458 40BE 11E9 2FA8 F7D9 + +Matrix: @shipwreckt:matrix.org + +*** + +# Programming +Personal GIT: git.shipwreckt.co.uk + +Gitlab: gitlab.com/shipwreckt + +Github: github.com/shipwrecktt + +Freecodecamp: freecodecamp.org/Shipwreckt diff --git a/src/images/art/Dublin.png b/src/images/art/Dublin.png new file mode 100644 index 0000000..760e471 Binary files /dev/null and b/src/images/art/Dublin.png differ diff --git a/src/images/art/NewYork.png b/src/images/art/NewYork.png new file mode 100644 index 0000000..96cd1e8 Binary files /dev/null and b/src/images/art/NewYork.png differ diff --git a/src/images/art/Tux_vaporwave.png b/src/images/art/Tux_vaporwave.png new file mode 100644 index 0000000..12b285b Binary files /dev/null and b/src/images/art/Tux_vaporwave.png differ diff --git a/src/images/bsd/BSDneo.png b/src/images/bsd/BSDneo.png new file mode 100644 index 0000000..ba33641 Binary files /dev/null and b/src/images/bsd/BSDneo.png differ diff --git a/src/images/bsd/bsdinstall-choose-mode.png b/src/images/bsd/bsdinstall-choose-mode.png new file mode 100644 index 0000000..5c872ee Binary files /dev/null and b/src/images/bsd/bsdinstall-choose-mode.png differ diff --git a/src/images/dwm.png b/src/images/dwm.png new file mode 100644 index 0000000..8d99627 Binary files /dev/null and b/src/images/dwm.png differ diff --git a/src/images/dwmsetup.png b/src/images/dwmsetup.png new file mode 100644 index 0000000..21f1fd0 Binary files /dev/null and b/src/images/dwmsetup.png differ diff --git a/src/images/hardware/GoogleP7a.png b/src/images/hardware/GoogleP7a.png new file mode 100644 index 0000000..2f03960 Binary files /dev/null and b/src/images/hardware/GoogleP7a.png differ diff --git a/src/images/hardware/ThinkPad-L560.png b/src/images/hardware/ThinkPad-L560.png new file mode 100644 index 0000000..558f384 Binary files /dev/null and b/src/images/hardware/ThinkPad-L560.png differ diff --git a/src/images/hardware/ThinkpadT440p.png b/src/images/hardware/ThinkpadT440p.png new file mode 100644 index 0000000..027248a Binary files /dev/null and b/src/images/hardware/ThinkpadT440p.png differ diff --git a/src/images/hardware/pccase/OPCcase0.png b/src/images/hardware/pccase/OPCcase0.png new file mode 100644 index 0000000..333fb3d Binary files /dev/null and b/src/images/hardware/pccase/OPCcase0.png differ diff --git a/src/images/hardware/pccase/OPCcase1.png b/src/images/hardware/pccase/OPCcase1.png new file mode 100644 index 0000000..2866912 Binary files /dev/null and b/src/images/hardware/pccase/OPCcase1.png differ diff --git a/src/images/hardware/pccase/PCcase0.png b/src/images/hardware/pccase/PCcase0.png new file mode 100644 index 0000000..baf2877 Binary files /dev/null and b/src/images/hardware/pccase/PCcase0.png differ diff --git a/src/images/hardware/pccase/PCcase1.png b/src/images/hardware/pccase/PCcase1.png new file mode 100644 index 0000000..33f5935 Binary files /dev/null and b/src/images/hardware/pccase/PCcase1.png differ diff --git a/src/images/hardware/pccase/PCcase2.png b/src/images/hardware/pccase/PCcase2.png new file mode 100644 index 0000000..9ed91d9 Binary files /dev/null and b/src/images/hardware/pccase/PCcase2.png differ diff --git a/src/images/hardware/pccase/PCcase3.png b/src/images/hardware/pccase/PCcase3.png new file mode 100644 index 0000000..373019c Binary files /dev/null and b/src/images/hardware/pccase/PCcase3.png differ diff --git a/src/images/hardware/pccase/PCcase4.png b/src/images/hardware/pccase/PCcase4.png new file mode 100644 index 0000000..bff03dc Binary files /dev/null and b/src/images/hardware/pccase/PCcase4.png differ diff --git a/src/images/hardware/thinkcenter.png b/src/images/hardware/thinkcenter.png new file mode 100644 index 0000000..58c3264 Binary files /dev/null and b/src/images/hardware/thinkcenter.png differ diff --git a/src/images/hardware/yubikey.png b/src/images/hardware/yubikey.png new file mode 100644 index 0000000..bf963b7 Binary files /dev/null and b/src/images/hardware/yubikey.png differ diff --git a/src/images/logos/11ty.png b/src/images/logos/11ty.png new file mode 100644 index 0000000..b219288 Binary files /dev/null and b/src/images/logos/11ty.png differ diff --git a/src/images/logos/fish.png b/src/images/logos/fish.png new file mode 100644 index 0000000..d9300e7 Binary files /dev/null and b/src/images/logos/fish.png differ diff --git a/src/images/logos/gentoo.png b/src/images/logos/gentoo.png new file mode 100644 index 0000000..e2882be Binary files /dev/null and b/src/images/logos/gentoo.png differ diff --git a/src/images/logos/i2p.png b/src/images/logos/i2p.png new file mode 100644 index 0000000..7de1882 Binary files /dev/null and b/src/images/logos/i2p.png differ diff --git a/src/images/logos/keepassxc.png b/src/images/logos/keepassxc.png new file mode 100644 index 0000000..910702a Binary files /dev/null and b/src/images/logos/keepassxc.png differ diff --git a/src/images/logos/librewolf.png b/src/images/logos/librewolf.png new file mode 100644 index 0000000..25b1ed9 Binary files /dev/null and b/src/images/logos/librewolf.png differ diff --git a/src/images/logos/pihole.png b/src/images/logos/pihole.png new file mode 100644 index 0000000..39da8d9 Binary files /dev/null and b/src/images/logos/pihole.png differ diff --git a/src/images/logos/tor.png b/src/images/logos/tor.png new file mode 100644 index 0000000..1417e13 Binary files /dev/null and b/src/images/logos/tor.png differ diff --git a/src/images/logos/ubuntu-logo.png b/src/images/logos/ubuntu-logo.png new file mode 100644 index 0000000..eb6ad42 Binary files /dev/null and b/src/images/logos/ubuntu-logo.png differ diff --git a/src/images/screenshots/fishscreen.png b/src/images/screenshots/fishscreen.png new file mode 100644 index 0000000..e063909 Binary files /dev/null and b/src/images/screenshots/fishscreen.png differ diff --git a/src/images/summertux.png b/src/images/summertux.png new file mode 100644 index 0000000..ef2577f Binary files /dev/null and b/src/images/summertux.png differ diff --git a/src/images/testpc.png b/src/images/testpc.png new file mode 100644 index 0000000..a56fdfc Binary files /dev/null and b/src/images/testpc.png differ diff --git a/src/index.njk b/src/index.njk new file mode 100644 index 0000000..bab1684 --- /dev/null +++ b/src/index.njk @@ -0,0 +1,37 @@ +--- +layout: layout +title: Shipwreckt +--- +

About me

+

Welcome to my website! I am Shipwreckt, I am a 16 year old from the Uk and I have a great passion for all things computer relating be that software, hardware, programming and more! I mostly focus on learning and working with the GNU/Linux operating system.

+ + + +

list of Churchs I have been to +


+ +

Tags

+

+ {% set tagCount = 0 %} + {% for tagName, items in collections %} + {% if tagName not in ["all", "post", "posts", "tools" , "safe" , "dark" , "media-tutorials" , "arch-linux" , "information-about-linux" , "the-linux-server" , "tagList"] %} + {% if tagCount > 0 %}, {% endif %} + + {{ tagName }} + + {% set tagCount = tagCount + 1 %} + {% endif %} + {% endfor %} +

+
+

Posts

+
    + {% for post in collections.posts %} +
  • + + β€” {{ post.data.title }} +
  • + {% endfor %} +
+
+ diff --git a/src/links.md b/src/links.md new file mode 100644 index 0000000..3adef66 --- /dev/null +++ b/src/links.md @@ -0,0 +1,21 @@ +--- +layout: layout +title: Shipwreckt +--- + +# Friends sites +Gositi + +# Projects I use and love + + +# Projects I am yet to try +
    +
  • dwl (wayland dwm)
  • +
  • Freenet / Hyphanet
  • +
  • GNUnet
  • diff --git a/src/posts/2025-10-30.md b/src/posts/2025-10-30.md new file mode 100644 index 0000000..c404e1e --- /dev/null +++ b/src/posts/2025-10-30.md @@ -0,0 +1,41 @@ +--- +title: Website and life updates! +date: 2025-10-30 +layout: post +tags: + - life + - tech +--- +## Introduction +It has been a while since I last wrote on this website, a few months actually, however from today on I shall try post more often. This post will just be an update to what I have been up too. + +*** + +## Website + + +Before I go into personal updates lets start with some website updates! If you have seen my website in the past you may think it has changed, and you would be correct; this is because I have switched from programming in pure HTML and CSS to using the 11ty static site generator with help from the vim plugin Vimwiki to write my website from this point on. The reason why I have done this is to make maintaining and developing my website easier. + + +### Vimwiki +This is Vim's version of org mode for Emacs. It allows for an individual to make their own wiki, I have altered the configuration to have another wiki which I use for this website meaning I can easily add updates and do other general bits. + +### 11ty +11ty is a static site generator, most people say it is easy but for a newbie like myself there was a learning curb when it came to collections and such for setting up automated post updates on the index page, but when you get past complex wrinkles like that 11ty is really easy to use and makes sense when you understand how your configuration works. + +*** + +## Personal life + +### Church +Since my last update I have became an active member within my local church (Anglican) and in the time I have last posted I have been baptized and confirmed. God has took root within my life and he plays an active roll within my life. I hope and pray over time I am able to become a better Christian and continue reading my Bible and prayer life. Over the last few months I have even became a servant within my local church, for the most part I am the crucifier, however depending on who is present that week my roll changes. Overall I think this is the most important event within my life, God has entered my life and I am so thankful for that. + +I may even introduce a theology page once I do more research, but for now if you are interested you can see a list of churches I have been to here! + +### College +I have started my T-Level IT course and so far it is going well, my only complaint is I do not have any days off within the work week like most college students my age, however I do enjoy a lot of what we cover on this course and I have the chance to even do my work placement (Once a week) within the Methodist church! So I can benefit the church whilst receiving an education. I do hope that the interview goes well and that I will get the placement! + +One of my biggest disliked of college is that it is hard to find friends, in the modern age of phones and social media people who are alone are just on their phone and therefore for the most unapproachable; it is either that or they are already with a group of people. Thankfully there are clubs two of which peak my interest the chess and debate, however sadly chess club is just when they put of chess boards out for students, what happens then is people who already know each other then play which then causes a bit of awkwardness when trying to meet people. The debate club I have not been to yet but I may pay it a visit next time it is on because I would like to learn how to debate. I did try and start a christian club, but I was denied because they were not 'looking to facilitate faith based groups' which I find iffy. However I will try to pull this off in the future when I find more people my age who are willing to help me create this project. + +### Half term +Right now as of writing it is half term, sadly I have been sick and I have not been able to do much due to my low amount of energy, however I try my best to be diligent so I have been able to do some things like overhaul my website, study, volunteer, and even do a full clean up of my room. I may also try play some video games, sadly I do not find games as fun anymore. I do deeply and truly hope that I feeling better by Sunday because I have been trained to administer the chalice to parishioners which is such an honour and humbles me deeply. diff --git a/src/posts/I2P.md b/src/posts/I2P.md new file mode 100644 index 0000000..c1d2e0e --- /dev/null +++ b/src/posts/I2P.md @@ -0,0 +1,41 @@ +--- +title: Trying out I2P πŸ•΅οΈ +date: 2024-09-22 +layout: post +tags: + - tech +--- +## What is I2P? + +I2P stands for "The Invisible Internet Project" and it is a totally private and encrypted private network layer. If you have ever heard of or used the Tor project, it is similar, but the I2P network is more secure and faster. + +### What is the point of using I2P? +This is a good question. Why should you or I even use I2P? The answer is simple: it offers many interesting things, for example: +- Over 7,000 unique websites to visit +- Free fully private Email address +- Private IRCs +- Fully decentralization +- Advanced userbase +- Faster than the Tor and freenet +Overall, I2P offers a lot to you and has an amazing community of friendly people. + +*** + +## My experience +I installed i2pd onto my home server. I chose i2pd because it is written in C, making it faster than the normal I2P package. + +After installing and starting up i2pd with Systemd, I had to forward the ports on my local network so that I could use I2P. This can be done by running a simple command: + +> ssh -fTNL 4444:127.0.0.1:4444 -L 7070:127.0.0.1:7070 + +I would strongly suggest using Librewolf to look through the I2P network. + +*** + +Here are a few websites I do like: +- ">http://notbob.i2p/ +- http://ramble.i2p/ +Most of the websites on I2P are personal sites, and I highly suggest using NotBob to look for them because some of them are really cool. + +## Conclusion +Most of the websites on I2P are personal sites. I highly suggest using NotBob to look for them because some of them are really cool. diff --git a/src/posts/No_more_school.md b/src/posts/No_more_school.md new file mode 100644 index 0000000..ca3f99e --- /dev/null +++ b/src/posts/No_more_school.md @@ -0,0 +1,24 @@ +--- +title: No more school +date: 2025-07-07 +layout: post +tags: + - life +--- +## It is over!!! + +GCSEs are over! The exams were less stressful then I initally thought, however the exams were draining. The reason why this post is coming out so late is becasue last few weeks I have just been focused on myself. + +### Will I miss school? + +Nope! I will miss some of the teachers but overall I am happy school is over, mainly due to the fact I had to take a bus to school and every school day I spent 2 hours total a day commuting to school and back and the trip back really killed me. + +### What have I been up too? + +Sadly I have not been doing much tech stuff, apart from messing around with different programs of course. I have mostly been spedning my time at church and reading the Bible, overall just connecting more with God and improving myself to be a better person over all! However I have been looking for a new VPS that allows port 22 (SMTP port) and does not block the port, however if I keep my current subscription long enough the support team said they would be able to lift the SMTP port block, so I will just stick with that, however it is a bit of a pain not being able to send mail from my mail account. + +*** + +## Overview + +Hopefully I will be able to go to collage, we will have to see though and I am just so happy that I am done with secondary school! diff --git a/src/posts/Pi-hole.md b/src/posts/Pi-hole.md new file mode 100644 index 0000000..fa2f349 --- /dev/null +++ b/src/posts/Pi-hole.md @@ -0,0 +1,35 @@ +--- +title: Pi-hole +date: 2024-09-18 +layout: post +tags: + - linux + - tech +--- +## Introduction +I've been rather busy with school lately, but I still have time to tinker! For a while now, I have wanted to use Pi-hole with my router, but I've either been busy with Gentoo or school. However, I have finally found the time and inspiration to install Pi-hole on my home server! + +*** + +## What is Pi-hole ? + +Pi-hole is a DNS sinkhole that can be used with your router to protect your other devices without installing any client-side software. For the most part, Pi-hole is used for only blocking ads, but there is more you can do with it, for example, logging internet activity and blocking websites. + +### benefits of using Pi-Hole +- Network wide adblocker +- Saves bandwith due to adblocker +- Adblocker on all mobile apps +- Free of cost +- Can function as a DHCP server +- Easy-to-install +*** +## Installing +Since I'm using Arch Linux as my server OS, the only real option I had was to use the Docker container. It was relatively easy to install, though I did encounter some issues, mostly due to me not reading what to do. Overall, I'd say it was easy to set up and configure for all my devices to use. + +## Blocklist +I have a number of websites blocked to avoid visiting suspicious sites or being tracked. The best source for blocklists from what I can tell is Firebog. I recommend using only the lists marked in green, as those coloured blue are either no longer maintained or may interfere with your normal day to day web browsing. Additionally I would just add the top three lists from each category to cover a good enought basis. + +*** + +## Conclusion +I really do like Pi-hole and I see myself using it for the forseeable future as it just does a whole bunch of intresting bits that help me be more secure online. diff --git a/src/posts/School.md b/src/posts/School.md new file mode 100644 index 0000000..bd618f0 --- /dev/null +++ b/src/posts/School.md @@ -0,0 +1,12 @@ +--- +title: School +date: 2024-09-07 +layout: post +tags: + - life +--- +As of last week, school has started. + +Unfortunately, I no longer have all day to tinker with Linux. While I'll try to continue to update this website, my focus will be more shifting toward school, especially with my GCSEs approaching. I’m a bit disappointed to temporarily step back from Linux and programming, but I plan to get back into it in as soon as I have spare ome time off work. For example, today I managed to get WireGuard working with a VPN! + +That’s all for this updateβ€”just a quick note to say that school is in session, and my priorities will be focused there for now. diff --git a/src/posts/archserver.md b/src/posts/archserver.md new file mode 100644 index 0000000..9a3fb65 --- /dev/null +++ b/src/posts/archserver.md @@ -0,0 +1,51 @@ +--- +title: Arch Linux Server! +date: 2024-08-26 +layout: post +tags: + - linux + - tech +--- +## Introduction +Today I have installed Arch Linux on my home server; I will be honest it has been so smooth! + +I use Arch Linux as my desktop Linux distro, and I knew that you could use it as a server, but I never really thought of doing it. The only reason why I have done this is just to see how good it actually is because, well, I do not hear about people using it as a server much. + +*** + +## What do I have on the server? πŸ“‹ +I have all the same services that I hosted on my previous server install and more! + +- Searxng πŸ”Ž +- qBittorrent ⟳ +- Jellyfin πŸ“Ί +- MariaDB πŸ“‹ + +I was thinking about adding Nextcloud to my server, but I can just use the scp command for backups, plus I do not have much to put on it due to the fact all my work is hosted on Gitlab. + +*** + + +## Searxng πŸ”Ž + +Searxng is a metasearch engine that takes results from other search services. It does not track you; even the public ones don't! I like it because it gives me good results and it is easy to self-host, so I know 100% that I am not being tracked. I did try to install it without Docker, but the guidedid not work for me, so I basically took the easy way out with the official Docker image that worked. + +## qBittorrent ⟳ + +I have the web UI of qBittorrent installed on my Arch Linux server. I used the Arch Linux guide on how to set it up, and I only really needed to install two programs. Then, just like that, everything is installed and working! It was really easy, and I am more satisfied with it. The reason why I have a torrent is just to support some Linux distros I like and have the ISOs ready when I need them. + +## Jellyfin πŸ“Ί + +Jellyfin is a free, as in freedom software, self-hosted media server. If you have ever used Plex, it is kind of like that, but Jellyfin is better because it has a whole load of plugins and is licensed under the GPL-2.0, which makes it free software! But overall, it is an amazing media server, way better than Plex, so if you are able to switch over. I will be mostly hosting a few movies and books on it! + +## MariaDB πŸ“‹ + +MariaDB is a database server forked from MySQL. The reason why I have this installed on my server is because I want to start learning how to use a database on a server because, from what I can tell, it looks really good on a CV, and you never know, it could be useful to me in the future! + +*** + +## Last words + +I will probably only use Arch Linux for servers because it is hassle-free and easy to use! That is all there is to say it was easy and less of a headache than Ubuntu, at least in my experience. + +But thank you for reading! diff --git a/src/posts/christmas.md b/src/posts/christmas.md new file mode 100644 index 0000000..75ce056 --- /dev/null +++ b/src/posts/christmas.md @@ -0,0 +1,78 @@ +--- +title: Christmas πŸŽ… +date: 2024-12-16 +layout: post +tags: + - life + - hardware + - linux + - tech +--- +## Introduction +I wish all who are reading a very merry Christmas! If you are reading after Christmas still have a rather merry time! I am writing this post just to show some tech items I have brought for myself. + +*** + +## Google Pixel 7a +Since it is near Christmas and I have had the same phone for the last ~2 years; I thought why don't I buy a new phone. I saw the Google Pixel 7a was for sale I thought why not. I did not only buy the Google pixel 7a becuase of its price, but also the fact that it is really easy to install custom ROMS onto the phone and root the phone. + +The day the phone arrived, I tried to install CalyxOS onto the phone since it already has a full suite of apps ready to go, plus privacy tweaks, but for some reason the Linux installer only unlocked the bootloader and left me with a phone without an operating system. After this I got a tiny bit worried because it would not boot into anything, and this was my first time installing a custom ROM onto my phone. So in my panic, I installed LineageOS, and it worked amazingly without a problem. I am so happy and impressed with LineageOS! + + + +### Rooting LineageOS 21 + +It is stupidly easy to root LineageOS. The first thing you want to do is enter recovery mode, then go to apply updates >> Apply update >> Apply from ADB after that connect your computer to your phone via the Android Debug Bridge and push the Magisk.apk file to the phone, this basically sideloades magisk so you are able to become root. + +*** + +### What I like about the Google Pixel 7a +Fingerprint detector: For some reason, with most fingerprint readers, they do not like my thumbs. This leads to me barely using the fingerprint detector, but in this phone's case, it does it perfectly! + +Easy to root and install custom ROMs: As mentioned, it is very easy to root this phone. + +### What I dislike about the Google Pixel 7a +Storage: Overall, I wish the phone had a little bit more storage. I personally believe the Goldilocks zone for phone storage is around ~250GB because it gives enough space for apps and plenty of space for photos and videos. + +MicroSD slot: This ties in with the storage problem; I am not able to add a microSD card, meaning I cannot add more storage. When the time comes when I do need more storage, I will just use USBs for the task. + +*** + +## Specs +- Released: May 10, 2023 +- CPU: Octa-core +- GPU: Mali-G710 +- RAM: 8GB + +*** + +## Overview +Overall, I really like the Google Pixel 7a, and I am so happy I bought it. I have enjoyed setting up the phone and basically turning it into my own little weekend project. I have also mostly de-Googled LineageOS, but I need to tinker a bit more to fully de-Google everything. I might even write a few guides or scripts on how to de-Google LineageOS. + +*** +# ThinkPad T440p +Recently if you have looked at the + +### What I like about the ThinkPad T440p +The keyboard on this computer is amazing! It is better than my previous laptop, and it just feels like heaven typing on it. + +Modular: This laptop is extremely modular, with most parts being replaceable! Due to this I will be upgrading and customising the laptop in 2025! + +### What I dislike about the ThinkPad T440p +Screen: My only complaint about this laptop is that the screen is not the best. But I do know that you can replace it, so I plan to do that in the future. + +*** +## Specs as of now +- CPU: i5-4340M +- Storage: 180GB SSD +- RAM: 8GB +- Bios: Libreboot +*** +## Overview +Overall I am really happy with my new laptop, and I believe this can be my new daily driver. I hope the next new posts will be about upgrading the hardware on this laptop to be better than its stock specs! + +## Upgrades I plan to make +I plan to replace the trackpad with a better one with physical buttons, I prefer this type of trackpad because it is overall more comfortable and easy to use with the ThinkPad's pointer. + +I plan to swap out the current CPU with a Intel Core i7-4910MQ which is more powerful than my current CPU diff --git a/src/posts/dwm.md b/src/posts/dwm.md new file mode 100644 index 0000000..96edd2b --- /dev/null +++ b/src/posts/dwm.md @@ -0,0 +1,47 @@ +--- +title: Switching to DWM +date: 2024-07-13 +layout: post +tags: + - linux + - bsd + - tech +--- +## What is DWM +DWM stands for Dynamic Window Manager. It is a window manager for X.org; it was developed by the programmers at Suckless Software. DWM is super lightweight, with the entire window manager programmed in about 3,000 lines of C code. Its very minimalistic, allowing users to modify and patch it to their heart's content! + + +*** + +## Why DWM? +Why DWM? + + +The reason why I have chosen DWM as my window manager is because recently I have been on a sort of pilgrimage for the perfect window manager, something lightweight and functionable. I started my window manager pilgrimage with the very user-friendly and configurable Qtile written in Python; I was happy with it. But I felt the urge to explore more into window managers, so from there I tried out I3, another great window manager, and I really enjoyed using it, but I wanted to test out the most lightweight and fastest window manager, being DWM. As of writing, I believe this is the end of my pilgrimage since I am more than happy with DWM. + +There is also the fact that I want to try out Linux from scratch, Gentoo, and Freebsd in the future, so having the same window manager throughout using all of these operating systems will just make it easier for me to use the OS. + +*** + +## What I like + +- Lightweight - I love the fact that DWM is lightweight, as mentioned before it comes in at around 3,000 lines of C code, this means not only is it small in size but compiles faster then something like I3. + +- Indipendance - There is a great sense of independence when using DWM because when you modify it, you are modifying the raw code of the program. This does not happen with something like I3, where you are provided a config file in ~/.config to change. Some people might see this as a burden, but I see it as an opportunity to just mess around and improve my programming skills. + +- Enviroment - DWM makes you produce your own work enviroment, this is because unlike something like KDE plasma you are not given a desktop enviroment with all the tools, instead you are given a window manager and a terminal, I only use around GUI programs so making my enviroment was easy as anything and allows me to preform tasks quicker then if I was using KDE Plasma + +*** +
    + + +Here is my DWM setup on my PC as of 13-7-2024 +
    + +*** + +## Overview + +I love DWM and I plan to use it for as long as I can, there is a wayland version of DWM called DWL so even if I do switch to wayland I will still be able to use DWM. I am exited to further work on my DWM setup and keep an eye on my dotfiles for any updates! + +Note 26-10-2025) I am still using it, and yes. It is still awesome. diff --git a/src/posts/emailandlife.md b/src/posts/emailandlife.md new file mode 100644 index 0000000..5a8659b --- /dev/null +++ b/src/posts/emailandlife.md @@ -0,0 +1,19 @@ +--- +title: Email and Life update +date: 2024-12-01 +layout: post +tags: + - life +--- +## Introduction +Hello there, it has been a long while since I have posted to my website. I have just been busy with life and school. + +*** + +## Email +If you have tried to look at this website the past few days, you may have noticed that it has been down, and that is because I have been trying to get an email server working again. Sadly God does not want me to set this server up because the VPS provider I was using
    Digital Ocean does not allow port 25, the port needed for Email. I know there is probably a way to tiptoe around this but I cannot be bothered. I have found 3 VPSes that do not block this port so I will hopefully get my awaited email server soon. + +*** + +## School +School has been alright, just long days and homework. I have not had much time to program or mess around with Linux, but now that mocks are over, I might have some more time to mess around and learn. This whole setting up an email server thing is my latest Linux work, but I hope to do some more junk with servers soon. diff --git a/src/posts/fishshell.md b/src/posts/fishshell.md new file mode 100644 index 0000000..2e45778 --- /dev/null +++ b/src/posts/fishshell.md @@ -0,0 +1,41 @@ +--- +title: Trying out fish 🐟 +date: 2024-08-22 +layout: post +tags: +- linux +- tech +--- + + +## Introduction + + +Fish shell is a command-line shell mostly written in the Rust programming language for Unix-related systems that aims to be user-friendly. The reason I have chosen to try fishing is because I like some of the features it comes with! + +## Features of Fish 🐟 +Fish aims to be a smart, user-friendly command line shell + +- Tab completion +- Themes +- Syntax highlighting +- Web Based Configuration + +*** + +## What I like about Fish! +My favourite feature of the fish shell is that it has built-in tab completion, meaning it gives you options for the command you are inputting into the terminal. This also remembers the last time you typed in a command, so when I am sshing into a server, it makes it so much easier! + +
    + +
    + +I also like the fact that all of the features listed above come out of the box! The only configuration I have had to do is set my aliases and make the Starship program work. I do know there are plugins that I do need to take a look at, but for now, I do not see any need for any since I am happy with what they come with! + +*** + +## Last thoughts +Overall, I am rather impressed by fish. I will use it as my main shell for the time being, but if I do have any problems, I can just switch to Bash shell for the duration of that problem. I know there is probably a bunch I have missed out on Fish shell, but so far it has been smooth and I have nothing but good to say about it! + +Thank you for reading. + diff --git a/src/posts/freebsd.md b/src/posts/freebsd.md new file mode 100644 index 0000000..6ec58e9 --- /dev/null +++ b/src/posts/freebsd.md @@ -0,0 +1,82 @@ +--- +title: Trying out FreeBSD +date: 2024-07-22 +layout: post +tags: + - bsd + - tech +--- +## Introduction +Today, I had the pleasure of trying out FreeBSD, the open source, Unix-like operating system. In this post, I will share my experience with FreeBSD based on my time using it. + +*** + +## Instillation +### Install script +Installing FreeBSD is relatively easy; you are provided with a nice terminal user interface that supports mouse input. Below is a screenshot. +To my surprise installing FreeBSD was relatively easy; the user is provided with a nice terminal user interface powered by ncurses which even supports mouse input allowing for new users to easily adapt. +

    +
    +Screenshot of ncurses using the bsdinstall script + +
    +
    +Thankfully I had no issues whilst using the stock install script, however I did encounter an external problem with Ventoy, for some reason FreeBSD is not supported on Ventoy so I had to burn the FreeBSD iso onto another USB stick. I do hope that in the future this is fixed because for me personally it is easier just to dump the ISO files onto my Ventoy USB. + +### Wi-Fi +During the install since my test computer has an unusual Wi-FI card, this caused me to be unable to install FreeBSD over Wi-Fi. Unlike some people I do understand firmware for Wi-Fi cards is a pain so I am happy to over-look this issue. To solve this problem I used Ethernet so I could install the operating system, it also helps that Ethernet is way faster. + +### Wheel +Like Arch Linux when installing you have to add your user(s) to the 'wheel' group, this grants the selected users the ability to gain root access, however if you believe this is a security threat you can just do all root operations using the root user and using cron scripts to automate tasks. + +*** + +## Post install - Unix +After the install process, I booted up my test pc into FreeBSD. Instantly I noticed the terminal commands on BSD are basically the same as Linux, this realisation made me feel at ease with using the BSD operating system. + +The reason why both operating systems function in a similar manner is because of the UNIX operating system. GNU/Linux as we know it today started as the GNU operating system which is an ongoing attempt to create a fully Libre software UNIX-like operating system, however during this same period of time the BSD operating system was starting to emerge at Berkeley University from UNIX. This is why the commands used on both operating systems are virtually the same. + +*** + +## Superuser access +When I started using BSD I quickly realised that I had no superuser program that'll allow me to run commands from my user with root privileges, this is vital for tasks such as package management. So I went and installed one, here are two superuser programs you can install. + + +### Commands +| Keyword | Meaning | +| ------------- | ------------- | +| $ | Current user | +| # | Root user | +| pkg | BSD package manager | +| sudo / doas | superuser programs | + + +> $ su
    +> \# pkg install sudo + +Or alternatively + +> $ su
    +> \# pkg install doas + +I do suggest that you install doas because from what I know it is much more secure then sudo, especially when you configure it. It also helps that doas was developed for BSD especially. + +*** + +## Xorg and user programs +After doing all of that, my next step was getting a graphical user interface, so I proceeded to install X.Org with dwm. I did not bother with installing a display manager (login screen) because I would just use startx, so I focused on installing Git and my dwm config. + +However sadly when trying to compile the code for dwm I ran into a problem, however fortunately for myself there was an easy fix thanks to a helpful post on the FreeBSD forums. After applying that fix I was able to use my dwm setup successfully. After doing this I checked if my two most-used programs, Alacritty, were available and functional on FreeBSD. To my surprise they were available and both were functional without any issues. + +*** + +
    + +Screenshot of my BSD setup running Neofetch +
    + +*** + +### Conclusion + +Overall I really enjoyed using FreeBSD and tinkering with it; and I do believe that I could BSD as a daily driver since it does support nearly all of my programs. I appreciate that it is a UNIX operating system and has many of the same features as Linux, however for now I shall be staying with Linux, this is because I am more comfortable and knowledgable about Linux (especially Arch Linux. But in the future I do believe I will try and setup a server with OpenBSD since I have heard exellent things about BSD servers, particularly in regards to security. Anyways I would like to thank you for reading all of this, I hope you have an amazing day, God bless. diff --git a/src/posts/gentoo.md b/src/posts/gentoo.md new file mode 100644 index 0000000..d1ed270 --- /dev/null +++ b/src/posts/gentoo.md @@ -0,0 +1,29 @@ +--- +title: Installing Gentoo Linux +date: 2024-08-31 +layout: post +tags: + - linux + - tech +--- + +## Introduction +Over the past three days I have been trying to install Gentoo Linux, I have also been tinkering with this Linux distro! + +## Installing + +I found the Gentoo Handbook extremely useful for installing Gentoo Linux. In the past, my attempts to install Gentoo on my test PC, which uses a BIOS system, were, just a big fail due to a bunch of small mistakes I made. But this time around I installed Gentoo on my main PC, which has 18 cores, that allows me to compile things faster. Overall, I found the installation process to be very straightforward. I simply SSHed into the computer and copied the necessary commands to install the required packages, along with some miscellaneous things like ensuring the file systems where 100% working. + +*** + +## NVIDIA +After installing I wanted to get my desktop enviroment of DWM working. Now sadly I do have a NVIDIA Gpu and I knew before I even started installing Gentoo that I would have problems with it. So I tried the simple solution first just installing the Xorg server software and the NVIDA graphics drivers. It did not work so I did some more tinkering and updated my system with a configured kernel but I sent it into a panic. At this point I just lost all hope and I had been using Gentoo for two days at that point and I just wanted a normal desktop so I reinstalled Arch Linux and played some video games because I was just tired at that point. + +*** + +## Final thoughts +I really enjoyed messing around with Gentoo, even though it took a long time to do so. The documentation on their website was excellent, and I highly recommend trying it out if you're looking for a faster operating system. Personally, I plan to switch to Gentoo once I get an AMD GPU since AMD is supported way better on Linux. + +My favorite thing about Gentoo is that it doesn’t require Systemd as your init system. Instead, Gentoo gives you the choice to use OpenRC, which I find to be simpler and more efficient and not to add more clean than Systemd. I also love that Gentoo requires you to compile everything, and I noticed that my system ran way faster compared to when I was using Arch Linux or any other Linux distro. + +But that is all, thank you for reading! diff --git a/src/posts/kernal.md b/src/posts/kernal.md new file mode 100644 index 0000000..b8fe32b --- /dev/null +++ b/src/posts/kernal.md @@ -0,0 +1,18 @@ +--- +title: Compiling the Linux Kernel 🐧 +date: 2024-08-28 +layout: post +tags: + - tech + - linux +--- +## Introduction +Today I have compiled the newest version of the Linux kernel being 6.10.6! + +The main reason why I have done this is because whenever I try install to install Gentoo I fail. I do know you can convert a Linux distro into Gentoo but I want to install it from the ISO first before I do that. + +## Was it easy? +I would say compiling the kernel was very easy; all I did was input a few commands and copy the defauly config over. There is not much I can say because compiling the kernel is not that complex, but one thing I will say is that my computer was crying during the process. + +## Results? +As of right now my computer and Laptop both feel a bit faster now that a I have compilied the kernel, and now that I have learnt how to compile the Linux kernel I will now do it whenever I get a new laptop! diff --git a/src/posts/life_update.md b/src/posts/life_update.md new file mode 100644 index 0000000..0f91c74 --- /dev/null +++ b/src/posts/life_update.md @@ -0,0 +1,20 @@ +--- +title: Life update +date: 2025-05-28 +layout: post +tags: + - life +--- +## Introduction +If you are reading from a forgine country GCSEs stand for general certificate of secondary ecudation, as of right now I am taking them. + +## Focus +All I really need to focus on is math, my first paper is down and I only have two other maths papers, I need above a grade 4 ideally a grade 6. On my mock exams I got a grade 4 but this was my first set of mocks because for some reason the mocks I took in November finished when I started my GCSEs for some dumb reason. Thankfully these exams are easier then I imagined. + +## What will I do when GCSEs are done? +I plan to go to collage and partake in a course which allows me to further explore IT, I disliked IT class at secondary school because we only learnt about concepts; I am a pratical learner and this form of learning bascially killed me. But the course I am look at for collage seems very promissing and only a few people are allowed to enroll at once, so I do hope I get a possition! + +*** + +## Overview +That is all really it I just wanted to do a quick update. Sadly I have not been doing much tech related as you can see from my GIT since I am just focusing on GCSEs and myself. diff --git a/src/posts/makingart.md b/src/posts/makingart.md new file mode 100644 index 0000000..ea326c6 --- /dev/null +++ b/src/posts/makingart.md @@ -0,0 +1,24 @@ +--- +title: Making some art +date: 2024-07-24 +layout: post +tags: + - life +--- + + + +## Introduction +Over the last few days in my free time, I have been messing around with Gimp to make some wallpapers and a profile picture. I do admit this is something I plan to do more of, so I have made a page on my projects page for all of the art I have done! Below are some examples of what I have done so far; I am exited to do some more! + +*** + +## Art +Tux with a vaporwave effect + + +Some wallpapers I have done, my favourite is my edit of Newyork + + + + diff --git a/src/posts/newlaptop.md b/src/posts/newlaptop.md new file mode 100644 index 0000000..0d53e0e --- /dev/null +++ b/src/posts/newlaptop.md @@ -0,0 +1,37 @@ +--- +title: New Laptop! +date: 2024-08-17 +layout: post +tags: + - hardware + - linux +--- + +Last weekend I was able to buy a ThinkPad L560 laptop from a car boot, and the best part about buying this laptop is it only cost me Β£15 with it being fully working! + + +## Likes + +The best thing about this ThinkPad as well as most ThinkPads is the keyboard; it feels so good to type on, and I love it so much; it definitely subconsciously encourages me to type faster. I also like the fact that it is bigger than my main laptop; it gives me a lot of screen space and is more comfortable for me to use. The only disadvantage to this is that the laptop does not fit in some of my bags. + +## Dislikes + +The only thing I really dislike about the laptop is where the ports are located. This is because the charger is at the side when it should, in my opinion, be at the back where there is a USB port. There is also the fact that the screen is not all that bright, not making it ideal for outside use, but I do not plan on using it outside much. But apart from all of that, I am all happy with it! + +*** + +## Problems + +There have been two problems with this laptop so far, the first being that it had issues powering on when I brought it. But after a while with messing around with the laptop, I fixed the issue and it is all good now, but there is a chance this could happen in the future, so I have to keep that in mind. The other issue I had was the fan being weird; this problem has only occurred as of today, but it is only a small problem and is probably fixed for good now! + +*** + +## What will it be used for? + +This ThinkPad will be my day laptop, so whenever I go out I will bring it; the reason why I will use it as a day laptop is because I got it for cheep and if it goes missing I will not be too upset. + +*** + +## Last words + +Thank you for reading. I hope this laptop lasts me a while, and I will mostly use it for school. diff --git a/src/posts/pccase.md b/src/posts/pccase.md new file mode 100644 index 0000000..1a298ad --- /dev/null +++ b/src/posts/pccase.md @@ -0,0 +1,48 @@ +--- +title: New PC case and new year! +date: 2025-02-16 +layout: post +tags: + - tech + - hardware +--- +## Introduction +First post of 2025, happy new year dudes! This is the year of my GCSE (General Certificate of Education) exams, so till summer, updates to the website will be few and far between. + +Recently my dad has bought a PC off of eBay; he has taken out his motherboard out of his old computer and put it into the new eBay computer. The case is a Cooler Master. Since my dad 'could not be bothered' to put the eBay motherboard into his old case, he tasked me with it; I gracefully accepted this task! + +*** + +## Why switch over the motherboard ? +The reason why I have switched PC cases is quite simple. I think this PC case is a lot kooler looking than my old one. It also has way better airflow and more space inside of it. It also helps that I haven't cleaned my computer for over 5 months now. I know it is bad, but I have been busy, and my computer's hygiene is not at the top of my bucket list. + +*** + +
    +Photos of my new case, aka my Dad's old case
    +Before and after I installed my motherboard + + + + + +*** + +Here are some photos of my old PC case.
    +Before I installed the Ebay motherboard and after + + + + +*** + +The PC as of 16-02-2025
    +The disc drive is exclusively for Father Ted episodes + +
    + +*** + +## Overview +My last thoughts are that I am really happy with my new case and I hope soon I can get a nice guicy GPU to fill up some of the space inside of the computer! + diff --git a/src/posts/posts.json b/src/posts/posts.json new file mode 100644 index 0000000..d4288c9 --- /dev/null +++ b/src/posts/posts.json @@ -0,0 +1,4 @@ +{ + "tags": "post" + +} diff --git a/src/posts/servers.md b/src/posts/servers.md new file mode 100644 index 0000000..d9b9f65 --- /dev/null +++ b/src/posts/servers.md @@ -0,0 +1,31 @@ +--- +title: Messing Around with servers +date: 2024-07-27 +layout: post +tags: + - linux + - hardware + - tech +--- +Originally, this article was going to be about setting up an email server. However, due to problems with my router and the fact that I do not like the idea of hosting an email server locally in case it goes down, I have chosen not to do that. Instead, I have decided to host a different server on my local network, and that is what this article is about! + +Below is my server; it is a ThinkCentre. I do not really care about the specs because it is not going to be doing much, but it does have an Intel i7, so it’s not bad at all for what I am doing. It has 8 cores and 16 GB of memory, which should be more than enough for what I am doing. +
    + +
    + +*** + +## What is on the Server? + +The operating system of choice for this server is Ubuntu Server; I do know it is not the best server operating system, but I will stick with it for now because I have already set everything up. In the future, I plan to migrate to either a Debian server or an OpenBSD server due to the annoyance of Ubuntu’s snap packages and other weird stuff Ubuntu likes to do. + +This is my first time using Docker. Docker allows you to contain programs, such as Apache, letting you to run multiple instances and manage them easily. It has been a pretty smooth experience so far! With Docker, I have installed the Jellyfin media server. + +Originally, I planned to install Plex, but the web interface was scuffed and was stuck on the "Premium Features" popup, and none of the buttons worked. So, I removed that container and chose Jellyfin instead. I have heard good things about Jellyfin beforehand, and those have turned out to be true! So far, Jellyfin has met all my needs for a media server, and I am very content with it. If I do change the server OS, I will stick with Jellyfin. I also like that you can upload books to it but I have not tried that feature yet. + +The other thing I have on this server is an instance of SearXNG on my local network, providing my own self-hosted search engine! I set it up because I wasn’t sure what else to do with the server, and it’s fun having my own private search engine. Plus, it is definitely much more private than using online search engines like DuckDuckGo or, God forbid, Google. + +*** +## Conclusion +Overall, this has been an enjoyable project, and I will probably migrate my server sometime in the coming weeks. As always, thank you for reading! diff --git a/src/posts/summer.md b/src/posts/summer.md new file mode 100644 index 0000000..8670da3 --- /dev/null +++ b/src/posts/summer.md @@ -0,0 +1,45 @@ +--- +title: Summer holiday! +date: 2024-07-19 +layout: post +tags: + - life + - tech +--- +As of today, my summer holiday has started. And with that comes a lot of freetime to mess around with computers! I have planned some projects for the next 6 weeks so I thought I would make a post on what I have planned! + +*** + +## Operating system plans + +At some point, I will try out Linux from scratch because I have heard it is a good way to see how a Linux system is constructed while making it. I would also like to try creating my own distro of some kind and maybe ship it too. + +While we are on the topic of Linux, I am going to try out Gentoo to see if it is any good. All I really know is that it takes longer to install than Arch Linux and you need to compile all the programs. I'm looking forward to that experience! + +On top of trying Gentoo and Linux From Scratch, I will also try out FreeBSD just to see how it is. Though I am not planning to switch to it because nothing can beat Linux! However, I have heard BSD is really good for web servers, and I know you can run Nextcloud on it, so maybe I will try something like that out to see if its any good. + +*** + +
    +This is my 'testing computer' where I will be doing all this on. + +
    + +*** +## Programming +### Learning programming languages +Over the next 6 weeks I will also try and dedicate some more time into learning the C programming language, and I will be trying to learn some more Python because it is easier for smaller projects and I am planning on trying to make a few small programs and see how much I can do. +### Fakefetch +I will try to give Fakefetch weekly updates to improve its functionality because I really enjoy developing Fakefetch. It is something simple, yet it expands my knowledge of Linux and the C programming language. For example, I could add an IP option to Fakefetch where you can display your IP address, or I could add a battery option. There are lots of things to do with Fakefetch, so I am excited to work on it more! +### Dotfiles +There is not much I will do with my dotfiles, to be honest, because so far I have my ideal setup. Maybe I will add some more bits to Neovim and perhaps create a custom color theme, but that's all I can really think of. Of course, I will add little bits and maybe update some of the programs on the install list, but as of today, there is not much I will change apart from maybe some patches for DWM. +### Website +I will try to do daily updates to this website. Making this website is one of the most fun projects I have ever undertaken because it is just enjoyable to write down ideas and projects I have done. I will do my best to make this website more mobile-friendly; in fact, I am going to try to do this tomorrow and see how it goes. + +## Writing +In the next few weeks, I will be trying to compile all my notes about Linux into a small book that anybody can read! In this book, there will be information about different commands, how to start in the Linux world, and more! So far, I have finished the first part, but there is way more to go. If you are interested, keep an eye on the projects page for any updates! +*** +## Conclusion +That is all for now, as you can tell I am going to be busy but I am going to love the next few weeks! Thank you for reading. + + diff --git a/src/posts/vps.md b/src/posts/vps.md new file mode 100644 index 0000000..52ccd9b --- /dev/null +++ b/src/posts/vps.md @@ -0,0 +1,38 @@ +--- +title: VPS Server πŸ—„οΈ +date: 2025-02-21 +layout: post +tags: + - linux + - tech +--- +## Introduction +If you have read any of my posts in the past, you may know of my aspiration to host my website and email server on a VPS. Well, that day has come! Finally. + +So far my VPS (virtual private server) is doing three things: + +- Git server: git.shipwreckt.co.uk +- Email server: git.shipwreckt.co.uk +- CalDEV server: Allows me to sync all my contacts and calendar between devices! +- Website hosting! This enables me to try other web languages like PHP out + +*** +## Why? + +### Why host an email server ? +A better question would be why not host an email server. When you sign up for Gmail or Protonmail you give them full trust over your email communications. Well, I trust myself way more than any company to handle my personal communications. Sadly, I can only receive emails until I can get some ports unblocked, but I am happy as is! + +### Why host a Git server? +I will be honest: the main reason why I host a Git server is because it is really cool, in my opinion; it has enabled me to learn more about Git as a programme. It is also good to have a personal server that is fully under my control, unlike GitLab! + +Sadly, I will not do HTTPS or HTTP Git cloning because it is not needed since I am using the Git daemon to allow people to clone from my server! Whilst on the topic of HTTP and HTTPS, I am using the Stagit static HTML programme to have a kind of front end to my server so you can view all my repositories! Due to it being complex (at least for me), I may write a tutorial on how to get it up and running smoothly. + +### Why host a CalDEV server? + + +Hosting a CalDAV server is one of the most satisfying things I have ever done. Having everything synchronised just makes me happy! I have all my calendars synced and all of my contacts synced too. I love having a CalDAV server for all the rubbish I have planned, and I hope that I can get more use out of it! Also if you are curious I am using the radicale software for the CalDEV server. + +*** + +## Overview +Overall, I am just happy to have a whole server that I can use for whatever I want! This has opened up a whole new world for me of tinkering and stress. I hope this VPS serves me well! diff --git a/src/posts/yubikeys.md b/src/posts/yubikeys.md new file mode 100644 index 0000000..92ac433 --- /dev/null +++ b/src/posts/yubikeys.md @@ -0,0 +1,27 @@ +--- +title: Yubikeys! +date: 2024-08-03 +layout: post +tags: + - hardware + - tech +--- +For a while now, I have wanted to own a Yubikey, but the price has always held me back since they cost a lot of money. After scouring ebay for a while, I finally found a good deal on one. I bought it, and now I’ve had the chance to mess around with it. + +
    + +
    + +So far, I have been relatively happy with the Yubikey, but there is one concern I have: a lot of the firmware on the Yubikey is closed source, meaning someone like me cannot read the source code. While this may sound like something small to most, and I might seem overly cautious, but all I will say is how can you fully trust a product and its functionality if you can't see what it’s doing? Due to the Yubikey having closed source components, I have looked for some FOSS alternatives. Below, I have listed some of these products below: + +- Tkey +- Onlykey +- Nitrokey +- Solokey + +There are two on that list that I am particually interested in, that being TKey and Nitrokey, this is because they are both well delevoped and have ways to set up with SSH so I can connect to servers way more securely, they also provide keys that have NFC so I can use it with my phone which is a big save. + +So far the only thing I have really done with my Yubikey is set it up with KeepassXC, for some reason I cannot get my Google account working with it, and this is because I am under Linux, so I might need to install Windows or ChromeOS in a virtual machine and set it up, but even if then, I just have to hope it will still work on Linux because if not, well, that would be ass. + +That is all I am going to look more into hardware keys because well they are awesome, but that is all thank you for reading! + diff --git a/src/tags.njk b/src/tags.njk new file mode 100644 index 0000000..582ad6b --- /dev/null +++ b/src/tags.njk @@ -0,0 +1,23 @@ +--- +pagination: + data: collections + size: 1 + alias: tag + filter: + - all + - post + - tagList +permalink: /tags/{{ tag }}/ +layout: layout.njk +--- + +

    {{ tag }}

    +
    + + +
    +Home -- cgit v1.2.3