Created
January 31, 2026 13:53
-
-
Save anonymousik/df1a13c561d60660383e55e022f4bd7b to your computer and use it in GitHub Desktop.
Interaktywny optymalizator AndroidTV, który przetrwa wszystko!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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() |
Author
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
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ę.