4 ms·
I run https://byuu.org https://byuu.org using C++. Not just for page generation, but also for the server itself. It's all a single package, so no CGI is involve
by byuu 9y ago
I run https://byuu.org https://byuu.org using C++. Not just for page generation, but also for the server itself. It's all a single package, so no CGI is involved. Although I do use nginx as an HTTP->HTTPS proxy because TLS is scary. It's handled being linked on the front page of a few major sites with no issues.
In my case, I just prefer coding in that language over PHP et al. It's on a $2.50/mo VPS and I can spawn a new instance in five minutes if need be. Every memory access (for strings, vectors, etc) go through containers with bounds checking. The server/webapp itself runs as its own unprivileged user. If the server crashes, it'll stay offline and give me a core dump, which should let me find and fix the bug in my library.
The code's open, too: https://gitlab.com/higan/higan/blob/master/nall/http/server.hpp https://gitlab.com/higan/higan/blob/master/nall/http/server....
It's certainly not 100% perfect security, but what really is? Between Heartbleed, Meltdown, Spectre, weekly Wordpress exploits, etc ... I don't think the risk is particularly higher.
(aside: the forum runs on PHP on another VPS instance; separation of security concerns.)
- felipellrocha 9y agoI too like to dabble in masochism
- byuu 9y agoI also write my own cryptography implementations: https://gitlab.com/higan/higan/blob/master/nall/elliptic-curve/ed25519.hpp https://gitlab.com/higan/higan/blob/master/nall/elliptic-cur... It's fun. We learn and better ourselves by making mistakes. My idols are the folks breaking through the security of the Switch et al. They had to learn somewhere: by doing things everyone else told them not to. Don't worry, I would never use this stuff in production at a company.
- daeken 9y agoAs someone who's been helping lead the charge on Switch hacking, you're one of my idols, haha. Come join us! You would fit in well.
- jchw 9y agoOh hey, you are still using Vultr? How have they been? I'm pretty sure I'm the one who suggested it some years ago on the forum and have wondered ever since if the at least then-unproven VPS company ended up being reliable. It looks like their prices have stayed competitive at least!
- whb07 9y agoI’m using vultr now and I vastly prefer it over Linode (I’ve yet to fully try DO). It’s super simple UI to start an instance with a basic script (like update distro and developer tools etc). Lastly, you can pass in your pub keys and just ssh directly without doing it yourself the moment you log in for the first time. All in all highly recommend it!
- jchw 9y agoI will have to try Vultr again. My last experience was good, but regrettably I still use DO and AWS for everything. Remarking on that, Digital Ocean is nothing special, but they have added some nice features in the past year or two. I like that their control panel supports multiple teams with permissions, I like that it has a nice tag-based firewall, the DNS service works fine, and it has an S3 clone called Spaces which is pretty handy. I believe they also announced recently that private networking would be isolated per-team instead of being the entire data center, another networking improvement that most low-end VPSes do not provide. All in all, if you just need a low end VPS, I would say there's no fault in going with something like Vultr, but Digital Ocean adds a few extra features that might be more useful if you're developing a medium-complexity system. Of course though, at that point, you probably want to at least consider Google Cloud Platform, a reasonably cost-effective host with very rich features. (And AWS, but my feelings for AWS have shrunk in recent times after having better experiences with GCP consistently at my day job.)
- byuu 9y agoFriendly note: they modify the stock install to enable root SSH login via password. I'd strongly recommend disabling that. Go to RSA key login as user only. In an absolute emergency, their GUI portal will let you log in as root via password.