Türksat 3A'nın emekliye ayrılmasından (15→16 Ağustos 2026) sonra televizyonlar yeniden tarama yapınca kanal sıralaması sıfırlanıyor. TKGS frekansları kendisi güncelliyor; çözmediği tek şey senin kendi sıran. Bu araç tam olarak onu geri getirir.
Tamamen tarayıcıda çalışır, kurulum istemez, dosyan cihazından çıkmaz.
1) Ağdan oku (temassız) TV ← WiFi/SSAP → node tools/lgtv-read.mjs 192.168.1.42
2) Veritabanını kur (temassız) Türksat resmî tablosu → node tools/fetch-turksat.mjs
3) Yalnız yazarken USB düzenlenmiş GlobalClone00001.TLL → USB → TV
Günlük kullanımda (bakma, planlama, karşılaştırma, "hangi kanalım nereye gitti") USB'ye hiç dokunmazsın. USB yalnız değişikliği TV'ye işlerken devreye girer.
Neden 3. adım hâlâ USB? LG'nin ağ API'si (SSAP) kanal listesini okuyabiliyor ama yeniden sıralayamıyor — yazma ucu yok. Eşleştirme manifestinde
SET_CHANNEL_SKIP,DELETE_SELECT_CHANNEL,CONTROL_CHANNEL_GROUPgibi yazma izinleri ilan edilmiş durumda, yani belgelenmemiş uçlar olabilir;--probebayrağı bunları salt okunur biçimde yoklar. Yeniden numaralandırma için bir izin ilan edilmemiş.
Node.js 22+ dışında hiçbir bağımlılık yok. npm install gerekmez.
git clone <repo> && cd scm-editornode tools/lgtv-read.mjs --discover # ağdaki LG TV'leri bul
node tools/lgtv-read.mjs 192.168.1.42 # oku
node tools/lgtv-read.mjs 192.168.1.42 --probe # belgelenmemiş uçları yokla (salt okunur)İlk çalıştırmada TV ekranında eşleştirme onayı çıkar, kumandayla kabul et. Alınan anahtar
.lgtv-clients.json dosyasına yazılır (git'e girmez) ve TV bir daha sormaz.
Çıktı data/tv-<ip>.json — kanal listesi + model + firmware + alan kapsamı raporu
(hangi tuner alanlarının gerçekten geldiğini gösterir; eşleştirmenin ne kadar güvenilir
olacağını bu belirler).
TV açık ve aynı ağda olmalı; uyku modunda SSAP kapalıdır.
node tools/fetch-turksat.mjsResmî tabloyu (Kanal · Frekans · Pol · SR · FEC · V-PID · A-PID · Uydu) sayfa sayfa çeker,
data/turksat-42e-<tarih>.json ve data/turksat-42e-latest.json olarak yazar. Resmî XLSX/PDF
dışa aktarma uçları HTTP 500 döndürdüğü için HTML tablosu ayrıştırılır.
Türksat 3A kayıtları "şüpheli" işaretlenir: uydu emekli olmasına rağmen tabloda hâlâ duruyorlar ve yayında olup olmadıkları doğrulanamadı.
node tools/serve.mjs # http://127.0.0.1:8173web/editor.html dosyasını çift tıklayarak da açabilirsin; tek fark, file:// üzerinden
Türksat veri dosyası okunamadığı için "Türksat'a göre" sütununun boş kalmasıdır.
node tools/make-fixtures.mjs # sentetik test dosyaları üret
node tools/roundtrip-test.mjs # 36 testLG'nin üç kuşağı aynı dosya adını (GlobalClone00001.TLL) kullanır, bu yüzden format
uzantıdan değil içerikten tespit edilir.
| Kuşak | Tespit | Durum |
|---|---|---|
| webOS 5/6/7 (2020+) | <legacybroadcast> → XML zarf içinde JSON |
✅ oku + yaz |
| webOS 2-4 (2015-2019) | <TLLDATA> → düz XML |
✅ oku + yaz |
| NetCast (2009-2014) | < ile başlamaz → bloklu binary |
⛔ tanır, açıklayıcı hata verir |
NetCast desteklenmiyor çünkü DVB-S bloğunun 5 alt bloğu için CRC32, tahsis haritası (allocation bitmap), kanal bağlı listesi ve transponder sayaç tutarlılığı gerekiyor — ayrıca symbol rate bazı firmware'lerde 2× veya 0.5× ölçekte yazılıyor ve tek kayda bakarak doğru okunamıyor.
Byte-sadıklık. Dosya asla baştan üretilmez; yalnız değişen alanın karakter aralığı yamalanır. Hiçbir değişiklik yapmazsan çıktı girdiyle birebir aynıdır (test edilir). "Dosyayı hiç değiştirmedim ama TV'ye geri koyunca liste bozuldu" şikayet sınıfının tek yapısal savunması budur.
Korumalı alanlar. Yazıcı katmanında sabit bir izin listesi var. Şu alanlara asla yazılmaz:
| Alan | Neden |
|---|---|
disableUpdate |
Yazılması tüm listeyi bloke ediyor ve fabrika ayarlarına dönmeyi gerektiriyor |
userEditChNumber, userSelCHNo |
Set olunca sonraki import'ları engelliyor |
deleted, factoryDefault |
webOS 5+'ta gerçek silme TV'yi kararsızlaştırıyor |
Bu alanlara yazma denemesi kod düzeyinde hata fırlatır; dosyada olmayan bir alan da eklenmez.
İsim yazımı atomiktir. LG adı iki yerde tutar (channelName + chNameBase64; eski formatta
vchName + hexVchName + uzunluk alanları). Biri güncellenmezse TV eski adı gösterir. Bu araç
hepsini tek işlemde yazar, Türkçe karakterlerde 0x15 UTF-8 gösterge baytını ekler.
Eşleştirmede frekans birincil anahtar değildir. Türksat'ın kendi duyurusu 12380/12423 derken kendi frekans tablosu aynı transponderları 12379/12422 yazıyor. Tam eşitlikle eşleştiren araç bu 1 MHz'de sessizce başarısız olur. Sıra: kimlik (SVCID+TSID+ONID) → ad → PID → frekans (±2 MHz).
Silme yok. webOS 5+'ta silinen kanallar aynı transponderdaki başka bir kanala geçildiği anda rastgele yerlere geri geliyor. Bu araç bilerek silme sunmuyor; "sona at" ve "atla" var.
Sıfır dış istek. CDN yok, font yok, analytics yok. CSP connect-src 'self' — yalnız kendi
kökündeki Türksat veri dosyası okunabilir. DevTools → Network ile kendin doğrulayabilirsin.
- Favoriler webOS 5+'ta düzenlenemez — export edilen veriye hiç dahil değiller.
- TKGS "Sabit" modunda sıralama kilitli. LG uydu kurulumunda operatör "Türksat TKGS" seçiliyse Çalışma Şekli Esnek olmalı; "Sabit" ise hiçbir editör işe yaramaz.
- Kırılgan olan export değil, import. Export raporları neredeyse hep başarılı; başarısızlıklar TV'ye geri yükleme adımında. Bu yüzden "Orijinali indir" düğmesi her zaman görünür.
- Sentetik test dosyaları gerçek TV çıktısı değildir. Belgelenmiş şemaya göre kurulmuşlardır.
Bir modelin gerçekten desteklendiğini ancak o modelden alınmış gerçek bir dosya kanıtlar —
kendi dosyalarını
fixtures/local/altına koy (git'e girmez). - 2025-2026 modeller (webOS 25) hakkında ne olumlu ne olumsuz doğrulanmış rapor bulunabildi.
Tüm Ayarlar → Kanallar → Kanal Kopyalama → TV'den USB'ye (uydu modellerinde).
- USB FAT32 olmalı, tercihen ≤16 GB. NTFS/exFAT'te TV bozuk dosya yazıyor.
- Dosya adını değiştirme; TV yalnız
GlobalClone00001.TLLkabul ediyor. - 2014 öncesi modellerde bu menü yok: kumandada Ayarlar'a basılı tutup
1105girilir. - Tarama yaparken operatör/sağlayıcı listesi değil "yok/diğer/tümü" + tam tarama seç.
MIT — bkz. LICENSE.
tools/ssap-handshake.json, LG SSAP eşleştirme sabitidir ve MIT lisanslı
hobbyquaker/lgtv2 projesinden alınmıştır.
LG format bilgisi ChanSort (GPLv3) incelenerek öğrenilmiş, kodu veya offset tabloları kopyalanmamıştır; bu depodaki tüm uygulama sıfırdan yazılmıştır.
Kullanıcıların ilk gün paylaştığı çözümler ve sektör derneğinin açıklaması NOTLAR-saha-16agustos2026.md dosyasında derlendi. Öne çıkanlar:
Tarama parametreleri (Türksat resmî duyurusuyla birebir):
| Frekans | Pol | Symbol Rate | FEC | Kapsama |
|---|---|---|---|---|
| 12380 MHz | V | 27500 | 3/4 | Türkiye + Avrupa |
| 12423 MHz | H | 30000 | 3/4 | Türkiye + Orta Asya |
Şebeke/ağ (NIT) araması mutlaka açık olmalı — kapalıysa yalnız o transponderin kanalları gelir.
TKGS sırası önemli: Çalışma Şekli → otomatik ile listeyi doldur, sonra esnek'e al — ancak o zaman sıralama yapabilirsin. "Sabit" modda liste kilitlidir.
Hiç kanal gelmiyorsa sorun frekans değil kurulum olabilir: LNB 9750/10600, ve alıcıda varsayılan gelen "tek kablo" yerine DiSEqC 1.0 seçilmeli.
Ses gelmiyorsa o kanalın A-PID değeri Türksat tablosundan alınıp düzeltilmeli — bu araç tabloyu A-PID sütunuyla birlikte çektiği için uyuşmazlığı otomatik gösterebilir.
TUYAD (sektör derneği, 16.08.2026): "özellikle bazı Samsung Smart TV ve LG modellerinde TKGS verilerinin otomatik işlenmesinde aksaklıklar" yaşandığını, kalıcı çözümün üreticinin firmware güncellemesi olduğunu açıkladı — CNN Türk. Bu araç, o güncelleme gelene kadarki boşluğu doldurur.
- scm-editor_tara.md — bu projenin dayandığı geliştirme tarama raporu (rakip analizi, kullanıcı şikayeti temaları, ICE puanlı öneriler, yol haritası)
- NOTLAR-saha-16agustos2026.md — geçiş günü saha notları ve kaynakları