- The source code is composed of two bash scripts, hshq.sh and hshqlib.sh. hshq.sh is a simple wrapper script that invokes hshqlib.sh. hshq.sh will rarely, if ever, change. hshqlib.sh will be regularly updated. By putting (nearly) everything into a single script (hshqlib.sh), it makes it much easier to maintain consistency with versioning as well as code-signing. At around 50k lines (currently), the file is still only about 1.8 MB in size, which makes it very lightweight for downloading newly updated versions. Even though this is rather large for a bash script, it is a function-based approach - there are over 800+ functions.
- Like it or hate it, Linux Ubuntu is the most prevalent and widely used Linux distribution on the planet. It is well-suited for beginners while also well-accepted (generally) amongst seasoned professionals. It is (arguably) the most stable and supported distribution available, which makes it the logical choice. While there are many detractors for understandable reasons, there are no immediate plans to support other distros. Best attempts have been made to limit the reliance on specifically Ubuntu, it could be adapted to be more generically Debian, but again this is not a high priority item at the moment. If you want another distribution, PR's are welcome.
- Yes, 24.04 is on the near-term roadmap. We will only focus on the LTS releases. Some installation issues came up when 24.04 was first released, but they were not thoroughly investigated, so the issue was sidelined for the time being. We also have about 80 other open-source projects to keep track of for updates, so its a mixed-bag of priorities. Our main goal with respect to the codebase is production-grade stability for the average non-IT person - even the slightest little error can wreak havoc.
- Yes. But then again, EVERYTHING has a cost. The short answer: For a typical home setup, it will cost about $400 to buy the equipment (if you have nothing to work with) and about $15 per month ongoing costs. The long answer: For the equipment, here is a guide for an affordable setup with around 4-6 active users. For the ongoing costs, unless you have a static IP address with your internet service provider (ISP), you will likely have to rent a VPS from a provider for your RelayServer. The RelayServer serves numerous valuable functions, with the most important being an access point for your mobile devices when you are not at home. It is very lightweight on resources, so it should run about $5-$10 per month. Here is a link for more details. You'll also need a domain name, which runs about $10-$15 per year, i.e. ~$1 per month. And finally, if you want to have access to help and support, another $40 per year (~$4 per month). So ~$400 fixed investment, ~$15 per month ongoing. Aside from that, all of the source code for this project and all related projects is fully free and open source, with no strings attached.
- As mentioned in the previous answer, help/support can be obtained via a Professional Support Subscription, which currently costs $40 per year. This is the sole revenue source for this platform, there is no corporate backing with a hidden agenda. Purchasing a subscription is completely optional and has no bearing on the operational capabilities of the infrastructure. It is merely a place to go to obtain help. You could be a complete novice with a "dumb" question or a seasoned expert with a very complicated inquiry. All questions are welcome and will be treated with the highest level of professionalism. Regardless of how "dumb" you might think a question is, there's a good chance that someone else might want to know the same thing. So just by asking, you're helping out others. In other words, there's no such thing as a dumb question - only dumb people for not asking.
- Go to the Getting Started section and walk through each of the provided topics. There are accompanying videos to assist as well. If you have read through everything and watched the videos and something still isn't clear, then you might have to sign up for a support membership to ask. It's impossible to know what is unclear unless you convey it in the form of a question. This will allow us to better address these ambiguities for everyone going forward.
- Yes, and in fact this is highly recommended. It is something that you can do right now for less than $5 if your servers are only up for a couple of days. Basically, you are going to simulate your HomeServer equipment with a virtual private server (VPS) from a cloud provider. This link provides a walkthrough of setting up both HomeServer and RelayServer VPS's using a sample provider.
- Yes, without question you can host from anywhere, regardless of your circumstances, even behind NAT/CGNAT. This is probabaly our largest contribution to the community. You will have to rent a VPS as a RelayServer, which is pretty cheap - between $5-$10 per month. But it will perform the function as the front-end to your entire infrastructure. If you watch the Architecture video, you'll get a better idea of what role the RelayServer fulfills.
- Yes and No. It has been extensively tested on a Proxmox hypervisor with no problems - it works perfectly. With Windows as the host OS, some problems with respect to networking have been reported, so a Linux-based host is highly recommended. As long as the VM's operating system is on the supported list (currently only Ubuntu 22.04), then it should work in just about any environment, but its impossible to know without confirmed tests.
- Currently, this is purely IPV4. Yes, this does unfortunately contribute to the IPV4 address exhaustion issue in the short term. Migrating to either dual-stack and/or fully IPV6 is the largest item on our roadmap. Another big reason is the network collision probability. All VPN networking utilizes the 10.0.0.0/8 space, with each network peeling off a random /24 from this block. The probability of a full collision is pretty low, i.e. you randomly select the same /24 block as someone you want to network with. However, a partial collision (at least two people you network with have the same /24 block), has a real possibility of occurring. This is a birthday paradox problem. In short, the probability hits 1% at around 36 networks, which is not too terrible. With regards to IPV6 in general, there are so many different aspects to consider, with the biggest being production-grade stability for the average non-IT person. The migration process must be both simple to perform, while also maintaining backwards compatibility. So it might take a year or two for this to be rolled out.