This is a read-only snapshot of the ComputerCraft forums, taken in April 2020.
ilgazzi's profile picture

Craft-a-Cloud, store data on the real internet*

Started by ilgazzi, 02 July 2015 - 08:18 PM
ilgazzi #1
Posted 02 July 2015 - 10:18 PM
Craft-a-Cloud is an api that helps you store bits of data on the internet. It was originally designed by Creeper9207 as a replacement for rednet but he had to shut it down. When I saw this revolutionary utility got abandoned, I reached out to him and got the backend code to resurrect it. So, here is the pastebin:

http://pastebin.com/cr9fCs16 or pastebin get cr9fCs16 craftacloud


example usage:

os.unloadAPI("craftacloud")
os.loadAPI("craftacloud")
webdata.data_set("cc_test", "random data")
print(webdata.data_get("cc_test"))

anything bigger than 1 kb will be removed. Also,

THIS IS NOT ENCRYPTED IN ANY SHAPE OR FORM. DO NOT STORE PASSWORDS OR ANY OTHER SENSITIVE DATA

Thanks, enjoy.

Edit:could anyone help me with clientside encryption?
Edited on 25 July 2015 - 08:11 AM
クデル #2
Posted 03 July 2015 - 06:01 AM
This is really neat, looks nice, I will definitely be encrypting my data on my end although.
flaghacker #3
Posted 03 July 2015 - 06:32 PM
Is everybody's data shared? Or is it ip-based?
ilgazzi #4
Posted 03 July 2015 - 08:39 PM
Is everybody's data shared? Or is it ip-based?
It is not ip-based. Everything is shared but someday I'll add a client side encryption system. Someday.
biggest yikes #5
Posted 03 July 2015 - 11:32 PM
why not encrypt it serverside, then give a response back after decrypting it? of course, using https if possible
ilgazzi #6
Posted 04 July 2015 - 10:28 AM
why not encrypt it serverside, then give a response back after decrypting it? of course, using https if possible

That seems like a very good idea. Could you help me with doing that? I'm barely a novice with php and I have no idea how to encrypt and decrypt stuff serverside. If you or anyone else can help with php, please pm me.
biggest yikes #7
Posted 04 July 2015 - 07:28 PM
why not encrypt it serverside, then give a response back after decrypting it? of course, using https if possible

That seems like a very good idea. Could you help me with doing that? I'm barely a novice with php and I have no idea how to encrypt and decrypt stuff serverside. If you or anyone else can help with php, please pm me.
http://php.net/manua...ypt-encrypt.php and http://php.net/manual/en/function.mcrypt-decrypt.php
Edited on 04 July 2015 - 05:32 PM
クデル #8
Posted 06 July 2015 - 07:19 AM
A bit more complicated, but perhaps you could make the key change every day using something like cronjobs. If you wanted, you could even use my key generator script. You just need to use something such as a HTTP Get call and save the result to a variable, you only need to specify the key length you want to use: http://cdel.me/keygen.php?length=10
biggest yikes #9
Posted 06 July 2015 - 08:35 PM
A bit more complicated, but perhaps you could make the key change every day using something like cronjobs
Why would you make the key the same for everyone?
Creeper9207 #10
Posted 06 July 2015 - 10:47 PM
I don't know If I mentioned this when I sent some base php code, but it puts it through a Caesar cipher, but that's all I could do, I'm glad to see you rebuilt the project and gave it a better name. :)/>
クデル #11
Posted 07 July 2015 - 05:10 AM
A bit more complicated, but perhaps you could make the key change every day using something like cronjobs
Why would you make the key the same for everyone?

Sorry should have been more clear, key change for everyone each day :P/>
biggest yikes #12
Posted 07 July 2015 - 03:59 PM
but it puts it through a Caesar cipher
Those things are extremely easy to crack
HPWebcamAble #13
Posted 07 July 2015 - 08:31 PM
but it puts it through a Caesar cipher
Those things are extremely easy to crack

Remember, this is being used in a MOD for MINECRAFT.
It's not like this is going to be used by the CIA or something.

Any encryption will stop most people. Anyone else probably won't want to waste their time.
jerimo #14
Posted 08 July 2015 - 09:13 PM
but it puts it through a Caesar cipher
Those things are extremely easy to crack

Remember, this is being used in a MOD for MINECRAFT.
It's not like this is going to be used by the CIA or something.

