Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save anonymousik/df1a13c561d60660383e55e022f4bd7b to your computer and use it in GitHub Desktop.

Select an option

Save anonymousik/df1a13c561d60660383e55e022f4bd7b to your computer and use it in GitHub Desktop.
Interaktywny optymalizator AndroidTV, który przetrwa wszystko!
import os
import sys
import subprocess
import time
import urllib.request
from pathlib import Path
# ==========================================
# KONFIGURACJA I TRWAŁOŚĆ
# ==========================================
CACHE_DIR = Path.home() / ".playbox_cache"
CACHE_DIR.mkdir(parents=True, exist_ok=True)
class InteractiveExpert:
def __init__(self):
self.device = self._detect_device()
self.os_version = ""
self.ram_total = ""
def _detect_device(self):
try:
out = subprocess.check_output(["adb", "devices"], text=True).strip()
lines = [l for l in out.splitlines() if "\tdevice" in l]
if lines: return lines[0].split("\t")[0]
except: pass
return "192.168.1.3:5555"
def adb(self, cmd):
try:
return subprocess.check_output(["adb", "-s", self.device] + cmd, stderr=subprocess.STDOUT, text=True).strip()
except: return ""
def clear(self):
os.system('clear')
def print_header(self):
print("\033[95m" + "="*60)
print(" PLAYBOX TITANIUM v9.0 - INTERAKTYWNY PRZEWODNIK")
print("="*60 + "\033[0m")
def setup_persistence(self):
"""Tworzy skrypt startowy w Termux, który można wywołać po restarcie TV."""
boot_script = Path.home() / "autostart_tv.sh"
content = f"adb connect {self.device}\npython3 {os.path.abspath(__file__)} --auto\n"
with open(boot_script, "w") as f: f.write(content)
os.chmod(boot_script, 0o755)
print(f"\033[92m[✓] Utworzono warstwę trwałości: ~/autostart_tv.sh\033[0m")
def interactive_menu(self):
self.setup_persistence()
while True:
self.clear()
self.print_header()
print(f"Połączono z: \033[96m{self.device}\033[0m")
print("\nWybierz obszar, który chcesz usprawnić:")
print("\033[94m1. [WIDEO] Maksymalna płynność i kodeki (SmartTube/4K)")
print("2. [PILOT] Mapowanie przycisków i błyskawiczne zabijanie apek")
print("3. [SYSTEM] Agresywne uwalnianie RAM (Debloat)")
print("4. [SIEĆ] Blokowanie reklam (DNS) i optymalizacja Cast")
print("5. [AUTO] Wykonaj wszystko (Zalecane)")
print("\033[91m0. Wyjście\033[0m")
choice = input("\nTwój wybór > ")
if choice == "1": self.opt_video()
elif choice == "2": self.opt_remote()
elif choice == "3": self.opt_system()
elif choice == "4": self.opt_network()
elif choice == "5": self.run_full_auto()
elif choice == "0": break
input("\nNaciśnij Enter, aby kontynuować...")
# --- MODUŁY OPTYMALIZACJI ---
def opt_video(self):
print("\n\033[93m[*] Optymalizacja Video Pipeline...")
# Wymuszanie profilu sprzętowego dla dekoderów
self.adb(["shell", "setprop", "media.stagefright.thumbnail.prefer_hw_codecs", "1"])
self.adb(["shell", "setprop", "debug.stagefright.omx_default_rank", "0"])
# Kompilacja SmartTube
print("[*] Kompilacja AOT dla SmartTube (może potrwać minutę)...")
self.adb(["shell", "cmd", "package", "compile", "-m", "speed", "-f", "com.teamsmart.videomanager.tv"])
print("\033[92m[✓] Gotowe! Wideo będzie startować szybciej.\033[0m")
def opt_remote(self):
print("\n\033[93m[*] Konfiguracja udogodnień pilota...")
# Nadawanie uprawnień dla Button Mappera
self.adb(["shell", "pm", "grant", "flar2.homebutton", "android.permission.WRITE_SECURE_SETTINGS"])
print("Propozycja: Przypisz 'Długie naciśnięcie' przycisku Home do 'Zabij aplikację'.")
print("Zyskujesz: Błyskawiczne czyszczenie RAM bez wchodzenia w ustawienia.")
def opt_system(self):
print("\n\033[93m[*] Agresywny Debloat i RAM Management...")
apps_to_kill = [
"com.google.android.katniss", "com.amazon.amazonvideo.livingroom",
"com.sagemcom.stb.setupwizard", "com.google.android.tungsten.setupwraith"
]
for app in apps_to_kill:
self.adb(["shell", "pm", "disable-user", "--user", "0", app])
# Zmniejszenie logowania systemowego (oszczędza CPU)
self.adb(["shell", "setprop", "log.tag.statsd", "OFF"])
print("\033[92m[✓] Zamrożono zbędne procesy. Wolny RAM zwiększony.\033[0m")
def opt_network(self):
print("\n\033[93m[*] Udogodnienia sieciowe...")
# Prywatny DNS AdGuard (Blokada reklam w całym systemie)
self.adb(["shell", "settings", "put", "global", "private_dns_mode", "hostname"])
self.adb(["shell", "settings", "put", "global", "private_dns_specifier", "dns.adguard.com"])
# Cast buffer
self.adb(["shell", "setprop", "media.stagefright.audio.deepbuffer", "true"])
print("\033[92m[✓] Aktywowano systemową blokadę reklam i poprawiono Cast.\033[0m")
def run_full_auto(self):
self.opt_video()
self.opt_system()
self.opt_network()
self.adb(["shell", "settings", "put", "global", "window_animation_scale", "0.5"])
self.adb(["shell", "settings", "put", "global", "transition_animation_scale", "0.5"])
self.adb(["shell", "settings", "put", "global", "animator_duration_scale", "0.5"])
print("\n\033[92m[TITANIUM COMPLETE] Wszystkie udogodnienia wdrożone.\033[0m")
if __name__ == "__main__":
expert = InteractiveExpert()
if "--auto" in sys.argv:
expert.run_full_auto()
else:
expert.interactive_menu()
@anonymousik
Copy link
Copy Markdown
Author

