Skip to content

About

Torrent stream server on bunny

Resources

Stars

1 star

Watchers

0 watching

Forks

 
 

Latest commit

 

History

2,717 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TorrServer Bunny — your server, your movie night. Illustrated start, connect and stop workflow.

A self-hosted TorrServer experience without renting a VPS.
Deploy on bunny.net Magic Containers, connect with Lampa, and control when the server runs.


Tests License GPL-3.0 Platforms: macOS and Linux Bunny Magic Containers Lampa playback confirmed by the project owner



Quick start  ·  Connect Lampa  ·  Pricing  ·  Documentation


🌍 Documentation

🇷🇺 Русский 🇬🇧 English 🇳🇱 Nederlands
Руководство пользователя → User guide → Gebruikershandleiding →
Установка · Lampa · Цены Setup · Lampa · Pricing Installatie · Lampa · Kosten

A personal streaming server, on your terms.

TorrServer Bunny is a deployment and control layer built around the open-source TorrServer by YouROK. Instead of maintaining a 24/7 VPS, you use a container on Bunny, a private HTTPS CDN address, and three simple terminal commands to manage it.

☁️ No VPS to manage

Runs in Bunny Magic Containers. Select one region; the installer handles the container, credentials and HTTPS endpoint.

📺 Built for Lampa

Copy the HTTPS CDN domain into Lampa's TorrServer settings. Your account gets its own login and generated password.

⏻ Start & stop on demand

Stop compute after a film. Start the same application again later, with its persistent configuration intact.

🔒 Access controlled

TorrServer login credentials are saved locally. The HTTPS endpoint uses authentication; the Bunny API key stays out of the container.

🧩 Optional peer networking

Enable a separately billed Anycast IPv4 endpoint for inbound BitTorrent TCP/UDP connections.

🕒 Optional idle watchdog

A scheduled GitHub Action can request a stop after 60+ minutes without media activity. Best effort, not a guaranteed timer.

🚀 Get started

FIRST-TIME SETUP · macOS / Linux · Python 3 + curl · Bunny account required

1. Open Terminal on your Mac or Linux computer. Copy and run:

curl -fsSL --retry 3 \
  https://raw.githubusercontent.com/vbrekher/TorrServer-bunny/master/install-bunny.sh \
  -o /tmp/install-torrserver-bunny.sh \
  && sh /tmp/install-torrserver-bunny.sh

2. Answer the guided setup questions. The wizard will ask for your private Bunny account API key, region (for example AMS or DE), a username and whether you want the optional paid Anycast peer port. It generates a password automatically. Type CREATE once to approve billable resources.

3. Get your private server address. After provisioning, run status and look for the HTTPS CDN URL. A valid example looks like https://mc-example.bunny.run. Use your own address, not this example.

Important

Setup creates paid Bunny resources. If you already have an app, do not run the setup wizard again. Go straight to the daily commands below.

Your everyday commands

ActionCommandWhat happens
🟢 Start~/.local/bin/torrserver-bunny startDeploys your existing server
🔍 Status~/.local/bin/torrserver-bunny statusChecks Bunny status and HTTPS URL
🔴 Stop~/.local/bin/torrserver-bunny stopStops running containers, not the saved app

Starting and stopping are asynchronous. Wait for active in status before expecting the stream to work. Opening Lampa will not automatically start a stopped container.

📺 Connect to Lampa

1. Find the HTTPS URLRun ~/.local/bin/torrserver-bunny status and copy the line TorrServer HTTPS CDN URL.
2. Retrieve credentials privatelyRun ~/.local/bin/torrserver-bunny status --show-credentials on your own computer.
3. Configure LampaOpen Lampa → Settings → TorrServer and enter the HTTPS CDN domain, username and password. Menu names may vary.
4. Try a test streamTest with a torrent that you are allowed to download and share. TV codec and torrent peer compatibility require real testing.

Warning

Do not use an Anycast IP ending in :32000 as your Lampa server URL. That is a BitTorrent peer port, not the HTTPS web endpoint. For Lampa, use the HTTPS CDN domain returned by status.

💸 What does a 50 GB movie cost?

An illustrative Blu-ray-size movie streamed over 3 hours to one viewer in Europe / North America, assuming one fully utilized CPU core and 1 GB of billed RAM for that period:

Usage Calculation Example
📡 50 GB outgoing video traffic 50 × $0.01/GB $0.50
⚙️ CPU for 3 hours 3 × $0.02/core-hour $0.06
🧠 RAM for 3 hours 3 × $0.005/GB-hour $0.015
Estimated session subtotal Network + assumed compute ≈ $0.58
💾 Persistent 1 GB configuration volume Monthly allocation ≈ $0.10 / month
🌐 Optional Anycast IPv4 Full-month allocation ≈ $2 / month

One such movie in a 30-day month, with resources retained all month:

Configuration Illustrative total
Without Anycast IP ≈ $0.68 / month
With an allocated Anycast IPv4 ≈ $2.68 / month

This is not a guaranteed bill. The session estimate excludes BitTorrent peer upload / seeding (potentially significant), extra or repeated traffic, additional applicable CDN charges, region-specific prices, taxes, other Bunny products and account minimums. CPU and RAM usage are assumptions, not measurements. stop stops compute, but allocated storage and Anycast can remain billable. Bunny rates and billing may change. Rates referenced as of 2 November 2026: Magic Containers · CDN pricing.

