This guide will walk you through the complete process of building PushBlind from source code. Follow these steps in order to successfully compile and package the application.
Before starting, ensure you have the following tools installed on your system:
curl- for downloading dependenciesgcc- for compiling C codesudoprivileges - for installing system-wide tools
Darwin is the build system used to compile PushBlind. You need version 0.12.0 specifically.
curl -L https://github.com/OUIsolutions/Darwin/releases/download/0.12.0/darwin_linux_bin.out -o darwin.out
chmod +x darwin.out
sudo mv darwin.out /usr/local/bin/darwincurl -L https://github.com/OUIsolutions/Darwin/releases/download/0.12.0/darwin.c -o darwin.c
gcc darwin.c -o darwin.out
sudo mv darwin.out /usr/local/bin/darwin
rm darwin.cTo compile all available output formats at once:
darwin run_blueprint --target allThis generates the following files in the release/ directory:
pushblind.deb- Debian packagepushblind_extension.c- C extension sourcepushblindi32.exe- Windows 32-bit executablepushblind.out- Linux binarypushblind.rpm- RPM package
To see all available build options:
darwin list_blueprints| Target | Command | Output | Description |
|---|---|---|---|
.deb |
darwin run_blueprint --target .deb |
release/debian_static.deb |
Debian package |
extension |
darwin run_blueprint --target extension |
release/extension.c |
C extension source |
linux_bin |
darwin run_blueprint --target linux_bin |
release/pushblind.out |
Static Linux binary |
local_unix_bin |
darwin run_blueprint --target local_unix_bin |
release/local_unix_bin.out |
Local Unix binary |
.rpm |
darwin run_blueprint --target .rpm |
release/rpm_static_build.rpm |
RPM package |
.exe |
darwin run_blueprint --target .exe |
release/ouivibei32.exe |
Windows executable |
If you prefer to compile the extension manually:
darwin run_blueprint --target extensionPushBlind is a VibeScript extension. Compile it using:
gcc dependencies/vibescript.c \
-DCONTENT_ENCRYPT_KEY=\"../keys/content.h\" \
-DLLM_ENCRYPT_KEY=\"../keys/llm.h\" \
-DNAME_ENCRYPT_KEY=\"../keys/name.h\" \
-DVIBE_EXTENSION_MODULE=\"../release/pushblind_extension.c\" \
-DVIBE_EXTENSION_FUNC=pushblind \
-DVIBE_EXTENSION_LIB_NAME=\"pushblind\" \
-o pushblind- Permission denied errors: Ensure you have
sudoprivileges and the commands are run with appropriate permissions - Missing dependencies: Verify that
curl,gcc, and other required tools are installed - Build failures: Check that all security keys are properly generated before building
- Path issues: Ensure you're running commands from the project root directory
For more information, visit the Darwin and KeyObfuscate repositories.