All Projects → kpcyrd → narnia

kpcyrd / narnia

Licence: GPL-3.0 License
🚧 EXPERIMENTAL 🚧 Secure hidden service webserver

Programming Languages

rust
11053 projects
Dockerfile
14818 projects
HTML
75241 projects

Projects that are alternatives of or similar to narnia

oniontree
A repository of Tor hidden services.
Stars: ✭ 45 (+87.5%)
Mutual labels:  tor, onion, darknet, hidden-services
Freshonions Torscraper
Fresh Onions is an open source TOR spider / hidden service onion crawler hosted at zlal32teyptf4tvi.onion
Stars: ✭ 348 (+1350%)
Mutual labels:  tor, onion, darknet
osint-notes
Good info about DeepWeb and OSINT
Stars: ✭ 24 (+0%)
Mutual labels:  darknet, hidden-services, deepweb
haskell-ricochet
(WIP/Experimental) Ricochet implementation as Haskell Library.
Stars: ✭ 22 (-8.33%)
Mutual labels:  tor, onion-service, hidden-service
thedevilseye
The Devils Eye is an OSINT tool that extracts onion links and descriptions that match with the users query from the Darkweb, without requiring the use for Tor.
Stars: ✭ 100 (+316.67%)
Mutual labels:  tor, darknet, deepweb
OrionServer
An open-source, centralized HTTPS botnet
Stars: ✭ 58 (+141.67%)
Mutual labels:  hosting, tor, tor-hidden-services
Hosting
This is a setup for a Tor based shared web hosting server
Stars: ✭ 254 (+958.33%)
Mutual labels:  hosting, tor, onion
ansible-role-tor
✳️🛡️ Securely build a system Tor and optionally configure numerous high-security Onion services.
Stars: ✭ 22 (-8.33%)
Mutual labels:  tor, onion-service, hidden-services
torgo
A Golang library for Tor.
Stars: ✭ 36 (+50%)
Mutual labels:  tor, hidden-service, onion
onionjuggler
Manage your Onion Services via CLI or TUI on Unix-like operating system with a POSIX compliant shell.
Stars: ✭ 31 (+29.17%)
Mutual labels:  tor, onion-service, hidden-service
TORhunter
Designed to scan and exploit vulnerabilities within Tor hidden services. TORhunter allows most tools to work as normal while resolving .onion
Stars: ✭ 47 (+95.83%)
Mutual labels:  tor, onion, deepweb
Attacks-on-Tor
Thirteen Years of Tor Attacks
Stars: ✭ 170 (+608.33%)
Mutual labels:  tor, onion, hidden-services
onionbox
Send and receive files securely through Tor.
Stars: ✭ 39 (+62.5%)
Mutual labels:  tor, onion-service
docker-tor
TOR Server Docker image
Stars: ✭ 32 (+33.33%)
Mutual labels:  tor, hidden-service
mkonion
A simple way to create a Tor onion service for existing Docker containers.
Stars: ✭ 81 (+237.5%)
Mutual labels:  tor, onion-service
tordam
A library for peer discovery inside the Tor network
Stars: ✭ 13 (-45.83%)
Mutual labels:  tor, hidden-service
onionshare-android
Android version of OnionShare (under development)
Stars: ✭ 31 (+29.17%)
Mutual labels:  tor, onion-service
ormesh
[UNMAINTAINED: Try https://github.com/cmars/oniongrok instead] onion-routed mesh
Stars: ✭ 65 (+170.83%)
Mutual labels:  tor, hidden-services
vDroid
official re-designed Android wallet 📳
Stars: ✭ 14 (-41.67%)
Mutual labels:  tor, onion
T0rlib4Android
A minimal android controller library for Tor
Stars: ✭ 25 (+4.17%)
Mutual labels:  tor, hidden-services

narnia

narnia is a fast static webserver specifically designed for Tor hidden services. It's also able to spawn a Tor thread and expose itself as a hidden service, simply by setting an additional commandline option.

narnia is hosting a mirror of its own source code on http://3wisi2bfpxplne5wlwz4l5ucvsbaozbteaqnm62oxzmgwhb2qqxvsuyd.onion/.

# Start the http server and serve files in www/
narnia -B '[::1]:1337' -w www/
# Serve www/ and enable directory listing
narnia -B '[::1]:1337' -Lw www/
# Serve www/ on a unix domain socket
# The path needs to start with either . or /
narnia -B ./narnia.sock -w www/
# Serve www/ on a hidden service
# The hidden service address is in `data/hs/hostname`
narnia -D data/ -w www/
# Serve www/ but chroot into it beforehand, verbose logs
narnia -vv -B '[::1]:1337' -w / -C www/

Comparison of http response headers

narnia

< HTTP/1.1 200 OK
< content-length: 1337
< accept-ranges: bytes
< date: Thu, 01 Jan 1970 00:00:00 GMT
< content-type: text/html; charset=utf-8
< x-content-type-options: nosniff
< referrer-policy: no-referrer

onionshare

< HTTP/1.0 200 OK
< Content-Type: text/html; charset=utf-8
< Content-Length: 1337
< X-Frame-Options: DENY
< X-Xss-Protection: 1; mode=block
< X-Content-Type-Options: nosniff
< Referrer-Policy: no-referrer
< Server: OnionShare
< Content-Security-Policy: default-src 'self'; style-src 'self'; script-src 'self'; img-src 'self' data:;
< Date: Mon, 05 Apr 2021 19:08:54 GMT

nginx

< HTTP/1.1 200 OK
< Server: nginx
< Date: Mon, 05 Apr 2021 19:04:42 GMT
< Content-Type: text/html
< Content-Length: 1337
< Last-Modified: Mon, 05 Apr 2021 19:04:33 GMT
< Connection: keep-alive
< ETag: "606b5f41-539"
< Accept-Ranges: bytes

Static binary

Linux

sudo pacman -S musl
rustup target add x86_64-unknown-linux-musl
cargo build --release --target x86_64-unknown-linux-musl --features=vendored
strip target/x86_64-unknown-linux-musl/release/narnia
ldd target/x86_64-unknown-linux-musl/release/narnia

Windows

pacman -S mingw-w64
rustup target add x86_64-pc-windows-gnu
cargo build --release --target x86_64-pc-windows-gnu --features=vendored
x86_64-w64-mingw32-strip target/x86_64-pc-windows-gnu/release/narnia.exe
file target/x86_64-pc-windows-gnu/release/narnia.exe

Building

OpenBSD

You need to install rust, autoconf and automake. You're getting asked for a version, select the latest one and take note of the first two numbers of the version. You can look this up with pkg_info if you forget them. This example output is from OpenBSD 6.8.

$ doas pkg_add autoconf automake
quirks-3.442 signed on 2021-04-08T13:45:25Z
Ambiguous: choose package for autoconf
a	0: <None>
	1: autoconf-2.13p4
	2: autoconf-2.52p6
	3: autoconf-2.54p6
	4: autoconf-2.56p5
	5: autoconf-2.57p5
	6: autoconf-2.58p5
	7: autoconf-2.59p5
	8: autoconf-2.60p5
	9: autoconf-2.61p5
	10: autoconf-2.62p2
	11: autoconf-2.63p1
	12: autoconf-2.64p1
	13: autoconf-2.65p1
	14: autoconf-2.67p1
	15: autoconf-2.68p1
	16: autoconf-2.69p3
Your choice: 16
autoconf-2.69p3:metaauto-1.0p4: ok
autoconf-2.69p3: ok
Ambiguous: choose package for automake
a	0: <None>
	1: automake-1.4.6p5
	2: automake-1.8.5p9
	3: automake-1.9.6p12
	4: automake-1.10.3p9
	5: automake-1.11.6p3
	6: automake-1.12.6p2
	7: automake-1.13.4p2
	8: automake-1.14.1p1
	9: automake-1.15.1
	10: automake-1.16.2
Your choice: 10
automake-1.16.2: ok

Next, pass the versions to cargo build:

AUTOCONF_VERSION=2.69 AUTOMAKE_VERSION=1.16 cargo build

Alpine

doas apk add make autoconf automake openssl-dev

License

GPLv3+

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].