🕒 Automatic shutdown after 60 idle minutes

Start the server → watch a movie in Lampa → stop playback → let GitHub Actions shut down the idle container. The timer starts from the last tracked video activity, not from server startup. No extra software needs to stay running on your Mac after setup.

Simple instructions in your language:

🇷🇺 Русский 🇬🇧 English 🇳🇱 Nederlands
Автоотключение за 4 шага 4 steps to auto-stop Automatisch stoppen in 4 stappen

First-time setup (do this once)

1. Install and sign in to GitHub CLI (gh); use a GitHub repository you own containing .github/workflows/idle-watchdog.yml (fork this repository if necessary). Do not give your Bunny API key to a repository owned by someone else.

2. Start your existing Bunny app, play a short video in Lampa and check that the gateway has counted real media data:

~/.local/bin/torrserver-bunny activity

Tracked media bytes since container startup must be greater than 0. If it is 0, auto-stop must remain off; play a test stream since the current container startup and recheck.

3. Enable the scheduled watchdog on your own GitHub repository:

REPO="YOUR_USERNAME/TorrServer-bunny" # Replace with your own GitHub repo
gh auth status
~/.local/bin/torrserver-bunny enable-github-watchdog --repo "$REPO"
# Enter ENABLE when prompted. Continue ONLY if "Secrets installed" appears.
gh workflow enable idle-watchdog.yml -R "$REPO"
gh workflow run idle-watchdog.yml -R "$REPO"

The CLI securely sets four GitHub Actions repository secrets from your local configuration; do not paste secrets into README or GitHub source files. The manual workflow run is a connectivity check, not a forced shutdown.

4. After playback ends, leave the Bunny app running and avoid streaming for 60 minutes or more. Check the result:

gh run list --workflow idle-watchdog.yml -R "$REPO" -L 10
~/.local/bin/torrserver-bunny status

The log line IDLE_STOP_REQUESTED means shutdown was requested; State: inactive confirms Bunny actually stopped. A green GitHub Actions run can simply mean that the stop condition was not met. When Bunny is already inactive, the updated watchdog logs ALREADY_INACTIVE and exits without another stop. For noninteractive logs, pass the run ID: gh run view RUN_ID -R "$REPO" --log.

Important

GitHub checks approximately every 10 minutes, but scheduled runs may be delayed or skipped: this is not a guaranteed 60:00 timer. If no video has been tracked since this container started, the safety rule will not stop it automatically; use ~/.local/bin/torrserver-bunny stop. Lampa cannot restart a stopped container by itself. Persistent storage and allocated Anycast IP can still cost money. Real-world idle auto-stop verified on 4 Nov 2026: GitHub Actions run #41920393921 logged idle_minutes=91 and IDLE_STOP_REQUESTED; the owner confirmed Bunny State: inactive.

🔧 Advanced troubleshooting and useful commands
Situation What to do
Already installed Use start, status and stop — not setup.
Need your password ~/.local/bin/torrserver-bunny status --show-credentials (keep output private).
No HTTPS domain yet Check torrserver-https under Magic Containers → Endpoints in Bunny. Do not create another app.
Wrong IP address appears Update the CLI and run status; use the HTTPS CDN domain, not Anycast port 32000.
Creation returned HTTP 500 Do not retry CREATE blindly; run ~/.local/bin/torrserver-bunny doctor and check your Bunny dashboard.
Update the CLI without creating a server Run the installer with the status argument (see below).
curl -fsSL --retry 3 \
  https://raw.githubusercontent.com/vbrekher/TorrServer-bunny/master/install-bunny.sh \
  -o /tmp/install-torrserver-bunny.sh \
  && sh /tmp/install-torrserver-bunny.sh status

More detail: Technical deployment guide.

✅ Project status

Capability Verification
Real Magic Containers app created ✅ Confirmed from owner deployment on 2 November 2026
Application active, HTTPS CDN URL received ✅ Confirmed from Bunny API output
Python CLI and Go gateway ✅ Automated tests in GitHub Actions
Streaming through Lampa ✅ Playback confirmed by the project owner (4 Nov 2026); physical-device compatibility has not been independently audited
Scheduled 60-minute shutdown on live Bunny ✅ Verified: 91 idle minutes → stop requested → owner saw inactive (GitHub run)

Verification boundary: Lampa streaming is now owner-confirmed (4 Nov 2026). It is not an independent compatibility certification for every Samsung/Tizen device or format. A real 60-minute idle shutdown has been verified: GitHub requested undeploy after 91 tracked idle minutes, and the owner observed the container inactive. GitHub cron scheduling remains best-effort; one live pass does not guarantee every future scheduled run. This project does not provide or distribute movies, catalogs or copyrighted material.

❤️ Built on open source

A big thank-you to YouROK and all contributors to TorrServer.

TorrServer Bunny is an independent deployment and lifecycle layer built around their work. The original torrent engine, its upstream community and its license deserve clear recognition.

Original TorrServer · Lampa · Technical guide · GPL-3.0 License

Use only content you are legally entitled to access and share. This repository does not host any films or torrent catalog.

About

Torrent stream server on bunny

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages