public static Path fetchScriptFromUntrustedURL(String scriptURL) throws IOException, URISyntaxException {
		java.net.URI uri = new java.net.URI(scriptURL);

		String swizzledUrl = swizzleURL(scriptURL);

		if (!Util.isFileCached(swizzledUrl) && !TrustedSources.instance().isURLTrusted(uri)) {
			String question = scriptURL + " is not from a trusted source thus not running it automatically.\n" +
					"\n" +
					"If you trust the url to be safe to run you can do one of the following";

			String trustUrl = goodTrustURL(scriptURL);
			String trustOrgUrl = orgURL(trustUrl);
			List<String> options = new ArrayList<>();
			options.add(
					"Trust once: Add no trust, only allow access to this URL for the duration of this run");
			options.add("Trust limited url in future: " + trustUrl);
			if (trustOrgUrl != null) {
				options.add("Trust organization url in future: " + trustOrgUrl);
			}

			int result = Util.askInput(question, 30, 0, options.toArray(new String[] {}));
			TrustedSources ts = TrustedSources.instance();
			if (result == 1) {
				ts.addTemporary(trustUrl);
			} else if (result == 2) {
				ts.add(trustUrl);
			} else if (result == 3) {
				ts.add(trustOrgUrl);
			} else if (result <= 0) {
				String exmsg = scriptURL
						+ " is not from a trusted source and user did not confirm trust thus aborting.\n" +
						"If you trust the url to be safe to run are here a few suggestions:\n" +
						"Limited trust:\n     jbang trust add " + trustUrl + "\n";
				if (trustOrgUrl != null) {
					exmsg += "Organization trust:\n     jbang trust add " + trustOrgUrl + "\n";
				}
				exmsg += "Trust all subdomains:\n    jbang trust add *." + uri.getAuthority() + "\n" +
						"Trust all sources (WARNING! disables url protection):\n    jbang trust add *" +
						"\n" +
						"\nFor more control edit ~/.jbang/trusted-sources.json" + "\n";
				throw new ExitException(10, exmsg);
			}
		}

		return Util.swizzleContent(swizzledUrl, Util.downloadAndCacheFile(swizzledUrl));
	}
A <code>ResourceResolver</code> that, when given a resource string which
looks like a http, https or file URL, will try to download the referenced
document to the cache and return a reference to that file.
src/main/java/dev/jbang/source/resolvers/RemoteResourceResolver.java