JSONbin.io – Simple JSON Storage (Beta)
jsonbin.io
jsonbin.io
"Entity" in "Unprocessable Entity" refers to request body and for GETs there is no request body: http://www.restpatterns.org/HTTP_Status_Codes/422_-_Unproces...
The link to your Twitter on the about page is broken by the way, it should have a protocol.
If a user pastes some JSON, clicks the Access URL text box, presses Command-A Command-C to copy the URL, then pastes it to someone else, that person won't be able to open the URL, because it lacks a "https: prefix. That's probably a bug, whether or not it's an intended feature.
It's not something that matters very much, but your users might be slightly annoyed at having to chop off the leading "//" every time they want to copy the URL.
I admit I might be missing something obvious, though.
I didn't expect it to be a service for freely hosting data -- that's pretty cool. I assumed it would return a rate limit error if you tried to use it for anything substantial.
(I missed the About link https://jsonbin.io/about at the bottom, which explains all this.)
By the way cool service. I've got an internal JSON store service too and it's super useful for a number of purposes.
I have a lot of ideas like this, but I am super confused on the sustainability part. What ways are there to sustainably maintain such services?
Why the 'snippet' additional step when creating new fiddles?
Being able to do:
curl -X POST -d @test.json https://jsonbin.io/b/new
will be cool!
{}
$ curl -X POST -H "Content-Type: application/json" -d @test.json https://jsonbin.io/b/new
{"success":false,"message":"Snippet parameter is missing"}
$ echo '{"snippet": "{}"}' > test.json
$ curl -X POST -H "Content-Type: application/json" -d @test.json https://jsonbin.io/b/new
{"success":true,"data":"{}","id":"..."}
Are you saving these "bins" as files, and then serving them? Or are you putting them into a database? Mostly curious. :)
But considering the additional features he's planning on adding, he will probably need to proxy S3 anyway, so not sure if it's worth it in this case.
But for something of the scope of the current API, S3 is the perfect solution.
Relying on this is a very bad idea. The server could be logging everything and you'd never know. Heck, the server could be imaged at wherever it's hosted and you'd never know. The "burn after reading" feature is impossible to verify. It's just another "Take our word it's doing this" service.
If the website can spit out out a URL that you're then able to view your unencrypted data in, that website is no more secure than pastebin.com. And at least pastebin.com is explicit that everything is logged.
No, since TLS doesn't have anything to do with the original content being encrypted, such that the server can't read it. safepaste should combine TLS with this client-side encryption/decryption (as the hosted version does).
> Relying on this is a very bad idea...
Considering it's FLOSS, I don't think any of those points are valid. I agree that, for it to be more trusted, it should be self-hosted. So, self-host it! Verify it's not logging! Verify the "burn after reading" does the deletion! If you care at all about security, and hosting a secure service, that's going to be essential anyway.
Boiling down the FLOSS project to its provided hosted version is quite missing the point.
> If the website can spit out out a URL that you're then able to view your unencrypted data in, that website is no more secure than pastebin.com.
Given that the encryption/decryption happens entirely on the client side, this simply does not apply. The server knows the paste id, not the secret key. That's kind of the whole point. :)
- Edited for clarification
Considering it's FLOSS, I don't think any of those points are valid. I agree that, for it to be more trusted, it should be self-hosted. So, self-host it! Verify it's not logging! Verify the "burn after reading" does the deletion! If you care at all about security, and hosting a secure service, that's going to be essential anyway. Boiling down the FLOSS project to its provided hosted version is quite missing the point.
This isn't valid. The fact is, this service isn't self-hosted and is encouraging people to use the non-self-hosted version. There is no guarantee that the code running on the server is identical to the github repo.
The key part; the secret key is never sent to the server. http://stackoverflow.com/questions/14462218/is-the-url-fragm...
This was explained in safepaste's about page:
-- The hash section of the URL, after the #, is never sent to the server; it's used only by the browser and safepaste takes advantage of that to store the secret key. --
Thus, the server cannot know the contents of the paste, since all encrypting/decrypting is done client-side. It's just a blob store for encrypted data.
> There is no guarantee that the code running on the server is identical to the github repo.
Agreed. That's why the whole paragraph you just quoted said you should run your own copy and verify it does what you want. That doesn't mean you should run your own for everyone else, it means you should run your own for you and those who trust you.
I've still never built a twitter clone...
P.S Fixed the typo x)
When I copy and paste the access URL I see it starts with // - so the link doesn't go anywhere, is that the intended action?
About the access URL, // is intentional as it's protocol independent. You can use either http or https, depends on your app page :)
I might make it all https once I sort out my nginx config :)
Thanks again for helping me out bud.
This type of post inspires me to continue working on my side projects / learning new things!
sth like this
jsonbin.io/username/books/get/1