universal-link-extractor-et.../README.md

80 lines
2.8 KiB
Markdown
Raw Normal View History

2024-09-21 23:32:04 +02:00
# Universal Link Extractor for Etherpad Lite
2024-09-21 21:03:48 +02:00
## Beschreibung
2024-09-21 23:32:04 +02:00
Der Universal Link Extractor for Etherpad Lite ist ein leistungsfähiges Go-Programm, das entwickelt wurde, um Links von Etherpad Lite Instanzen zu extrahieren. Es navigiert durch verschachtelte iFrames und sammelt alle URLs, die einem bestimmten Muster entsprechen. Dieses Tool ist besonders nützlich für die Analyse und Kartierung von Etherpad-basierten Kollaborationsplattformen.
2024-09-21 21:03:48 +02:00
2024-09-21 23:32:04 +02:00
## Hauptfunktionen
2024-09-21 21:03:48 +02:00
2024-09-21 23:32:04 +02:00
- Extrahiert Links von einer oder mehreren initialen URLs
- Navigiert rekursiv durch gefundene Links bis zu einer konfigurierbaren maximalen Tiefe
- Durchsucht verschachtelte iFrames, um versteckte Links zu finden
- Vermeidet doppelte Besuche von URLs
- Bietet eine Fortschrittsanzeige für den Extraktionsprozess
- Sammelt und zeigt Statistiken über gefundene und besuchte Links
2024-09-21 21:03:48 +02:00
## Voraussetzungen
- Go 1.16 oder höher
- go-rod Bibliothek
2024-09-21 23:32:04 +02:00
- progressbar/v3 Bibliothek
2024-09-21 21:03:48 +02:00
## Installation
1. Stellen Sie sicher, dass Go auf Ihrem System installiert ist.
2. Klonen Sie das Repository:
```
2024-09-21 23:32:04 +02:00
git clone https://github.com/yourusername/universal-link-extractor-etherpad.git
cd universal-link-extractor-etherpad
2024-09-21 21:03:48 +02:00
```
3. Installieren Sie die erforderlichen Abhängigkeiten:
```
go mod tidy
```
2024-09-21 21:37:31 +02:00
## Konfiguration
2024-09-21 23:32:04 +02:00
Passen Sie die folgenden Variablen am Anfang der `main.go` Datei an Ihre Bedürfnisse an:
2024-09-21 21:03:48 +02:00
2024-09-21 21:37:31 +02:00
```go
2024-09-21 23:32:04 +02:00
maxDepth = 3 // Maximale Rekursionstiefe
initialURLs = []string{"https://pad.stratum0.org/p/dc"} // Startseiten
linkRegexPattern = `https://pad\.stratum0\.org/p/dc[^\s"']+` // Regex für zu extrahierende Links
2024-09-21 21:37:31 +02:00
```
## Verwendung
2024-09-21 21:03:48 +02:00
2024-09-21 21:37:31 +02:00
1. Führen Sie das Programm aus:
2024-09-21 21:03:48 +02:00
```
go run main.go
```
2024-09-21 23:32:04 +02:00
2. Das Programm wird mit der Extraktion von Links beginnen und den Fortschritt in der Konsole anzeigen.
2024-09-21 21:37:31 +02:00
2024-09-21 23:32:04 +02:00
3. Nach Abschluss wird eine Liste aller gefundenen Links sowie Statistiken ausgegeben.
2024-09-21 21:37:31 +02:00
## Ausgabe
2024-09-21 23:32:04 +02:00
Das Programm liefert folgende Informationen:
2024-09-21 21:37:31 +02:00
- Fortschrittsmeldungen für jede verarbeitete URL
- Informationen über gefundene und geladene iFrames
- Eine Liste aller gefundenen einzigartigen Links
- Statistiken über die Gesamtanzahl der gefundenen Links, besuchten URLs und die Gesamtlaufzeit
2024-09-21 21:03:48 +02:00
## Anpassung
2024-09-21 23:32:04 +02:00
- Um andere Etherpad Lite Instanzen zu durchsuchen, passen Sie die `initialURLs` und `linkRegexPattern` an.
- Für komplexere Extraktionslogik können Sie die `extractLinks` Funktion modifizieren.
2024-09-21 21:03:48 +02:00
## Fehlerbehebung
2024-09-21 23:32:04 +02:00
- Bei Problemen mit dem Laden von iFrames überprüfen Sie die CSS-Selektoren in der `processNestedIframes` Funktion.
- Wenn Sie Timeout-Probleme haben, passen Sie die `MustWaitLoad` Aufrufe an oder fügen Sie zusätzliche Wartezeiten ein.
2024-09-21 21:03:48 +02:00
## Beitrag
Beiträge zum Projekt sind willkommen. Bitte öffnen Sie ein Issue oder einen Pull Request für Vorschläge oder Verbesserungen.