simple-sandbox
Version:
A simple sandbox for Node.js using Linux namespaces and cgroup.
45 lines (44 loc) • 949 B
TypeScript
export interface MountInfo {
src: string;
dst: string;
limit: number;
}
export interface SandboxParameter {
time: number;
memory: number;
process: number;
chroot: string;
hostname: string;
mounts: MountInfo[];
redirectBeforeChroot: boolean;
mountProc: boolean;
executable: string;
stdin?: string | Number;
stdout?: string | Number;
stderr?: string | Number;
user: {
uid: number;
gid: number;
};
cgroup: string;
parameters?: string[];
environments?: string[];
workingDirectory: string;
stackSize?: number;
cpuAffinity?: number[];
}
export declare enum SandboxStatus {
Unknown = 0,
OK = 1,
TimeLimitExceeded = 2,
MemoryLimitExceeded = 3,
RuntimeError = 4,
Cancelled = 5,
OutputLimitExceeded = 6
}
export interface SandboxResult {
status: SandboxStatus;
time: number;
memory: number;
code: number;
}