150 lines
8.1 KiB
Markdown
150 lines
8.1 KiB
Markdown
# 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.
|
|
* [DONE] Dabei einzelne Satelliten, Beams und Footprints dieser Beams in DB schreiben,
|
|
* und dann in der UI Moglichkeit bieten, anhand von GPS-Daten, Antennen-Typ und LNB-Typ zu ermitteln welche Beams empfangbar sind.
|
|
* [DONE] satbeams.com geht definitiv nicht.
|
|
* [DONE] Aber das da: https://genmap.lyngsat.org/server2/kml
|
|
* [DONE] Das ist ein JSON, welches eine Liste an KML-Files zuruckgibt.
|
|
* [DONE] KML File parsen trivial - ist XML.
|
|
* [DONE] mithilfe von https://gis.stackexchange.com/questions/42879/check-if-lat-long-point-is-within-a-set-of-polygons-using-google-maps/46720#46720 testen ob in shape
|
|
* 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
|
|
* [DONE] 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
|
|
* PCAP Writer
|
|
* UDPDump
|
|
* TAP Adapter (siehe https://github.com/HBSnail/UniversalTunTapDriver/blob/master/README.md )
|
|
* /dev/null
|
|
* IP-in-IP Encapsulation, new Socket(AddressFamily.InterNetwork, Socket.Raw, ProtocolType.IP)
|
|
* [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
|
|
* [DONE] 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.
|
|
* Beispielcode in C# hier: https://stackoverflow.com/a/16660841
|
|
* Benötigt vorher eine Ermittelung der UTM-Zone:
|
|
* Beispielcode zur Ermittelung der UTM-Zone (in R) hier: https://stackoverflow.com/a/68725547
|
|
* [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} )
|
|
* [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?)
|
|
* Weitere Datenbanktreiber
|
|
* Microsoft SQL Server
|
|
* Oracle
|
|
* Cassandra
|
|
* SQLite
|
|
* MongoDB
|
|
* Redis
|
|
* IBM DB2
|
|
* Firebird
|
|
* ScraperStorage: Big File
|
|
* ScraperStorage: Big File mit Index
|