Get all the acestream:// from multiple sites together into a single list, with Zeronet support.
10K+
A Python-based web scraping application that retrieves Acestream channel information and generates M3U playlists. Built using Flask, BeautifulSoup, and SQLAlchemy.
Pull and run the container:
docker pull pipepito/acestream-scraper:latest
docker run -d \
-p 8000:8000 \
-v "${PWD}/config:/app/config" \
--name acestream-scraper \
pipepito/acestream-scraper:latest
Access the setup wizard:
Open your browser and navigate to http://localhost:8000
The first-time setup wizard will guide you through configuration:
Alternative: Manual configuration
Create a config/config.json file:
{
"urls": [
"https://example.com/url1",
"https://example.com/url2"
],
"base_url": "http://127.0.0.1:8008/ace/getstream?id=",
"ace_engine_url": "http://127.0.0.1:6878"
}
The image includes an embedded Acestream engine with the Acexy proxy interface, which provides a user-friendly web UI:
docker run -d \
-p 8000:8000 \
-p 8080:8080 \
-e ENABLE_ACEXY=true \
-e ALLOW_REMOTE_ACCESS=yes \
-v "${PWD}/config:/app/config" \
--name acestream-scraper \
pipepito/acestream-scraper:latest
The Acexy web interface will be available at http://localhost:8080.
The application can scrape ZeroNet sites for channel information:
docker run -d \
-p 8000:8000 \
-p 43110:43110 \
-p 43111:43111 \
-v "${PWD}/config:/app/config" \
-v "${PWD}/zeronet_data:/app/ZeroNet/data" \
--name acestream-scraper \
pipepito/acestream-scraper:latest
docker run -d \
-p 8000:8000 \
-p 43110:43110 \
-p 43111:43111 \
-e ENABLE_TOR=true \
-v "${PWD}/config:/app/config" \
-v "${PWD}/zeronet_data:/app/ZeroNet/data" \
--name acestream-scraper \
pipepito/acestream-scraper:latest
Access the web interface at http://localhost:8000
The main dashboard provides:
Get the M3U playlist for your media player:
http://localhost:8000/playlist.m3uhttp://localhost:8000/playlist.m3u?refresh=trueTo use in your media player (like VLC):
The application provides OpenAPI/Swagger documentation:
http://localhost:8000/api/docsIf you enabled Acexy (recommended):
http://localhost:8080Configure through the setup wizard or directly in config.json:
urls: Array of URLs to scrape for Acestream channelsbase_url: Base URL format for playlist generation (e.g., acestream:// or http://localhost:6878/ace/getstream?id=)ace_engine_url: URL of your Acestream Engine instance (default: http://127.0.0.1:6878)rescrape_interval: How often to refresh URLs (in hours, default: 24)Acexy provides an enhanced proxy interface for Acestream, with a web UI for better management:
ENABLE_ACEXY: Set to true to enable Acexy and Acestream engine (default: false)ACEXY_LISTEN_ADDR: Address for Acexy to listen on (default: :8080)ALLOW_REMOTE_ACCESS: Set to yes to allow external connections (default: no)ACEXY_NO_RESPONSE_TIMEOUT: Timeout for Acestream responses (default: 15s)ACEXY_BUFFER_SIZE: Buffer size for data transfers (default: 5MiB)ACESTREAM_HTTP_PORT: Port for Acestream engine (default: 6878)The application verifies if channels are available:
To use this feature:
ace_engine_url to point to your Acestream Engine instance8000: Main web interface43110: ZeroNet web interface (if ZeroNet enabled)43111: ZeroNet transport port (if ZeroNet enabled)8080: Acexy web interface (if enabled)6878: Acestream HTTP API port (internal)When using Docker, mount these volumes:
/app/config: Configuration files/app/ZeroNet/data: ZeroNet data directory (if using ZeroNet)The application looks for a zeronet.conf file in the /app/config directory. If none exists, it creates one with default values:
[global]
ui_ip = *
ui_host =
0.0.0.0
localhost
ui_port = 43110
To customize ZeroNet access:
config/zeronet.conf:[global]
ui_ip = *
ui_host =
127.0.0.1
your.domain.com
localhost:43110
ui_port = 43110
docker run -d \
-p 8000:8000 \
-p 43110:43110 \
-v "${PWD}/config:/app/config" \
--name acestream-scraper \
pipepito/acestream-scraper:latest
ui_host for public accesslocalhost for local accessALLOW_REMOTE_ACCESS=no to restrict Acestream access to localhost onlyThe container includes health checking:
/health endpointContributions are welcome! Please fork the repository and create a pull request with your changes.
This project is licensed under the MIT License. See the LICENSE file for details.
Special thanks to the developers of Flask, BeautifulSoup, SQLAlchemy, and other dependencies used in this project.
Content type
Image
Digest
sha256:a5c25e416…
Size
435.3 MB
Last updated
about 1 year ago
docker pull pipepito/acestream-scraper:v1.3.04