Time to unsheathe your sword!
This is a Stremio addon that provides porn content from various websites:
- Videos (Movies): PornHub, RedTube, YouPorn, SpankWire and Porn.com
- Webcam streams (TV Channels): Chaturbate
- Adds a dedicated tab in Discover for each website
- Works in Stremio v4 and v3.6
- Supports Docker out of the box
- Caches results in memory or Redis
- Limits the number of concurrent requests to avoid overloading the sites
- Supports HTTPS proxy
- Configurable via environment variables
- Prints a nicely formatted status message when run
- The logo is dope 🗡💖
The addon is a web server that fetches video streams from the porn sites in response to requests from Stremio clients. It uses environment variables for configuration and includes a handful of npm scripts to run with or without Docker.
To install and quickly start the addon, do:
git clone https://github.com/naughty-doge/stremio-porn
cd stremio-porn
yarn # or `npm install`
yarn start # or `npm start`
By default the server starts on localhost:80
in development mode and doesn't announce itself to the Stremio addon tracker. To add the addon to Stremio, open its endpoint in the browser and click the Install button, or enter the URL in the app's Addons section.
In order for the addon to work publicly, the following environment variables must be set:
NODE_ENV
toproduction
STREMIO_PORN_ENDPOINT
to a public URL of the serverSTREMIO_PORN_ID
to a non-default value
Note: since this addon scrapes pages, it is recommended to run it behind a proxy and use Redis caching.
The code is written in ES7 and then transpiled with Babel. It is covered by a suite of Jest tests, and the staged files are automatically linted with ESLint. The transpiled files are included in the repository: this makes for quicker start and eases deployment to different environments such as Docker and Heroku.
Each of these scripts can be used with yarn <script>
or npm run <script>
:
start
launches the addonprod
setsNODE_ENV
toproduction
and launches the addondev
setsNODE_ENV
todevelopment
and launches the addon with node inspector activatedtest
to run tests with Jestbuild
builds the addon in thedist
dir (add-w
to watch)
docker-build
builds the Docker imagedocker-start
launches the addon in astremio-porn
Docker containerdocker-dev
setsNODE_ENV
todevelopment
and launches the addon in astremio-porn
Docker containerdocker-prod
setsNODE_ENV
toproduction
and launches the addon in astremio-porn
Docker containerdocker-stop
stops the Docker container
When run in Docker using these scripts, the variables from the current shell are passed to the Docker container.
To configure the addon, set the following environment variables before running it:
NODE_ENV
— when set toproduction
, the addon will announce its endpoint to the Stremio addon trackerSTREMIO_PORN_ID
— addon identifier, must be non-default in production mode (defaults tostremio_porn
)STREMIO_PORN_ENDPOINT
— base URL to use as the endpoint, must be public in production mode (defaults tohttp://localhost
)STREMIO_PORN_PORT
— port to listen to (defaults to80
)STREMIO_PORN_EMAIL
— email address that can be used to contact you (unset by default)STREMIO_PORN_PROXY
— HTTPS proxy address to route all the outbound requests to (unset by default)STREMIO_PORN_CACHE
— 0 to turn caching off, 1 to cache in memory, or a Redis URL (e.g.redis://example.com:6379
) to cache in Redis (defaults to 1)
The addon also respects environment variables commonly used by many hosting providers (e.g. Heroku):
PORT
— fallback forSTREMIO_PORN_PORT
EMAIL
— fallback forSTREMIO_PORN_EMAIL
HTTPS_PROXY
— fallback forSTREMIO_PORN_PROXY
REDIS_URL
— fallback forSTREMIO_PORN_CACHE