├── Dockerfile ├── README.md ├── start.sh └── supervisord.conf /Dockerfile: -------------------------------------------------------------------------------- 1 | # Set the base image to use to Ubuntu 2 | FROM ubuntu:12.04 3 | 4 | MAINTAINER Igor Katson 5 | 6 | RUN apt-get update -y 7 | RUN DEBIAN_FRONTEND=noninteractive apt-get install -y wget supervisor unzip ca-certificates 8 | 9 | RUN echo 'deb http://repo.acestream.org/ubuntu/ precise main' > /etc/apt/sources.list.d/acestream.list 10 | RUN wget -q -O - http://repo.acestream.org/keys/acestream.public.key | apt-key add - 11 | RUN DEBIAN_FRONTEND=noninteractive apt-get update -y 12 | 13 | RUN DEBIAN_FRONTEND=noninteractive apt-get install -y acestream-engine vlc-nox python-gevent 14 | 15 | RUN mkdir -p /var/run/sshd 16 | RUN mkdir -p /var/log/supervisor 17 | 18 | RUN adduser --disabled-password --gecos "" tv 19 | 20 | RUN cd /tmp/ && wget https://github.com/ValdikSS/aceproxy/archive/6dff4771c3.zip -O master.zip 21 | RUN cd /tmp/ && unzip master.zip -d /home/tv/ 22 | RUN mv /home/tv/aceproxy-* /home/tv/aceproxy-master 23 | 24 | RUN echo 'root:password' |chpasswd 25 | 26 | ADD supervisord.conf /etc/supervisor/conf.d/supervisord.conf 27 | ADD start.sh /start.sh 28 | RUN chmod +x /start.sh 29 | 30 | EXPOSE 22 8000 62062 31 | 32 | ENTRYPOINT ["/start.sh"] 33 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Docker-TTV 2 | ========== 3 | 4 | A docker image to run aceengine + aceproxy, e.g. to watch Torrent-TV.ru. 5 | 6 | As a result, you will be able to watch AceStream live content without having AcePlayer and other dependencies installed locally. 7 | 8 | Perfect for XBMC (even on Raspberry PI), Mac OSX, where AceStream in unavailable, or hard/expensive to launch. 9 | 10 | TorrentTV's "local-ts-proxy" thing, which does the same, sucks cause it's windows-only, very buggy, and vendor locked-in. Aceproxy works better, is simpler, and can also handle other acestream content. 11 | 12 | 13 | Installation 14 | ------------ 15 | 16 | First, install docker into your system. Read about it here: https://www.docker.io/gettingstarted/ 17 | 18 | Then just do something like this, to launch a proxy for Torrent-TV: 19 | 20 | 1. Build the image. 21 | ``` 22 | docker build -t ikatson/aceproxy git://github.com/ikatson/docker-acestream-proxy.git 23 | ``` 24 | OR download the binary one, this is faster 25 | ``` 26 | docker pull ikatson/aceproxy:latest 27 | ``` 28 | 29 | 2. Run the TorrentTV proxy with your key. 30 | ``` 31 | docker run -t -p 8000:8000 ikatson/aceproxy 32 | ``` 33 | 34 | 3. Read AceProxy manual for usage instructions: https://github.com/ValdikSS/aceproxy/wiki. 35 | 36 | Or for the simple case of trying to load another acesteam link with the format 37 | `acestream://{channel_id}` you can use the following link: 38 | 39 | ``` 40 | http://[SERVER_IP]:8000/pid/{channel_id}/stream.mp4 41 | ``` 42 | 43 | This works as a stream in VLC or other media players. 44 | 45 | 46 | Usage with Torrent-TV 47 | --------------------- 48 | Copy the URL from "Мой Кабинет->Плейлист", and replace it here: 49 | 50 | ``` 51 | docker run -t -p 8000:8000 ikatson/aceproxy http://api.torrent-tv.ru/.... 52 | ``` 53 | 54 | Then paste this URL into your player: 55 | ``` 56 | http://[SERVER_IP]:8000/ttvplaylist/ttvplaylist.m3u 57 | ``` 58 | -------------------------------------------------------------------------------- /start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | TTV_URL="$1" 4 | HOST_IP="$(hostname -I | sed 's/ *$//')" 5 | 6 | if [[ -n "$TTV_URL" ]]; then 7 | cat > /home/tv/aceproxy-master/plugins/config/torrenttv.py << EOF 8 | url = '$1' 9 | updateevery = 0 10 | EOF 11 | echo "Paste this URL into your player" 12 | echo "http://$HOST_IP:8000/torrenttv/torrenttv.m3u" 13 | fi 14 | 15 | sed -i 's/vlcuse = False/vlcuse = True/' /home/tv/aceproxy-master/aceconfig.py 16 | sed -i 's/videoobey = True/videoobey = False/' /home/tv/aceproxy-master/aceconfig.py 17 | sed -i 's/videopausedelay = .*/videopausedelay = 0/' /home/tv/aceproxy-master/aceconfig.py 18 | sed -i 's/videodelay = .*/videodelay = 0/' /home/tv/aceproxy-master/aceconfig.py 19 | sed -i 's/videodestroydelay = .*/videodestroydelay = 30/' /home/tv/aceproxy-master/aceconfig.py 20 | 21 | exec /usr/bin/supervisord 22 | -------------------------------------------------------------------------------- /supervisord.conf: -------------------------------------------------------------------------------- 1 | [supervisord] 2 | nodaemon=true 3 | 4 | [program:acestream] 5 | command=acestreamengine --client-console --bind-all --login test --password test 6 | directory = /home/tv/ 7 | 8 | [program:acehttp] 9 | command=/home/tv/aceproxy-master/acehttp.py 10 | user = tv 11 | directory = /home/tv/ 12 | autorestart = true 13 | 14 | [program:vlc] 15 | command=vlc -I telnet --clock-jitter 0 --sout-mux-caching 500 --network-caching 500 --telnet-password admin --telnet-host 127.0.0.1 16 | environment=VLC_PLUGIN_PATH="/usr/lib/vlc/plugins/" 17 | user = tv 18 | directory = /home/tv/ 19 | --------------------------------------------------------------------------------