Skip to main content

PapalTv - interactive shell for ATV2+

Commmunication via fireCore’s Aircontrol protocol, for jailbroken units only (sorry)

See their page for details on the requirements to get aircontrol up and running.

Overview

This package provides both an interactive shell and a python library for communicating with jailbroken Apple TV’s.

There’s folder list options, navigation, searching, play, pause, now playing and omgzr even more!

this started as a joke… what have I done?

papaltv screenshot 01 papaltv screenshot 04

Installing

The source code is hosted on github but the easiest install option for most would be to use the pip installer

pip install papaltv

Sample session

Login:

awesomehost: $ papaltv
    _
  _| |_    Welcome to Papaltv,
 (_   _)      you are blessed.
   | |
   |_|          apple-tv.local

apple-tv.local$ ls
 Add Site
 Apple Events
 Browser
 Computers
 Flickr
 Infuse
 MLB.TV

…

Navigation:

apple-tv.local$ cd /Settings/General

Menu Control

apple-tv.local$ down
apple-tv.local$ up
apple-tv.local$ menu
apple-tv.local$ hold_select

Shortcut comands (up and menu shown below)

apple-tv.local$ u
apple-tv.local$ m

Chained commands for quick navigation

apple-tv.local$ mmmmrr

Even quicker chaining if you’re game

apple-tv.local$ 24d6ruom,,,ollro

Quite a few commands implemented apple-tv.local$ help

======================
EOF        find           log
cd         hold_menu      log_debug
down       hold_select    log_warn
ff         left           ls
menu       playing        quit
ok         playpause      right
pause      psoup          rw
play       q              sel
select     stop           up
skip       text
skip_back  toggle
soup       type

Screenshots es

papaltv screenshot 12 papaltv screenshot 27 papaltv screenshot 53

What on earth for???

I’ll tell you what for! (the lolz)

No really, what for?

Umm… how about umm .. for scheduling crazy cron jobs?

use papaltv to check up on your kids tv

if test `papaltv --cmd np       |grep -o pr0n` == pr0n; then
    echo 'big brother sees you' | /usr/local/bin/sms_gateway `cat ~/kidsnums.txt`
fi

use papaltv to annoy your wife

if test `papaltv --cmd np       |grep -o "gossip girl"` == "gossip girl"; then
    if test $(( $RANDOM %= 200 )) < 80; then
        papaltv --cmd stop
        sleep 20
        papaltv --cmd cd /Settings/General
        sleep 5
        echo 'hahahahahah'
    fi
fi

use papaltv to please your wife

NOTE: not actually possible

while test `papaltv --cmd np        |grep -o "gossip girl"` == "gossip girl"; do
    sleep 5
done
~/speech_synthesis "well wasn't that one a diffy"
sleep 30
~/speech_synthesis "uhuh?, oh yeah I know"
sleep ((60 * 90))
~/speech_synthesis "wow, that was an interesting story about your day. thanks dear."

or… just use it when you lose the tiny remote.

Want more??? Prepared to sell your soul?

Well now.. have I got a deal for you. I’ve included an example class which tells papaltv how to find your media collection so that you can even start shows by name.

… but… you have to code your own script. I’ve kept that crazy stuff out of the main papaltv module, but it’s included in the extra - more evil module evilpope… no, wait: popeville. Yes… Good… Goood.

ninjabook:extensions andrew$ popeville

    /        |   |
   |___|   Welcome to PopeVille,
               I am the blessed.
   \/ \/
   O   O          apple-tv.local
    ---

apple-tv.local$ ls /mnt/tv/Pure Pwnage/Season 01
 Pure.Pwnage.S01E01.The.Life.Of.A.Pro.Gamer.avi
 Pure.Pwnage.S01E02.Girls.avi
 Pure.Pwnage.S01E03.FPS.Doug.avi
 etc...

Metadata

Release files for papaltv 0.2.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for papaltv 0.2.3
File Size Uploaded Provenance Actions
papaltv-0.2.3.tar.gz 7.8 kB Without provenance Details for papaltv-0.2.3.tar.gz

Release files / papaltv-0.2.3.tar.gz

Download URL papaltv-0.2.3.tar.gz
Size 7.8 kB
Tags Source
SHA-256 checksum
How to use checksums
3b2fcfe8d13bef4442e3ad2085758b181ca42e41605dabd25f720bc6a4d006c0
BLAKE2b-256 checksum
How to use checksums
36dc1f84e3fb38128d3c1d4d5f4f4308db6d2221aaf74b3d44f3aff9ebf107ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for papaltv 0.2.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page