Mirror of nicotine-loader in case it got deleted for unknown reasons
  • Java 48.1%
  • C 25%
  • Shell 17.5%
  • Python 6.7%
  • CMake 2.7%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-07-25 02:53:30 +02:00
docs feat: ship the Linux-native Vape loader 2026-07-25 02:53:30 +02:00
platform feat: ship the Linux-native Vape loader 2026-07-25 02:53:30 +02:00
scripts feat: ship the Linux-native Vape loader 2026-07-25 02:53:30 +02:00
stage0 feat: ship the Linux-native Vape loader 2026-07-25 02:53:30 +02:00
tests feat: ship the Linux-native Vape loader 2026-07-25 02:53:30 +02:00
vendor/lib feat: ship the Linux-native Vape loader 2026-07-25 02:53:30 +02:00
.gitignore feat: ship the Linux-native Vape loader 2026-07-25 02:53:30 +02:00
build_public_loader_bundle.sh feat: ship the Linux-native Vape loader 2026-07-25 02:53:30 +02:00
NATIVE_LOADER_USER_GUIDE.md feat: ship the Linux-native Vape loader 2026-07-25 02:53:30 +02:00
README.md feat: ship the Linux-native Vape loader 2026-07-25 02:53:30 +02:00
start.sh feat: ship the Linux-native Vape loader 2026-07-25 02:53:30 +02:00

Nicotine (Linux-native loader workspace)

Makes Linux vape

⚠️ No warranty. Use at your own risk. Bans, breakage, and consequences are your own. Online features are unverified. Tested on exactly one machine. Read docs/KNOWN_LIMITATIONS.md first.

This folder is a self-contained package for the Vape Linux loader interface:

  • start.sh — the main entrypoint: a step-by-step wizard, and once a payload is extracted, a fast 1 · Inject / 2 · Update menu
  • scripts/ — ready-to-run shell launchers
  • stage0/ — HWID + per-account extraction/login tooling
  • platform/ — Java/C sources for attach loader and native bridge components
  • docs/ — architecture, compatibility, and troubleshooting notes
  • NATIVE_LOADER_USER_GUIDE.md — practical usage guide

The package intentionally contains source + tooling entrypoints only. It does not include the payload — each user extracts their own after signing in to their own Vape account.

Quick start

./start.sh
  • No payload yet → the full wizard (HWID → register → bridges → login/extract → run natively).
  • Payload already extracted → straight to 1 Inject / 2 Update (h sets HUD scale, w opens the full wizard).

Loader compatibility: attaches to any Minecraft JVM (LaunchWrapper / Fabric Knot / any URLClassLoader), so it is not tied to PrismLauncher — in theory Lunar, MultiMC, etc. work too (only Prism was tested). 1.8.9 needs Forge; 26.2 needs Fabric.

Required stage root

Attach needs a Stage-1 root with these files:

  • manifest.json
  • java/Vape4Runtime.linux.jar (or equivalent compatible payload name)
  • protocol/vape-stage1-mapping-pairs.tsv
  • native/libvape_native_bridge.so

If --stage-root is not provided, launch scripts try (in this order): deep_reverse_artifacts/stage1, ../deep_reverse_artifacts/stage1, ../reverse_runtime/dist/stage1, reverse_runtime/dist/stage1, stage1.

When the selected root misses a local native/*.so, scripts auto-fall back to known workspace-built bridge artifacts so you can launch from a partial dump tree.

Scripts

  • scripts/run_loader.sh
    • entrypoint wrapper for 1.8.9 and 26.2
    • examples:
      • ./scripts/run_loader.sh --version auto --prepare-only
      • ./scripts/run_loader.sh --version 1.8.9 --pid <PID>
      • ./scripts/run_loader.sh --version 26.2 --pid <PID> --hud-scale 2.25
  • stage0/run_stage0_and_load.sh — one-shot path from launcher exe + HWID/session into Linux attach.
  • scripts/run_native_loader.sh — pre-attach validation and version routing
  • scripts/run_vape_linux.sh — 1.8.9 attach path
  • scripts/run_vape_26_2.sh — 26.2 attach path
  • scripts/build_loader.sh — builds platform/loader/build/nicotine-linux-loader.jar
  • scripts/build_public_loader_bundle.sh — creates dist/public-loader/stage1

Quick one-shot attach path:

./stage0/run_stage0_and_load.sh --launcher ./vape-launcher.exe

(The Vape launcher is downloaded under a per-download hex name, so there is no fixed filename — pass yours, or drag it in via start.sh.)

Build + smoke checks

./scripts/run_native_loader.sh --version auto --prepare-only
./scripts/build_public_loader_bundle.sh --stage-root deep_reverse_artifacts/stage1 --out /tmp/stage1-public
./vape_linux/scripts/build_loader.sh --help
./vape_linux/scripts/run_native_loader.sh --version auto --prepare-only --stage-root /tmp/stage1-public/stage1
bash ./vape_linux/tests/concept_smoke_test.sh

Use VAPE_STAGE1_ROOT to force a specific stage root:

VAPE_STAGE1_ROOT=/path/to/stage1 ./scripts/build_loader.sh

Notes

  • Loader JAR names are nicotine-linux-loader.jar for this package build output.
  • Loader JARs built in this workspace are:
    • platform/loader/build/nicotine-linux-agent.jar
    • platform/loader/build/nicotine-linux-loader.jar
  • If you are migrating Stage-1 from another machine, keep the native filename set consistent with the selected payload.

With luv, evil0x22 🖤