Giter Site home page Giter Site logo

88250 / wide Goto Github PK

View Code? Open in Web Editor NEW
111.0 3.0 37.0 28.71 MB

🌈 一款基于 Web 的 Go 语言 IDE,随时随地玩 golang。

Home Page: https://wide.b3log.org

License: Apache License 2.0

Go 5.22% JavaScript 74.25% Shell 0.08% CSS 4.37% HTML 16.08%
golang ide web

wide's Introduction

wide's People

Contributors

88250 avatar admpub avatar avivrubys avatar codeskyblue avatar dependabot[bot] avatar gaomd avatar gitter-badger avatar gitwillsky avatar haraldnordgren avatar khjde1207 avatar mattn avatar muyuballs avatar paladintyrion avatar shiyou0130011 avatar thewhitetulip avatar tjyang avatar vanessa219 avatar yougg avatar youymi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

wide's Issues

http启动时绑定的地址和端口问题,以及arm架构下docker无法使用nanoCPUs

您好,非常感谢作者的付出,发现三个问题,第一次提Issues,提的不好请见谅。

1. 测试环境

Linux raspberrypi 4.19.97-v7l+ armv7l GNU/Linux
go version go1.14.2 linux/arm
Docker Engine Community Version 19.03.8 OS/Arch Linux/arm

2. http启动时绑定的地址和端口

main.go里面,第160行,绑定的地址和端口没有应用conf.Wide.Server获取的数据。

wide/main.go

Lines 158 to 163 in 3256f60

logger.Infof("Wide is running [%s]", conf.Wide.Server)
err := http.ListenAndServe("127.0.0.1:7070", nil)
if err != nil {
logger.Error(err)
}

通过直接修改,成功修复绑定问题。

3. Arm架构下,无法使用nanoCPUs

使用的测试平台是树莓派4B,Go源码在编译之后Docker无法正常执行,提示"NanoCPUs can not be set, as your kernel does not support CPU cfs period/quota or the cgroup is not mounted",发现原因是在session/processes.go的第73行。

cmd = exec.Command("docker", "run", "--rm", "--cpus", "0.5", "--name", rid, "-v", filePath+":/"+fileName, conf.DockerImageGo, "/"+fileName)

删除-cpus参数后Docker成功执行命令。

4. Docker Run命令被中断,初次使用无法正常拉取Golang镜像

在初次使用时,Wide需要从DockerHub拉取Golang镜像用于编译源码,但是因为网速的原因,无法在5秒之内拉取镜像,所以命令会被强制中断,具体代码:

wide/session/processes.go

Lines 181 to 198 in 3256f60

after := time.After(5 * time.Second)
kill := false
select {
case <-after:
if conf.Docker {
killCmd := exec.Command("docker", "rm", "-f", rid)
if err := killCmd.Run(); nil != err {
logger.Errorf("executes [docker rm -f " + rid + "] failed [" + err.Error() + "], this will cause resource leaking")
}
} else {
cmd.Process.Kill()
}
channelRet["output"] = "\n<span class='stderr'>run program timeout in 5s</span>\n"
kill = true
case <-done:
channelRet["output"] = "\n<span class='stderr'>run program complete</span>\n"
}

通过提前执行Pull操作可以成功拉取镜像,程序在Wide上也能正常编译。

但是希望能够将Pull的过程和Run的过程分开,可以在程序初始化的过程先判断Golang镜像是否在Docker中保存至本地,避免Run的时候才Pull。

wide存在一处反射型XSS漏洞

请先看《提问的智慧》,并尝试到链滴搜寻资料解决问题。


描述问题

wide存在一处反射型XSS漏洞

重现步骤

请描述如何重现这个问题:

1.在IDE中新建一个文件,对文件名没有过滤“<”,“>”等特殊字符。
2.操作刚才新建的文件,比如打开编辑器或者关闭编辑器,xss漏洞可被触发。

期待的结果

请尽量清晰精准地描述你所期待的结果。

截屏或录像

如果可能,请尽量附加截图或录像来描述你遇到的问题。
因为是在其他项目中发现的该问题,该项目引用了wide
widexss

桌面端环境

  • OS: [e.g. windows, mac, linux]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

移动端环境

  • Device: [e.g. iPhone8]
  • OS: [e.g. iOS12]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

其他信息

请提供其他附加信息帮助我们诊断问题。

发现一处XSS漏洞,现在报给谁?

请先看《提问的智慧》,并尝试到链滴搜寻资料解决问题。


描述问题

请尽量清晰精准地描述你碰到的问题。

重现步骤

请描述如何重现这个问题:

  1. Go to '...'
  2. Click on '...'
  3. Scroll down to '...'
  4. See error

期待的结果

请尽量清晰精准地描述你所期待的结果。

截屏或录像

如果可能,请尽量附加截图或录像来描述你遇到的问题。

桌面端环境

  • OS: [e.g. windows, mac, linux]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

移动端环境

  • Device: [e.g. iPhone8]
  • OS: [e.g. iOS12]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

其他信息

请提供其他附加信息帮助我们诊断问题。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.