██████╗ ██╗ ██╗ ██████╗ ███████╗████████╗ ██╔════╝ ██║ ██║██╔═══██╗██╔════╝╚══██╔══╝ ██║ ███╗███████║██║ ██║███████╗ ██║ ██║ ██║██╔══██║██║ ██║╚════██║ ██║ ╚██████╔╝██║ ██║╚██████╔╝███████║ ██║ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝ ╚═╝
Advanced TOR Identity Rotation & Privacy Proxy Framework
Smart TOR IP rotation, SOCKS5 + HTTP proxy routing, health checks, and cross-platform privacy tooling for Termux, Linux, macOS, and WSL2.
| 🌀 TOR Rotation | 🌐 Proxy Ready | 🧠 Diagnostics | 🖥 Multi-Platform |
| Manual + auto identity rotation with duplicate handling | SOCKS5 and Privoxy HTTP proxy support | Health checks, logs, exit-node verification, and recovery | Built for Termux, Linux, macOS, and WSL2 workflows |
Built and maintained by Naboraj Sarkar • NS GAMMING / NS CODEX
A quick look at Ghost Engine’s command center and automatic TOR rotation dashboard.
Home / Command Center
Automatic TOR Rotation Dashboard
Ghost Engine is intended for:
- privacy-focused learning and experimentation
- TOR routing / proxy testing
- research, lab use, and controlled security workflows
It is not intended for illegal activity, abuse, or unauthorized access.
You are responsible for how you use this tool and for complying with your local laws and network policies.
A visual overview of Ghost Engine’s privacy workflow, TOR routing model, proxy layers, platform support, and core features across Termux, Linux, macOS, and WSL2.
Ghost Engine v5 — TOR identity rotation, proxy routing, health checks, and cross-platform privacy workflow
git clone https://github.com/naborajs/Termux-Tor-IP-Rotator.git
cd Termux-Tor-IP-Rotator
sh bootstrap.sh installThe bootstrap layer (bootstrap.sh) automatically:
- Normalizes line endings (CRLF → LF) for all shell scripts
- Sets executable permissions
- Dispatches to the platform-specific installer
Other bootstrap commands:
sh bootstrap.sh update # Pull latest + reinstall
sh bootstrap.sh uninstall # Remove Ghost EngineWindows/WSL note: If you edit shell scripts on Windows, Git may insert CRLF line endings. The bootstrap and all installer scripts now include automatic CRLF self-healing. See the Shell Safety section below for details.
Full documentation is in the docs/ directory — architecture, platform guides, quickstart, and troubleshooting. See also CONTRIBUTING.md, SECURITY.md, and SUPPORT.md.
Ghost Engine works very well on Android through Termux and this is one of the easiest ways to use it on mobile.
Important: Install Termux from F-Droid, not from the Play Store. The Play Store build is outdated and can break package installation, networking tools, and Ghost Engine itself.
https://f-droid.org/en/packages/com.termux/
Start by updating the package lists and upgrading installed packages:
pkg update -y && pkg upgrade -ypkg install git -ygit clone https://github.com/naborajs/Termux-Tor-IP-Rotator.git
cd Termux-Tor-IP-RotatorGhost Engine includes a built-in installer that handles dependency installation and global command setup for Termux.
chmod +x install.sh #NOT REQURED, but recommended to ensure the script is executable.
bash install.sh # MAIN COMMAND TO RUN THE INSTALLER.The installer will automatically:
- detect that you are using Termux
- install required packages such as TOR, Privoxy, curl, and netcat
- install the global
ns-ghostcommand - prepare Ghost Engine’s runtime environment for mobile use
Ghost Engine’s installer auto-detects your platform, installs required dependencies,
prepares the runtime environment, and sets up the global ns-ghost launcher.
Ghost Engine installer running in the terminal
Some Termux setups may require the TUR repository for Privoxy.
If the installer reports a Privoxy installation problem, run:
pkg install tur-repo -y
pkg install privoxy -yThen run the installer again:
bash install.shOnce installation is complete, start Ghost Engine with:
ns-ghostOn the first launch, wait around 10–20 seconds while TOR builds its first secure circuit.
The Termux installer is designed to simplify setup as much as possible.
It will:
- install Ghost Engine’s required dependencies
- install the
ns-ghostlauncher into your Termux environment - prepare local TOR + Privoxy runtime files
- help standardize the environment so Ghost Engine behaves consistently across fresh Termux installs
Once Ghost Engine is running, test whether traffic is going through TOR:
curl --proxy http://127.0.0.1:8118 https://api64.ipify.orgYou can also compare your real IP vs your TOR IP:
curl https://api64.ipify.orgcurl --proxy http://127.0.0.1:8118 https://api64.ipify.orgIf the two IPs are different, Ghost Engine is routing through TOR successfully.
Example of configuring a manual Wi-Fi proxy on Android so supported traffic can be routed
through Ghost Engine’s local Privoxy HTTP proxy running inside Termux.
Manual Wi-Fi proxy configuration on Android for Ghost Engine
Ghost Engine runs inside Termux, so to route your Android phone or tablet's traffic through it, you need to configure Android's Wi-Fi proxy settings to point at the Ghost Engine HTTP proxy.
- Open Android Settings → Wi-Fi
- Long-press your currently connected Wi-Fi network → tap Modify network (or Manage network settings)
- Expand Advanced options
- Set Proxy to Manual
Enter the following:
| Field | Value |
|---|---|
| Proxy hostname | 127.0.0.1 |
| Proxy port | 8118 |
Because Ghost Engine and Android are on the same device,
127.0.0.1(localhost) is the correct address. This is not a remote proxy — it is the Termux environment on your phone.
Once the Wi-Fi proxy is enabled, your Android device sends HTTP/HTTPS traffic through:
Android → 127.0.0.1:8118 (Privoxy in Termux) → SOCKS5 (TOR) → Internet
Apps that respect the system Wi-Fi proxy will now route through Ghost Engine. Apps that ignore the proxy (some browsers, games, streaming apps) will still connect directly — see the notes below.
After enabling the proxy, open a browser on your Android device and visit:
- https://check.torproject.org/ — should say you are using TOR
- https://api64.ipify.org/ — should show a TOR exit IP (different from your mobile IP)
- Not all apps respect the Wi-Fi proxy. System apps, streaming services, and some games may bypass it entirely. Ghost Engine works best with browser traffic and proxy-aware apps.
- If Ghost Engine stops while the proxy is enabled, Android will still try to route traffic through
127.0.0.1:8118— but nothing will be listening there, and internet access will break. Disable the Wi-Fi proxy before stopping Ghost Engine. - Terminal tools inside Termux can use the proxy directly via
curl --proxy http://127.0.0.1:8118 ...orcurl --socks5 127.0.0.1:9050 ...without needing the Wi-Fi proxy. - Wake lock recommended: Running
termux-wake-lockbefore starting Ghost Engine helps prevent Android from killing Termux in the background.
-
Some Android apps do not automatically use the Termux proxy. Ghost Engine works best for:
- terminal-based tools
- local testing
- browsers / apps that allow manual proxy configuration
-
On slower mobile networks, TOR bootstrapping may take longer than on desktop.
-
If you are rotating IPs very quickly, expect occasional duplicate exit nodes — that is normal TOR behavior.
Ghost Engine installer setup flow — platform detection, dependency installation, binary setup, and guided onboarding.
Ghost Engine uninstaller flow — warning prompts, launcher cleanup, data removal, and full uninstall summary.
## 11) Updating or Removing Ghost Engine on Termuxbash update.shbash uninstall.shIf Ghost Engine does not start correctly in Termux:
- run the built-in Health Check
- confirm that TOR and Privoxy installed successfully
- retry
bash install.sh - if Privoxy failed earlier, install
tur-repoand reinstall it manually - check the Troubleshooting section of the README
Tip: If you only want the fastest setup path on Android, the normal flow is:
pkg update → install git → clone repo → bash install.sh → ns-ghost
Ghost Engine supports Debian-based Linux distributions including:
- Ubuntu
- Debian
- Kali Linux
- Parrot OS
- and other compatible
apt-based systems
The recommended installation method is to use Ghost Engine’s built-in installer, which automatically installs dependencies, configures the global launcher, and disables conflicting system TOR / Privoxy services if needed.
sudo apt update
sudo apt install git -ygit clone https://github.com/naborajs/Termux-Tor-IP-Rotator.git
cd Termux-Tor-IP-Rotatorchmod +x install.sh
bash install.shThe installer will automatically:
- detect your Linux environment
- install required dependencies (
tor,privoxy,curl,netcat) - install the global
ns-ghostlauncher - add
~/.local/binto your PATH if needed - stop / disable conflicting system TOR or Privoxy services that could break Ghost Engine
After installation completes, launch Ghost Engine with:
ns-ghostIf the command is not found immediately, either:
- open a new terminal session, or
- reload your shell profile:
source ~/.bashrcIf you use Zsh instead of Bash:
source ~/.zshrcGhost Engine’s Linux installer is designed to prevent the most common setup problems.
- TOR
- Privoxy
- curl
- netcat / nc
- stopping system TOR if it is already running
- stopping system Privoxy if it is already running
- disabling those services if they would hijack Ghost Engine’s ports
- preparing Ghost Engine to run its own isolated TOR + Privoxy environment
This is important because Ghost Engine expects to manage ports like:
- 9050 → TOR SOCKS5
- 9051 → TOR control port
- 8118 → Privoxy HTTP proxy
If another TOR / Privoxy instance is already using those ports, Ghost Engine may fail to start correctly or route traffic through the wrong service.
You usually do not need to run this manually because install.sh already handles it, but for reference Ghost Engine depends on:
sudo apt update
sudo apt install tor privoxy curl netcat-openbsd -yOnce Ghost Engine is running, verify that traffic is actually going through TOR:
curl --proxy http://127.0.0.1:8118 https://api64.ipify.orgcurl --socks5 127.0.0.1:9050 https://api64.ipify.orgIf the returned IP is different from your normal internet IP, Ghost Engine is working correctly.
You can also visit:
Ghost Engine gives you two proxy endpoints for routing traffic:
| Protocol | Address | Use for |
|---|---|---|
| HTTP Proxy (Privoxy) | 127.0.0.1:8118 |
Browsers, HTTP clients, system proxy |
| SOCKS5 (TOR) | 127.0.0.1:9050 |
Apps that support SOCKS natively |
curl --proxy http://127.0.0.1:8118 https://api64.ipify.org
curl --socks5 127.0.0.1:9050 https://api64.ipify.orgConfigure your browser's manual proxy settings:
| Setting | Value |
|---|---|
| HTTP Proxy | 127.0.0.1:8118 |
| SOCKS Host | 127.0.0.1:9050 |
After configuring, visit https://check.torproject.org/ to confirm.
Note: Browsers route traffic independently of terminal tools. Proxying your browser does not automatically proxy your terminal, and vice versa.
- Ghost Engine is designed to run its own runtime configuration instead of depending on your system’s default TOR / Privoxy configuration.
- If you already use TOR or Privoxy for other tools, be aware that Ghost Engine may need those ports free to work properly.
- If you are using a minimal distro or custom environment, make sure
curl,nc,tor, andprivoxyare available in your PATH.
bash update.shbash uninstall.shIf Ghost Engine installs correctly but still does not work:
- Run the built-in Health Check from the Ghost Engine menu
- Make sure no old TOR / Privoxy service is still using ports
9050,9051, or8118 - Verify that
ns-ghostis in your PATH - Check the project’s Troubleshooting section for Linux / proxy / port-conflict fixes
Tip: On Linux, most Ghost Engine startup problems come from port conflicts, old system TOR services, or the shell not yet seeing
~/.local/binin PATH.
Ghost Engine supports macOS on both Intel and Apple Silicon Macs. The recommended setup uses Homebrew for installing TOR, Privoxy, and required utilities.
Before installing Ghost Engine on macOS, make sure you have:
- macOS with Terminal access
- Homebrew
- an active internet connection
- permission to install packages locally
If Homebrew is not already installed, run:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"After installation, verify it:
brew --versiongit clone https://github.com/naborajs/Termux-Tor-IP-Rotator.git
cd Termux-Tor-IP-RotatorGhost Engine now includes a dedicated installer that automatically installs dependencies and sets up the global ns-ghost command.
chmod +x install.sh
bash install.shThe installer will:
- detect that you are on macOS
- use Homebrew to install required dependencies
- install the Ghost Engine launcher command
- prepare the environment for running
ns-ghost
After installation completes, launch Ghost Engine with:
ns-ghostIf the command is not available immediately, open a new Terminal session and run it again.
Ghost Engine installs / checks the following tools through Homebrew:
brew install tor privoxy curl netcatIf one of these is already installed, Homebrew will simply keep the existing package.
Once Ghost Engine is running, you can verify TOR routing using:
curl --proxy http://127.0.0.1:8118 https://api64.ipify.orgYou can also open:
If the IP shown there is different from your normal internet IP, Ghost Engine is routing traffic through TOR successfully.
Ghost Engine gives you two proxy endpoints for routing traffic:
| Protocol | Address | Use for |
|---|---|---|
| HTTP Proxy (Privoxy) | 127.0.0.1:8118 |
Browsers, HTTP clients, system proxy |
| SOCKS5 (TOR) | 127.0.0.1:9050 |
Apps that support SOCKS natively |
curl --proxy http://127.0.0.1:8118 https://api64.ipify.org
curl --socks5 127.0.0.1:9050 https://api64.ipify.org- Open System Settings → Network → Proxies
- Enable Web Proxy (HTTP) and enter
127.0.0.1:8118 - Enable SOCKS Proxy and enter
127.0.0.1:9050 - Click OK
Note: When the system proxy is enabled, all network-aware apps on your Mac will attempt to route through Ghost Engine. If Ghost Engine is stopped, internet access will break until you disable the proxy.
If you prefer to route only your browser, configure the browser's manual proxy settings instead of the system proxy:
| Setting | Value |
|---|---|
| HTTP Proxy | 127.0.0.1:8118 |
| SOCKS Host | 127.0.0.1:9050 |
After configuring, visit https://check.torproject.org/ to confirm TOR routing.
- Ghost Engine uses its own runtime configuration for TOR and Privoxy rather than expecting you to configure them manually.
- If Homebrew is installed under Apple Silicon paths (
/opt/homebrew), the installer will automatically use that environment. - If you already use TOR or Privoxy for another purpose on your Mac, stop those services before running Ghost Engine to avoid port conflicts.
bash update.shbash uninstall.shTip: If you ever run into startup issues on macOS, run Ghost Engine’s built-in Health Check first. It’s the quickest way to confirm whether TOR, Privoxy, ports, and exit-node routing are working properly.
Ghost Engine runs inside WSL2 (Windows Subsystem for Linux) and provides a proxy that Windows apps and browsers can use.
If you don't have WSL2 set up yet:
- Open PowerShell as Administrator and run:
wsl --install -d Ubuntu
- Restart your machine when prompted
- Launch Ubuntu from the Start menu and complete the initial setup (username + password)
WSL2 is recommended. WSL1 may work but has different networking behavior.
git clone https://github.com/naborajs/Termux-Tor-IP-Rotator.git
cd Termux-Tor-IP-Rotatorsh bootstrap.sh installThe installer will:
- install TOR, Privoxy, curl, and netcat via
apt - disable the Ubuntu system TOR/Privoxy services (prevents port conflicts)
- install the
ns-ghostcommand into~/.local/bin - add
~/.local/binto your PATH if needed
ns-ghostIf the command is not found, open a new WSL terminal or run source ~/.bashrc.
On first launch, Ghost Engine will detect WSL and show the Windows proxy address you need in the next step.
WSL runs in a virtual network, so Windows cannot reach the proxy at 127.0.0.1. You need the WSL instance's IP address.
When Ghost Engine starts in WSL, it displays the correct proxy address at the top of the screen. It looks like:
🌐 Windows proxy address: 172.x.x.x:8118
You can also find it manually:
hostname -I | awk '{print $1}'- Open Windows Settings → Network & Internet → Proxy
- Enable Use a proxy server
- Enter the WSL IP address as the Address and
8118as the Port - Click Save
⚠ Do not use
127.0.0.1for the Windows proxy — that points to Windows itself, not WSL. Use the IP shown by Ghost Engine.
Open a browser in Windows and visit:
- https://check.torproject.org/ — should confirm you are using TOR
- https://api64.ipify.org/ — should show a TOR exit IP (different from your real IP)
- Proxy host changes between WSL restarts. Every time Windows restarts, WSL may get a new IP. Ghost Engine shows the correct address on startup.
- If Windows internet breaks after enabling the proxy, Ghost Engine may have stopped or the IP changed. Disable the Windows proxy, restart Ghost Engine in WSL, and re-enter the new address shown.
- Windows apps and browsers must be configured to use the proxy individually if you don't enable the system-wide proxy. Most browsers let you set a manual proxy in their network settings.
- System TOR/Privoxy services in Ubuntu are disabled by the installer to avoid port conflicts. If you use them for other purposes, re-enable them after stopping Ghost Engine.
- WSL1 vs WSL2: WSL1 does not have a separate network interface — in that case
127.0.0.1does work. But WSL2 is the default and recommended version.
cd Termux-Tor-IP-Rotator
sh bootstrap.sh updatecd Termux-Tor-IP-Rotator
sh bootstrap.sh uninstall🤖 Auto Debian/Ubuntu Installer (Optional but Cool)
For Debian/Ubuntu/Kali/Parrot/WSL2 users, you can create an auto installer:
Create a file called install_debian.sh:
nano install_debian.sh
Paste this inside:
#!/usr/bin/env bash set -e
echo "[*] Ghost Engine v5 — Auto Installer (Debian/Ubuntu)" echo
if ! command -v sudo >/dev/null 2>&1; then echo "[!] sudo not found. Please install sudo or run as root." exit 1 fi
echo "[*] Updating system..." sudo apt update -y && sudo apt upgrade -y
echo "[*] Installing dependencies (git, tor, privoxy, curl, netcat)..." sudo apt install -y git tor privoxy curl netcat || { echo "[!] Failed to install dependencies. Check your sources and try again." exit 1 }
if [ ! -d "$HOME/Termux-Tor-IP-Rotator" ]; then echo "[] Cloning repository..." git clone https://github.com/naborajs/Termux-Tor-IP-Rotator "$HOME/Termux-Tor-IP-Rotator" else echo "[] Repo already exists. Pulling latest changes..." cd "$HOME/Termux-Tor-IP-Rotator" git pull || true fi
cd "$HOME/Termux-Tor-IP-Rotator"
if [ -f "ns-ghost.sh" ]; then chmod +x ns-ghost.sh echo "[*] Running Ghost Engine..." ./ns-ghost.sh else echo "[!] ns-ghost.sh not found. Please check repository structure." exit 1 fi
echo echo "[✓] Ghost Engine setup finished. Enjoy staying anonymous 👻"
Save & exit, then:
chmod +x install_debian.sh
./install_debian.sh
This will:
Update your system
Install required packages
Clone/update the repo
Run ns-ghost.sh automatically
Once Ghost Engine is running, you can route apps, browsers, and CLI tools through its local TOR proxy.
To route your phone’s traffic through Ghost Engine:
- Open Settings → Wi-Fi
- Long-press your connected network → Modify network
- Expand Advanced options
- Set Proxy to Manual
Use:
| Field | Value |
|---|---|
| Hostname | 127.0.0.1 |
| Port | 8118 |
⚠ If Ghost Engine is off while your Android proxy is still enabled, internet access may stop working until you disable the proxy.
You can also route terminal tools through Ghost Engine directly.
HTTP proxy via Privoxy
curl --proxy http://127.0.0.1:8118 https://api64.ipify.orgSOCKS5 via TOR
curl --socks5 127.0.0.1:9050 https://api64.ipify.orgIf the returned IP is different from your normal ISP / mobile IP, your request is being routed through TOR.
After starting Ghost Engine, always verify that your traffic is actually being routed through the TOR network before using it for browsing, research, or testing.
curl --proxy http://127.0.0.1:8118 https://api64.ipify.orgcurl --socks5 127.0.0.1:9050 https://api64.ipify.orgIf Ghost Engine is working correctly, the IP returned above should be different from your real ISP / mobile / Wi-Fi IP.
You can compare your normal internet IP with your TOR-routed IP:
curl https://api64.ipify.orgcurl --proxy http://127.0.0.1:8118 https://api64.ipify.orgIf the two IPs are different, your request is being routed through TOR.
Open your browser after enabling Ghost Engine’s proxy and visit:
- TOR Check: https://check.torproject.org/
- IP Check: https://api64.ipify.org/
If everything is configured correctly:
- check.torproject.org should say that you are using TOR
- the IP shown in the browser should match the TOR IP shown inside Ghost Engine or the terminal verification commands
If you are using Ghost Engine inside WSL, make sure you use the HTTP proxy address shown by Ghost Engine’s startup screen inside Windows proxy settings.
Then verify in Windows:
-
Enable the manual proxy using the address shown by Ghost Engine
-
Open a browser in Windows
-
Visit:
If the site still shows your real IP, double-check that:
- Ghost Engine is still running in WSL
- the Windows proxy host and port match the values shown in the Ghost Engine startup guide
- no old proxy settings are still enabled
If any of these happen, traffic may not be routed through Ghost Engine:
- The IP shown is still your normal ISP / mobile IP
curl --proxy http://127.0.0.1:8118 ...fails to connect- Browser works normally even when Ghost Engine is stopped
check.torproject.orgsays you are not using TOR- The proxy is enabled, but Ghost Engine is not running
Use this simple 3-step check every time:
curl https://api64.ipify.org
curl --proxy http://127.0.0.1:8118 https://api64.ipify.org
curl --socks5 127.0.0.1:9050 https://api64.ipify.orgYou want:
- the first IP = your real IP
- the second / third IP = TOR exit IP
- the second and third IPs should usually match or both be TOR-routed
Tip: Ghost Engine’s built-in Health Check and Current IP screens are the fastest way to confirm that TOR, Privoxy, and exit-node routing are working properly.
Ghost Engine also includes a guided terminal experience with built-in help, platform-aware setup hints, and a workflow designed to keep installation and usage simple across Termux, Linux, macOS, and WSL2.
Ghost Engine documentation / guided terminal workflow preview
If Ghost Engine is not working as expected, use the table below to quickly identify the issue, understand the likely cause, and apply the recommended fix.
| Problem | Likely Reason / Root Cause | Recommended Fix |
|---|---|---|
| No internet after enabling proxy | Proxy is enabled, but Ghost Engine / TOR / Privoxy is not running, or the wrong proxy host was entered | Disable the proxy temporarily, start Ghost Engine again, and use the exact proxy host + port shown by Ghost Engine |
| WSL proxy kills Windows internet | Windows is using the wrong proxy address, or Ubuntu’s default Privoxy / TOR service conflicted with Ghost Engine | Re-run install.sh, let it disable conflicting system services, then use the proxy host shown in Ghost Engine’s WSL startup guide |
| TOR stuck at 5–20% bootstrapping | Slow internet, blocked relays, unstable network, or TOR cannot reach enough nodes | Wait longer, restart Ghost Engine, switch networks, or try using a VPN before TOR if your network blocks TOR relays |
| Same IP repeats after rotation | TOR reused the same exit relay, interval is too short, or exit pool is limited | Rotate again, increase the rotation interval, or let Ghost Engine restart the engine after duplicate threshold is reached |
| Auto-rotation shows duplicate IPs too often | TOR has not had enough time to build a fresh circuit, or the chosen country / network path keeps reusing exits | Increase the auto-rotation interval to 10–20 seconds and avoid rotating too aggressively |
privoxy: command not found in Termux |
Privoxy repository package is missing or not installed correctly | Run pkg update -y && pkg install tur-repo -y && pkg install privoxy -y |
tor: command not found |
TOR is not installed or the dependency installation failed | Re-run bash install.sh and make sure TOR installs successfully |
| Browser still shows your real IP | Browser is not using Ghost Engine’s proxy, or traffic is leaking through WebRTC / bypass settings | Make sure the browser is using the Ghost Engine proxy, test with check.torproject.org, and disable WebRTC if needed |
| Chrome still shows real IP | Chrome may bypass proxy in some cases or leak IP through WebRTC | Prefer Firefox for TOR proxy testing, or disable WebRTC / secure browser leaks before testing |
ns-ghost: command not found |
Installer was not run, installation failed, or PATH was not refreshed | Run bash install.sh from the repo root, then open a new terminal or reload your shell profile |
| Permission denied when running a script | The script does not have execute permission | Run chmod +x install.sh update.sh uninstall.sh ns-ghost.sh |
curl: (7) Failed to connect to 127.0.0.1 |
TOR / Privoxy is not running, the engine failed to start, or the port is wrong | Start Ghost Engine first and verify that TOR and Privoxy are listening on the configured ports |
| Port 8118 already in use | Another Privoxy instance or system service is already using the Ghost Engine HTTP proxy port | Stop the conflicting service, or re-run the installer so it disables system Privoxy / TOR services automatically |
| Port 9050 / 9051 already in use | Another TOR process is already running in the background | Kill the old TOR process or restart Ghost Engine after cleaning the old session |
| Ghost Engine says proxy is online but Windows browser still fails | Windows proxy settings still point to an old WSL IP or an old manual proxy entry | Disable the Windows proxy, restart Ghost Engine, and enter the new proxy address shown in the startup screen |
| Health Check fails exit node verification | TOR started, but the current circuit is not fully usable yet or outbound requests are blocked | Wait a few seconds, retry Health Check, or restart Ghost Engine and verify internet connectivity |
| Updater fails with git errors | Local repo has conflicts, no internet, or the repository was not cloned properly | Run git status, resolve local changes if needed, and retry bash update.sh from the Ghost Engine repo |
| Uninstaller removed the command but Ghost Engine data still exists | The data directory was intentionally kept during uninstall | Delete ~/.ns_ghost manually or run the uninstaller again and choose to remove Ghost Engine data |
| Ghost Engine works in terminal but not in apps | The application does not support manual proxy routing or ignores system proxy settings | Test first in a browser or terminal, then configure the app manually if it supports SOCKS5 / HTTP proxy settings |
Ghost Engine runs on Linux, macOS, WSL, and Termux — but shell scripts must have Unix (LF) line endings, not Windows (CRLF) line endings. Editing files on Windows and then running them on WSL/Linux can cause:
$'\r': command not found
invalid option name: pipefail
syntax error near unexpected token '{\r'
| Layer | Mechanism |
|---|---|
.gitattributes |
Forces LF line endings for all .sh files in the repository |
.editorconfig |
Guides editors to save shell files with LF |
bootstrap.sh |
Strips CR from all shell scripts before dispatching commands |
| Self-heal in each script | Every .sh file detects CRLF at startup and re-execs after cleaning |
| Installer CRLF fix | install.sh and update.sh clean CRLF before running further commands |
# Option 1 — use the bootstrap (recommended)
cd Termux-Tor-IP-Rotator
sh bootstrap.sh install
# Option 2 — manual fix for all shell scripts
find . -name '*.sh' -exec sh -c 'tr -d "\r" < "$1" > "$1.tmp" && mv "$1.tmp" "$1"' _ {} \;
# Option 3 — dos2unix (if installed)
find . -name '*.sh' -exec dos2unix {} +After fixing, run sh bootstrap.sh install again.
You should run install.sh again if:
- TOR or Privoxy is missing
- WSL / Linux is using a conflicting system TOR or Privoxy service
ns-ghostis not found after installation- the project was updated and your environment is broken
- dependencies were removed or partially installed
bash install.shCommon questions about Ghost Engine, TOR routing, privacy expectations, platform behavior, performance, and safe usage.
| Question | Answer |
|---|---|
| Does Ghost Engine make me completely anonymous? |
No. No privacy tool can honestly promise 100% anonymity.
Ghost Engine helps improve network privacy by routing traffic through TOR,
rotating visible exit IPs, and exposing SOCKS5 / HTTP proxy workflows.
Your privacy still depends on things like:
|
| What does Ghost Engine actually do? |
Ghost Engine is a terminal-based toolkit that helps you work with:
|
| Can I use a VPN together with Ghost Engine? |
Yes. A common setup is:
You → VPN → TOR (Ghost Engine) → Internet
That means your ISP sees a VPN connection, and TOR traffic goes out through the VPN. This can be useful in places where TOR traffic is blocked or monitored. Just remember the trade-offs:
|
| Will my internet speed or ping be worse? |
Yes — usually. TOR adds multiple encrypted relay hops, which means:
|
| Can I route my browser through Ghost Engine? |
Yes. Ghost Engine exposes:
On WSL, Ghost Engine also shows the Windows-side proxy address you should use if you want Windows apps or browsers to route through the WSL-hosted proxy. |
| Why does the same IP sometimes repeat after rotation? |
That can happen because TOR is not an infinite IP generator. A repeated IP does not automatically mean Ghost Engine is broken.
Reasons include:
|
| Can Ghost Engine force a new TOR IP every time? |
Not guaranteed. Ghost Engine can request a new TOR identity and rotate circuits,
but the final exit node chosen still depends on TOR’s network behavior.
So Ghost Engine can request and automate identity changes, but it cannot guarantee that every rotation will produce a totally unique public IP. |
| What’s the difference between the SOCKS5 proxy and the HTTP proxy? |
Ghost Engine gives you two common ways to route traffic:
|
| Does Ghost Engine change my entire system traffic automatically? |
No, not by itself. Ghost Engine provides proxy endpoints and rotation tooling.
Traffic only goes through Ghost Engine if:
|
| Can I use Ghost Engine on WSL? |
Yes. Ghost Engine supports WSL2, and the installer / startup flow is designed to help with the common WSL proxy issues.
In WSL, Ghost Engine can:
|
| Why does enabling the Windows proxy sometimes break internet in WSL setups? |
Usually one of these is happening:
|
| Can I use Ghost Engine on Android? |
Yes — through Termux. That is one of the main supported platforms.
The recommended setup is:
|
| Does Ghost Engine work on macOS and Linux too? |
Yes. Ghost Engine supports:
|
| How do I verify that TOR is actually working? |
A quick check is to compare your normal IP and your TOR-routed IP.
Real IP: curl https://api64.ipify.org
TOR IP through Ghost Engine: curl --proxy http://127.0.0.1:8118 https://api64.ipify.org
If those IPs are different, traffic is being routed through TOR. You can also verify in a browser with: |
| Why does Ghost Engine include both logs and a health check? |
Because proxy / TOR setups can fail in several different ways:
|
| Can I use Ghost Engine for illegal activity, abuse, or unauthorized access? |
No. Ghost Engine is intended for:
|
| Can I contribute to Ghost Engine? |
Absolutely. If you want to help improve Ghost Engine, you can:
|
Ghost Engine is an independent open-source project built through testing, debugging, experimentation, and a lot of iteration.
If it helps you, the best support is simple: star the repo, report bugs, suggest improvements, or open a pull request.
Please read our CODE_OF_CONDUCT.md before participating in issues, discussions, or pull requests.| ⭐ Support | 🛠 Contribute | 📬 Collaborate |
| Star the repo, share it, and give feedback | Fix bugs, improve docs, refine features, or polish the UX | Open an Issue or Pull Request and I’ll take a look at it |
| Cryptocurrency | Address |
|---|---|
| Bitcoin (BTC) | bc1q5zapes7euft2lrk7ylpwj90p8y4ctmadn285du |
✨ Even the smallest support means something —
not because of the money…
but because it tells me:
"Someone out there believes in this project."
Thank you for being here —
and thank you for keeping the Ghost alive 👻💙
Ghost Engine also includes a built-in project knowledge screen that introduces the framework, its purpose, platform support, privacy workflow, and core ideas directly inside the terminal UI.
Built-in project knowledge / “Know More About Ghost” terminal preview
Ghost Engine is built and maintained by
Naboraj Sarkar
also known online as Nishant Sarkar.
Developer • Builder • Creator • NS CODEX
| 🧠 Focus Areas | ⚙️ Project Style | 🌍 Ecosystem |
| Privacy Tools, Automation, Bots, Utility Projects | Terminal-first, Cross-platform, Practical, Experimental | Ghost Engine, NS GAMMING, NS CODEX |
If you find a bug, want to suggest a feature, or want to contribute to Ghost Engine, feel free to open an issue on GitHub or reach out through one of the platforms above.
Built with 💙 by Naboraj Sarkar • Open-source privacy tooling and terminal experiments
🏷 License
This project is licensed under the MIT License. You are free to use, modify, and redistribute — as long as proper credit is given.
PLEASE STAR ⭐ THE REPOSITORY
💙 Stay Anonymous
💙 Stay Secure
💙 Stay Ghost 👻
