summaryrefslogtreecommitdiffstats
path: root/.md
diff options
context:
space:
mode:
Diffstat (limited to '.md')
-rw-r--r--.md/about/whereami.md71
-rw-r--r--.md/about/whoami.md9
-rw-r--r--.md/about/whyami.md7
-rw-r--r--.md/tutorials/how-to-host-a-tor-hidden-service.md114
-rw-r--r--.md/tutorials/how-to-make-this-site.md182
5 files changed, 280 insertions, 103 deletions
diff --git a/.md/about/whereami.md b/.md/about/whereami.md
index e00750a..132255c 100644
--- a/.md/about/whereami.md
+++ b/.md/about/whereami.md
@@ -1,5 +1,17 @@
-Since you are on this page, you're presumably lost. That's ok. I don't really
-get all this stuff either. Let's start with some easy stuff.
+<center>
+But I have to say this in defense of humankind: In no matter what era in
+history, including the Garden of Eden, **everybody just got here**. And,
+except for the Garden of Eden, there were already all these games going
+on that could make you act crazy, even if you weren't crazy to begin
+with. Some of the crazymaking games going on today are love and hate,
+liberalism and conservatism, automobiles and credit cards, golf, and
+girls' basketball. -- *Kurt Vonnegut, from A man without a country,
+emphasis my own*
+</center>
+
+Since you are on this page, you're presumably lost. That's *ok*. I
+don't really get all this stuff either. Let's start with some easy
+stuff.
*You're on the Internet*. Known to some as a
[series of tubes](https://en.wikipedia.org/wiki/Series_of_tubes),
@@ -40,33 +52,46 @@ Precisely speaking, you are in a chrooted web server running on rented virtual
machine in a server farm located roughly in New Jersey browsing the "about"
directory on the "whereami.html" page.
-Less precisely, all that means is you're looking at some files I left in a directory
-at this address, and paid some people to host for me since local ISPs tend to
-be ridiculously expensive if you want to do anything besides host some private
-servers for you and your friends and family.
-
-But maybe most importantly, you've reached a webpage owned by another human
-being, not a corporation, or a bot, or a government, or work, or a *network*.
-All these files were loving crafted by yours truly in vim, in markdown and
-converted with pandoc to HTML because of laziness. The Internet I grew up with,
-though I didn't really appreciate because I was too young at the
-time, used to be filled with places like this. "Homepages" were a thing, or
-were just starting to be at least.
-
-But as soon as it started it all got sucked up social media, everyone got coerced
-into profiles, templates, and standards to make us easier for ad companies to
-study. It's not even unreasonable to believe you're not even talking to real
+Less precisely, all that means is you're looking at some files I left
+in a directory at this address, and paid some people to host for me since
+local ISPs tend to be ridiculously expensive if you want to do anything
+besides host some private servers for you and your friends and family.
+
+But maybe most importantly, you've reached a webpage owned by another
+human being, not a corporation, or a bot, or a government, or work, or
+a *network*. All these files were loving crafted by yours truly in vim,
+in markdown and converted with pandoc to HTML because of laziness.
+The Internet I grew up with, though I didn't really appreciate it at the
+time, used to be filled with places like this. "Homepages" were a thing,
+or were just starting to be at least.
+
+But as soon as it started it all got sucked up and commodified into
+social media; we somehow got coerced into profiles, templates, and
+standards to make us easier for ad companies to study. It's not even
+unreasonable to believe you're not even talking to real
people on there, because there's a good chance of it now.
[Astroturfing](https://en.wikipedia.org/wiki/Astroturfing) is not
-a secret government conspiracy, it's just business as usual at this point.
-You used to be able to tell a human from a chatbot from the way they write.
-I don't know if the bots at this point are smarter, or if we've just been made
-so cynical and dumb by business as usual that we've given up.
+a secret government conspiracy, it's just business as usual at this
+point. You used to be able to tell a human from a chatbot from the way
+they write. I don't know if the bots at this point are smarter, or if
+we've just been made so cynical and dumb by the process that we've
+given up.
Who would really write all that garbage on Facebook anyway?
Don't mistake this for some pity nostalgia piece though. If you look hard
-enough--I promise you--that *Internet* of humans is still there.
+enough--I promise you--that *Internet* of humans is still there. Here's
+a few places I like to poke around:
+
+https://neocities.org/
+
+https://1mb.club/
+
+https://goodsites.tech/
+
+and old [not-so](https://archive.md/rav1z) faithful:
+
+https://www.wikipedia.org/
A helpful tip, CRTL+W will close any webpage you don't like. Not that you
wouldn't like this page... you did read all the way here through all that
diff --git a/.md/about/whoami.md b/.md/about/whoami.md
index cf8cd32..a6bf181 100644
--- a/.md/about/whoami.md
+++ b/.md/about/whoami.md
@@ -1,9 +1,12 @@
<center>
-TL;DR Above everything I'm a lurker. And I mean that in the traditional
+Quotation is a serviceable substitute for wit. -- [*apparently no
+one*](https://archive.md/7AC79)
+</center>
+
+*TL;DR Above everything, I'm a lurker. And I mean that in the traditional
forum/mailing list sense. You could put it a few ways and still be
right: a reader, a people watcher, a listener, maybe a coward if you're
-cynical. But all in all, not anyone in particular really.
-</center>
+cynical. But all in all, not anyone in particular really.*
When I first came up with a writing a page with this title, it devolved
into a kind of personal essay. The kind of unwelcome nonsense you no
diff --git a/.md/about/whyami.md b/.md/about/whyami.md
index 7dbc4af..ea23b63 100644
--- a/.md/about/whyami.md
+++ b/.md/about/whyami.md
@@ -1,3 +1,4 @@
-I am because I need to be I guess. Because I need to know things and
-because I need to be understood. But mostly because I need a place for
-my stuff.
+<center>
+We are here on Earth to fart around. Don’t let anybody tell you any
+different. -- *Kurt Vonnegut, from A man without a country.*
+</center>
diff --git a/.md/tutorials/how-to-host-a-tor-hidden-service.md b/.md/tutorials/how-to-host-a-tor-hidden-service.md
new file mode 100644
index 0000000..b6c725e
--- /dev/null
+++ b/.md/tutorials/how-to-host-a-tor-hidden-service.md
@@ -0,0 +1,114 @@
+This might sound spooky and complicated, but it's really not. If
+you want to host a small site or a small file share among friends, I
+honestly think Tor is one of the easiest and safest options to set up.
+
+Getting a Tor hidden service running is so stupidly easy that it hardly
+deserves it's own article. Tor's website has a great guide right
+[here](https://community.torproject.org/onion-services/setup/). I
+figured I'd put my own spin on it by showing you show to host a
+temporary server to share some files with your friends. Please note the
+word *temporary* in that last sentence; running this way for a while is
+insecure and not a good idea. For a permanent solution, you'll
+want to host a real web server as explained
+[here](/site/tutorial/how-to-make-this-site.html).
+
+Unlike that article, I will only explain how to do this on Linux since
+it's way easier and, to be honest, I've never tried to do it on Windows.
+If you've never used Linux before, buy a Raspberry Pi and follow
+the basic install guide. If you're strapped for cash, run it in a
+virtual machine, or use Windows Subsystem for Linux.
+
+## How to spin up a temporary hidden file share with Python
+
+Once you have Debian/Ubuntu/whatever installed and it's updated to your
+liking, you can install Tor with:
+
+```
+$ sudo apt install tor
+```
+
+Start (or stop) Tor with:
+
+```
+$ sudo service tor start
+```
+
+or
+
+```
+$ sudo systemctl start tor.service
+```
+
+You may need to enable the service first. I think this is done by default
+now, but it doesn't hurt:
+
+```
+$ sudo systemctl enable tor.service
+```
+
+### Configure Tor
+
+You'll need to edit the file `/etc/tor/torrc` before your service can
+be available over Tor. Use vim, nano, or whatever you like to edit
+the file (as root!) and search for the following lines:
+
+```
+#HiddenServiceDir /var/lib/tor/hidden_service/
+#HiddenServicePort 80 127.0.0.1:80
+```
+
+Remove the '#' at the beginning oh each and change the port to 8000 like
+so:
+
+```
+HiddenServiceDir /var/lib/tor/hidden_service/
+HiddenServicePort 80 127.0.0.1:8000
+```
+
+Save and restart Tor for the changes to apply:
+
+```
+$ sudo service tor restart
+```
+
+Once you do this, you'll get a new onion address located in the
+directory noted above. Use cat to read the hostname file:
+
+```
+$ cat /var/lib/tor/hidden_service/hostname
+```
+
+### Set up the server
+
+Make some directory to hold your files.
+
+```
+$ mkdir -pv files
+```
+
+Since we're only doing this temporarily, we don't care too much about
+security or where the files should go, but if you want to be careful,
+you can issue the following to set the directory to read only after
+you copy your files in:
+
+```
+$ chmod -R 644 files
+```
+
+Change into the directory and run Python's built-in http server:
+
+```
+$ cd files
+$ python3 -m http.server
+```
+
+You'll see the server is being hosted on port 8000, which is what we
+chose in the config file earlier. Just leave it running, or send it to
+the background with Ctrl+Z and run `bg`.
+
+And that's it! You are now the proud owner of a tor hidden service. Take
+the hostname you copied down before and add `.onion` to the end and give
+it to your friends so they can browse the files in the directory through
+the Tor Browser.
+
+Be sure to watch the program log though... lest they get up to no good.
diff --git a/.md/tutorials/how-to-make-this-site.md b/.md/tutorials/how-to-make-this-site.md
index e898828..42bf51f 100644
--- a/.md/tutorials/how-to-make-this-site.md
+++ b/.md/tutorials/how-to-make-this-site.md
@@ -10,51 +10,59 @@ I got up to hyper linking with the "a" tag until I hit a wall. I don't want to
link the exact page since I don't want to get sued, but it basically read:
```
- Web design programs:
- - Adobe Dreamweaver
- - Adobe Contribute
- - Microsoft Expression Web
+Web design programs:
+- Adobe Dreamweaver
+- Adobe Contribute
+- Microsoft Expression Web
```
Well, damn. I didn't have any of those. And as a stingy high school kid, I
didn't want to buy anything. So I shelved that book and forgot about for a
while since making a website seemed too expensive and needed too much flashy
-software to make it. I knew nothing about free software at that age, other than
-music software like Audacity which is what I was into at the time.
-
-A few years later I caught a bit of a poetry bug--and maybe a bit of a snooty
-college kid bug--and tried to run a blog. At that point, I had learned about
-WordPress, which lets you easily make a space for sharing writing, media,
-content, whatever really. And it's free as in *freedom* as I understand
-since it's licensed under the GPL (if you want to take the time to deploy it
-yourself). But they also give out free .wordpress domains and some storage
-space.
+software to make it. I knew nothing about free software at that age,
+other than music software like Audacity which is what I was into at the
+time.
+
+A few years later I caught a bit of a poetry bug--and maybe a bit of a
+snooty college kid bug--and tried to run a blog. At that point, I had
+learned about WordPress, which lets you easily make a space for sharing
+writing, media, content, whatever really. And it's free as in *freedom*
+as I understand since it's licensed under the GPL (if you want to take
+the time to deploy it yourself). But they also give out free .wordpress
+domains and some storage space with a snazzy dashboard to manage it all.
I had fun with that one, I don't update it anymore, but it's still up at
<a href="https://postquantumpoetry.wordpress.com">postquantumpoetry.wordpress.com
-</a>. WordPress got closer to what I wanted, but it still wasn't <i>really</i>
-my site; it was WordPress's site unless I wanted to pay the hosting and domain
-fee. It's pretty modest, but I wasn't sold on sticking with a .com or .space
-domain, or even sticking with WordPress. I was getting tired of blogging
-anyway. I was getting more interested in the stuff that made it work; it
-seemed a lot more fruitful than writing to no one.
-
-It's now 2021, five years later, when I write this (and this website isn't even
-finished yet). So what led me down the rabbit hole again? It probably started
-where the last one left off, when I decided I wanted to switch to more
-practical IT things over the academic things I had previously wanted
-to pursue. I signed up for a Cybersecurity program, somehow got in, and
-eventually managed to land a entry-level SOC role after graduating. At this
-point, it was getting a little weird that I had no web
-presence--especially after I decided to take down most of my social media
-accounts. So I was back at "how do I make a website," again, but this time, I
-at least had some understanding of what a server was and how networks work. And
-more importantly, I had a better idea of what it meant for a computer to be
-*mine*. Even though--let's be real--it *still isn't.* I can't get
-high-speed Internet easily which I need to host a server long-term so I'm stuck
-using some else's computer, otherwise called a Virtual Private Server (VPS).
-Even if I could host at home, I'm still of course at the mercy of my ISP so
-even then, I'm not totally free.
+</a>. WordPress got closer to what I wanted, but it still wasn't
+*really* my site; it was WordPress's site unless I wanted to pay the
+hosting and domain fee. It's pretty modest, but I wasn't sold on
+sticking with a .com or .space domain, or even sticking with WordPress.
+I was getting tired of blogging anyway. I was getting more interested
+in the stuff that made it work; it seemed a lot more fruitful than
+writing to no one.
+
+It's now 2021, five years later, when I write this (and this website
+isn't even finished yet). So what led me down the rabbit hole again?
+It probably started where the last one left off, when I decided I
+wanted to switch to more practical IT things over the academic things
+I had previously wanted to pursue. I signed up for a Cybersecurity
+program, somehow got in, and eventually managed to land an entry-level
+SOC role after graduating.
+At this point, it was getting a little weird that I had no web presence
+--especially after I decided to take down most of my social media
+accounts a few years ago.
+
+So I was back at "how do I make a website," again, but this time, I
+at least had some understanding of what a server was and how networks
+work. And more importantly, I had a better idea of what it meant for
+a computer to be *mine*.
+
+Even though--let's be real--it *still isn't.*
+
+I can't get high-speed Internet easily which I need to host a server
+long-term so I'm stuck using some else's computer, otherwise called a
+Virtual Private Server (VPS). Even if I could host at home, I'm still
+of at the mercy of my ISP.
Because of that, I think it's important to understand that
"running your own website" is not just a *technical* ordeal, but also an
@@ -64,12 +72,12 @@ mean it's hard to do, just that there's options.
<a id="thepoint"></a>
## What is a web server and how do I run one?
-TL;DR a web server is just a program that lets other computers on a
+*TL;DR a web server is just a program that lets other computers on a
network view files in a chosen folder. All you need to do is download a
web server: apache and nginx are popular ones, but you can easily
program your own with web frameworks like
[Flask](https://flask.palletsprojects.com/en/2.0.x/) or
-[Facil](https://facil.io/)
+[Facil](https://facil.io/)*
You can run a web server for free right now. If you're on windows go
download Apache for Windows
@@ -84,29 +92,30 @@ Foundation\Apache2.4\ ). You'll see something like the following:
```
<VirtualHost *:80>
- ServerAdmin webmaster@localhost
-
- DocumentRoot /var/www
- <Directory />
- Options FollowSymLinks
- AllowOverride None
- </Directory>
- <Directory /var/www/>
- Options Indexes FollowSymLinks MultiViews
- AllowOverride None
- Order allow,deny
- allow from all
- </Directory>
+ ServerAdmin webmaster@localhost
+
+ DocumentRoot /var/www
+ <Directory />
+ Options FollowSymLinks
+ AllowOverride None
+ </Directory>
+ <Directory /var/www/>
+ Options Indexes FollowSymLinks MultiViews
+ AllowOverride None
+ Order allow,deny
+ allow from all
+ </Directory>
```
For now, you don't need to change anything, so don't worry about what it
means.
-Note in particular the "DocumentRoot" which may differ for you. This is
-where the web server looks for files. So let's put a file there! Put
-whatever, a picture, a text file. Run the server, then go to
-your web browser and type: `http://localhost`. You'll find a directory
-with your files in it!
+But do note the directory set on "DocumentRoot," which may differ for
+you. This is where the web server looks for files and folders.
+So let's put some stuff there! Put whatever, a picture, a text file.
+Run the server, then go to your web browser and type: `http://localhost`.
+You'll find a directory with your files in it! And you can access them
+at `http://localhost/filename.extension`
The problem is, only you and others on your home network can visit your
site right now.
@@ -120,17 +129,38 @@ routers will have some kind of steps similar to this:
1) Click "Advanced" then click "Firewall"
-2) Scroll to the add new rule form (if you must, press a button to bring
-it up)
+2) Scroll to the add new rule form
3) Put in the following values
- source/original port: 80
- forward to address/device: your device's local ip
-- forward to/destination port: 8000
+- forward to/destination port: 80
You can get your device's local ip by typing `ipconfig` (Windows) or `ip
a` (Linux). Typically it is listed first and will start with "192.168" or
-"10.0" but it depends on the manufacturer.
+"10.0" but it depends on the manufacturer. Here's my output at home for
+example:
+
+```
+1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
+ link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
+ inet 127.0.0.1/8 scope host lo
+ valid_lft forever preferred_lft forever
+ inet6 ::1/128 scope host
+ valid_lft forever preferred_lft forever
+2: enp7s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
+ link/ether 4c:cc:6a:93:eb:0b brd ff:ff:ff:ff:ff:ff
+ inet 192.168.1.202/24 brd 192.168.1.255 scope global dynamic noprefixroute enp7s0
+ valid_lft 74501sec preferred_lft 74501sec
+ inet6 fe80::4ecc:6aff:fe93:eb0b/64 scope link noprefixroute
+ valid_lft forever preferred_lft forever
+3: wlp5s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
+ link/ether 82:e2:e4:c2:0c:a1 brd ff:ff:ff:ff:ff:ff permaddr 98:de:d0:f3:d6:ea
+```
+
+The device "enp7s0" is my Ethernet adapter (starts with an 'e') and my
+current local ip address for the device is shown. If you use wifi, it
+will likely start with a "wl."
Now get your *public* ip address at this site https://who.is/ and share
it with your friends. Watch in horror as they access all the files in
@@ -138,11 +168,14 @@ the directory you launched the server!
## How can make this server available on the Internet *cheaply* and *independently*
-TL;DR Expense scales with independence. It's possible to become your own
+*TL;DR Expense scales with independence. It's possible to become your own
service provider, get IP addresses from ICANN, your own hardware to host
it, to host your cat pics; but it's also a lot of time, work and money
-to do all that (see [Null]())>. Most likely you'll want to rent someone
-else's server, usually a VPS.
+to do all that
+([this guy](https://hackaday.com/2018/09/20/one-mans-journey-to-become-his-own-isp/)
+did it apparently, and so did [Null](https://en.wikipedia.org/wiki/Kiwi_Farms))
+
+Most likely you'll want to rent someone else's server, usually a VPS.*
Once you understand the basic installation above, you can now populate
your site with content just by adding HTML files to your web directory.
@@ -189,23 +222,24 @@ But once you have stuff to share, how do you keep this stuff online?
Technically yes, but practically probably not. At least not at a lot of
extra cost to you. If you do want to host a small thing at home, like
some text or some cat pics, a
-[tor hidden service]("/site/tutorial/how-to-host-a-tor-hidden-service.html")
+[tor hidden service](/site/tutorial/how-to-host-a-tor-hidden-service.html)
is a great option.
-I spent a lot of time searching on this (you can find a full list of references
-at the bottom), and I've even tested a little bit by hosting game servers and
-web projects for code jams, but the problem is twofold. First, if you are in
-the United States and not a business, you probably have a standard plan with
-one of the major ISPs (Verizon, Optimum, etc.). This limits you in a
-few ways.
+I spent a lot of time searching on this (you can find a full list of
+references at the bottom), and I've even tested a little bit by hosting
+game servers and web projects for code jams, but the problem is
+twofold. First, if you are in the United States and not a business,
+you probably have a standard plan with one of the major ISPs (Verizon,
+Optimum, etc.). This limits you in a few ways.
- Your bandwidth is limited, which limits the amount of people you can serve
at one time *and* the rate you can transfer data to them. Think laggy
games and videos that take 10 years to download.
-- Your ISP probably explicitly does not allow this (at least in the US). I have *never* had my
-ISP complain about hosting small personal servers at home, but I imagine if I
-hosted higher traffic things, I would have some problems.
+- Your ISP probably explicitly does not allow this (at least in the US).
+I have *never* had my ISP complain about hosting small personal servers
+at home, but I imagine if I hosted higher traffic things, I would have
+some problems.
### So what should I do