CodexDrake ist eine Open-Source-Suchmaschine, die es Ihnen ermöglicht, sicher und anonym im Internet zu surfen und eine Vielzahl von Ergebnissen basierend auf verschiedenen Kategorien zu finden, wie zum Beispiel: Bilder, Nachrichten, Internetseiten, Bücher usw.
Die Software ist größtenteils in JavaScript geschrieben, wobei NodeJS als Backend und Vite + React als Frontend verwendet werden. Im Backend wird die von NPM veröffentlichte Bibliothek „cdrake-se“ verwendet, die es Ihnen vereinfacht gesagt ermöglicht, die Suchmaschine einzubetten, die diese Software in jede Ihrer Anwendungen ermöglicht.
Gehen Sie in NPM zum Paket „cdrake-se“.
Innerhalb der Bibliothek wird eine Vielzahl von Suchmaschinen genutzt, um die gestellten Anfragen zu beantworten, darunter: Google, Bing, Yahoo, Ask, Qwant, Youtube und andere... Darüber hinaus können Sie Vorschläge finden nach einem eingegebenen Begriff und führen Sie eine Suche auf Wikipedia durch.
Bedenken Sie, dass „cdrake-se“ nicht von einem HTTP 429-Fehler (Too Many Requests) ausgenommen ist, der verursacht werden kann, wenn in relativ kurzer Zeit eine große Anzahl von Anfragen gestellt wird. Bei Verwendung der automatischen Suche (mehr dazu erfahren Sie in der Dokumentation der Bibliothek) wird jedoch „Promise.any“ verwendet, was etwa so viel bedeutet wie „Von allen Anfragen an die Suchmaschinen zur Lösung der Anfrage ist die eine.“ derjenige, der zuerst fertig ist, wird zurückgegeben. Das heißt, wenn man die Vielfalt der Suchmaschinen berücksichtigt, die die Bibliothek integrieren, stellt das Auftreten eines Fehlers jeglicher Art, einschließlich HTTP 429, kein Problem dar, da es andere Suchmaschinen gibt, die eine Antwort zurückgeben. Das oben genannte Konzept macht die Suchmaschine weitgehend schnell und effizient.
Was den Namen „CodexDrake“ betrifft, so hat er seine Bedeutung von hinten, die Interpretation des Namens ist „Gier nach Ergebnissen“, Codex aus dem Lateinischen ist Gier und Drake interpretiert ihn in dem Wissen, dass es sich um eine Gleichung handelt, die es ermöglicht, die Anzahl der Zivilisationen zu ermitteln eine bestimmte Galaxie. (Ich glaube, ich bin nicht verrückt).
Die Software ist so konzipiert, dass sie auf jedem Server, den Sie dafür vorbereiten, selbst gehostet werden kann. Sie bietet Unterstützung für die Bereitstellung mit Docker oder die Durchführung einer manuellen Installation. Ich meine, installieren Sie die npm-Module sowohl des Clients als auch des Servers Dann gib einen NPM-Laufstart ... du weißt schon.
Wie in der Bibliothek erwähnt, die den Betrieb dieser Software „cdrake-se“ ermöglicht, hängen die Suchergebnisse von der geografischen Region ab, in der sich der Server befindet. Zum Zeitpunkt, an dem ich dies schreibe, habe ich die Instanz auf einem Server in Deutschland bereitgestellt. Beachten Sie, dass die Ergebnisse anders ausfallen, wenn Sie die Software lokal auf Ihrem Computer bereitstellen und sich beispielsweise in einem anderen Land wie Chile befinden. Ich denke, das hängt mit den entsprechenden Suchmaschinen und der Art und Weise zusammen, wie der Backend-Dienst funktioniert. Ich vermute, sie nehmen die IP, extrahieren das Land und geben eine Antwort entsprechend dem Länderkontext zurück.
Sicher und freundlich mit Ihren Daten
Responsive Web-Benutzeroberfläche
Keine Gebühren oder Abonnements (Keine kostenpflichtigen APIs)
Umfangreiche Benutzererfahrung
Benutzerfreundliche Architektur
Lächerlich schnell
Dunkler Modus und heller Modus
Docker-Unterstützung
Es gibt zwei Möglichkeiten, Ihre Instanz bereitzustellen: manuell oder über Docker. Beide sind relativ einfach, im Folgenden werden wir die Bereitstellung manuell durchführen, nur ein paar Befehle im Terminal reichen aus.
# Klonen des Repositorygit-Klons https://github.com/codewithrodi/CodexDrake/# Zugriff auf den generierten Ordnercd CodexDrake# Initialisieren des Server- und Client-Setups mit der Datei „Setup.py“, die später erklärt wirdpython3 Setup.py# Jetzt müssen Sie Warten Sie, bis „Setup.py“ seine Aufgabe erfüllt, und versuchen Sie, alles zu akzeptieren, was es vorschlägt. # Starten Sie den Web-UIcd-Client && npm und führen Sie dev aus. Starten Sie den Backend-Servercd-Server && npm Laufstart
# Klonen des Repositorygit-Klons https://github.com/codewithrodi/CodexDrake/# Zugriff auf den generierten Ordnercd CodexDrake# Ausführen von dockerdocker compose up -d
Hinter den „.env“-Umgebungsdateien steckt nicht viel Wissenschaft. Im Ordner „Server/“ befindet sich die Datei „.env“, die Definitionen enthält, die bei der Ausführung verwendet werden, darunter SSL-Zertifikate oder die Adresse im Servernetzwerk sie sind dort deklariert. In diesem Abschnitt werde ich mich darauf konzentrieren, Ihnen zu zeigen, worauf es wirklich ankommt, und zwar auf die Verknüpfung der Clientanwendung mit dem Server. Die Serverumgebungsdatei ist in Bezug auf die Variablennomenklatur recht anschaulich und verfügt über Kommentare. Obwohl nichts als selbstverständlich angesehen werden sollte, besteht keine Notwendigkeit, Ihnen diese Datei zu erklären, Sie werden es selbst verstehen.
Im Ordner „Client/“, in dem sich die Vite + React-Anwendung befindet, befindet sich eine Datei namens „.env“, in der Sie auf die Variable „VITE_CDRAKE_SERVER_ENDPOINT“ achten müssen, deren Wert der Endpunkt Ihres Backend-Servers sein muss Instanz, standardmäßig ist dies http://0.0.0.0:8000, es kann aber beispielsweise auch http://backend.mycodexdrakeinstance.com sein.
# <Client/.env> VITE_CDRAKE_REPOSITORY = https://github.com/codewithrodi/CodexDrake/VITE_CDRAKE_VERSION = Stabil v1.0.3VITE_CDRAKE_SERVER_ENDPOINT = http://0.0.0.0:8000/api/v1
Erwägen Sie, /api/v1 zu Ihrem Endpunkt hinzuzufügen.
In dem Ordner, der beim Klonen des Repositorys erstellt wurde, befindet sich eine Datei namens „Setup.py“, mit der Sie mehrere Anweisungen ausführen können, die Ihnen etwas Zeit sparen. Anschließend werden die Argumente erläutert, die diese Datei empfangen kann zu dir.
# Innerhalb des Ordners, der beim Klonen des Repositorys generiert wird.# (( /CodexDrake/ )# Automatisch die „node_modules“ der Server- und Clientanwendungen installieren.python3 Setup.py# Entfernen Sie die „node_modules“ für die Client- und Serveranwendung.python3 Setup .py DeleteModules# Entfernen Sie nur die „node_modules“ von der Clientanwendung.python3 Setup.py DeleteClientModules# Entfernen Sie nur die „node_modules“ vom Server application.python3 Setup.py DeleteServerModules# Entfernen Sie den gesamten Quellcode vom Server application.python3 Setup.py DeleteServerSource# Entfernen Sie den gesamten Quellcode vom Client application.python3 Setup.py DeleteClientSource
Die MIT-Lizenz (Massachusetts Institute of Technology License) ist eine freizügige Open-Source-Softwarelizenz. Es ermöglicht Entwicklern, die Software ohne wesentliche Einschränkungen zu nutzen, zu ändern, zu verteilen und unterzulizenzieren. Die MIT-Lizenz zeichnet sich durch ihre Einfachheit aus und stellt den Nutzern kaum rechtliche Beschränkungen auf.
Machen Sie sich mit der Software vertraut, lernen Sie daraus, extrahieren Sie Teile daraus und bauen Sie bessere Dinge. Viel Glück!
Webseite
NPM
Codepen
Github