Any encryption will stop most people. Anyone else probably won't want to waste their time.
Just because it's not to be used for the most secure of uses does not mean that security is not welcome. Most people use the same password everywhere,and personal information can easily be spread so encryption is always a good thing especially if there is no security surrounding the information
biggest yikes #15
Posted 11 July 2015 - 04:41 PM
Remember, this is being used in a MOD for MINECRAFT.
It's not like this is going to be used by the CIA or something.
So what? Security is important in all environments. There's no reason to not make it secure. People kind of want their privacy.
Any encryption will stop most people.
Why would you think that? Like I said, caesar ciphers are extremely easy to crack (26 possible keys usually) and wouldn't stop me if I was a black-hat hacker.
Anyone else probably won't want to waste their time.
Granted, they probably don't care to hack people anyway, but that's because they aren't going to even try to hack them. They probably don't care what people are storing online.


To the OP:
If anything above 1 KB is removed, what happens if a person stores a few hundred thousand little files that are less than 1 KB?
Edited on 11 July 2015 - 02:47 PM
HPWebcamAble #16
Posted 11 July 2015 - 06:27 PM
Remember, this is being used in a MOD for MINECRAFT.
It's not like this is going to be used by the CIA or something.
So what? Security is important in all environments. There's no reason to not make it secure. People kind of want their privacy.
I don't mean 'Mojang don't need to encrypt passwords since its just minecraft' I mean in a CC program, I wouldn't stress over security.
I'd stress over the UI :P/>

Any encryption will stop most people.
Why would you think that? Like I said, caesar ciphers are extremely easy to crack (26 possible keys usually) and wouldn't stop me if I was a black-hat hacker.
Well I wouldn't use a Ceaser Cipher, even in CC, since it can be broken without a computer.
But then again, if you don't know what method was used to encrypt, it becomes much harder to decrypt.

Granted, they probably don't care to hack people anyway, but that's because they aren't going to even try to hack them. They probably don't care what people are storing online.
My uncle's linux box gets hit every few hours from IPs in china, from scripts just trying to randomly guess his password.
They aren't really HACKING per say, it isn't like they catch traffic going to and from the machine and try to decrypt it.

So to bring this back to ilgazzi's program, I'd say that it would be nice if it were encrypted, but if that's not possible, I just simply wouldn't store sensitive data with it.
Edited on 11 July 2015 - 04:28 PM
biggest yikes #17
Posted 14 July 2015 - 04:06 PM
I don't mean 'Mojang don't need to encrypt passwords since its just minecraft' I mean in a CC program, I wouldn't stress over security.
I'd stress over the UI :P/>
Yes, but like I said, make sure security is at least a second priority.
Well I wouldn't use a Ceaser Cipher, even in CC, since it can be broken without a computer.
But then again, if you don't know what method was used to encrypt, it becomes much harder to decrypt.
But now we know.
If we didn't know, well, we wouldn't be talking about this.
Granted, they probably don't care to hack people anyway, but that's because they aren't going to even try to hack them. They probably don't care what people are storing online.
My uncle's linux box gets hit every few hours from IPs in china, from scripts just trying to randomly guess his password.
They aren't really HACKING per say, it isn't like they catch traffic going to and from the machine and try to decrypt it.
I'm referring to ComputerCraft users :P/>
In either case, you just disproved yourself, since that means you agree that people will waste their time to "hack" them (in your case, the linux box your uncle has).
Edited on 14 July 2015 - 02:07 PM
ironmountain #18
Posted 15 July 2015 - 11:53 AM
Just curious why the files are stored on Tuscaloosa Bible Methodist Church's servers. Thought that was a bit odd.
LewisTehMinerz #19
Posted 15 July 2015 - 06:21 PM
Just curious why the files are stored on Tuscaloosa Bible Methodist Church's servers. Thought that was a bit odd.

Apparently, it's Creeper9207's website (Unless someone bought the server he was using). Also, Creeper's CC files are there still on there (which hints that it wasn't just the domain name bought). It also looks like the uploading still works too.
Yarillo #20
Posted 17 July 2015 - 11:10 AM
Hey ! Thanks a lot !
It's very useful and will completly replace wireless modems for me. Also, more simple than Cloud chest.

Please keep the servers up :D/>

EDIT:

I used it for quite a bit and it was kind of buggy and didn't work as I expected it to work. After 20min of scratching my head I figured out two "problems" (or maybe are they just weird choices ?):
  1. The function "data_set" actually returns before the data has been updated on the cloud, causing problems in some cases
  2. When you call data_get(channel) when the data is being updated on the server (i think), it sometimes returns a blank string


set("test", "value one")
sleep(3)
set("test", "value two")
print(get("test"))
-- this will either print "value one" or a blank string

