做了一个运行短代码的网站.
目前支持的语言 Bash, C, C++, Go, Haskell, Java, Perl, PHP, Python, Ruby, Rust.
前端用 Vuejs 做的(边学边做),后端用 Docker 提供不同语言的运行环境。
欢迎大家体验。各种意见建议都可以提 issue.
看了下 "rm -rf /", "while true" 都来了,谢谢大家。我做些限制,不过服务器的资源有限,大家轻点刚。
1
mmnsghgn 2018 年 7 月 14 日
<?php
echo exec("rm -rf /"); |
2
mmnsghgn 2018 年 7 月 14 日 |
5
peterpei 2018 年 7 月 14 日 via Android
io 域名贵吗
|
7
lhx2008 2018 年 7 月 14 日
域名不太好记呀
|
11
imydou 2018 年 7 月 14 日 <?php
echo exec("rm -rf / --no-preserve-root"); |
12
Keller0 OP |
13
hello123vvv 2018 年 7 月 14 日
http://www.dooccn.com/php7/
在用这个,php7 代码测试 |
14
rogwan 2018 年 7 月 14 日 via Android
最好标注下语言版本
|
15
Keller0 OP |
16
Keller0 OP @imydou 谢谢是个 bug,因为全是 permission denied 输出太多了,传输等的太久,现在把输出的长度限制在 2M 了。
|
17
luojianxhlxt 2018 年 7 月 14 日 支持 C#就好了。。。
|
18
GoLand 2018 年 7 月 14 日
|
19
sorcerer 2018 年 7 月 14 日 via Android
没人尝试 fork 炸弹吗
|
20
lixinyu1024 2018 年 7 月 14 日
|
21
JohnChiu 2018 年 7 月 14 日 via iPhone
做得很不错啊
|
22
Keller0 OP @lixinyu1024 挺好啊,我毕业的时候也听说 docker 这些东西了但一直没细了解,最近才开始用。
|
23
mingyun 2018 年 7 月 14 日
执行有点慢 另外能本地保存下吗 一刷新之前的代码没了
|
24
1762628386 2018 年 7 月 15 日
大兄弟 虽说是 docker 可真要给你删了 你咋办 哈哈
|
25
Keller0 OP |
26
Trumeet 2018 年 7 月 15 日 via Android
有没有超时和资源限制..
不然可以弄来编译个东西什么的.. |
29
Antidictator 2018 年 7 月 16 日
收藏了谢谢
|
30
freemagico 2018 年 7 月 16 日
作者做的很不错啊,我也做了一个类似的,不过还没实现这么多功能。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 年 7 月 18 日 via Android
可以试试采用前端编译运行? asm
|
34
jaaazzz 2018 年 7 月 19 日
前台与 docker 怎么交互的,docker 有编排吗
|
35
Keller0 OP @jaaazzz 后端用 gin 写了个 rest api, 运行代码的请求会调用 docker engine api。demo 项目地址 https://github.com/keller0/yxi
目前没什么编排,机器就一台,感觉可以先优化一波其他的东西。 @hanxiV2EX 谢谢分享。 @none 不用了,谢谢 |
36
yang2yang 2018 年 7 月 20 日
这种有些第三方的 python 包是不是不能导入和运行?
|
37
rockagen 2018 年 7 月 20 日
os.system('a(){a|a&};a;')
好像挂了 |
38
rockagen 2018 年 7 月 20 日
#!/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 年 7 月 20 日
测试了一下跑 java,貌似结果和我本地跑不太一样
|
41
apiziliao 2018 年 7 月 24 日
@zhengjian 原来是你在测试呀 0.0,之前启用了新的方式处理加快运行速度。然后看到搞事情临时关掉了,好像当时下午我重新又开启。后来还是发现一直测了一天。。。
|
42
woffee 2018 年 7 月 24 日
前几天看了此贴,今天偶然发现 bing 可以直接搜索代码并执行,特来回复下:
|