VeilNode is a lightweight Python tool for hosting static websites as Tor hidden services with minimal configuration. It works on Linux, macOS, Windows, and Termux (Android).
Created by suadatbiniqbal.
VeilNode simplifies the process of publishing static content on the Tor network. It automatically communicates with Tor's control port, creates a hidden service, and serves a local directory as a .onion website.
It is designed for developers, privacy researchers, and users who want a simple, clean way to deploy static sites over Tor without complex configuration.
pkg update && pkg install -y tor python git && git clone https://github.com/suadatbiniqbal/VeilNode.git && cd VeilNode && pip install stem && mkdir -p $PREFIX/etc/tor && echo -e "ControlPort 9051
CookieAuthentication 0" > $PREFIX/etc/tor/torrc && tor & sleep 15 && pip install -e . && veilnode --sampleDownload the installer:
curl -O https://raw.githubusercontent.com/suadatbiniqbal/VeilNode/main/install_termux.shMake it executable:
chmod +x install_termux.shRun the installer:
./install_termux.shsudo apt update
sudo apt install -y tor git python3-pip
sudo systemctl start tor
git clone https://github.com/suadatbiniqbal/VeilNode.git
cd VeilNode
sudo bash -c 'echo -e "ControlPort 9051
CookieAuthentication 0" >> /etc/tor/torrc'
sudo systemctl restart tor
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
pip install -e .
veilnode --samplebrew install tor git
brew services start tor
git clone https://github.com/suadatbiniqbal/VeilNode.git
cd VeilNode
echo -e "ControlPort 9051
CookieAuthentication 0" >> /usr/local/etc/tor/torrc
brew services restart tor
pip3 install -r requirements.txt
pip3 install -e .
veilnode --sample- Install Python 3.
- Install Tor Browser from the official Tor Project website.
- Keep Tor Browser running.
- Clone the repository and install dependencies:
git clone https://github.com/suadatbiniqbal/VeilNode.git
cd VeilNode
pip install -r requirements.txt
pip install -e .
veilnode --samplegit clone https://github.com/suadatbiniqbal/VeilNode.git
cd VeilNodeOr download the ZIP archive and extract it.
Termux:
pkg update
pkg install tor python gitLinux:
sudo apt update
sudo apt install tor python3-pipmacOS:
brew install torWindows: Install Tor Browser and keep it running.
Add the following lines to your torrc file:
ControlPort 9051
CookieAuthentication 0
Restart Tor after saving the configuration.
pip install -r requirements.txt
pip install -e .Recommended (Linux/macOS):
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
pip install -e .veilnode --sampleveilnode --sample # Launch demo site
veilnode . # Host current directory
veilnode /path/to/site # Host custom directory
veilnode --sample -p 9000 # Custom local port
veilnode --sample -t 9151 # Custom Tor control port
veilnode ~/my-site -p 8888 # Custom site with custom port
veilnode build/ # Host React/Vue build directory
veilnode --help # Display help informationTo host multiple sites, run separate instances in different terminals using different ports.
mkdir ~/my-onion-site
cd ~/my-onion-site
veilnode .Create a structured directory with HTML, CSS, and assets, then run:
veilnode .For frameworks such as React:
npm run build
veilnode build/VeilNode/
├── veilnode/
│ ├── __init__.py
│ ├── core.py
│ ├── server.py
│ ├── config.py
│ ├── ui.py
│ └── cli.py
├── examples/
│ └── sample_site/
│ └── index.html
├── requirements.txt
├── setup.py
└── README.md
- Minimal configuration required
- Automatic Tor control authentication
- Built-in sample site
- Custom port support
- Cross-platform compatibility
- Clean terminal interface
- Static site hosting support
- Avoid publishing personal information.
- Keep VeilNode running to maintain your .onion address.
- Use Tor Browser to access hidden services.
- Test locally before sharing links.
This project is licensed under the MIT License.
VeilNode is provided for educational and legitimate use only. Users are solely responsible for ensuring compliance with applicable laws and regulations in their jurisdiction.