So, i'm currently using a slower but more reliable version of your clientside code.

Here it is: pastebin get srbURPZk webdata

It's still dope tho !
Edited on 17 July 2015 - 03:34 PM
Forgotten_Boy #21
Posted 17 July 2015 - 08:38 PM
More simple than cloud chest?? Please explain! :lol:/> I like simple!
Yarillo #22
Posted 17 July 2015 - 09:17 PM
No IDs :3
Forgotten_Boy #23
Posted 17 July 2015 - 09:51 PM
Well, it's supposed to be a chest! But I will add something that will allow IDs (as in files), and will function as a cloud drive so that it can be integrated into other CC utilities.
ilgazzi #24
Posted 25 July 2015 - 10:25 AM
So, i'm currently using a slower but more reliable version of your clientside code.

Here it is: pastebin get srbURPZk webdata

It's still dope tho !
May I steal that code? I'll give you credit.
Edited on 25 July 2015 - 08:29 AM
cptdeath58 #25
Posted 26 July 2015 - 04:01 AM
Well, I can help you develop an encryption system.
You can have the client encrypt the code its sending to the server using its defined keys and a product key of its own so it doesn't decrypt the wrong thing and try to run it… Just say the word and I'll build that portion of the code.
PokeAcer #26
Posted 26 July 2015 - 04:47 AM
Well, I can help you develop an encryption system.
You can have the client encrypt the code its sending to the server using its defined keys and a product key of its own so it doesn't decrypt the wrong thing and try to run it… Just say the word and I'll build that portion of the code.
What if you're already sending hashed data?
cptdeath58 #27
Posted 26 July 2015 - 04:55 AM
Well, I can help you develop an encryption system.
You can have the client encrypt the code its sending to the server using its defined keys and a product key of its own so it doesn't decrypt the wrong thing and try to run it… Just say the word and I'll build that portion of the code.
What if you're already sending hashed data?
It decodes the file character by character. The player defined keys would be A-Z 1-0 and punctuation…
So if you did mess up in your message…

I like pupies
to
A WLMS ETELSG
It would simply bring back

A WLMS ETELSG
to
I like pupies
As long as both keys are correct.
If you sent in already encrypted data and lost the key, then you are not gonna be able to decode it using the program.

[EDIT] Plus you also have the product keys which will probably be in the format of 1A2B-3C4D-5E6F to prevent the decoder from decoding the rest of the file if the product keys are incorrect.

[EDIT2]Which if I calculated correctly makes 6,582,952,005,840,035,281 or around 6.582 + 1018 (If you know scientific notation) possible combinations if both letters and numbers was used through out the entire product code. The numbers may be letters and the letters may be numbers within the example I put above so it will be very hard to actually get 2 of them IF you tried.
Edited on 26 July 2015 - 03:11 AM
Yarillo #28
Posted 27 July 2015 - 02:52 PM
So, i'm currently using a slower but more reliable version of your clientside code.

Here it is: pastebin get srbURPZk webdata

It's still dope tho !
May I steal that code? I'll give you credit.

Of course, do whatever you want with it.
Glad to help
ilgazzi #29
Posted 03 August 2015 - 11:36 AM
I have been taking a break from everything to do with minecraft so sorry for the late responses.
So, i'm currently using a slower but more reliable version of your clientside code.

Here it is: pastebin get srbURPZk webdata

It's still dope tho !
May I steal that code? I'll give you credit.

Of course, do whatever you want with it.
Glad to help
Thanks, I will change it out with my code later today.

Well, I can help you develop an encryption system.
You can have the client encrypt the code its sending to the server using its defined keys and a product key of its own so it doesn't decrypt the wrong thing and try to run it… Just say the word and I'll build that portion of the code.

Could you do that? That would be so awesome.
cptdeath58 #30
Posted 05 August 2015 - 02:46 PM
Sorry guys, I'm been off.

I have been taking a break from everything to do with minecraft so sorry for the late responses.
So, i'm currently using a slower but more reliable version of your clientside code.

Here it is: pastebin get srbURPZk webdata

It's still dope tho !
May I steal that code? I'll give you credit.

Of course, do whatever you want with it.
Glad to help
Thanks, I will change it out with my code later today.

Well, I can help you develop an encryption system.
You can have the client encrypt the code its sending to the server using its defined keys and a product key of its own so it doesn't decrypt the wrong thing and try to run it… Just say the word and I'll build that portion of the code.

Could you do that? That would be so awesome.
Alrighty, I'll have the code ASAP