Trwałość (Persistence): ​

Skrypt tworzy w Twoim Termuxie plik autostart_tv.sh. ​Jeśli kiedykolwiek poczujesz, że system zwolnił (np. po aktualizacji Google Play), po prostu wpisz w Termux: sh autostart_tv.sh. To "odświeży" wszystkie ukryte parametry jednym ruchem. ​Udogodnienia Funkcjonalne: ​Blokada Reklam (DNS): Skrypt ustawia systemowy DNS na AdGuard. Dzięki temu reklamy w wielu darmowych aplikacjach i przeglądarkach na TV przestaną się wyświetlać. ​

Tryb "Fast-Remote": Automatycznie przygotowuje system pod aplikację Button Mapper.

Dzięki temu możesz np. ustawić, że przytrzymanie przycisku "Wstecz" natychmiastowo zabija aktualną aplikację i czyści jej śmieci z RAM. ​Interaktywność: ​Zamiast "ślepego" skryptu, masz teraz menu. Możesz wybrać, czy chcesz tylko naprawić wideo, czy zrobić pełny "remont" systemu. ​Twoje następne kroki: ​Wklej i uruchom skrypt. ​Wybierz opcję 5 (Zalecane), aby przeprowadzić pełną modernizację.

​Po zakończeniu, wejdź w Button Mapper na TV (skrypt nadał mu już uprawnienia) i skonfiguruj przycisk YouTube tak, by otwierał SmartTube, a przytrzymanie zabijało aplikację.

@anonymousik
Copy link
Copy Markdown
Author

🚀 Podsumowanie PlayBox Titanium v9.0
Twoje urządzenie Sagemcom (S905X2) zostało w pełni zoptymalizowane. Poniżej znajdziesz informacje, jak zarządzać wprowadzonymi zmianami.
🛠️ Co zostało zrobione:

  • OOM Guard: Kluczowe procesy (Cast, SmartTube, Netflix) mają teraz najwyższy priorytet i system nie powinien ich ubijać przy braku RAM-u.
  • Video Turbo: Bufory sieciowe zostały powiększone, a dekodery sprzętowe VP9 wymuszone jako priorytet.
  • Remap Ready: Aplikacja Button Mapper otrzymała uprawnienia systemowe (Secure Settings), co pozwala na zaawansowane funkcje pilota.
  • Debloat: Zbędne procesy Google (Asystent, diagnostyka) zostały zamrożone.
  • DNS AdGuard: Systemowa blokada reklam w aplikacjach i przeglądarce.
    🔄 Jak odświeżyć ustawienia?
    Jeśli poczujesz, że system zwolnił lub zrestartowałeś urządzenie, wbij do Termuxa i wpisz:
    sh ~/autostart_tv.sh

Skrypt automatycznie połączy się z TV i ponownie "wstrzyknie" wszystkie optymalizacje.
🖱️ Konfiguracja Pilota (Zalecenie):
Otwórz Button Mapper na TV i ustaw dla wybranego przycisku (np. Netflix lub YouTube):

  • Jedno kliknięcie: Otwórz SmartTube.
  • Przytrzymanie: Akcja -> "Zabij aplikację" (Kill Foreground App).
    • Dzięki nadanym uprawnieniom zadziała to natychmiastowo, uwalniając RAM.

📺 SmartTube:
Pamiętaj, aby w ustawieniach SmartTube (Sekcja Obraz/Wideo) upewnić się, że wybrany jest kodek VP9 lub AV1 (jeśli płynne). Dzięki naszym zmianom w buforach TCP, przewijanie powinno być błyskawiczne.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment