Skip to content
This repository was archived by the owner on Apr 19, 2025. It is now read-only.

Commit 6eb4b80

Browse files
author
MikeDEV
authored
Merge pull request #59 from MikeDev101/cloudlink-4
Early CloudLink 4
2 parents 17a7a63 + a9293a6 commit 6eb4b80

19 files changed

+2919
-2552
lines changed

B3-0.js

Lines changed: 0 additions & 928 deletions
This file was deleted.

README.md

Lines changed: 41 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,62 @@
1-
# NOTICE
1+
![CLOUDLINK 4](https://user-images.githubusercontent.com/12957745/188250679-1fde2876-c845-47e3-ac52-ff29d55d5049.png)
22

3-
CloudLink is being rewritten as there are several security vulnerabilities that have been found, as well as improve performance and functionality.
3+
# Cloudlink
4+
Cloudlink is a free and open-source, websocket-powered API optimized for Scratch 3.0. Cloudlink comes with several powerful utilities and features:
5+
* Multicast and unicasting messages - Perfect for high-speed projects
6+
* Friendly software suite for implementing project-specific features - Multi-project save files and more
7+
* Advanced packet queuing system - Messages are handled browser-level so your Scratch code doesn't need to do extra work
8+
* Support for sandboxed/unsandboxed extension modes
9+
* Proven reliability - Extensively tested and utilized in [The Meower Project](https://github.com/meower-media-co/)
10+
* Unique project identifiers to allow frictionless communication between projects and app servers over a single Cloudlink Server
411

5-
# CloudLink
12+
## Get started with Cloudlink
13+
For full documentation of Cloudlink, please visit Cloudlink's [Documentation](https://hackmd.io/G9q1kPqvQT6NrPobjjxSgg) page.
614

7-
CloudLink is a high-speed, reliable, and custom websocket extension for Scratch 3.0, with server code that runs on Python.
8-
It permits cross-project (as well as cross-program) cloud variables.
9-
It also enables full-duplex networking and limitless possibilities for Scratch 3.0 projects.
15+
There are several publically-hosted Cloudlink instances available, which can be found in [serverlist.json](https://github.com/MikeDev101/cloudlink/blob/master/serverlist.json) or through the Server List block.
1016

11-
## Links
17+
Cloudlink was originally created for Scratch 3.0. You can view the latest version of Cloudlink in any of these Scratch editors:
18+
- [TurboWarp](https://turbowarp.org/editor?extension=https://mikedev101.github.io/cloudlink/B3-0.js)
19+
- [SheepTester's E 羊 icques](https://sheeptester.github.io/scratch-gui/?url=https://mikedev101.github.io/cloudlink/B3-0.js)
20+
- [Ogadaki's Adacraft](https://adacraft.org/studio/)
21+
- [Ogadaki's Adacraft (Beta)](https://beta.adacraft.org/studio/)
1222

13-
### [Discussion Forum (Archive)](https://scratch.mit.edu/discuss/topic/398473)
23+
Cloudlink is also available as a Python module, which comes bundled with the Cloudlink Server.
24+
There is even a web-friendly version of Cloudlink available as CLJS.
1425

15-
### [HackMD Documentation](https://hackmd.io/G9q1kPqvQT6NrPobjjxSgg)
26+
### [Discussion Forum (Archive)](https://scratch.mit.edu/discuss/topic/398473)
27+
### [Cloudlink JS "cljs" (discontinued)](https://github.com/wgyt/cljs)
1628

17-
### [CloudLink JS "cljs" (discontinued)](https://github.com/wgyt/cljs)
29+
## FAQ
30+
> Will my Cloudlink 3.0/TURBO projects support Cloudlink 4.0 Servers?
1831
19-
## Example code
32+
Yes, there will be no compatibility-breaking changes to how Cloudlink 4.0 handles messages. However, the new custom command handler will bind all custom commands to use: `{"cmd": "(custom command here)"}` instead of using the Direct command, `{"cmd": "direct", "val": {"cmd": "(custom command here)"}}`
2033

21-
Example code can be downloaded in the GitHub repository.
34+
> Will my Server (v0.1.7.x and older) need to be rewritten entirely to support Cloudlink 4.0?
2235
23-
#### Server: https://github.com/MikeDev101/cloudlink/blob/master/server_example.py
36+
No, you will only need to rewrite your custom packet handlers as Cloudlink 4.0 will reimplement custom commands.
2437

25-
#### Client: https://github.com/MikeDev101/cloudlink/blob/master/client_example.py
38+
> Where can I find old versions of Cloudlink?
2639
27-
Please report any bugs you find to the official [GitHub repository](https://github.com/MikeDev101/cloudlink/issues).
40+
You can check the releases tab in Github for older versions, or you can download a complete archive of all old versions here (LINK TBD).
2841

29-
# Scratch Extension
42+
> Will Cloudlink 4.0 work with my project made for Cloudlink TURBO?
3043
31-
You can view the client-side extension using one of the following modded Scratch editors:
44+
No, Cloudlink 4.0 serves as a replacement of Cloudlink TURBO. While Cloudlink 4.0 is built upon Cloudlink TURBO, it does not have the same blocks as Cloudlink 3.0. In favor or retaining compatibility with Cloudlink 3.0, Cloudlink TURBO should not be used and will be retired.
3245

33-
- [TurboWarp](https://turbowarp.org/editor?extension=https://mikedev101.github.io/cloudlink/B3-0.js)
34-
- [SheepTester's E 羊 icques](https://sheeptester.github.io/scratch-gui/?url=https://mikedev101.github.io/cloudlink/B3-0.js)
35-
- [Ogadaki's Adacraft (Manual load required)](https://adacraft.org/studio/)
46+
> Will my older projects (prior to Cloudlink 3.0) work with Cloudlink 4.0?
3647
37-
# Installing CloudLink
48+
No, only projects built with Cloudlink 3.0 will work with Cloudlink 4.0.
3849

50+
> Does Cloudlink 4.0 have the Cloudlink Suite?
3951
40-
## PIP HAS NOT BEEN UPDATED, PLEASE MANUALLY DOWNLOAD THE SOURCE CODE
41-
### Method 1: using pip
42-
`pip install cloudlink`
52+
Yes. Cloudlink 4.0 will be a complete reimplementation of the original Cloudlink Suite.
4353

44-
## Method 2: Directly downloading cloudlink.py
54+
> What is the Cloudlink Suite?
4555
46-
Simply download the [source code](https://github.com/MikeDev101/cloudlink/archive/refs/heads/master.zip), extract cloudlink.py, and import it as shown above. However, the following dependencies are required in order to take advantage of full functionality:
56+
The Cloudlink Suite is a set of extra features built into the Cloudlink Extension. It provides extra features for Scratch developers to implement in projects that would normally add extra bloat, but can be implemented in a few blocks. These features include:
57+
* CloudDisk: Completely free cloud storage (Up to 10 KB, or 10^4 Bytes, per account), and a cross-project, cross-platform save file system (Up to 1 KB, or 10^3 Bytes, per save file with a maximum of 10 save files).
58+
* CloudCoin: Simple per-project, per-user currency system and supports cross-project trading.
59+
* CloudAccount: Extremely easy-to-use username/password system as an alternative to the username block for user identification, and protects your CloudCoin and CloudDisk data from unwanted users.
4760

48-
- websocket-server `pip install websocket-server`
49-
- websocket-client `pip install websocket-client`
61+
## Found an issue?
62+
Please report any bugs, glitches, and/or security vulnerabilities [here](https://github.com/MikeDev101/cloudlink/issues).

0 commit comments

Comments
 (0)