(www.neatnik.net)
I don't think there is much difference between paying nearlyfreespeech (which I have done in the past) Vs using GitHub or cloudflare - you are still reliant on a third party for actual hosting. I don't really see any value in self-hosting myself - apart from nerdy satisfaction etc, I don't see the need.
The important part in my mind is the fact that I am manually controlling the assets - the HTML the images etc. Simple files on disk.
The git integration with GitHub and cloudflare though is obviously a huge boon though as now I have an off-site backup, and publishing is even more seamless than the old FTP/sftp days - just push to master from within vscode where you are editing the files anyway and it'll be live in 30 seconds (as well as backed up).
If you're self hosting, either at home or on a VPS, you have to worry about domains expiring and credit cards being cancelled, which is inevitably going to happen if you don't have a succession plan in place. You could probably solve it with a bunch of lawyering, but that's expensive.
Free services don't have this problem. They can still go away, it's not a 100% guarantee, but it's a "might" versus a "definitely will"
The problem with Big Tech is not that they "selling your data". This wouldn't be that profitable to them. The problem is that they make more money by having tons of users and being able to build really accurate consumer behavior models, which then can be used to be used as a way to change mass behavior.
The most direct way is of course by having hyper targeted advertising, but this also affects people in many other ways in ways that are not to the benefit of the user: consider how the applications are designed to maximize engagement instead of being made to help users directly achieve their goals.
When you are the one paying for the service, companies succeed when they serve you better, and the money they can get from you directly is order of magnitudes more than what they'd get by trying to monetize your attention indirectly.
In other words, if company A and B both offer you a product for $N, but A protects your privacy better than B, then A might get more customers. This competitive advantage can be an incentive for privacy.
However, there definitely limitations. If the value of this competitive advantage is less than the revenue they make by selling your data, then it's not a strong enough incentive. It also only works if consumers care about privacy and take the time to factor it into their purchasing decision.
If it is possible for you to respect your users, then at least better behavior remains on the table.
If something is paid + open source then you have a good starting point incentive wise for the provider but also if they mess with things under the hood someone will inevitably call it out and you can act accordingly. You also now have more options - you can fork it yourself, someone else may fork it and you can jump ship, etc.
Also I was not being condescending, I was expressing frustration. There has been a serious trend lately of people doing the worst possible interpretations of people’s comments and pulling “well actually…” style responses that borderline seem canned.
Offering loss-leading products is a common business strategy and I'm perfectly okay taking advantage of this for hosting needs that fit a vendor's free tier.
Static hosting is very cheap to offer and gathering free tier users will gain developer mind-share, which helps the vendor can sell their truly money-making products. To pick a clear-cut example: AWS Lambda does not collect any additional data on free tier usage compared to paid usage.
Now you just get fscked twice.
I am a little surprised that doing so isn't more popular on in the indie web scene though as you do it on hardware you own, from your home, and the tor network protects people from knowing your servers ip address if that's something you care about. You could even go to your domain provider and have one of your domains redirect to your .onion address so people don't need to memorize it.
There also used to be the beaker browser which let you create and host your own website directly from the browser but that project got shut down. Hopefully something similar will show up at some point. Maybe a website creating plugin for tor would be enough to make it more popular.
I've made a few easy to spin up services. Heck, you can even run it off your phone.
Nanogram https://gitlab.com/here_forawhile/nanogram
Spreadsheet Server https://gitlab.com/here_forawhile/spreadsheet
Library Server https://gitlab.com/here_forawhile/libraryserver
Torum (HN Clone) https://gitlab.com/here_forawhile/torum
A source repo link often gets more traction here than a link to what might turn out to be a closed, probably subscription based, service. The repo's main readme likely links direct to the product/ service/other main location [if the forge isn't being used as that] or demo location [if a public demo instance exists] should that be where I want to go immediately.
Though maybe posting both the repo link and a "live" link would be better still.
If you want to make the point that self-hosting is trivial, then show a site that you are hosting with your setup instead of just pointing to gitlab.
https://nonogra.ph/running-a-website-inside-a-website-07-15-...
I don't feel the need or want to share my services with the world to demonstrate that.
I simply do not want to announce my address here, it's ancillary to the discussion...you shed a layer of security by deciding to make your address public, non of which would benefit the whole point of any of the services I linked.
Circling back to the main discussion of indie web, tor is a great alternative if your circle of visitors is of reasonable size and you want a place outside of the commercialized internet. It's available to anyone.
Paying the penny will certainly give you robustness and reliability...but honestly that's part of the fun of indie web.
>you shed a layer of security by deciding to make your address public, non of which would benefit the whole point
It's possible to host something with no intention of making it internet-public. I also have services like that, that I only use myself or with friends. GP argument is that they don't want to share the onion link to their website, because (bluntly) we are not invited. Onion domains are actually relatively private (i mean unguessable - unlike clearnet domains), so it's possible to host private websites without any additional authorization.
Having said that, onion links carry a implicit baggage, so while I think they're great for sharing things with (technical) friends or a private VPN, they're probably not the best way to host services intended for public.
But this is completely opposite of what most people hosting pages online are doing. Ask a thousand people why they are using Github pages, or Vercel, or netlify... how many of them are not looking for a cheap/free way to have something in the public internet?
Apparently [1] there are also ways that Tor Browser supports, for directing visitors to the onion address via the “normal” internet:
- Onion-Location
> The Onion-Location method was introduced on Tor Browser 9.5 as a way for service operators announce their Onion Services in their regular HTTPS sites. It's specified under tor-browser-spec's Proposal 100 - "Onion redirects using Onion-Location HTTP header".
- Alt-Svc
> Similar to Onion-Location, the Alt-Svc method also uses an HTTP Header (the Alt-Svc Header, specified by RFC 7838), which means that the user first need to access the regular site before their browser discovers the alternate Onion Service address.
> But contrary to Onion-Location, the Alt-Svc method:
> - Does not support an HTML tag, as it relies entirely in the Alt-Svc Header.
> - Is fully transparent: all the discovery and upgrade happens automatically, without user intervention.
- Additionally, they also speak of future possibilities for DNS or DNSSEC-based Onion Association.
[1]: https://onionservices.torproject.org/research/proposals/usab...
Of all the compromises we have to do (relying on Telco providers, equipment manufacurers, etc), using Nearlyfreespeech is the less risky one. They have no history of abusing the trust users have placed on them, and service costs virtually nothing.
Imagine you are in a conversation with a stranger. You want to show him your personal website. Consider the following two sentences. Which has the highest probability of actually helping him getting on your website?
"Go to myfirstnamelastname.com. Yeah, it's spelled with a K."
"Go to $FIFTYSIXRANDOMCHRACTERS.onion. Oh you need to use the onion browser. Let me help you install it on your phone. Can't find the service? Oh my bad it's actually $FIFTYSIXRANDOMCHARACTERS.onion. There you go."
This is a common pattern for ex-national carriers in many countries btw - they believe they should be paid by both sides for all traffic that traverses their network, not just by one side, because they feel like they are God of the Internet in that country.
Not 100% independent then. You still depend on your isp.
And you can host for a static site for free in a million places. CDNs free tiers are enough for individuals.
I don't get the preoccupation with hosting your own server, what matters is that you own your own identifier (in this case a domain name) whatever it points is vastly less important.
The field of software engineering is dominated by the smart people that do something not because they have to but out of curiosity.
I've hired a bunch of people and I was always looking for curiosity and drive most of all. A degree doesn't help you if you don't care.
It's tragic that "your own domain and your own hand-written HTML" has somehow become a glorious ideal, and not a catastrophic failure of the modern imagination.
No one who is truly content-first and not tech-first is remotely (ha...) interested in any of this.
What content-first people want is a drop-in one-click package that sets up a server, secures it and keeps it secure, and installs something like Wordpress, but federated.
And is generally simpler, easier to set up, easier to use, and better.
And prettier.
(Email would be nice too, but we can't have nice things since the oligopolists locked that down with "spam filtering" of itty bitty private domains.)
Pick from a few themes, post, read, interact, leave the customisation and under-the-hood features until later, if you get around to it all.
That's it. That's a what will create a true content-first indienet.
Anything else is just FOSS tinkering for the sake of tinkering, not a credible attempt to create an open platform.
Emphasis mine.
We wish. I think the state of tech pretty conclusively demonstrates those people aren’t the ones who dominate. Money and power hungry tech bros do, which is why everything is shit and exploitative.
The shit and exploitation don’t build themselves.
It’s all learnable and everyone starts somewhere. But you’d think natural curiosity would kick in and they’d have picked up some of this on their own by the time they have a job.
So 7zip and Winrar?
I joke, but only halfway. If you're only normal Windows user, you'd never hear of anything else (unless you want to go back to Winzip, which does still exist, but I've never heard of anyone using it any more).
But here’s one I heard literally two days ago: we counted three engineers (out of many) who knew that physical memory was not actually a giant flat space of contiguous addresses, and that there were multiple layers of address-mapping and region-joining glue logic between a program and the hardware, including in os libraries, and even inside the hardware.
Maybe knowing such information is archaic or useless for most engineers. But the good ones (or at least a certain flavor of the good ones) ask questions that lead them there.
That's the abstraction I'm working with when coding. Which is necessary because in most cases this should be an implementation detail.
It's all a layer below even OS programming. It's configured at the BIOS level and then performed in hardware. But that's the point, isn't it? Virtual memory is below the application programmer, too, but here we're chastising him for not understanding it. If we do that, shouldn't we equally chastise people for not understanding physical memory? Or speculative execution? Or head seeking and servo tracks? Or Ethernet line coding?
I also could no longer tell you how to balance a binary tree or implement Quicksort.
Worse, people who find it within themselves to ask questions anyway frequently face silence or a smackdown. The Internet's Own Boy remains no longer with us.
And I’ve hosted my own web server these last 20 years.
You spelled "frightening" wrong.
I've got a friend, I'll call him Bob, mostly because Bob is nowhere near his real name and I'm about to say some not very flattering things about him. He is my friend and not my job colleague or anything, so there's certain objectivity to this, in fact I appreciate Bob and I wish nothing but the best for him.
Bob has been programming for a bit more than a decade. He is, barring the people I know from other countries, the best paid programmer I know, and I know well over a dozen.
Bob has no interest whatsoever in any programming language that is not what he has been using his whole career, nor does he have any interest or curiosity in dipping his toes in other related fields, web development, tinkering with arduinos, home servers... Nothing. Bob has not built a computer, ever, doesn't know how to do it, nor what each part in that object does, beyond the hard drive because he did plug an extra one once or twice.
More anecdotally I played some Factorio and Satisfactory with Bob, now I know these are not excellent representations, but I expected a degree of order, planning and foresight, I was very much surprised when facing the reality of none of that being present, and I very much did not expect to see the same thing the few times I've looked at his code, but I did see that same thing.
I promise you Bob doesn't make up for all of this in social skills.
Now, is Bob a good engineer? I really, really don't think so. Is he a curious person? A bit, not much, I get the feel he just ended in CS with no particular interest for it, but I'll say it again: He is the best paid programmer I know.
Is that frightening? Well yeah, in a way. It's also endearing in a "Well damn if this guy can do it then surely I can too" sort of way. Money is not everything of course, but it's as good of a proxy as any.
Files aren’t sacred. It’s actually troubling that many technical people never consider alternatives. Most of the worlds data today is probably not stored in filesystems, rather in databases and object stores that use custom storage backends.
You know what, these big databases and object stores are living on bog standard but scalable filesystems most of the time. Ceph, ZFS, Lustre, etc., and sharded/stored as files. There are some very high performance and bespoke systems out there [0], yet they also provide POSIX compliant filesystem views outside, not because they are sacred, but because it works.
Filesystems provide great utilities for making abstractions other than files, by using files as universal containers you can play with. Again, while they are not sacred, they are an important building block, and they're here to stay. Creating a custom storage backend, throwing away all filesystem stuff is a fool's errand, since filesystems handle much more than providing a tree and some attributes on that file/folder hierarchy. Since they are the first level on top of physical storage devices, they also take care of the device underneath them (e.g. TRIM, FFFS (Flash Friendly File System), etc.).
It's a great irony that E-Mails are already stored as human readable databases on disks.
[0]: https://docs.weka.io/4.3/weka-system-overview/filesystems
And I’m complaining about technical and non-technical users who don’t understand why object stores (and web servers, and ftp servers, and archives) aren’t file systems just because they can hold files.
And don’t get me started on documents. Document object models can be so much more when they’re not just treated as a sequence of bytes.
But the most obvious alternative to a filesystem would be formatting a whole hard drive as an sqlite database. Obviously it would be a radical rethink in OS design.
There are also "single-level stores" from the last millennium - designs where there is no separation between volatile and nonvolatile storage. All memory in these systems is treated as nonvolatile. A Word document, for example, would be something like a suspended Word process. A directory is a process that only manages pointers to other files and directories. Obviously processes must be extremely lightweight in such a system. KeyKOS is an example of this and you can read papers about it and its Unix emulation layer. This is one of the many things humanity explored before settling on the hierarchical filesystem as the base layer of storage.
At the end of the day, you'll be chasing pointers inside that SQLite database, where you store tables, indexes and such. Interestingly, this is how a filesystem works. Tables, indexes, redirections and fields. Very much like a database. EXT4 is a table of redirections, nothing fancy [0].
[0]: https://blogs.oracle.com/linux/understanding-ext4-disk-layou...
It's not that the average user is ignorant of the many ways in which data can be stored and retrieved. It's that they are becoming ignorant of such abstractions existing altogether. It's hard to start thinking about how images are stored if all the user knows is "they are in the gallery".
It's sad that we need this new concept of "IndieWeb", as the whole Internet evolved into a monstrosity hosted and guardrailed by a handful of megacorporations. Hosting files became a privilege, when it should've been a (human) right all along.
edit: The tech to host yourself is obviously still there, but the _mindset_ changed to cloud only.
Sadly with CGNAT, port blocks, hosting any server being a terms of service violation...
> For just $0.01/day, you can run a static website at NearlyFreeSpeech.net
I respect the spotlight on hosting your own websites, but it's not much different from the usual Vercel/Netlify/GitHub/Cloudflare static hosting.
What if I want a database, feedback form, social media previews, good SEO? Article says nothing about it. Perhaps that's what makes a website "indie"?
Perhaps useful for those training developers mentioned in some posts here who need the TIL experience with unix based systems. Free shell account on a netbsd unix, and I recollect that a small one-off donation provides access to Web space and other enhancements. Choose the login name wisely as that becomes the subdomain for the Web space.
I built a comment js plugin which hosts all data inside a git repo. https://github.com/est/req4cmt (as long as your git service accept http)
It runs a Cloudflare Worker for free. The data backup/migration is basically git clone & push
There's another twitter-replacement, also based on git. https://github.com/est/gitweets
Demo https://f.est.im/ it supports comments via git notes :D
$0.01/day ? They are all completely free thanks to Cloudflare Workers / Github Pages.
I also “preach” GitHub pages a lot but I’ve also written about hosting on a Raspberry Pi in my bedroom.
https://joeldare.com/private-analytics-and-my-raspberry-pi-4...
Small tech is fine. Self hosting is fine. VPSes are fine. Don't use "clouds" - they're big tech, and overpriced.
Make sure it's something you pay for, so that you are the customer, instead of the product.
1. Learn how you can get HTML generated from a human-readable and writer-friendly format, say, Markdown (plain-text). This can be Pandoc, a macOS/Win wrapper desktop UI over Pandoc, and many other tools that do this.
2. Learn the process (and the tools) to upload, or sync to a service that hosts the HTML (CSS+JS).
3. Learn the simple steps of owning of a domain, and updating the DNS to point to the right services, such as Github Pages, CloudFlare Pages, etc.
As you are not dependent on a particular tool/service/platform/company, you can walk out and host your files (the website content) elsewhere.
The post-processing of the raw (Markdown) articles/posts to HTML can be then automated with Static Site Generator if someone is willing to learn a little more on top of the above steps.
Of course, it is a fun and good thing to know HTML but that should be optional to the target of “Run your own website 100% independently.” With Github and Cloudfalre, you can hve it for $0 monthly. If they go kaput or stops free, someone will come up - walk out and walk in elsewhere.
> When your posts are individual HTML files (not Markdown files or database entries), they can finally be seen as the individual web pages that they truly are. And that means that you can really lean into making all of your posts unique! They don’t all have to be cookie-cutter paper-doll clones of one another; that’s just a bi-product of modern web publishing tools and the cultural influence that they have on our concept of a “blog”. You can now go ahead and make every blog post as special and individual as you’d like. Each post can have its own personality, baked right into its HTML. Individual style, individual appearance, even individual layout. Literally everything is possible with this approach.
HTML is human-readable and writer friendly. Humans - not even all of them CS students - were reading HTML,JS and CSS on websites and writing it all by hand in text editors for years before the "proper tooling" came along. It really isn't that difficult, especially if you're just dealing with simple websites, doubly so if you're on HN, you probably work with more complex languages on a regular basis.
If you really want to "learn and own a process" and be "100% independent" you should at least be able to understand and work with web languages natively.
Static site generators are nice (I use Nikola) and tools make things easier but but it's still dependency on third party tools if you don't understand or can't otherwise work with the output.
Astro is a framework that uses no JavaScript by default. I also use just HTML and CSS, so no bloated additional frameworks or styling libraries.
All blog content is written as Markdown or .mdx files, so it's easy to write and move to any other tool if you wish to do so.
You can host it for free using any major provider since it's just a static website (e.g., GitHub Pages, Cloudflare, etc.).
Making it similar to my own website which is on: https://bryanhogan.com/
I write technical blog posts with visualizations and live demos. That usually means embedding a bit of custom javascript in the page for the demo. Or shipping custom wasm to enable extreme semantic model compression.
I do this by pushing content from my machine to github pages which is wired up to my subdomain.
If github pages stops being a good, free option for this, I will find another. Not sure I would call this "hardcore" really.
key properties:
1. everyone can be a registar. your localhost too
2. blockchain proof of ownership and discovery (certs, not proof-of-work, fast and cheap ledger)
3. everyone can be a CA (self-signed certs pinned in blockchain)
4. no fixation on static IPs (inspired by Cloudflare Tunnels, Tailscale). IPs are ephemeral.
5. blockchain/P2P discovery of domains
but it is all fantasy without real browsers support (Chrome, Safari). 99.999% of traffic is locked there, and both controlled by monopolies Google / Apple. and you cannot even build your own browser (Apple App Store will not allow it). Maybe alternative stores and some proxies / translation layer from normal web to this web would help.
DNS is secure (in Zooko's terms - means you can be certain a domain only has one correct resolution) and human readable.
.onion is secure and decentralised.
Petnames (as in I2P) or /etc/hosts are human readable and decentralised.
Also any centralised secure system will quickly have all the names squatted if they are free. It's bad enough at current prices. For instance every dictionary word under .com is already taken. If they cost nothing it would be every pronounceable sequence of up to 12 letters.
Nothing is actually stopping you running "weird DNS" on your home network if you implement the DNS protocol towards clients. I suggest you get familiar with the program Unbound. It's very common for networks to use alternative DNS if only to address the devices on the network.
Also IPs weren't originally meant to be ephemeral. You can get an address block registered to you (v6 only of course, there's no more v4) for a pretty reasonable nominal fee.
However, why would a company build something just for a handful of people?
or if you are EU/China and do not want google DNS and networkign layer owning entire EU/China
in all cases they would still want centralized control by each state/company.
how to align incentives of someone who can actually pull this off and still keep it decentralized is a big question.
you got to go full own hardware stack. now only China can reallistically pull this off.
China has own hardward stack. (actually entirety of all hardware stacks. it is all build there). China has own playstores or higly regulated versions of Apple/Google play stores.
China has mini-apps ecosystem which is more resilient to App Store whims.
and pretty much China is only place that can reallistically negotiate and push back to Google/Apple.
nobody else can stand a chance.
so free web is only possible in China pretty much. and future of free web is there.
For complete beginners, I made https://weejur.com , which is designed to make it easy for even a complete beginner to paste in HTML and get it hosted on GitHub Pages for free. (And is also hosted itself on GitHub for free!)
Although calling it hardcore makes it sound like porn. Too bad they had to add that term for something painfully not hardcore.
Sftp is still very useful even in 2026
I don't get it.
Payment methods are inherently discriminatory.
Holy, I love this simplicity
That's the only thing I haven't really been able to figure out how to do on my own. Back in the day, hosting a static site from my crappy DSL connection was basically no problem and most people who were accessing my site were probably in my timezone. Now with how big the web is and how many bots there are, I worry about the quality of self hosting without a CDN.
You could replace it with something better, like pangolin, either their cloud or even self host it too, and that way you can tunnel to other stuff like if you have a media server where you can watch your movies from anywhere in the world.
Might want to warn the "friend" if they don't have auth on the tunnel itself.
You’ll also find a free email course where I walk you through how I create a site using it. Link on that page.
Think .crypto but without the ability to upgrade the smart contract to censor domains. The registry is spread out across a whole decentralized network of computers of which has another decentralized network of computers that proxy requests exists.
>how does it stand up to me editing the hosts file, or the browser's source code?
No one can force you to resolve domains YOU don't want to. You can of course blow up your computer and then you definitely can't resolve the domain. What people mean is that the user is free to still resolve it if they want.
Ultimately, someone has to be in control of who is or is not part of that decentralized network that is the registry. (Or, alternatively phrased, how are you preventing me from saying "I'm part of the .crypto registry, totes.")
Aside from that, the root nameservers is still an entity that is controlled (by ICANN, specifically).
Ethereum is an unpermissioned network. Anyone is free to join or leave at anytime.
>how are you preventing me from saying "I'm part of the .crypto registry, totes.")
The registry would be a smart contract. There doesn't fundamentally need to be an owner.
>how are you preventing me from saying "I'm part of the .crypto registry, totes.")
Name resolving doesn't have to be done by ICANN's domain name system. You can have alternates that do not depend on centralized servers.
And even if I'm a super genius who's written my own full-stack operating system on my souped-up speccy, I'm still bound by the laws of information theory. If you need information that you don't have, you're necessarily requesting it from a source (here, a computer) external to you (here, outside your control). A complicated network protocol doesn't make that fact go away, and doesn't allow you to ignore it. (It might mitigate various censorship or spoofing approaches, but you only know that if you check: the abstraction won't save you merely by virtue of being an abstraction.)
No. That's the method.
Like, I have fiber and a static IP. Never much thought about hosting a website from my house because it didn't seem all that special. Maybe I should?
It's fine to host something for friends on a residential ISP. They don't care. If you want to make it a public website it's more uncertain. Still don't worry though, because they won't just ban you from the internet. Worst you'd get is a phone call telling you to stop it.
Indieweb receiving of webmention only requires the ability to log HTTP POSTs to some url endpoint. Or you can use one of third party services servers to receive that interact with your website via with 3rd party javascript applications you include on your webpage. Sending webmention can be done with cURL, even HTML forms, or again, 3rd party JS includes.
[My home computer] --> SSH --> [my hardcore IndieWeb local cloud]
That's about it. Safe enough.
In 25 years of hosting a dozen domain names on a server on my home connection, this problem has not surfaced for me.
For someone who knows what they are doing, it's more like mosquito noise, a mere nuisance, but even then, using a rock solid system with all updates installed carries the risk of having a zero-day.
If your server is networked to the rest of the house, and if somebody manages to get in, then it's all fun(!).
Especially if you host something like wordpress with plugins you really have to be on the ball with updates.
That said, the practice of running a modern corporate web browser that auto-executes all programs sent to it from arbitrary unknown third parties is a way, way, way bigger and more common and likely attack surface than a simple static webserver serving files in directories.
I don't think ipv6 only is feasible yet unless your audience is exclusively in Asia where ipv6 uptake is much higher due to them running out of ipv4 years ago
They have poor reputations and are blocked from streaming sites and so on. But when you're the server, that doesn't affect you.
Note that you need a static v4 and DMZ because the tunnel protocol is a very simple one - presumably because they run it on giant routers. It just puts a v4 header in front of the v6 header. No TCP or UDP.
https://rustyswarf.com, which runs on a very simple framework called Travail.
In practice, I found cloudflare necessary to deter bots/crawlers. It is indeed fairly cheap, but you're still dependent upon three entities you don't really control: the DNS, the host, and Cloudflare.
I host my site on my own home server, but I do have a proxy ec2 server to tunnel public traffic via wireguard back to my home server. This keeps things a bit more protected and my router/home network not directly exposed. I'm also not locked into AWS, I just use them for convenience, but could get any other cheap proxy to run wireguard. No dependency on tailscale either, it's just nicer interface to wireguard. Wireguard config is like 5 lines btw.
just use Cloudflare. get all this for free (except domain).