8 ms·
I have a website (well, multiple websites actually). I host them on cheap webhosts, which there are hundreds of in my country. These websites/domains can commun
by rambambram 4y ago
I have a website (well, multiple websites actually). I host them on cheap webhosts, which there are hundreds of in my country. These websites/domains can communicate with other websites by sending emails from my domains, or by clicking a hyperlink (thanks Tim) to visit other websites and webpages. I get updates by RSS feeds. I would say the decentralization works, for a quarter of a century already.
One thing I really would like to have and get working, is a little selfhosted homeserver, instead of putting my websites on someone else's servers (although cheap). It becomes more peer-to-peer this way, and I'm only relying on an internet service provider. The best thing is already suggested by the article: how cool would it be if your smartphone (or pocket computer) functions as a server!?
- nine_k 4y ago> how cool would it be if your smartphone (or pocket computer) functions as a server!? Completely not cool, that is, pretty hot. And short-lived. Mobile devices are only practical because they don't work 80-90% of time. Being awake for longer requires larger batteries. Being suddenly popular and thus withstanding much more load would just physically kill a node, by depleting its battery quickly and suddenly. The luxury of peer to peer networks requires either a large power supply, or a limited availability of each node. If you introduce super-nodes with good power and constant connectivity, where weaker nodes can post their data to be cached and replicated, you just invent servers again.
- mtkhaos 4y agoCould just plug it in. The main detractors from making this uneconomical in the US is the lack of consumer infrastructure for upload.
- crazygringo 4y agoIf you had to keep it plugged in, then it wouldn't be very mobile, would it?
- kornhole 4y agoI think we are talking about repurposing a small computer previously used as a mobile handset into a server. This is already possible and done with Android and Linux handsets. It is just not as straightforward as using a RPI with a distribution such as Yunohost.org. It's scalability is also very limited, but it kind of fits the low power low cost factors of the RPI.
- crazygringo 4y agoNo, nobody was talking about that. The context was clearly one's personal Android phone (in the article), and "your smartphone" in the original comment (not "an extra/old"). The one you carry with you all the time. The article even admitted you'd have to "carry an extra battery".
- stale2002 4y agoOk, but yes it would still be cool if any of these devices, whatever you want to call them, could be plugged in somewhere and act as a server. > (not "an extra/old"). So then you concede completely, that anyone talking about these devices, would indeed be correct to say that it is cool to turn these devices into servers. Great, you agree that there is a usecases for this.
- kornhole 4y agoOK. There are P2P mobile based social media services such as https://www.manyver.se/ https://www.manyver.se/ already running. Although every node is serving/getting messages, I am not sure they can be called servers.
- rambambram 4y agoNo, I - as the OP - said also "pocket computer" very explicitly. If a 'personal mobile server' would become reality, it's not going to be a smartphone + something else on top.
- deleted 4y ago[deleted]
- rambambram 4y agoGood points! I know my smartphone works for two days on a small battery because smart engineers did smart efficient stuff to make it a reality. So I agree that smartphones as we know them are not a good fit. Let's now try to imagine a pocket computer that can do the job!
- nine_k 4y agoAncient systems like FidoNet [1] used various tricks to sidestep similar limitations at the times of dialup-only connectivity. This included opportunistic store-and-forward schemes for sending messages, hand-crafted routing between personally acquainted peers, and coordinated connectivity windows known as "zone mail hours". FidoNet worked pretty well, as long as you did not mind your message to reach a destination within 3-4 hops by tomorrow. Maybe it's the right pace of communication in certain cases. Not tweet-style, but blog-style. Super-nodes with around-the-clock connectivity also existed, advertised themselves as such, and were a great help. [1]: https://en.wikipedia.org/wiki/FidoNet https://en.wikipedia.org/wiki/FidoNet
- CuriouslyC 4y agoExcept that it is much simpler and more straightforward for someone to pay for a super node to help serve all their content. You don't need to mess with setting up the server instance, configuring DNS or setting up services, and if you want to change super node providers you only have to reconfigure your client and you're done, no initial setup or DNS shenanigans.
- nine_k 4y agoNo DNS shenanigans? Maybe! Then what, DHS shenanigans? There must be some scheme of symbolic addressing. DNS, of all things, is reasonably decentralized, it only requires SOA records for top-level domains to be propagated in concert. (It has other shortcomings though.)
- CuriouslyC 4y agoProbably something in the vein of a DHT. There is still a lot of progress that can be made in that area, in terms of performance, content addressing and cooperative/adversarial search strategies though. I pick on DNS because it's an easy example of another thing you have to manage hosting your own content. Also, domain names are a hot mess and people mostly prefer to have identities ala Facebook, which could easily built into a decentralized protocol.
- smoldesu 4y agoI don't really buy that. I run a Syncthing daemon on my Android device and barely notice the difference in battery life. The CPU time that a program like FTP would use in the background seems fairly minimal to me.
- api 4y ago> If you introduce super-nodes with good power and constant connectivity, where weaker nodes can post their data to be cached and replicated, you just invent servers again. No you don’t. Not if the super nodes are almost automatic. The problem with servers is having to manually admin them.
- KronisLV 4y ago> Being awake for longer requires larger batteries. What if you remove the battery altogether and use the phone as an alternative to a Raspberry Pi, instead of creating more e-waste? If Android (or any other mobile OS) wasn't so locked down, we'd definitely be able to take more advantage of devices like that and not just for hosting stuff - they already have mobile data support, Wi-Fi, Bluetooth, a microphone, camera, GPS, accelerometer and so on. In regards to load, my blog did fine with one of the articles on the front page of HN way back, and it was served from a container that has about 1 CPU core given to it and under 1 GB of RAM (albeit it's still a rented VPS otherwise). My homelab server CPUs have a TDP of 35W and I use those for CI as well with no issues. My netbook has a CPU with a TDP that's around 15W and it can serve web apps with no issues, alongside Visual Studio Code and a desktop environment. A phone is almost certainly good enough for simple workloads as well, like serving static files or interacting with a SQLite database, assuming that your content wouldn't get too popular. But having it be a server while in your pocket is probably too niche of a use case, rather than having it on a shelf somewhere, connected to a power cable.
- janjongboom 4y agoI worked on that for a while, see http://janos.io http://janos.io . Interesting idea, but impractical due to the amount of work that needed to be done per device.
- boneitis 4y ago"Repurposing an old Android phone as a web server [2020]", 134 comments https://news.ycombinator.com/item?id=31841051 https://news.ycombinator.com/item?id=31841051 "I replaced Google Analytics with a web server running on my phone [2020]", 0 comments https://news.ycombinator.com/item?id=28306681 https://news.ycombinator.com/item?id=28306681 No real point on my part here. There's just a lot of colorful discussion here and in sibling threads. I found these to be fascinating reads and they feel relevant. I believe the author was running the server from second link on their daily driver. Author writes about using Termux as a webserver. Do note Termux's having to target older API versions if anyone is really contemplating the feasibility today. (Sorry, mobile)
- Kalium 4y agoThat depends. How well-equipped do you think your average person with a smartphone (or pocket computer) is to manage and secure a server? This is not a snarky comment. The thing in your pocket can, today, be convinced to act as a webserver and host your website. It just comes with all the downsides of having to host, administer, manage, and secure a website.
- prox 4y agoWell that’s the problem to solve innit? Make hosting, administering, managing and securing easy as pie.
- Kalium 4y agoThat's a wonderful goal! In practice, you can either have a secured computer or one that offers useful services over a network. Through decades of sincere effort and many billions of dollars of investment, it has turned out that you cannot make hosting, administering, managing and securing easy as pie and still have something that can do all the things users would like it to do as a server. We can't even reliably do this for non-server computers. It's worth considering that sometimes our desires are in tension with another in ways that are not readily resolved.
- lmm 4y agoIs there actually a meaningful difference in how vulnerable these consumer computers are when acting as a server versus when not? Like, sure, being a server means that anyone who wants to send an exploit to them can - but realistically anyone who wants to send an exploit to them has dozens of vectors available already (SMS, pushed posts from dozens of social networks, website ads, ...)
- Kalium 4y agoThe answer is: no and yes. No, in that you're completely correct that network positioning and exposure does not inherently increase the vulnerability a computer has. It does not introduce new flaws. Yes, in that it's not just about vulnerability. A computer turned off may be in theory vulnerable, but in practice not exposed. Exploits happen when vulnerabilities meet opportunities. The more a computer is exposed, the greater the opportunity for exploitation. Making something publicly available, such as it offering up a website, is a pretty dramatic way to increase its exposure. As you might imagine, trying to perform useful work with data coming in over a network provides many more chances to try to exploit something than silently dropping all inbound connections. In extreme cases, you get things like the numerous worms of the 2000s. It is precisely because of this excellent point you have made that modern networks are designed with layers of security. That there are other vectors is a concern you wisely and rightfully point to, but each vector is concerning and the ease with which any given one can be guarded or exploited is considered. tl;dr: There's a substantial and very meaningful difference.
- fm2606 4y ago>> One thing I really would like to have and get working, is a little selfhosted homeserver, instead of putting my websites on someone else's servers (although cheap). It becomes more peer-to-peer this way, and I'm only relying on an internet service provider. As the cliche goes: "If I can do it, you can too" . If you have multiple sites I have no doubt you could get one up and running without much trouble. I have a few RPI 3b+ and 1x RPi4B that I use and host from home. Mainly just to dink around with, nothing crazy. One thing I did was get a cheap VPS ($4/m) to reverse proxy to my home. My next iteration is I think I'm going to actually host the site on VPS but have my home network push static files to the VPS. My site is mainly for me and this way I can fully disconnect between home and VPS. We will see, but again, this is why I have what I have so that I can play around and try different things out. Best of luck to you!
- rambambram 4y agoNice! Exactly the things that I'm thinking of playing with. Thanks for sharing. > going to actually host the site on VPS but have my home network push static files to the VPS. My site is mainly for me and this way I can fully disconnect between home and VPS. Smart. Thanks for this tip. I've been looking into dynamic DNS services a bit, to see if I can/should use that for pointing to a webserver at home. Also, I'm considering to make a distinction between internetconnected but personal/private apps on one hand, and publicly served apps/sites on the other. Maybe I should just start and try to get a website online from home.
- fm2606 4y ago>> I've been looking into dynamic DNS services a bit That will still expose your IP address, at least NOIP did when I was using it. NOIP was a good service but after 5 years I noticed that my IP never changed (yeah! took me a while to catch on! ;>). The main driver for me was not showing my home IP on lookup and the yearly cost between a cheap VPS and NOIP subscription was roughly the same ~$60/year so nothing was lost there.
- crazygringo 4y ago> how cool would it be if your smartphone (or pocket computer) functions as a server!? How exactly is that going to serve data when I'm in the subway or otherwise going through tunnels, or anywhere at all with bad reception...? Or when my battery dies? Servers generally need to stay connected.
- chriswarbo 4y agoThis is an ideal use-case for P2P, e.g. IPFS rather than HTTP. No need for a dedicated, always on, always-accessible server at a given IP. Instead, provide the content from any number of ad-hoc, flaky devices; the site will work so long as at least one is online. Unfortunately, the standard IPFS daemon tends to be a resource hog (otherwise I'd be running it on my Pinephone ;) )
- rambambram 4y agoI don't know yet, I never built one. How would you do it? Come up with new protocols, innovative techniques to work around it, solve it? Maybe just take some downtime for granted? I'm sure somebody can come up with a workable solution. HN is full of smart people!
- Kalium 4y agoIt's not particularly challenging to set up a cache layer over a webserver. No new protocols or innovative techniques from smart people are required. Nor is it technologically difficult to accept that sometimes HTTP requests won't work. I think the point being made here is less about new things and more that you should refine your requirements. The computer in your pocket can do anything a stationary computer can do - it's Turing-complete, so this should be obvious - subject to the limits imposed by the hardware. What limits are you, personally, willing to accept for your home-server-pocket-computer?
- rambambram 4y ago> What limits are you, personally, willing to accept for your home-server-pocket-computer? Good question. Food for thought!
- dexterdog 4y agoIt's not for everybody, but the free tier Oracle instance is more than enough to serve as a great always-on server that doesn't need your home's power or ISP.
- 1vuio0pswjnm7 4y ago"The best thing is already suggested by the article: how cool would it be if your smartphone (or pocket computer) functions as a server!?" I have been running servers on a "smartphone" for years, for example SSH servers, FTP servers, HTTP servers and authoritative DNS servers, with no noticeable heat or battery issues.
- rambambram 4y agoCool! Thanks for letting me know this is possible.
- abdullahkhalids 4y ago> and I'm only relying on an internet service provider From a broader perspective of structuring our society so that censorship is technically difficult, we don't want to rely on a single provider. In that sense, we want both * ISP should allow hosting from home that is fast. * an ecosystem of website hosting providers, so ISPs are not a single point of censorship.