Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

play.rust-lang.org #4064

Closed
ghost opened this issue Nov 29, 2012 · 6 comments
Closed

play.rust-lang.org #4064

ghost opened this issue Nov 29, 2012 · 6 comments

Comments

@ghost
Copy link

ghost commented Nov 29, 2012

Please enable compilation and running of trivial Rust programs online at play.rust-lang.org, similar to http://play.golang.org.

Alternatively, support Rust at http://ideone.com.

@bstrie
Copy link
Contributor

bstrie commented Nov 29, 2012

The ideal way to do this would probably be Issue #2235, though that's rather involved.

I poked around on ideone.com for a bit and didn't see any mention of how to add new languages.

I've looked into running an ideone-ish server for Rust in the past, possibly by making use of the basic features of Geordi (http://www.eelis.net/geordi/ and https://github.com/Eelis/geordi/).

@amuxtux
Copy link

amuxtux commented Nov 29, 2012

here is a experimental web based playground based on node.js. However I dont know how to apply file system + network access limitation. If these restrictions can be added I may be able to deploy on heroku or some other node hosting service.

https://github.com/amuxtux/RustNode

@bstrie
Copy link
Contributor

bstrie commented Nov 29, 2012

@amuxtux Geordi does syscall limitation, if you'd like a basic reference:

https://github.com/Eelis/geordi/blob/master/src/EvalCxx.hsc#L312

@graydon
Copy link
Contributor

graydon commented May 15, 2013

Note that rusti on IRC is a reasonably well-contained evaluator-bot presently, and might be adaptable to this purpose.

@thestinger
Copy link
Contributor

rusti (the bot) can definitely be adapted to a web-based evaluator. It's essentially just a Linux root used as a container (isolated process/network namespace). It drops capabilities and restricts device/resource usage with the container's cgroup and uses a whitelist (admittedly an unnecessarily long one atm) of syscalls.

@thestinger
Copy link
Contributor

I've implemented this, it's just a matter of making the frontend web interface and deploying it on rust-lang.org in some form.

Closing in favour of #6916.

RalfJung pushed a commit to RalfJung/rust that referenced this issue Dec 8, 2024
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants