feyris-tan ef86554f9a Import
2025-05-12 22:09:16 +02:00

8.0 KiB

skyscraper5 TODO

  • [DONE] LocalStreamReader (und rsr-server) ausgliedern, damit Main Assembly wieder in MSIL kompiliert werden kann.
  • [DONE] LocalStreamReader als eigene Assembly (Library)
  • [DONE] rsr-server als eigene eigene Assembly (Console Application)
  • [DONE] dvbtmagic als eigene Assembly, hat ja nicht wirklich was mit skyscraping zu tun.
  • AC3 Parser (kein Decoder) fur Ancillary Data
  • MP2 Parser (kein Decoder) fur Ancillary Data
  • AAC Parser (kein Decoder) fur Ancillary Data
  • MPEG-2 Parser (kein Decoder) fur Auxillary Data
  • H.264 Parser (kein Decoder) fur Auxillary Data
  • H.265 Parser (kein Decoder) fur Auxillary Data
  • [DONE] LNB Typen definieren, und in der UI einstellbar machen
  • [DONE] LNB Typen sollten pro Tuner-Anschluss, nicht pro Satellit definiert werden.
  • [DONE] Antennen Typen definieren, und in der UI einstellbar machen
  • [DONE] GPS Position sollte ermittelt werden konnen.
    • [DONE] manuell
    • [DONE] direkt angeschlossenes Gerat per SerialPort
    • [DONE] via TCP aus gpsd
    • [DONE] via UDP Broadcast/Multicast
  • [DONE] Blindscan-Jobs in Datenbank schreiben. (inkl. Tuner-ID/MAC, LNB-Typ, Antennen-Typ und GPS Daten)
  • [DONE] Blindscan-Ergebnisse in Datenbank schreiben
  • rudimanteren Java-Port
    • (inkl. Disketten-Image for the lulz - keine Abhangigkeiten außer vielleicht Apache Commons ;) )
  • [DONE] uberlegen, ob sich satbeams.com scrapen lasst.
  • Blockstream parsen. Dazu Blog-Post "Anatomy of Blockstream Satellite" zur Hilfe nehmen. ( https://destevez.net/2022/10/anatomy-of-blockstream-satellite/ )
  • Client/Server-Architektur fur ScraperStorage
  • [DONE] Architektur aufbauen, um Handler fur eingehende MPE/IP Pakete auszugliedern
    • [DONE] APRS in eben jenes ausgliedern
  • [DONE] Plugin-System so ausbauen, dass Assembly-Scanning nur noch an einer Stelle notwendig ist.
    • [DONE] T2MI Packet Types
    • [DONE] StreamTypeAutodetection
      • [DONE] Behandlung des Gewinners nicht im SkyscraperContext sondern im Contestant selber, sonst ist's witzlos.
    • [DONE] ScraperStorageFactoryConnectionManager
    • [DONE] TunerFactoryConnectionManager
    • [DONE] TsDescriptorUnpacker
    • [DONE] Mpeg2ExtensionDescriptorConverter
    • [DONE] UserDefinedDescriptorUnpacker
      • [DONE] bereits vorhandene PrivateDataSpecifiers in eigene Assemblys auslagern
    • [DONE] DvbExtensionDescriptorConverter
    • [DONE] DsmCcMessageUnpacker
    • [DONE] PushMacManagementMessage
  • [DONE] GPS in der UI auswählbar machen
    • [DONE] Optional Fenster mit GPS Daten einblenden lassen
  • [DONE] GPS via GeoIP simulieren
  • [DONE] Kabel-TV Frequenzlistengenerator
  • [DONE] sauberen Exception-Tree aufbauen, mit Vererbung und allem drum und dran.
  • Tests mit Code-Coverage
  • [DONE] TS-Generator als System.IO.Stream
    • [DONE] PAT-Generator
    • [DONE] PMT-Generator
    • [DONE] SDT-Generator
    • [DONE] CAT-Generator
    • [DONE] TDT-Generator
    • [DONE] TOT-Generator
  • [DONE] Namespaces aufräumen
  • [DONE] StreamReader Versionen prüfen. Eventuell eine KnownIssues Funktion zum Server hinzufügen? (Beispiel: StreamReader 1.2.4.101 sehr gut, StreamReader 1.2.5.176 doof)
    • [DONE] Dafür PE-Parser hinzufügen (um DLLs und EXEn zu parsen)
    • [DONE] DLL-Versionsinfo aus PE lesen.
    • [DONE] 1.2.5.194 -> bad
    • [DONE] 1.2.5.176 -> bad
    • [DONE] 1.2.4.101 -> good
  • Inhalte von einer Datenbank in eine andere kopieren.
  • [DONE] Im SDT Parser sollte der Message Descriptor geparst werden.
    • [DONE] Die Messages sollten natürlich auch in eine Datenbank geschrieben werden.
  • [DONE] In TestDrid: Kooperativer Blindscan. Scannen mit einer Karte, zappen mit einer anderen.
    • Tuning Retries
  • ExternalEsIdDescriptor implementieren.
    • Natürlich auch in die Datenbank schreiben.
  • Unbekanntes Text Encoding auf Eutelsat 7, 12648 H, MIS3
  • [DONE] "Unknown Protocol" 50
  • [DONE] "Unknown Protocal" 47
  • In MinioObjectStorage.cs bei Zeile 132 - behandeln dass nicht immer unbedingt eine MinioException rauskommt!
  • skyscraper5.Ietf.Rfc971.InternetHeader sollte Validatable implementieren.
  • In Testdrid: Einen Notizblock
  • Wenn ein Blindscan false zurückgibt, aber dennoch Ergebnisse geliefert hat, diese trotzdem abklopfen.
  • [DONE] Paketfiltersystem hinzufügen, statt Pakete manuell zu droppen.
    • [DONE] Aufzeichnungssystem in den Paketfilter verlagern.
    • [DONE] Scramble Paket Dropper
    • Tester ob zwischen Scramble und Non-Scramble geswitcht wird.
      • Den Screenshotter da dran hängen!
    • [DONE] TEI Paket Dropper
    • [DONE] Prioritätensystem da dran hängen. (Schließlich sollen die Pakete immer zuerst aufgezeichnet werden)
    • [DONE] Skip x (512) Packets Filter
    • PCR Monitor dorthin verlagern
    • TCP Proxy dorthin verlagern
  • Descriptor 0x2E (46) bei PMT (TsDescriptorUnpacker.cs, Zeile 81)
  • Netzwerkschnittstelle einbauen
  • [DONE] Intelsat Internet reverse engineeren. Gutes Beispiel auf Intelsat 68,5°E 12625/H. TS Header ist nicht 4 sondern 9 Bytes
    • [DONE] Oder auf Intelsat 72,1°E 12718/H
    • [DONE] Hängt möglicherweise mit Digital Devices BBFRAMES zusammen?
      • Ja, tut es, deshalb auch BBFRAME Header parsen
  • SeaweedFS als File-Storage implementieren
  • In GSE und MPE Paketen:
    • [DONE] DNS Responses parsen und daraus "lernen"
      • [DONE] DNS Type 39
    • UDP L2TP & L2F Pakete parsen & reingucken. (z.B. in skyscraper_20240830_1254_0235E_11620_H_5931.ts)
    • NTP parsen (z.B. in 12551_h_intelsat_like_internet.ts)
    • [DONE] Von hier klauen: https://github.com/kapetan/dns
    • In IP-in-IP Pakete reingucken.
    • In IPv6 Encapsulation Pakete reingucken.
    • In GRE Pakete reingucken.
    • In RFC3652 Pakete (Type 253) reingucken. Ist in der Payload das Offset 6 = 0x45, so ist ein getunneltes IPv4 Paket. :)
  • [DONE] ServiceListDescriptor im BatParser
  • [DONE] ExtensionDescriptor 32, in DvbExtensionDescriptorConverter, Zeile 35
  • [DONE] CAID 0x0649 in CaSystemNames
  • [DONE] DNS Record Type 48 [ {Z:\Freebies\Datasets\SkyscraperLibrarian\DVB-S\E0008_Ku_Thor\skyscraper_20230404_2125_0010W_11876_V_19999.ts}, {Z:\Freebies\Datasets\SkyscraperLibrarian\DVB-S August 2024\Telstar15\skyscraper_20240826_1530_0150W_12596_V_44999.ts} ]
  • [DONE] RCS Maps parsen
  • [DONE] RCS Maps in DB schreiben
  • [DONE] NuGet Caching Proxy
  • [DONE] DNS Record Type 49213
  • HLS Stream
    • benötigt vorher einen PCR delayten Stream
      • benötigt vorher einen Rate-Limited Stream
  • ScraperStorage ablösen, und stattdessen DataStorage und FileStorage einzeln setzen.
  • .tar/.tar.gz File mit FilesystemStorage Inhalt importieren
  • WGS84 zu Lat/Lon konvertieren - für RCS-Map.
  • [DONE] IP-Protokoll 139 (skyscraper_20230408_1727_0390E_12739_H_3926_gse.ts)
  • [DONE] DNS Record Type 20366 (skyscraper_20230410_1450_0660E_12626_V_38329.ts)
  • [DONE] DNS IN ( {Z:\Freebies\Datasets\SkyscraperLibrarian\DVB-S August 2024\Telstar15\skyscraper_20240826_1530_0150W_12596_V_44999.ts} )
  • ScraperStorage: Big File
  • ScraperStorage: Big File mit Index
  • [DONE] Für BigFiles: Gesplitteter Stream, für FAT32 und Freunde
  • [DONE] Einen "Forget Blindscan Job" Button in der UI
  • TransportProtocolDescriptor - unbekannte ProtocolIDs ohne Exception behandeln. (Vielleicht eine Warning?)