Perhyte

joined 1 year ago
[–] Perhyte@lemmy.world 2 points 1 week ago* (last edited 1 week ago) (1 children)

It also means that ALL traffic incoming on a specific port of that VPS can only go to exactly ONE private wireguard peer. You could avoid both of these issues by having the reverse proxy on the VPS (which is why cloudflare works the way it does), but I prefer my https endpoint to be on my own trusted hardware.

For TLS-based protocols like HTTPS you can run a reverse proxy on the VPS that only looks at the SNI (server name indication) which does not require the private key to be present on the VPS. That way you can run all your HTTPS endpoints on the same port without issue even if the backend server depends on the host name.

This StackOverflow thread shows how to set that up for a few different reverse proxies.

[–] Perhyte@lemmy.world 20 points 1 week ago (8 children)

Is this just placing them vertically, nothing else?

I currently use the Tree Style Tab extension and really like how it handles sub-tabs and allows collapsing the tree nodes. If I can't have that this is probably not directly useful to me unless extensions can add that functionality.

I guess I'll be watching how this evolves though.

[–] Perhyte@lemmy.world 1 points 2 weeks ago

They've checked in my code in their own repository, using an automated tool that keeps track of its origin so they can still check for updates. (The build tool knows to check this directory before trying to pull in dependencies from elsewhere)

One benefit to them is that their build won't break if I decide to delete that specific repository (see also: the left-pad incident) or do silly things with version tags (deleting versions, or re-tagging a different commit with the same version number, that sort of thing).

But more relevantly for this thread, it also means that if I release a new version and they upgrade to it, the PR on their repository won't just be incrementing a version number in go.mod and adding an unreadable hash to go.sum: the diff will show all the changes I've made since the version they previously used.

[–] Perhyte@lemmy.world 4 points 2 weeks ago

I may have slightly misremembered the license text (subsection 4c):

You must cause any modified files to carry prominent notices stating that You changed the files;

So I guess technically you only need to indicate that you have changed the files, not what you've changed in them. I suppose that's less burdensome because it only needs to be done once per file at most.

[–] Perhyte@lemmy.world 3 points 2 weeks ago (4 children)

I don't think so, no.

Leaving aside the fact that I don't want to do that:

They've quite sensibly vendored my library, so I'd have to hope they pull in updates without checking the code changes: since it's such a tiny library (excluding tests but including fairly extensive comments, it's less than 100 lines of quite readable code) I don't think it'd be easy to get it past their code review system if I tried to sneak in enough code to take down entire companies.

Also, my GitHub account is tied to my real-world identity, so I'd probably be in a lot of trouble if I somehow succeeded.

[–] Perhyte@lemmy.world 47 points 2 weeks ago (10 children)

For MIT, why do you care? That's perfectly fine and explicitly allowed by the license. Same for Apache, but with a few extra requirements (like keeping a list of changes in the source code and preserving licensing information etc.).

As for how I know big corporations are using my code: the fact that a prominent project (publicly used by several tech giants) took a dependency on one of my tiny (permissively licensed) library packages is probably a clue.

[–] Perhyte@lemmy.world 15 points 2 weeks ago* (last edited 2 weeks ago)

[EDIT: removed now that the original is fixed]

[–] Perhyte@lemmy.world 1 points 1 month ago (1 children)

And MATLAB appears to produce 51, wtf idk

The numeric value of the '1' character (the ASCII code / Unicode code point representing the digit) is 49. Add 2 to it and you get 51.

C (and several related languages) will do the same if you evaluate '1' + 2.

[–] Perhyte@lemmy.world 3 points 1 month ago

Fun fact: apparently on x86 just MOV all by itself is Turing-complete, without even using it to produce self-modifying code (paper, C compiler).

[–] Perhyte@lemmy.world 3 points 1 month ago* (last edited 1 month ago)

It's the right-most one, partially hiding behind the T in HEIMAT.

[–] Perhyte@lemmy.world 2 points 1 month ago

If there happens to be some mental TLS handshake RCE that comes up, chances are they are all using the same underlying TLS library so all will be susceptible…

Among common reverse proxies, I know of at least two underlying TLS stacks being used:

  • Nginx uses OpenSSL.
    • This is probably the one you thought everyone was using, as it's essentially considered to be the "default" TLS stack.
  • Caddy uses crypto/tls from the Go standard library (which has its own implementation, it's not just a wrapper around OpenSSL).
    • This is in all likelihood also the case for Traefik (and any other Go-based reverse proxies), though I did not check.
[–] Perhyte@lemmy.world 8 points 2 months ago (1 children)

This is probably the only type of rules violation that could be fixed by creating another account, so this was exactly my thought.

view more: next ›