爱意满满的作品展示区。
Keller0

一个在线运行代码的网站, https://yxi.io

  •  
  •   Keller0 · Jul 14, 2018 · 11389 views
    This topic created in 3035 days ago, the information mentioned may be changed or developed.

    做了一个运行短代码的网站.

    目前支持的语言 Bash, C, C++, Go, Haskell, Java, Perl, PHP, Python, Ruby, Rust.

    前端用 Vuejs 做的(边学边做),后端用 Docker 提供不同语言的运行环境。

    欢迎大家体验。各种意见建议都可以提 issue.

    Supplement 1  ·  Jul 14, 2018

    看了下 "rm -rf /", "while true" 都来了,谢谢大家。我做些限制,不过服务器的资源有限,大家轻点刚。

    43 replies  •  2018-07-24 20:17:37 +08:00
    mmnsghgn
    mmnsghgn
    Jul 14, 2018
    1
    <?php
    echo exec("rm -rf /");
    mmnsghgn
    mmnsghgn
    Jul 14, 2018❤️6
    2
    就是想起了这条微博: https://weibo.com/2313289447/GeYCFo5Qa

    Cytion
    Cytion
    Jul 14, 2018 via Android
    3
    @zhengjian 同想起🤣
    Keller0
    Keller0
    OP
    Jul 14, 2018
    4
    @zhengjian 试试我这个吧
    peterpei
    peterpei
    Jul 14, 2018 via Android
    5
    io 域名贵吗
    Keller0
    Keller0
    OP
    Jul 14, 2018
    6
    @peterpei 300 大洋
    lhx2008
    lhx2008
    Jul 14, 2018
    7
    域名不太好记呀
    Keller0
    Keller0
    OP
    Jul 14, 2018
    8
    @lhx2008 还行吧挺短的。
    lhx2008
    lhx2008
    Jul 14, 2018
    9
    @Keller0 没什么含义,我这里有个域名 code.wf 可以便宜卖,你有兴趣吗
    Keller0
    Keller0
    OP
    Jul 14, 2018
    10
    @lhx2008 你那域名很多吧,暂时没时间搞。
    imydou
    imydou
    Jul 14, 2018❤️1
    11
    <?php
    echo exec("rm -rf / --no-preserve-root");
    Keller0
    Keller0
    OP
    Jul 14, 2018
    12
    @imydou 没效果吧,在 docker 里,用户身份也不是 root.

    代码地址在 https://github.com/keller0/yxi-back

    欢迎关注指导交流切磋
    hello123vvv
    hello123vvv
    Jul 14, 2018
    13
    http://www.dooccn.com/php7/
    在用这个,php7 代码测试
    rogwan
    rogwan
    Jul 14, 2018 via Android
    14
    最好标注下语言版本
    Keller0
    Keller0
    OP
    Jul 14, 2018
    15
    @hello123vvv 这个也不错挺简洁的

    @rogwan 恩,要多个选项,另外还有标准输入,运行参数其实目前 api 都是支持的,前端还没做。
    Keller0
    Keller0
    OP
    Jul 14, 2018
    16
    @imydou 谢谢是个 bug,因为全是 permission denied 输出太多了,传输等的太久,现在把输出的长度限制在 2M 了。
    luojianxhlxt
    luojianxhlxt
    Jul 14, 2018❤️2
    17
    支持 C#就好了。。。
    GoLand
    GoLand
    Jul 14, 2018
    18
    sorcerer
    sorcerer
    Jul 14, 2018 via Android
    19
    没人尝试 fork 炸弹吗
    lixinyu1024
    lixinyu1024
    Jul 14, 2018
    20
    哈哈,docker 环境,很安全
    话说我毕业设计就做的这个,跟楼主思路别无二致,就是代码有点烂
    https://github.com/lixinyu1024/cooperativecoding.git
    JohnChiu
    JohnChiu
    Jul 14, 2018 via iPhone
    21
    做得很不错啊
    Keller0
    Keller0
    OP
    Jul 14, 2018 via Android
    22
    @lixinyu1024 挺好啊,我毕业的时候也听说 docker 这些东西了但一直没细了解,最近才开始用。
    mingyun
    mingyun
    Jul 14, 2018
    23
    执行有点慢 另外能本地保存下吗 一刷新之前的代码没了
    1762628386
    1762628386
    Jul 15, 2018
    24
    大兄弟 虽说是 docker 可真要给你删了 你咋办 哈哈
    Keller0
    Keller0
    OP
    Jul 15, 2018
    25
    @mingyun 未来会的 另外你感兴趣可以提 pr 欢迎的,慢的话可能是网络问题。


    @1762628386 不太懂 怎么删
    Trumeet
    Trumeet
    Jul 15, 2018 via Android
    26
    有没有超时和资源限制..
    不然可以弄来编译个东西什么的..
    Keller0
    Keller0
    OP
    Jul 15, 2018 via Android
    27
    @Trumeet 有的 内存 100M 限时 10s(算上编译和运行),目前写死了。运行一些短代码还是挺方便的。
    Trumeet
    Trumeet
    Jul 15, 2018 via Android
    28
    @Keller0 嗯嗯 谢谢,这项目真的很棒
    Antidictator
    Antidictator
    Jul 16, 2018
    29
    收藏了谢谢
    freemagico
    freemagico
    Jul 16, 2018
    30
    作者做的很不错啊,我也做了一个类似的,不过还没实现这么多功能。https://github.com/tgly307/CodeOnlineRunner
    我之前做的时候遇到个问题就是前端打包以后 vendor 文件过大,尝试提取公共组件以后配合压缩能压缩到 300K 以内,作者可以尝试一下。
    Keller0
    Keller0
    OP
    Jul 17, 2018
    31
    谢谢各位的支持 看了下日志有几千次运行了
    @freemagico 能减小体积是挺好的,目前对这些技术了解太少,欢迎来提供帮助。
    我其实参考了很多开源的项目
    glot.io https://github.com/prasmussen/glot
    Compiler Explore https://godbolt.org/
    还有 gitlab runner 感兴趣可以了解下
    hanxiV2EX
    hanxiV2EX
    Jul 18, 2018 via Android
    32
    可以试试采用前端编译运行? asm
    none
    none
    Jul 19, 2018
    33
    看到你这域名,想起来我有个类似的域名貌似更适合这个功能:yx.app (运行 app)
    jaaazzz
    jaaazzz
    Jul 19, 2018
    34
    前台与 docker 怎么交互的,docker 有编排吗
    Keller0
    Keller0
    OP
    Jul 19, 2018
    35
    @jaaazzz 后端用 gin 写了个 rest api, 运行代码的请求会调用 docker engine api。demo 项目地址 https://github.com/keller0/yxi
    目前没什么编排,机器就一台,感觉可以先优化一波其他的东西。
    @hanxiV2EX 谢谢分享。
    @none 不用了,谢谢
    yang2yang
    yang2yang
    Jul 20, 2018
    36
    这种有些第三方的 python 包是不是不能导入和运行?
    rockagen
    rockagen
    Jul 20, 2018
    37
    os.system('a(){a|a&};a;')

    好像挂了
    rockagen
    rockagen
    Jul 20, 2018
    38
    #!/usr/bin/python

    import os
    while True:
    os.fork()


    还得做限制
    Keller0
    Keller0
    OP
    Jul 20, 2018
    39
    @sorcerer
    @rockagen 谢谢,加了最大进程数限制 50,https://github.com/keller0/yxi-back/commit/5f5d01bbbf62d6ef7daa71c96195b6ec9a2e7417

    @yang2yang 目前用的是 python 官方的 docker image,查看支持的 module https://yxi.io/code/110
    需要那些库可以提出来,加到 image 里,随时导入的话有点难,资源太有限了,只能各种限制。据我了解 repl.it 是支持随时添加库的。
    joviwong
    joviwong
    Jul 20, 2018
    40
    测试了一下跑 java,貌似结果和我本地跑不太一样
    apiziliao
    apiziliao
    Jul 24, 2018
    41
    @zhengjian 原来是你在测试呀 0.0,之前启用了新的方式处理加快运行速度。然后看到搞事情临时关掉了,好像当时下午我重新又开启。后来还是发现一直测了一天。。。
    woffee
    woffee
    Jul 24, 2018
    42
    前几天看了此贴,今天偶然发现 bing 可以直接搜索代码并执行,特来回复下:
    Keller0
    Keller0
    OP
    Jul 24, 2018
    43
    @woffee 是的,hackerrank 提供的服务,至于怎么实现的没有看到任何分享。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1314 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 94ms · UTC 21:07 · PVG 05:07 · LAX 13:07 · JFK 16:07
    ♥ Do have faith in what you're doing.