HNHacker News
TopNewBestAskShowJobs

rnijveld

287 karma · joined March 3, 2015

https://github.com/rnijveld
submissionscomments
rnijveld··on Detecting the use of “curl – bash” server side (2016)
I wonder why there is such a focus on this `curl|bash` pattern. Meanwhile most of us are downloading hundreds of thousands of lines of code using all kinds of package managers and I don't see many inspecting all those downloaded files, especially not manually. I don't think anyone would ever get to doing anything other than checking if you really want to verify everything.

I'm not saying that downloading something from your official OS package repositories is the same as downloading a random URL from the internet. The thing I'm more thinking about is language specific package managers such as NPM, Composer and Cargo. Or user repositories, things like AUR, PPAs and non-official apt repositories, where any random person can put something up. The thing for those is that they almost look like they are something official and something to be trusted. Often times they are displayed on an official site, you download them from a trusted URL and they look like they are really secure, even with hashing and things like that built-in. Lots of package managers don't support any way of verifying the identity of the one uploading the files, and even if they do we often import signing keys into our chain of trust without a moment of thought or we don't use the signing mechanism at all.

And with something like NPM packages you are likely to download another few dozen of other packages which you didn't even intent on downloading. You will probably run a lot of code there that could be doing all kinds of horrible things.

At least with `curl|bash` I get some feedback of where the code is originating from, what URL will I be downloading something from and is that some place that I can trust. At least I get somewhat of an identity verification (albeit very very weak) as long as I trust the owner of the site to protect it adequately from preventing unauthorized uploads.

rnijveld··on Letsencrypt, the Good, the Bad and the Ugly
I'd start by ignoring Letsencrypt's advice to start with Certbot (which I think was used here given the description). Instead look for something like lego[1] or even simpler clients, something like Acme.sh[2] or acme-tiny[3]. At least for me certbot has way to many moving parts and makes the acme protocol feel more complicated than it is.

[1]: https://github.com/go-acme/lego [2]: https://github.com/acmesh-official/acme.sh [3]: https://github.com/diafygi/acme-tiny

rnijveld··on New in PHP 8
PHP 7.0 was mainly faster because the internal variable data structure (zval) was redefined such that PHP doesn't need to follow so many layers of indirection and doesn't need a full ref-counted heap allocated data structure for every int and bool in your script.
rnijveld··on Startups should not use React
Except that the patent grant states that the grant only voids if you sue (or are contributing money to such a cause) because of patents. The grant is still valid if you sue Facebook for non-patent related issues.
rnijveld··on Introducing WhatsApp's Desktop App
Ending mainstream support is Microsoft's way of saying: from now on you'll only get security fixes and no new features. Windows 7 support hasn't been dropped in any other way.
rnijveld··on Disabling npm's progress bar yields a 2x npm install speed improvement
My iTerm2 has the same behavior as your Terminal.app, so you might just have to change some settings in iTerm.
rnijveld··on Plyr – A simple HTML5 media player
It's just a standard BSD 3-clause license, see: http://opensource.org/licenses/BSD-3-Clause
← PreviousPage 2 of 2