Live data from Hacker News

Show HN: S3mini – Tiny and fast S3-compatible client, no-deps, edge-ready

github.com

21–30 of 105 posts

Re: Show HN: S3mini – Tiny and fast S3-compatible client, no-deps, edge-ready

#22
post #16

Earlier quoted context omitted.

Thats true, but wouldn't it be still required if you're having a internal S3 service which is used by internal services and does not have HTTPS (as it is not exposed to the public)? I get that the best practice would be to also use HTTPS there but I'd guess thats not the norm?

Theoretically TCP packets have checksums, however it's fairly weak. So for HTTP, additional checksums make sense. Although I'm not sure, if there are any internal AWS S3 deployments working over HTTP and why would they complicate their protocol for everyone to help such a niche use case. I'm sure that they have reasons for this whole request signature scheme over traditional "Authorization: Bearer $token" header, but…

AWS has a video about it somewhere, but in general, it’s because S3 was designed in a world where not all browsers/clients had HTTPS and it was a reasonably expensive operation to do the encryption (like, IE6 world). SigV4 (and its predecessors) are cheap and easy once you understand the code.

https://youtube.com/watch?v=tPr1AgGkvc4, about 10 minutes in I think.

Re: Show HN: S3mini – Tiny and fast S3-compatible client, no-deps, edge-ready

#23
post #20

Interesting project, though it's a little amusing that you announced this before actually confirming it works with AWS?

Personally, I don't like AWS that much. I tried to set it up, but found it "terribly tedious" and drop the idea and instead focus on other platforms.

Right now, I am testing/configuring Ceph ... but its open-source! Every talented weirdo with free time is welcomed to contribute!

Re: Show HN: S3mini – Tiny and fast S3-compatible client, no-deps, edge-ready

#25
post #11
post #9

Earlier quoted context omitted.

does it make sense or should that be optional?

checksumming does make sense because it ensures that the file you've transferred is complete and what was expected. if the checksum of the file you've downloaded differs from the server gave you, you should not process the file further and throw an error (worst case would probably be a man in the middle attack, not so worse cases being packet loss i guess)

You need the checksum only if the file is big and you're downloading it to disk, or if you're paranoid that some malware with root access might be altering the contents of your memory.

Re: Show HN: S3mini – Tiny and fast S3-compatible client, no-deps, edge-ready

#26

Tangibly related: Bun has a built-in S3-compatible client. Bun is a gift, if you're using npm consider making the switch.

I tried to go this route of using Bun for everything (Bun.serve, Bun.s3 etc), but was forced back to switch back to NodeJS proper and Express/aws-sdk due to Bun not fully implementing Nodes APIs.

Re: Show HN: S3mini – Tiny and fast S3-compatible client, no-deps, edge-ready

#27

for Node. These are nice projects. I had a few rounds with Rust S3 libraries and having a simple low or no dep client is much needed. The problem is that you start to support certain features (async, http2, etc.) and your nice nodep project is starting to grow.

I had the same issue recently and used https://crates.io/crates/rusty-s3

Re: Show HN: S3mini – Tiny and fast S3-compatible client, no-deps, edge-ready

#28
post #24

Tangibly related: Bun has a built-in S3-compatible client. Bun is a gift, if you're using npm consider making the switch.

is there a way to wrap their s3 client for use in HonoJS/CF workers?

No. It's implemented in native code (Zig) inside bun itself and just exposed to developers as a JavaScript API.

Source code: https://github.com/oven-sh/bun/tree/6ebad50543bf2c4107d4b4c2...

Re: Show HN: S3mini – Tiny and fast S3-compatible client, no-deps, edge-ready

#30
post #28
post #24

Earlier quoted context omitted.

is there a way to wrap their s3 client for use in HonoJS/CF workers?

No. It's implemented in native code (Zig) inside bun itself and just exposed to developers as a JavaScript API. Source code: https://github.com/oven-sh/bun/tree/6ebad50543bf2c4107d4b4c2...

10/10 Loving it (and how fast it is!) - its just not the use-case that fits my needs.

I want maximum ability to "move" my projects among services/vendors/providers

Post reply on HN