Skip to content

Web basierte Suchmaschine für lokale Dateien, Rss-Feeds, Webseiten und Textdateien

Notifications You must be signed in to change notification settings

Phreak87/SearchServer3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SearchServer3

Backend (Server)

  • durchsucht die lokalen Laufwerke und Netzlaufwerke rekursiv

    Wenn die Datenbank keine Einträge enthält.
    In gewissen Zeitabständen (in Config.xml).
    bereinigt nicht genutzte Dateitypen (Cleaner.xml).
    neu erstellte Dateien werden on-the-fly in der Datenbank gespeichert

  • empfängt und Interpretiert RSS- und Atom Feeds

    wenn keine Einträge vorhanden sind
    in definierten Zeitabständen.

  • liest Textdateien in definierten Ordern

    mit und ohne Header
    Beispiele enthalten(Paketlisten, Übersetzungsdateien, Adresslisten, ...).
    Ergebnisse aus den FS-Dateien, bei denen der Dateiname den Regeln entspricht.
    Interpretiert Datumsangaben, Mailadressen, Hyperlinks und verknüpfte Bilddateien.

  • durchsucht (parst) andere Suchmaschinen

    Resultate können als XML, HTML oder JSON interpretiert werden

  • Als Datenspeicher dient eine MongoDB-Datenbank.

    NoSQL Datenbankbasis und JSON-Kommunikation.
    WiredTiger Storage Engine (sehr performant, jedoch ~1 GB Ram)
    Default Storage Engine (langsam, ~30 MB Ram)

  • Das Backend enthält einen eigenen Webserver

    Erstellung von Thumbnails wenn diese ein Suchergebnis ist.
    Einstellbare Cache-zeiten und Mimetypen für Postfixe.

  • Zudem kann das Backend einfache Berechnungen ausführen

    Einheiten umrechnen
    Formeln berechnen
    Farben evaluieren (RAL, HEX, TEXT)
    Smileys ausgeben
    Datumsangaben mit Feiertagen (Bayern) berechnen
    Mimetype Informationen ausgeben

  • Programme starten sowie Ordner auf dem lokalen Computer öffnen. (In Units.xml zu erweitern).

Frontend(Weboberfläche)

  • Suche per Spracheingabe möglich

  • News beim öffnen, sofern das Datum einem Eintrag in einer Textdatei entspricht (Geburtstage z.B.)

    Datumsangaben werden mittels EVAL-Date um Datumsinformationen erweitert.

  • Das Frontend stellt die Suchergebnisse in aufbereiteter Form dar.
    Unter anderem werden die Inhalte folgender Dateiendungen direkt dargestellt bzw. diverse Player angeboten und interpretiert:

    Gcode, gco, g (3D Plot und Druck) 3D und Schicht-Ansicht.
    3D awd, babylon, ctm, vtk, wrl, dae, pdb, ply, vrml, x3dv, x3db, ac, 3ds, md2, JSCad, SCad, js, x3d, json, amf, stl und obj- Dateien
    2D dxf- Dateien


    > Pdf (Anzeige von Chrome oder Player) und Odf
    > Epub (Ebooks)
    > Markdown (md,markdown,rst)

    > Audio (mp3,wav,ogg, midi) zum direkten abspielen mit ID3 Tags
    > Video (avi,mpeg,flv,webm) 3 Player zur Auswahl, Thumbnail als Vorschau, Youtube Videos mit Vorschau
    > Bilder (Png/Bmp/ico/jpeg, ...) mit Viewer zum weiterschalten und EXIF Informationen

    > Zip (und Komprimierte-Formate) mit direktem anzeigen von Bildern, Texten in der Zip.
    > Rar
    > Tar

    > Hex-Dateien
    > Xml (und alle XML-Strukturierten Formate) als Baumstruktur und Quelltext.
    > Json und Bson als Baumstruktur und Quelltext.
    > Html (Darstellung und Sourcecode)
    > JavaScript als Coffee
    > Coffee als Javascript
    > Latex Anzeige
    > Python Interpreter
    > Excel (xlsm/xlsx) als Tabelle
    > Plaintext (txt,log,csv,lst)
    > Quelltexte (php,vb,c,bat,css,...) interpretiert (Brackets, Folding, ...)
    > Thumbnail (Für Dateien ohne Webplayer)
  • Zu jedem beliebigen Dateityp (auch unbekannte) werden

    Icons
    Beschreibung
    Player
    Mimetypen
    Thumbnails bzw. Inhaltsvorschau
    und weitere Informationen ausgegeben.

  • Die Ergebnisse können in Unterschiedlichen Varianten angezeigt werden (Konfigurierbar in Mimes.xml):

    In dem Ergebnisblock der Datei
    In einem (Fenster im aktuellen Browserfenster)
    Auf der gesamten Ergebnisseite
    Auf der gesamten Suchseite
    In einem neuen Tab
    PDF-Ansicht (Übersicht), die nur die Thumbnails der Datei enthalten.

  • Zudem haben Sie die Möglichkeit den Order zu öffnen oder die Datei mit der Standardanwendung
    ihres Computers auszuführen oder den Mimetyp zu blockieren.

  • Adresslisten/Paketlisten werden separiert als Suchergebnisse mit interpretierten
    Informationen (Hyperlinks und E-Mail-Adressen) dargestellt.

  • Im Downloadpaket sind hier bereits diverse Dateien wie z.B.
    de/en Übersetzung, Mimetypen, Programme, Librarys, Cheatsheets,
    Source-Referenzen und Normen enthalten

  • Youtube und andere Videoquellen werden direkt angezeigt.

  • Bookmarks und externe Suchanfragen werden in einem eigenen Frame mit einer gewählten Option
    (z.B. Nur Bilder) und dem Suchtext geöffnet.

  • Die Ergebnisse der Suchabfrage können Sie sich dann für einen späteren Moment
    speichern oder als PDF, Excel oder CSV-Datei ausgeben lassen.

  • Die angezeigten Dateiformate können einfach in der Results.js und der Config.xml
    angepasst und erweitert werden.

