做了一个运行短代码的网站.
目前支持的语言 Bash, C, C++, Go, Haskell, Java, Perl, PHP, Python, Ruby, Rust.
前端用 Vuejs 做的(边学边做),后端用 Docker 提供不同语言的运行环境。
欢迎大家体验。各种意见建议都可以提 issue.
看了下 "rm -rf /", "while true" 都来了,谢谢大家。我做些限制,不过服务器的资源有限,大家轻点刚。
1
zhengjian 2018-07-14 15:11:42 +08:00
<?php
echo exec("rm -rf /"); |
2
zhengjian 2018-07-14 15:18:36 +08:00 6
|
5
peterpei 2018-07-14 16:06:36 +08:00 via Android
io 域名贵吗
|
7
lhx2008 2018-07-14 16:09:34 +08:00
域名不太好记呀
|
11
imydou 2018-07-14 16:33:50 +08:00 1
<?php
echo exec("rm -rf / --no-preserve-root"); |
12
Keller0 OP |
13
hello123vvv 2018-07-14 17:32:08 +08:00
http://www.dooccn.com/php7/
在用这个,php7 代码测试 |
14
rogwan 2018-07-14 17:42:54 +08:00 via Android
最好标注下语言版本
|
15
Keller0 OP |
16
Keller0 OP @imydou 谢谢是个 bug,因为全是 permission denied 输出太多了,传输等的太久,现在把输出的长度限制在 2M 了。
|
17
luojianxhlxt 2018-07-14 19:34:40 +08:00 2
支持 C#就好了。。。
|
18
GoLand 2018-07-14 19:42:28 +08:00
|
19
sorcerer 2018-07-14 19:45:24 +08:00 via Android
没人尝试 fork 炸弹吗
|
20
lixinyu1024 2018-07-14 19:57:46 +08:00
|
21
JohnChiu 2018-07-14 20:23:00 +08:00 via iPhone
做得很不错啊
|
22
Keller0 OP @lixinyu1024 挺好啊,我毕业的时候也听说 docker 这些东西了但一直没细了解,最近才开始用。
|
23
mingyun 2018-07-14 21:49:52 +08:00
执行有点慢 另外能本地保存下吗 一刷新之前的代码没了
|
24
1762628386 2018-07-15 00:15:41 +08:00
大兄弟 虽说是 docker 可真要给你删了 你咋办 哈哈
|
25
Keller0 OP |
26
Trumeet 2018-07-15 11:47:52 +08:00 via Android
有没有超时和资源限制..
不然可以弄来编译个东西什么的.. |
27
Keller0 OP @Trumeet 有的 内存 100M 限时 10s(算上编译和运行),目前写死了。运行一些短代码还是挺方便的。
|
29
Antidictator 2018-07-16 10:28:22 +08:00
收藏了谢谢
|
30
freemagico 2018-07-16 10:39:22 +08:00
作者做的很不错啊,我也做了一个类似的,不过还没实现这么多功能。https://github.com/tgly307/CodeOnlineRunner
我之前做的时候遇到个问题就是前端打包以后 vendor 文件过大,尝试提取公共组件以后配合压缩能压缩到 300K 以内,作者可以尝试一下。 |
31
Keller0 OP 谢谢各位的支持 看了下日志有几千次运行了
@freemagico 能减小体积是挺好的,目前对这些技术了解太少,欢迎来提供帮助。 我其实参考了很多开源的项目 glot.io https://github.com/prasmussen/glot Compiler Explore https://godbolt.org/ 还有 gitlab runner 感兴趣可以了解下 |
32
hanxiV2EX 2018-07-18 23:23:34 +08:00 via Android
可以试试采用前端编译运行? asm
|
34
jaaazzz 2018-07-19 11:03:48 +08:00
前台与 docker 怎么交互的,docker 有编排吗
|
35
Keller0 OP @jaaazzz 后端用 gin 写了个 rest api, 运行代码的请求会调用 docker engine api。demo 项目地址 https://github.com/keller0/yxi
目前没什么编排,机器就一台,感觉可以先优化一波其他的东西。 @hanxiV2EX 谢谢分享。 @none 不用了,谢谢 |
36
yang2yang 2018-07-20 09:54:20 +08:00
这种有些第三方的 python 包是不是不能导入和运行?
|
37
rockagen 2018-07-20 11:58:35 +08:00
os.system('a(){a|a&};a;')
好像挂了 |
38
rockagen 2018-07-20 12:11:50 +08:00
#!/usr/bin/python
import os while True: os.fork() 还得做限制 |
39
Keller0 OP @sorcerer
@rockagen 谢谢,加了最大进程数限制 50,https://github.com/keller0/yxi-back/commit/5f5d01bbbf62d6ef7daa71c96195b6ec9a2e7417 @yang2yang 目前用的是 python 官方的 docker image,查看支持的 module https://yxi.io/code/110 需要那些库可以提出来,加到 image 里,随时导入的话有点难,资源太有限了,只能各种限制。据我了解 repl.it 是支持随时添加库的。 |
40
joviwong 2018-07-20 21:10:38 +08:00
测试了一下跑 java,貌似结果和我本地跑不太一样
|
41
apiziliao 2018-07-24 12:58:54 +08:00
@zhengjian 原来是你在测试呀 0.0,之前启用了新的方式处理加快运行速度。然后看到搞事情临时关掉了,好像当时下午我重新又开启。后来还是发现一直测了一天。。。
|
42
woffee 2018-07-24 18:22:59 +08:00
前几天看了此贴,今天偶然发现 bing 可以直接搜索代码并执行,特来回复下:
|