Replace remote with local repo
This commit is contained in:
130
ONION-URLS.md
130
ONION-URLS.md
@@ -1,13 +1,13 @@
|
||||
# CyberLux — Onion URL Reference
|
||||
|
||||
All 43 Tor v3 hidden services. Live `.onion` addresses are generated at runtime by Tor and stored in `/var/lib/tor/<service>/hostname`. This file is a **static registry**; use the commands below to resolve live addresses.
|
||||
CyberLux now uses one Tor v3 hidden service for the whole site. The live `.onion` address is generated at runtime by Tor and stored in `/var/lib/tor/cyberlux/hostname`. This file is a **static registry**; use the commands below to resolve the live address.
|
||||
|
||||
---
|
||||
|
||||
## Get Live URLs
|
||||
|
||||
```bash
|
||||
# Print all live .onion URLs (reads /var/lib/tor/*/hostname)
|
||||
# Print the live .onion URL (reads /var/lib/tor/cyberlux/hostname)
|
||||
bash scripts/list-onion-urls.sh
|
||||
# or with sudo if not readable as your user:
|
||||
sudo bash scripts/list-onion-urls.sh
|
||||
@@ -22,49 +22,7 @@ sudo bash scripts/export-onion-urls.sh
|
||||
|
||||
| # | `torDir` | Port | Role | App Path |
|
||||
|---|----------|------|------|----------|
|
||||
| 1 | `cyberlux` | 8080 | Hub — main storefront | `/` |
|
||||
| 2 | `cyberlux_forum` | 8081 | Void Aggregate — forum | `/forum` |
|
||||
| 3 | `cyberlux_exchange` | 8082 | Classifieds exchange | `/exchange` |
|
||||
| 4 | `cyberlux_wiki` | 8083 | Hidden-wiki layer | `/hidden-wiki` |
|
||||
| 5 | `cyberlux_market` | 8084 | Full catalog / market | `/market` |
|
||||
| 6 | `cyberlux_barter` | 8085 | Ash Pit barter | `/barter` |
|
||||
| 7 | `cyberlux_chatter` | 8086 | Chatter / live feed | `/chatter` |
|
||||
| 8 | `cyberlux_search` | 8087 | Void Crawler search | `/search` |
|
||||
| 9 | `cyberlux_syndicate` | 8088 | Shell network syndicate | `/syndicate` |
|
||||
| 10 | `cyberlux_arb_academy` | 8089 | Arb Academy | `/arb-academy` |
|
||||
| 11 | `cyberlux_reviews` | 8090 | Reviews | `/reviews` |
|
||||
| 12 | `cyberlux_trust` | 8091 | Trust / reputation layer | `/trust` |
|
||||
| 13 | `cyberlux_vault` | 8092 | Vault / secure storage | `/vault` |
|
||||
| 14 | `cyberlux_messages` | 8093 | Private messages | `/messages` |
|
||||
| 15 | `cyberlux_drop_box` | 8094 | Drop Box | `/drop-box` |
|
||||
| 16 | `cyberlux_easter_eggs` | 8095 | Easter Eggs | `/easter-eggs` |
|
||||
| 17 | `cyberlux_links` | 8096 | Curated links | `/links` |
|
||||
| 18 | `cyberlux_red_room` | 8097 | Red Room | `/red-room` |
|
||||
| 19 | `cyberlux_drops` | 8098 | Drops | `/drops` |
|
||||
| 20 | `cyberlux_inner_circle` | 8099 | Inner Circle | `/inner-circle` |
|
||||
| 21 | `cyberlux_comparison` | 8100 | Comparison tool | `/comparison` |
|
||||
| 22 | `cyberlux_testimonials` | 8101 | Testimonials | `/testimonials` |
|
||||
| 23 | `cyberlux_wallets` | 8102 | Wallets | `/wallets` |
|
||||
| 24 | `cyberlux_support` | 8103 | Support desk | `/support` |
|
||||
| 25 | `cyberlux_darknet_atlas` | 8104 | Darknet Atlas taxonomy | `/darknet-atlas` |
|
||||
| 26 | `cyberlux_security_analysis` | 8105 | Security analysis | `/security-analysis` |
|
||||
| 27 | `cyberlux_mixer` | 8106 | Mixer | `/mixer` |
|
||||
| 28 | `cyberlux_secret_layer` | 8107 | Secret Layer | `/secret-layer` |
|
||||
| 29 | `cyberlux_trees` | 8108 | Trees | `/trees` |
|
||||
| 30 | `cyberlux_presswire` | 8109 | Presswire / news | `/presswire` |
|
||||
| 31 | `cyberlux_awards` | 8110 | Awards | `/awards` |
|
||||
| 32 | `cyberlux_raffle` | 8111 | Raffle | `/raffle` |
|
||||
| 33 | `cyberlux_game` | 8112 | Game | `/game` |
|
||||
| 34 | `cyberlux_webring` | 8113 | Webring | `/webring` |
|
||||
| 35 | `cyberlux_conspiracies` | 8114 | Conspiracies | `/conspiracies` |
|
||||
| 36 | `cyberlux_sanctuary` | 8115 | Sanctuary | `/sanctuary` |
|
||||
| 37 | `cyberlux_dashboard` | 8116 | Personal relay dashboard | `/dashboard` |
|
||||
| 38 | `cyberlux_checkout` | 8117 | Checkout flow | `/checkout` |
|
||||
| 39 | `cyberlux_vendors` | 8118 | Vendors | `/vendors` |
|
||||
| 40 | `cyberlux_sign_in` | 8119 | Sign in | `/sign-in` |
|
||||
| 41 | `cyberlux_sign_up` | 8120 | Sign up | `/sign-up` |
|
||||
| 42 | `cyberlux_account` | 8121 | Account / mirror map | `/account` |
|
||||
| 43 | `cyberlux_w` | 8122 | Shadow nodes / syndicate shell | `/w` |
|
||||
| 1 | `cyberlux` | 8080 | Everything site — hub, market, forum, directory, wiki, account, and all app paths | `/directory` |
|
||||
|
||||
---
|
||||
|
||||
@@ -77,16 +35,16 @@ sudo bash scripts/export-onion-urls.sh
|
||||
# writes: onion-urls.txt
|
||||
```
|
||||
|
||||
`onion-urls.txt` (if present in this directory) contains the resolved `http://…56chars….onion` addresses for all services and is gitignored — it reflects runtime state, not source.
|
||||
`onion-urls.txt` (if present in this directory) contains the resolved `http://…56chars….onion` address and is gitignored — it reflects runtime state, not source.
|
||||
|
||||
---
|
||||
|
||||
## How Addresses Stay Stable
|
||||
|
||||
Each service maps to a fixed `HiddenServiceDir` in `/var/lib/tor/`. As long as:
|
||||
The service maps to a fixed `HiddenServiceDir` in `/var/lib/tor/`. As long as:
|
||||
|
||||
- the `torDir` name in `scripts/onion-nodes.json` does not change, and
|
||||
- `/var/lib/tor/<service>/` is preserved (or restored from backup),
|
||||
- the `torDir` name in `scripts/onion-nodes.json` stays `cyberlux`, and
|
||||
- `/var/lib/tor/cyberlux/` is preserved (or restored from backup),
|
||||
|
||||
the `.onion` address **never rotates**, surviving reboots, rebuilds, and Tor restarts.
|
||||
|
||||
@@ -99,9 +57,79 @@ sudo bash scripts/restore-onion-keys.sh # restores missing dirs from backup
|
||||
|
||||
---
|
||||
|
||||
## Vanity .onion (custom prefix, e.g. site name at the start)
|
||||
|
||||
v3 onion names are random unless you **generate** a key pair whose address matches a **prefix** (brute force). This repo ships scripts around **[mkp224o](https://github.com/cathugger/mkp224o)** (same approach as the [Tor community vanity guide](https://community.torproject.org/onion-services/advanced/vanity-addresses/)).
|
||||
|
||||
**Charset:** Onion v3 hostnames are base32: **a–z** and **2–7** only (no `0`, `1`, `8`, `9`). Any other character in the filter is invalid.
|
||||
|
||||
**Time:** Shorter prefixes finish sooner; each extra character is much harder. Treat long targets (e.g. full word) as a **long** CPU run or use many cores / a batch-capable build per mkp224o’s `OPTIMISATION.txt`.
|
||||
|
||||
### 1) Build the miner (once)
|
||||
|
||||
```bash
|
||||
# Debian/Ubuntu deps (as root)
|
||||
sudo apt install -y git gcc make autoconf pkg-config libc6-dev libsodium-dev
|
||||
|
||||
cd /path/to/cyberlux
|
||||
bash scripts/mkp224o-build.sh
|
||||
# produces: vendor/mkp224o/mkp224o
|
||||
```
|
||||
|
||||
`vendor/mkp224o` is gitignored; nothing is committed except these scripts.
|
||||
|
||||
**Docker alternative (no local compile):**
|
||||
|
||||
```bash
|
||||
export CYBERLUX_MKP224O_DOCKER=1
|
||||
export CYBERLUX_VANITY_OUT="/path/to/cyberlux/var/vanity-mine"
|
||||
mkdir -p "$CYBERLUX_VANITY_OUT"
|
||||
bash scripts/vanity-onion-mine.sh yourprefix
|
||||
```
|
||||
|
||||
(Requires Docker; uses `ghcr.io/cathugger/mkp224o:master`.)
|
||||
|
||||
### 2) Mine a prefix (runs until a match appears)
|
||||
|
||||
```bash
|
||||
bash scripts/vanity-onion-mine.sh cyberl
|
||||
# Output directory: var/vanity-mine/ (default) — gitignored
|
||||
```
|
||||
|
||||
You get a new subdirectory named like `cyberlXXXXXXXX.onion` containing `hs_ed25519_secret_key` and `hostname`. **Stop the miner** when you have a directory you are happy with if it created more than one.
|
||||
|
||||
### 3) Install the key for CyberLux and restart Tor
|
||||
|
||||
`HiddenServiceDir` in this project is `/var/lib/tor/cyberlux` (from `onion-nodes.json`). The install script copies the **files** from the mkp224o folder into that directory, fixes ownership, and restarts Tor.
|
||||
|
||||
```bash
|
||||
# If var/vanity-mine has several *.onion folders, the script picks one for you
|
||||
# (default: first in A–Z order). Newest mtime: CYBERLUX_VANITY_PICK=latest
|
||||
sudo bash scripts/install-vanity-onion-key.sh var/vanity-mine
|
||||
sudo env CYBERLUX_VANITY_PICK=latest bash scripts/install-vanity-onion-key.sh var/vanity-mine
|
||||
|
||||
# Or point at one directory explicitly:
|
||||
sudo bash scripts/install-vanity-onion-key.sh var/vanity-mine/cyberlxxxxx....onion
|
||||
```
|
||||
|
||||
The previous service directory is moved to `/var/lib/tor/cyberlux.stale.<timestamp>`. A backup is triggered when `backup-onion-keys.sh` is present.
|
||||
|
||||
### 4) Confirm the new URL
|
||||
|
||||
```bash
|
||||
bash scripts/list-onion-urls.sh
|
||||
# or
|
||||
sudo cat /var/lib/tor/cyberlux/hostname
|
||||
```
|
||||
|
||||
Open `http://<address>.onion` in **Tor Browser**.
|
||||
|
||||
---
|
||||
|
||||
## Notes
|
||||
|
||||
- All services run from **one** Next.js instance at `127.0.0.1:3000`.
|
||||
- nginx vhosts on `127.0.0.1:8080–8122` proxy to Next with `X-Cyberlux-Node` headers for host-aware routing.
|
||||
- The service runs from **one** Next.js instance at `127.0.0.1:3000`.
|
||||
- nginx on `127.0.0.1:8080` proxies every path to Next.
|
||||
- Open addresses in **Tor Browser** or **Onion Browser** (iOS). Standard browsers cannot resolve `.onion`.
|
||||
- Use `http://` — TLS inside the onion circuit is handled end-to-end by Tor.
|
||||
- A vanity prefix is **not** “configured” in `torrc`; only the private key in `HiddenServiceDir` determines the hostname.
|
||||
|
||||
Reference in New Issue
Block a user