Installation

  • Laden Sie sich das komplette Paket mit vorkonfigurierten Einstellungen
    herunter, kompilieren Sie das Projekt in VB.Net und starten Sie die Searchserver3.exe
    im Debug-Verzeichnis. Das erste Indizieren der Laufwerke und Dateien kann u.U. einige
    Stunden Zeit in Anspruch nehmen (Je nach Anzahl der Dateien u. konfigurierten Pfaden).

  • Wärend dieser Initialisierungsphase werden in der Ausgabe nur Dateien aus komplett abgeschlossenen
    Initialisierungsaufgaben angezeigt.
    Sie können die Webseite im Webbrowser (aus Sicherheitsgründen nur auf dem lokalen Computer)
    mit der Seite http://localhost:9090 öffnen.

Testen

  • Für das Testen steht im linken oberen Rand 'Debugmeldungen' für die Kommunikation zwischen Front- und
    Backend und 'Testseiten' für das Testen einzelner Module zur Verfügung.
    Der SearchServer kann zusätzlich mit der Konfigurationsdatei als Parameter gestartet werden. Das erleichtert das analysieren von Teilfunktionen und reduziert die Ergebnisausgabe. Bevor Sie die konfigurationsdatei wechseln sollten Sie jedoch ein Backup der DIR Collection erstellen, da die Datenbank bei einer neuen Config gelöscht werden muss.

Referenzen

CSS-Librarys

Hover
Skeleton

.Net Librarys

MongoDB
MS ShellExtensions
NCalc

Javascript-Frameworks und Extensions

Gridster
Superfish
Chosen
Dialogextend
Handsontable

Javascript-Anzeigemodule

  • Text und Quelltext

ACE
CodeMirror
JSoneditor
XmlToJson
HexView
Coffee-to-JS
JS-to-Coffee
Skulpt
HexView

  • 2D- und 3D Formate

ThreeDXF
GCodeViewer
Thingiview.js
Three.js
Three-Plugin Sea3D Reader
Scene.js
X3Dom
OpenJSCad
CoffeeScad
Hangar

  • Video

Popcorn.js
Projekktor
Video.js

  • Komprimiert

Zip.js
Rar.js
Tar.js

  • Dokumente

Viewer.js
epubjs
SheetJS
EpicEditor

  • Audio-Formate

Soundmanager2
Wavesurfer
jasmid
ID3Tag

  • Bild-Formate

EXIF.js

Javascript-Exportmodule

  • Export-Librarys

csv.js
pdf.js

Javascript-Sonstige

Head.js
D3.js
Emojione.js

Quellen und Inspirationen

Yacy
Searx
DuckDuckGo Bang!
DuckDuckGo ZeroClickInfo

Text-Indizierte Dateien

DE-EN_Translation
Debian-Packages
NodeJS Packages
JS-Usefull
Awesome Java

About

Web basierte Suchmaschine für lokale Dateien, Rss-Feeds, Webseiten und Textdateien

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published