diff --git a/README.md b/README.md index 756748a..6ddf3b3 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,8 @@ # java-sandbox-agent [](https://github.com/DMOJ/java-sandbox-agent/actions/) -Policy-based Java sandbox with instrumentation support for online judges. +Java class sandbox with instrumentation support for online judges. It implements: -* [**security policy-based sandboxing**](https://docs.oracle.com/javase/7/docs/technotes/guides/security/PolicyFiles.html) (see [**DMOJ/judge**](https://github.com/DMOJ/judge) for [example policy](https://github.com/DMOJ/judge/blob/master/dmoj/executors/java-security.policy)) * a much faster, [unsynchronized ASCII-only `System.out` stream](https://github.com/DMOJ/java-sandbox-agent/blob/master/src/main/java/ca/dmoj/java/UnsafePrintStream.java) that's suitable for single-threaded online-judging scenarios * support for **disallowing particular classes from being loaded**, to force certain solutions trivialized by the standard library * optional **unbuffering of standard output**, for interactive problems without requiring users to flush manually @@ -11,10 +10,10 @@ It implements: ## Usage -To run a class `Submission` with agent and policy stored in `/code`, the following suffices: +To run a class `Submission` with agent the following suffices: ``` -$ java -client -javaagent:/code/java-sandbox-agent.jar=policy:/code/policy[,option ...] Submission +$ java -client -javaagent:/code/java-sandbox-agent.jar=[option, ...] Submission ``` Supported fields for the `option` list are: @@ -22,4 +21,3 @@ Supported fields for the `option` list are: * `nobigmath` — disables `BigInteger` and `BigDecimal`, raising [appropriate exceptions](https://github.com/DMOJ/java-sandbox-agent/blob/master/src/main/java/ca/dmoj/java/BigIntegerDisallowedException.java) if they are used * `unicode` — encodes `System.out` as UTF-8 instead of ASCII, sacrificing performance for Unicode support * `nobuf` — sets `System.out` as being line-buffered, for interactive problems -