Skip to content

neozmmv/Lighthouse

Repository files navigation

Lighthouse Logo

Lighthouse

A temporary file-receiving station hosted on the Tor network. Run it, share your .onion address, receive files, shut it down.

Concept

Lighthouse removes the usual friction from receiving files from someone:

  • No port forwarding
  • No cloud storage accounts
  • No server setup
  • No file size limits

You spin it up, Tor creates a hidden service and gives you an .onion address. You share that address with whoever needs to send you files. They open it in Tor Browser, upload the file, you download it. Done. Shut it down.

How it works

Sender (Tor Browser) --> .onion address --> Tor network --> Lighthouse (your machine)

Tor's hidden service acts as the networking layer, so your machine is reachable without a public IP or open ports.

Stack

  • Frontend — React + TypeScript (Vite, TanStack Router, Tailwind CSS)
  • Backend — Python (FastAPI), proxied at /api/
  • Transport — Tor hidden service

Usage

Prerequisites: Docker and Docker Compose.

Start

sudo docker compose up -d

Get your .onion address

sudo docker exec lighthouse-tor cat /var/lib/tor/hidden_service/hostname

Lighthouse will spin up the frontend, backend, storage, and Tor hidden service.

Share the .onion address with the sender and wait for the file to arrive.

Access localhost on your browser to be able to go to the /files route and download your file.

You can access the MinIO Panel on http://localhost:9001.

By default, the access is "lighthouse" and password "lighthouse_secret". You can change these values by creating a .env file on the project root with these values:

MINIO_ROOT_USER=yourUser
MINIO_ROOT_PASSWORD=yourPassword

This route is inaccessible outside your localhost, so only you have access to your files.

Stop

sudo docker compose down

Project structure

lighthouse/
├── backend/      # Python API
└── frontend/     # React app

For development

For getting development dependencies:

sudo docker compose -f docker-compose.dev.yml up -d

or

sudo docker compose -f docker-compose.dev.yml up -d --build

Front-end:

cd frontend
npm install
npm run dev

Back-end:

cd backend/app
python -m venv env
source ./env/bin/activate
pip install -r requirements.txt
fastapi dev main.py --host 0.0.0.0

About

A temporary file-receiving station hosted on the Tor network.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors