Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/relrod/scublets
Rublets in Scala.
https://github.com/relrod/scublets
Last synced: 13 days ago
JSON representation
Rublets in Scala.
- Host: GitHub
- URL: https://github.com/relrod/scublets
- Owner: relrod
- Created: 2012-11-03T04:27:04.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2012-11-04T17:43:49.000Z (about 12 years ago)
- Last Synced: 2024-10-10T18:02:14.269Z (26 days ago)
- Language: Scala
- Homepage:
- Size: 105 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Scublets
[CodeBlock/rublets](https://github.com/CodeBlock/rublets) rewritten in Scala.
Scublets is a code-evaluation IRC bot which uses SELinux's `sandbox` command
to safely allow users to execute (almost-)arbitrary code on the box where the
bot resides.**NOTE: Any security related bugs are fixed as soon as they are found, but the
developers of this bot are not responsible for anything that happens to your
computer, network, family, friends, pets, or potatos, when you run Scublets.**# How it works - externally
```irc
< relrod> 'ruby> puts "Hello"
< scublets> Hello
< relrod> '$> id -Z
< scublets> unconfined_u:unconfined_r:sandbox_net_t:s0:c536,c662
```# How it works - internally
The idea of rublets, the predecessor to scublets, was to provide a mechanism
for allowing users to demonistrate bits of code in realtime.So users could throw code at the bot, the bot would know how to handle that
code, throw it to the interpreter or compiler, and send the result back to
the channel.Scublets is not a direct port of rublets, because I wanted to use the
opportunity to use Scala's conventions where possible.The reason for the conversion of Rublets to Scublets is simple: A lot of the
libraries I was relying on for Rublets became unmaintained by their authors,
and/or changed dramatically and the old versions were no longer supported. I
wanted something a little more self-sustaining.# Breakpoint
[Breakpoint](https://github.com/breakpoint-eval) is a similar concept which is
also based on the general idea behind rublets. I started Breakpoint to provide
an API that does almost exactly what Rublets and Scublets do, except that it
could be used anywhere, not just on IRC. One day, far off from now, I hope that
the bots will just become dumb clients to Breakpoint's API. :)# License
Same as Rublets, GPLv2+.