Inspiration
The inspiration of this project actually came from a Minecraft server. This server is called The Uncensored Library, and was a unique solution to a problem that had existed for centuries. This problem was the censorship of governments. Because of hearing about this, I remembered that there was a browser called Tor Browser, and one could input .onion links. The .onion is actually unique; it is harder to find IP addresses from people using .onion websites, and if one has an added IP scrambler, that makes the person virtually untraceable. Although there are proxies which can be added onto normal browsers to access .onion browsers, this does give up your IP address.
What it does
This website is quite simple because it just gives information (and memes) to people. However, the website is actually unique in how discreet it is compared to other websites. I am able to publish anonymously, and someone else is able to access my website anonymously. This makes .onion a top level domain compared to .com, .org, and .net.
How we built it
First, I had to build a server that would run the website itself. To do this, I had to use nginx to send information to a specific localhost. This part was the hardest because nobody has done it in the manner I did it (or at least, they did not publish this method). Because I have a Windows computer, it made programming the website even more difficult, as there were not enough resources to help me figure out, so I had to improvise. Then, when that had finally finished, I had to add a command within the Tor browser on my computer to "listen" to nginx's localhost. When building a browser in Tor, there are randomly generated, public keys, private keys, and hostname. Public keys are the method that people access my website. The hostname is the actual link name, which is basically a shortened form of a public key. Finally, there is the private key. This key allows someone to edit my website and configure the entire website(which is why I will not share it with anyone). Once I found that information, I had to build the entire website in HTML and CSS, make sure all of the files were saved in that specific drive so that the website could access it whenever it wants, and then ensure that everything was running.
Challenges we ran into
The first challenge was to build the server. There are currently no tutorials to build an nginx server on Windows, so I had to find my own way to build it. I had to add and delete a lot of code within the server code so that it would work with Tor. Once I had a localhost running, I had to add a bit of code in torrc (a file that configures the Tor browser), but at first, the code would cause Tor Browser to crash multiple times. Finally, I was able to get it working, and although nginx was not sending the right file multiple times, I had some progress. After that, I had to use notepad to code the website, which was a unique experience (as I have not done HTML in years, so my skills in that language were rusty).
Accomplishments that we're proud of
The accomplishment that I am proud of is building a legitimate web server in my personal laptop. Although only a few 100 to 1000 people can access the website, everything that is in the website is just a file on my computer (yes, even the link). Also, I am proud that I was able to build a .onion website that contributes to preventing censorship of information that is required for people to know.
What we learned
I learned that HTML and CSS, like all other languages, can become complicated if one gives it enough time. Although there are none of the more complicated features found in other websites, I have a basis of how to make websites in HTML.
What's next for COVID-19 information
First of all, I want to add additional information for the website; this could be really helpful to people who do not have access to COVID-19 information because of censorship. I could add something about the vaccines available (obviously, I cannot tell them where to take the vaccine). Next, I would want to add additional features (e.g. a simulation that can be downloaded, a quiz, and etc.) to make my website more cooler. I would also want to figure out how to format the websites so that the images can be beside the words.
Log in or sign up for Devpost to join the conversation.