30 open-source projects similar to vercel/pkg, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Pkg alternative.
pkg is a Node.js executable packager and cross-platform binary compiler. It bundles a project and its dependencies into a single standalone executable file that runs without a pre-installed runtime on the target machine. The tool uses a virtual filesystem bundler to embed project assets and native modules into a binary snapshot. It includes a bytecode obfuscator that compiles source code into bytecode to prevent the extraction of raw logic. The project supports cross-platform distribution, allowing the generation of binaries for different operating systems and architectures from a single hos
Nexe is a cross-platform binary bundler and compiler that packages Node.js applications and their dependencies into single standalone executables. It functions as a runtime compiler that can build the Node.js runtime from source with custom flags and application snapshots to enable software distribution without requiring a pre-installed runtime. The system allows for cross-compilation across different operating systems and architectures from a single build environment. It includes a static asset bundler to embed external files and directories directly into the compiled binary for access at ru
PyInstaller is a cross-platform binary packager and application freezer that bundles Python scripts and their dependencies into standalone executables. It allows programs to be distributed and run on target operating systems without requiring a local installation of the Python interpreter. The tool functions as a standalone executable bundler, packaging the application with all necessary modules and libraries into a single file or folder. It includes integration for digital binary signing to satisfy operating system security requirements for distributed software. The system utilizes static a
Odin is a compiled, statically typed systems programming language designed for high-performance software development. It focuses on pragmatic low-level memory control, providing a toolset for manual memory management and precise control over hardware utilization. The language is distinguished by its flexible memory model, which includes custom allocators and precise data layout capabilities to optimize resource usage. It features a comprehensive foreign function interface for importing assembly files and linking with external libraries using configurable calling conventions. The type system
Neutralinojs is a lightweight cross-platform desktop application framework that allows developers to build native applications using web technologies and a C++ backend. It serves as a native system API bridge, enabling JavaScript frontend code to execute system commands and manage files across Windows, macOS, and Linux. The project distinguishes itself as a portable runtime that renders interfaces via the system's built-in webview instead of bundling a full browser engine. This approach enables the packaging of web assets into small, standalone executable binaries. The framework provides com
MicroPython is a lean implementation of Python 3 optimized to run on microcontrollers and other resource-constrained systems. It serves as a cross-platform embedded runtime and hardware abstraction layer, providing a firmware framework that maps high-level software commands to specific microcontroller registers across diverse processor architectures. The project functions as an embedded language interpreter that enables rapid prototyping on hardware through an interactive read-eval-print loop. It supports a wide range of target environments, including ARM, ESP32, STM32, RISC-V, and WebAssembl
Opal is a Ruby frontend framework and compiler that translates Ruby source code into JavaScript. It functions as a web runtime that allows for the development of client-side web applications using Ruby instead of JavaScript. The project includes a Ruby HTML template engine that evaluates Ruby code embedded directly within markup files. It further integrates with JavaScript environments by bundling core libraries and dependencies into a distribution string for execution in a web browser. The system provides capabilities for Ruby to JavaScript compilation and the ability to encode and decode B
This project is a JavaScript code protection tool designed to transform source code into a version that is difficult for humans to read. Its primary purpose is to protect intellectual property and prevent reverse engineering by altering the original program logic. The tool employs several advanced techniques to hinder analysis, including control flow flattening and the injection of dead code. It can compile functions into custom bytecode executed by an embedded virtual machine and encrypt string literals to prevent static analysis of text. Additional capabilities include anti-debugging mecha
Pyarmor is a toolset for protecting Python software through source code obfuscation, bytecode protection, and binary compilation. It functions as a code obfuscator, bytecode protector, and binary compiler designed to prevent reverse engineering and unauthorized access to Python scripts and packages. The project distinguishes itself by providing a comprehensive software license manager that enables hardware-bound licensing. This allows developers to lock script execution to specific physical devices or virtual machines and enforce strict expiration dates via encrypted runtime keys. Its broade
FrankenPHP is a Go-based PHP runtime and application server that integrates a web server and PHP interpreter to host applications without requiring a separate process manager. It functions as a worker mode server that keeps applications in memory across requests to eliminate bootstrap overhead and a static binary bundler that packages applications and the server into a single self-contained executable. The project distinguishes itself by allowing the embedding of a PHP runtime directly into Go programs and enabling the development of PHP extensions using the Go language. It also includes a bu
Mamba is a package manager for scientific and data science workflows that implements a high-performance dependency solver in C++. It uses a SAT-based resolution model and a specialized library for metadata processing to calculate compatible package versions across different operating systems. The project provides a standalone executable runtime, allowing the creation of isolated package environments without requiring a pre-existing system installation. It ensures reproducible environment setup by utilizing lock files to pin exact package versions and channels. The system supports containeriz
FFmpeg-Builds is a cross-platform compilation toolchain and custom build system designed to generate static executables of the FFmpeg multimedia framework. It provides a distribution of pre-compiled binaries for multiple operating systems and hardware architectures. The project utilizes a Docker-based build environment to isolate toolchains and dependencies. This containerized approach enables multi-architecture cross-compilation and allows for parameter-driven feature selection to include specific codecs, libraries, and license options in the final binaries. The system manages the entire wo
Redox is a POSIX-compliant, microkernel-based operating system written entirely in Rust. By utilizing a memory-safe language for the kernel and all system components, the project eliminates common vulnerabilities such as buffer overflows and use-after-free errors. Its architecture relies on a minimal kernel that manages only essential hardware and process isolation, delegating all other system services to unprivileged user-space processes. The system distinguishes itself through a modular design where hardware drivers and system services run as independent user-space daemons, allowing them to
Nuitka is a compilation framework that translates Python source code into C, enabling the creation of standalone machine code binaries. By converting interpreted scripts into compiled executables, it removes the requirement for a language interpreter on the target machine and provides a mechanism for distributing Python applications as self-contained packages. The project distinguishes itself through advanced optimization techniques, including link-time code generation and profile-guided binary optimization, which improve execution speed by bypassing standard interpreted overhead. It manages
Haxe is a statically typed, multi-target programming language and open-source compiler toolkit that translates a single codebase into native executables and scripts for JavaScript, C++, C#, Java, Python, Lua, PHP, and Flash targets. It provides a unified type system with automatic type inference, a compile-time macro system for code transformation and generation, conditional compilation directives, and a static analysis engine that enforces null safety and eliminates dead code to produce smaller, safer outputs. The language is supported by the HashLink virtual machine, which executes platform
Mimic is a unicode homoglyph generator and text obfuscation tool. It functions as a character substitutor that replaces standard ASCII characters with visually similar Unicode symbols to create text that appears correct to humans but is functionally different. The project is used for source code obfuscation by inserting subtle syntax errors into code to hide intent or break automated analysis. It also serves as a tool for textual adversarial testing to evaluate the resilience of software filters against maliciously crafted input. The utility achieves these results through a mapping system th
auto-py-to-exe is a Python to EXE converter and standalone executable packager that provides a web-based graphical interface for PyInstaller. It transforms Python scripts into single binary files that run without requiring a local Python installation or external dependencies. The project functions as a JSON-based build automator, allowing users to save, load, and export complex packaging configurations via JSON files to ensure consistent and reproducible builds across different projects. The tool covers script-to-executable conversion, including the ability to bundle static assets and icons
Electrobun is a desktop application framework and webview-based GUI toolkit used for building cross-platform desktop apps. It provides a TypeScript-based runtime and a native system webview to create interfaces that integrate embedded browser views with host-process logic. The project features a native GPU integration layer with direct FFI bindings, allowing for high-performance GPU surfaces and compute workloads to run within a desktop application. It also includes an inter-process communication bridge using a typed RPC system to exchange data and execute functions between the native backend
Forge is a build toolchain for Electron desktop applications that provides a system for bootstrapping projects, recompiling native modules, and packaging and publishing application binaries. It functions as an application bundler and distribution publisher, automating the process of turning source code into platform-specific executables and installers. The toolset uses a plugin-based pipeline to automate the build process, allowing for the integration of third-party extensions for asset bundling or security auditing. It employs specialized modules to transform packaged applications into distr
rustup is a programming language toolchain manager that automates the installation, versioning, and configuration of the Rust compiler and its associated build tools. It serves as a toolchain installer and version manager, enabling the deployment of the language ecosystem across different operating systems. The system manages multiple compiler versions across stable, beta, and nightly release channels, allowing users to switch between these versions to meet different environment requirements. It also functions as a cross-compilation manager by installing pre-compiled standard libraries to bui
mQuickjs is a compact JavaScript engine designed for memory-constrained devices, such as microcontrollers, requiring as little as 10 KB of RAM and 100 KB of ROM. It achieves this through a fixed-buffer memory allocation scheme that avoids system heap usage, a compacting tracing garbage collector that eliminates fragmentation, and a ROM-embedded standard library that reduces both memory footprint and startup time. The engine compiles JavaScript source into portable bytecode that can be stored in persistent memory and executed without reparsing, and it emulates IEEE 754 floating-point arithmetic
Stitch is a command and control framework and post-exploitation toolkit designed for managing multiple remote systems from a central server. It functions as a remote administration tool and payload builder, enabling the execution of commands and the deployment of agents across different operating systems. The project features a cross-platform builder for generating custom executable agents with configurable network bindings and boot behaviors. It utilizes encrypted communication channels to secure traffic between the controller and remote clients, and it supports the execution of dynamic scri
Gox is a cross-platform build automator and command line tool designed for Go cross-compilation. It serves as a toolchain manager that builds and configures the necessary compilation tools and flags required to target diverse hardware platforms. The system automates the setup, installation, and provisioning of the assemblers and linkers needed for different operating systems and architectures. It manages the generation of executable binaries for multiple platforms in parallel, utilizing custom naming templates and linker flags to prepare software releases. The tool provides capabilities for
This project is an LLVM obfuscator compiler and machine code obfuscator designed to protect C++ applications from decompilation and static analysis. It functions as an LLVM pass framework that transforms intermediate representation into complex machine code to prevent the reverse engineering of program logic. The tool implements binary security hardening and anti-reverse engineering measures to protect intellectual property. It achieves this by modifying the compilation pipeline to hide original control flow and data structures. The transformation process includes control-flow flattening, th
JerryScript is a lightweight, ECMAScript-compliant JavaScript engine and bytecode compiler designed for resource-constrained devices. It serves as an embedded interpreter and IoT scripting runtime, enabling the execution of JavaScript code within native C applications on hardware with limited memory. The project differentiates itself through a focus on low-memory runtime management, utilizing bytecode precompilation and pre-compiled state snapshots to reduce startup time and memory overhead. It features a C-binding native bridge for bidirectional communication between native code and scripts,
Swift Package Manager is a cross-platform build tool, dependency resolver, and package distributor. It compiles Swift source code into native executable binaries for multiple operating systems and manages the resolution and linking of external Swift code packages. The tool facilitates Swift package distribution by sharing and distributing reusable source code through public or private channels. It orchestrates Swift projects by managing external code libraries and versioning to ensure consistent builds across different development environments.
UglifyJS2 is a suite of tools designed for parsing, beautifying, mangling, and minifying JavaScript code. It functions by converting source code into an abstract syntax tree to enable programmatic analysis and transformation, and it includes a dedicated generator for creating associated source maps. The project optimizes web production builds by compressing script logic and removing unreachable code. It utilizes name mangling to shorten variable and property names and implements a beautifier to reconstruct compressed scripts into a human-readable layout. The toolset covers broad capability a
Movfuscator is an obfuscating compiler that transforms C source code into x86 machine code consisting exclusively of move instructions. It implements all program logic, arithmetic, and control flow using a move-only instruction set to hide the execution path and prevent reverse engineering. The project includes a move-only library that performs double precision floating point calculations without using native floating point instructions. It also features a translator that converts these move-only binaries into restricted data transfers and indexed addressing for compatibility with RISC archit
Zig is a low-level systems programming language designed for writing high-performance software that interacts directly with hardware. It focuses on the transformation of source code into machine binaries for the execution of low-level operations. The project is distinguished by its native support for cross-compilation, allowing binaries for various operating systems and CPU architectures to be built from a single host. It provides direct interoperability with the C language, enabling the import of headers and function calls without a foreign function interface. The language utilizes manual m
Carlo is a Node.js web rendering framework and desktop application bundler. It functions as a server-side browser controller and headless automation bridge that uses a local browser instance as the primary user interface for Node.js applications. The project distinguishes itself by providing a bidirectional bridge for cross-environment JavaScript integration, allowing server-side functions to be exposed to the browser window object and enabling the execution of page-context code from the server. It includes capabilities for packaging applications into standalone desktop executables, complete