diff options
Diffstat (limited to '.md')
-rw-r--r-- | .md/about/whereami.md | 71 | ||||
-rw-r--r-- | .md/about/whoami.md | 9 | ||||
-rw-r--r-- | .md/about/whyami.md | 7 | ||||
-rw-r--r-- | .md/tutorials/how-to-host-a-tor-hidden-service.md | 114 | ||||
-rw-r--r-- | .md/tutorials/how-to-make-this-site.md | 182 |
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 |