n9k cda687294e | ||
---|---|---|
LICENSES | ||
anonstream | ||
.gitignore | ||
README.md | ||
STREAMING.md | ||
app.py | ||
config.toml | ||
requirements.txt | ||
title.txt |
README.md
anonstream
Recipe for livestreaming over Tor
Repo
The canonical location of this repo is https://git.076.ne.jp/ninya9k/anonstream.
These mirrors also exist:
Setup
You must have Python 3.10 at a minimum.
Clone the repo:
git clone https://git.076.ne.jp/ninya9k/anonstream.git
cd anonstream
Install dependencies in a virtual environment:
python -m venv venv
source venv/bin/activate
python -m pip install -r requirements.txt
Before you run it might want to edit /config.toml:
-
secret_key
: used for cryptography, make it any long random string (e.g.$ dd if=/dev/urandom bs=16 count=1 | base64
) -
segments/directory
: directory containing stream segments, the default isstream/
in the project root -
title/file
: location of the stream title, the default istitle.txt
in the project root -
captcha/fonts
: locations of fonts for the captcha, leaving it blank will use the default font
Run it:
python -m uvicorn app:app --port 5051
This will start a webserver listening on localhost port 5051.
If you go to http://localhost:5051
in a regular web browser now
you should see the interface. When you started the webserver some
credentials were printed in the terminal; you can log in with those at
http://localhost:5051/login
(requires cookies).
The only things left are (1) streaming, and (2) letting other people access your stream. /STREAMING.md has instructions for setting up OBS Studio and a Tor onion service. The instructions will be useful even if you want to use different streaming software and put your stream on the Internet some other way.
Copying
anonstream is AGPL 3.0 or later, see /LICENSES/AGPL-3.0-or-later.md.
Assets
- /anonstream/static/settings.svg: setting by ulimicon is licensed under CC BY 3.0.
Dependencies
-
aiofiles https://github.com/Tinche/aiofiles (Apache 2.0)
-
itsdangerous https://github.com/pallets/itsdangerous/ (BSD 3-Clause)
-
quart https://gitlab.com/pgjones/quart (MIT)
-
toml https://github.com/uiri/toml (MIT)
-
werkzeug https://github.com/pallets/werkzeug (BSD 3-Clause)