WIP
This project is used to enhance the security and integration capabilities of code-server .
- ✅Watermark display
- Watermark anti-cracking
- ✅Window resize
- ✅Delete watermark
- ✅Modify watermark attributes (location, size, transparency, etc.)
- ✅Modify watermark class
- ✅Modify watermark content
- ✅Overwrite watermark
- Browser compatibility
- Encrypt Cut and Paste and Copy
- ✅Main Panel process
- ✅Termianl process
- ✅Developer tools process
- Disable code download
- ✅Download file in conetext menu
- Downlaod in termianl
- Disable copy remote file url
- Disable code sharing
- Operation anti-cracking
- Make a docker image with network restrictions
- ✅Heartbeat detection
- Abnormal behavior alerts
- ✅Wrapping algorithms and data using rustwasm
- Further protection of algorithms and data using custom VMs
- ✅Commit message can only select specified content
- Specify content to integrate with Issue platform
todo
- set up the
code-serverenvironment and compile code according to https://github.com/coder/code-server/blob/main/docs/CONTRIBUTING.md - clone this project
- copy
pathes/code-server.patchto the root of the code-server project and executegit apply code-server.patch - copy
pathes/vscode.patchto the code-server project underlib/vscodeand executegit apply vscode.patch - compile code-server project according to https://github.com/coder/code-server/blob/main/docs/CONTRIBUTING.md#build
- set up the
code-serverenvironment and compile code according to https://github.com/coder/code-server/blob/main/docs/CONTRIBUTING.md - set up the
rustwasmenvironment according to https://rustwasm.github.io/docs/book/game-of-life/setup.html - clone this project, package wasm
wasm-pack build --target web - copy
pkg/vscode_starsys.js/pkg/vscode_starsys_bg.wasmto the code-server project underlib/vscode/src/vs/code/browser/workbench/pkg - execute
yarn watchin the code-server project
When developing with code-server, you need to avoid conflicts between the project and code-server's own services. We can modify scripts.watch in package.json . Add a new port, e.g:
"watch": "LOG_LEVEL=trace PORT=3000 VSCODE_DEV=1 VSCODE_IPC_HOOK_CLI= NODE_OPTIONS='--max_old_space_size=32384 --trace-warnings' ts-node . /ci/dev/watch.ts --user-data-dir=/tmp/vscode_dev"