403Webshell
Server IP : 138.197.176.125  /  Your IP : 216.73.216.41
Web Server : Apache/2.4.41 (Ubuntu)
System : Linux SuiteCRM-8 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User : root ( 0)
PHP Version : 8.3.19
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/smartsync-050226/node_modules/.bin/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/smartsync-050226/node_modules/.bin/gel
#!/usr/bin/env node
import { execSync } from "node:child_process";
import { createWriteStream } from "node:fs";
import * as os from "node:os";
import * as fs from "node:fs/promises";
import * as path from "node:path";
import { fileURLToPath } from "node:url";
import * as process from "node:process";
import envPaths from "env-paths";
import Debug from "debug";
import which from "which";
import { quote } from "shell-quote";
const debug = Debug("gel:cli");
const IS_TTY = process.stdout.isTTY;
const SCRIPT_LOCATION = await fs.realpath(fileURLToPath(import.meta.url));
const EDGEDB_PKG_ROOT = "https://packages.edgedb.com";
const CACHE_DIR = envPaths("gel", { suffix: "" }).cache;
const CACHED_CLI_PATH = path.join(CACHE_DIR, "/bin/gel");
const SCRIPT_NAME = import.meta.url.split("/").pop() || "gel";
debug("Process argv:", process.argv);
let args = process.argv.slice(2);
if (args[0] === SCRIPT_NAME) {
    args = args.slice(1);
}
await main(args);
async function main(args) {
    debug(`Running CLI wrapper from: ${fileURLToPath(import.meta.url)}`);
    debug("Starting main function with args:", args);
    debug(`  - IS_TTY: ${IS_TTY}`);
    debug(`  - SCRIPT_LOCATION: ${SCRIPT_LOCATION}`);
    debug(`  - EDGEDB_PKG_ROOT: ${EDGEDB_PKG_ROOT}`);
    debug(`  - CACHE_DIR: ${CACHE_DIR}`);
    debug(`  - CACHED_CLI_PATH: ${CACHED_CLI_PATH}`);
    if (args.length === 1 && args[0] === "--succeed-if-cli-bin-wrapper") {
        process.exit(0);
    }
    const cliLocation = (await whichGelCli()) ??
        (await getCliLocationFromCachedCli()) ??
        (await getCachedCliLocation()) ??
        null;
    if (cliLocation === null) {
        throw Error("Failed to find or install Gel CLI.");
    }
    try {
        runCli(args, cliLocation);
    }
    catch (err) {
        if (typeof err === "object" &&
            err !== null &&
            "status" in err &&
            typeof err.status === "number") {
            process.exit(err.status);
        }
        else {
            console.error(err);
        }
        process.exit(1);
    }
    process.exit(0);
}
async function whichGelCli() {
    debug("Checking if CLI is in PATH...");
    const locations = (await which(SCRIPT_NAME, { nothrow: true, all: true })) || [];
    for (const location of locations) {
        const actualLocation = await fs.realpath(location);
        debug(`  - CLI found in PATH at: ${location} (resolved to: ${actualLocation})`);
        if (actualLocation === SCRIPT_LOCATION) {
            debug("  - CLI found in PATH is the current script. Ignoring.");
            continue;
        }
        const lowerCaseLocation = actualLocation.toLowerCase();
        if (lowerCaseLocation.endsWith(".cmd") ||
            lowerCaseLocation.endsWith(".ps1")) {
            debug("  - CLI found in PATH is a Windows script. Ignoring.");
            continue;
        }
        if (lowerCaseLocation.includes("node_modules/.bin")) {
            debug("  - CLI found in PATH is in a node_modules/.bin directory. Ignoring.");
            continue;
        }
        try {
            runCli(["--succeed-if-cli-bin-wrapper"], actualLocation, {
                stdio: "ignore",
            });
            debug("  - CLI found in PATH is wrapper script. Ignoring.");
            continue;
        }
        catch (_err) {
            debug("  - CLI found in PATH is not a wrapper script. Using.");
        }
        return location;
    }
    debug("  - No CLI found in PATH.");
    return null;
}
async function getCachedCliLocation() {
    try {
        const stats = await fs.stat(CACHED_CLI_PATH);
        if (!stats.isFile()) {
            debug("  - Object found at cached CLI path is not a file. Downloading...");
            await downloadCliPackage();
        }
    }
    catch (_err) {
        debug("  - No cached CLI found. Downloading...");
        await downloadCliPackage();
    }
    await fs.access(CACHED_CLI_PATH, fs.constants.F_OK);
    return CACHED_CLI_PATH;
}
async function getCliLocationFromCachedCli() {
    debug("Installing temporary CLI to get install directory...");
    const cachedCliLocation = await getCachedCliLocation();
    const installDir = getInstallDir(cachedCliLocation);
    const binaryPath = path.join(installDir, "gel");
    debug("  - CLI installed at:", binaryPath);
    try {
        debug("  - CLI binary found in path:", binaryPath);
        await fs.access(binaryPath, fs.constants.F_OK);
        return binaryPath;
    }
    catch {
        debug("  - CLI binary not found in path:", binaryPath);
        return null;
    }
}
async function downloadCliPackage() {
    debug("Downloading CLI package...");
    const cliPkgUrl = await findPackageUrl();
    const downloadDir = path.dirname(CACHED_CLI_PATH);
    await fs.mkdir(downloadDir, { recursive: true }).catch((error) => {
        if (error.code !== "EEXIST")
            throw error;
    });
    await downloadFile(cliPkgUrl, CACHED_CLI_PATH);
    debug("  - CLI package downloaded to:", CACHED_CLI_PATH);
    const fd = await fs.open(CACHED_CLI_PATH, "r+");
    await fd.chmod(0o755);
    await fd.datasync();
    await fd.close();
}
function runCli(args, pathToCli, execOptions = { stdio: "inherit" }) {
    const command = quote([pathToCli, ...args]);
    debug(`Running Gel CLI: ${command}`);
    return execSync(command, execOptions);
}
async function findPackageUrl() {
    const arch = os.arch();
    const platform = os.platform();
    debug("Getting base distribution for:", platform, arch);
    let dist = "";
    let ext = "";
    if (arch === "x64") {
        dist += "x86_64";
    }
    else if (arch === "arm64") {
        dist += "aarch64";
    }
    else {
        throw new Error(`Unsupported architecture: ${arch}`);
    }
    if (platform === "win32") {
        dist += "-pc-windows-msvc";
        ext = ".exe";
    }
    else if (platform === "darwin") {
        dist += "-apple-darwin";
    }
    else if (platform === "linux") {
        dist += "-unknown-linux-musl";
    }
    else {
        throw new Error(`Unsupported OS: ${platform}`);
    }
    const pkg = new URL(`/dist/${dist}/gel-cli${ext}`, EDGEDB_PKG_ROOT);
    debug("  - Package URL:", pkg.href);
    return pkg;
}
async function downloadFile(url, path) {
    debug("Downloading file from URL:", url);
    const response = await fetch(url);
    if (!response.ok || !response.body) {
        throw new Error(`Download from ${url} failed: ${response.statusText}`);
    }
    const fileStream = createWriteStream(path, { flush: true });
    if (response.body) {
        for await (const chunk of streamReader(response.body)) {
            fileStream.write(chunk);
        }
        fileStream.end();
        debug("  - File downloaded successfully.");
    }
    else {
        throw new Error("  - Download failed: no response body");
    }
}
function getInstallDir(cliPath) {
    debug("Getting install directory for CLI path:", cliPath);
    const installDir = runCli(["info", "--get", "install-dir"], cliPath, {
        stdio: "pipe",
    })
        .toString()
        .trim();
    debug("  - Install directory:", installDir);
    return installDir;
}
async function* streamReader(readableStream) {
    debug("Reading stream...");
    const reader = readableStream.getReader();
    while (true) {
        const { done, value } = await reader.read();
        if (done)
            break;
        yield value;
    }
    debug("  - Stream reading completed.");
}

Youez - 2016 - github.com/yon3zu
LinuXploit