Der aktuelle WDOS befindet sich noch in intensiver Entwicklung. Die Systemstruktur kann jederzeit geändert werden. Bitte entwickeln Sie nur auf der aktuellen vorhandenen WDOS Gateway Interface (AGI) JavaScript Interface oder Standard HTML Webapps mit ao_module.js Endpunkten.
- Web-Desktop-Schnittstelle (besser als Synology DSM)
- Ubuntu-Remix Windows-Stil Startmenü und Taskleisten
- Sauber und einfach zu bedienender Dateimanager (Unterstützung Drag & Drop, Upload usw.)
- Einfaches Systemeinstellungsmenü
- Kein-Bullshit-Modulnamenschema
- FTP-Server
- Statischer Webserver
- WebDAV-Server
- UPnP-Portweiterleitung
- Samba (über Drittanbieter-Subservices unterstützt)
- WLAN-Verwaltung (Unterstützung von wpa_supplicant für Rpi oder nmcli für Armbian)
- Laufwerks-/Formatierungs-Dienstprogramme (unterstützt NTFS, EXT4 und mehr!)
- Virtuelle Dateisystemarchitektur
- Dateifreigabe (ähnlich wie Google Drive)
- Grundlegende Dateioperationen mit Echtzeit-Fortschritt (Kopieren / Ausschneiden / Einfügen / Neue Datei oder Ordner usw.)
- oAuth
- LDAP
- IP-Weiß-/Schwarzliste
- Exponentielles Anmeldetimeout
- ECMA5 (JavaScript ähnliche) Skript-Schnittstelle
- Entwicklung von 3rd-Party-Go / Python-Modulen mit Sub-Service-Reverse-Proxy
- Erfordert so wenig wie 512 MB Arbeitsspeicher und 8 GB Systemspeicher
- Basiert auf einer der stabilsten Linux-Distributionen - Debian
- Unterstützung für Desktop-, Laptop- (Touchpad-) und Mobilbildschirmgrößen
Erfordert GO 1.14 oder höher (siehe Installationsanleitung)
Führen Sie den folgenden Befehl aus, um das System zu erstellen
git clone <https://github.com/Secarian/GoWDOS>
cd ./wdos/src/
Build starten
./wdos
#sudo ./wdos zur Aktivierung der Hardware- und WiFi-Verwaltungsfunktionen
Ja, es ist so einfach.
Wenn Sie Raspberry Pi als Ihren Host verwenden, können Sie eines der Images herunterladen und das Image auf Ihre SD-Karte flashen. Sie finden ein neues Netzwerkgerät mit dem Namen "WDOS (ARxxx)" in Ihrem "Netzwerkumfeld". Doppelklicken Sie auf das Symbol und Sie werden auf die System-Websetup-Schnittstelle umgeleitet. Wenn Sie das neue Gerät nicht in Ihrem Netzwerk finden können, können Sie sich auch direkt über http://{raspberry_pi_ip_address}:8080/
mit WDOS verbinden.
Alle oben aufgelisteten Imges erfordern eine microSD-Karte mit 8 GB oder mehr.
Um die .img-Datei zu erhalten, können Sie das komprimierte Bild mit 7zip entpacken. Wenn Sie es nicht haben, können Sie es hier herunterladen.
Seit v1.119 wurde das vorinstallierte wdos-Images von Raspberry Pi OS 32-Bit auf 64-Bit verschoben, um die Systemressourcen besser zu nutzen. Für ältere Versionen von Pis können Sie wdos mit dem unten stehenden Befehl mit einer frischen Installation von Raspberry Pi OS installieren.
curl -L <https://raw.githubusercontent.com/Secarian/wdos/master/installer/install_for_pi.sh> | bash
ohne curl
cd ~/
wget <https://raw.githubusercontent.com/Secarian/wdos/master/installer/install_for_pi.sh>
sudo chmod 775 ./install_for_pi.sh
./install_for_pi.sh
Der Installer wird alle erforderlichen Abhängigkeiten einschließlich ffmpeg und go-Compiler installieren. Um die Installation erfolgreich zu bestätigen, überprüfen Sie den Ausführungsstatus von WDOS mit dem folgenden Befehl.
sudo systemctl status wdos
Siehe Installationsschritte für andere ARM SBC (verwenden Sie jedoch das Binärpaket wdos_linux_arm
anstelle von wdos_linux_arm64
).
Laden Sie das korrekte Architekturbinärpaket aus dem Tab "release" herunter und laden Sie das Binärpaket mit dem Ordner "web" und "system" in "/src" hoch. Nach dem Hochladen sollten Sie die folgende Dateistruktur haben.
$ ls
wdos_linux_arm64 web system
Starten Sie das Binärprogramm, indem Sie sudo ./wdos_linux_arm64
aufrufen (oder ohne sudo, wenn Sie keine Hardwareverwaltung bevorzugen).
Wenn Sie auf Windows bereitstellen, müssen Sie ffmpeg zur %PATH%-Umgebungsvariable hinzufügen.
Dieses System kann mit den folgenden Build-Anweisungen auf Windows-Hosts erstellt und ausgeführt werden.
# Laden Sie das gesamte Repo als zip herunter und installieren Sie es mit cd
cd .\\wdos\\src\\
Build starten
wdos.exe
Allerdings sind nicht alle Funktionen für Windows verfügbar.
Danke an Saren für das erstellen dieses großartigen DockerFile
Sehen Sie sich sein Repo an [hier] (https://github.com/Saren-Arterius/wdos-dockerize)
Die folgenden Startparameter werden unterstützt (v1.113)
-allow_autologin
Erlaubt eine RESTFUL Login-Umleitung, die es Maschinen wie Billboards erlaubt, sich beim Systemstart anzumelden (Standardwert true)
-allow_cluster
Erlaubt Cluster-Operationen im LAN. Erfordert das allow_mdns=true Flag (Voreinstellung true)
-allow_iot
Ermöglicht IoT-bezogene APIs und Scanner. Erfordert die Aktivierung von MDNS (Standard true)
-allow_mdns
Aktiviert den MDNS-Dienst. Erlaubt, dass das Gerät von nahegelegenen WDOS-Hosts gescannt wird (standardmäßig true)
-allow_pkg_install
Erlaubt dem System, Pakete mit dem Advanced Package Tool (auch bekannt als apt oder apt-get) zu installieren (Standardwert true)
-allow_ssdp
Aktivieren Sie den SSDP-Dienst. Deaktivieren Sie diese Option, wenn Sie nicht möchten, dass Ihr Gerät von der Windows-Netzwerkumgebung gescannt wird (Standardwert: true)
-allow_upnp
Aktiviert den uPNP-Dienst, empfohlen für Hosts unter NAT-Routern
-beta_scan
Erlaubt Kompatibilität zu WDOS Online Beta Clusters
-cert Zeichenfolge
TLS-Zertifikatsdatei (.crt) (Standard "localhost.crt")
-console
Aktiviert die Debugging-Konsole.
-demo_Modus
Führt das System im Demomodus aus. Alle Verzeichnisse und die Datenbank sind schreibgeschützt.
-dir_list
Aktiviert die Verzeichnisauflistung (Voreinstellung true)
-disable_http
HTTP-Server deaktivieren, tls=true erforderlich
-disable_ip_resolver
Deaktiviert die IP-Auflösung, wenn das System unter einer Reverse-Proxy-Umgebung läuft
-disable_subservice
Vollständige Deaktivierung von Unterdiensten
-enable_hwman
Aktiviert die Hardware-Verwaltungsfunktionen im System (Standardwert true)
-gzip
Aktiviert die gzip-Komprimierung auf dem Dateiserver (Voreinstellung true)
-homepage
Aktiviert die Benutzer-Homepage. Erreichbar über /www/{Benutzername}/ (Voreinstellung true)
-hostname Zeichenfolge
Standardname für diesen Host (standardmäßig "Mein WDOS")
-iobuf int
Menge des Pufferspeichers für IO-Operationen (Standardwert 1024)
-key string
TLS-Schlüsseldatei (.key) (Voreinstellung "localhost.key")
-max_upload_size int
Maximale Upload-Größe in MB. Darf den verfügbaren Speicherplatz auf Ihrem System nicht überschreiten (Standardwert 8192)
-ntt int
Ausführungszeit der nächtlichen Aufgaben. Standardwert 3 = 3 Uhr morgens (Standardwert 3)
-port int
Lauschender Port für HTTP-Server (Standardwert 8080)
-public_reg
Öffentliche Registerschnittstelle für die Kontoerstellung aktivieren
-root string
Benutzer-Root-Verzeichnisse (standardmäßig "./files/")
-session_key Zeichenfolge
Sitzungsschlüssel, muss 16, 24 oder 32 Bytes lang sein (AES-128, AES-192 oder AES-256). Leer lassen für automatische Generierung.
-storage_config Zeichenfolge
Dateispeicherort der Speicherkonfigurationsdatei (Standard "./system/storage.json")
-tls
Aktiviert TLS bei der HTTP-Übertragung (HTTPS-Modus)
-tls_port int
Lauschender Port für HTTPS-Server (Standardwert 8443)
-tmp string
Temporärer Speicher, kann über tmp:/ erreicht werden. Ein tmp/ Ordner wird in diesem Pfad erstellt. Empfohlen werden schnelle Speichergeräte wie SSD (Standard "./")
-tmp_zeit int
Zeit bevor die tmp Datei gelöscht wird in Sekunden. Standardwert 86400 Sekunden = 24 Stunden (Standardwert 86400)
-upload_async
Aktiviert die Pufferung des Datei-Uploads, um im asynchronen Modus zu arbeiten (schnellerer Upload, erfordert RAM >= 8GB)
-upload_buf int
Pufferspeicher für den Upload in MB. Jede Datei, die größer als diese Größe ist, wird auf der Festplatte gepuffert (langsamer). (Voreinstellung 25)
-uuid string
System UUID für Clustering und verteiltes Rechnen. Muss nur einmal beim ersten Start konfiguriert werden. Leer lassen für automatische Generierung.
-version
System-Build-Version anzeigen
-wlan_schnittstelle_name string
Die standardmäßige drahtlose Schnittstelle für die Verbindung mit einem AP (standardmäßig "wlan0")
-wpa_supplicant_config string
Pfad für die wpa_supplicant-Konfiguration (standardmäßig "/etc/wpa_supplicant/wpa_supplicant.conf")
Beispiel:
//Start von wdos online mit Standard-Webport
./wdos -port 80
//Start von wdos online im Demo-Modus
./wdos -demo_mode=true
//https anstelle von http verwenden
./wdos -tls=true -tls_port 443 -key mykey.key -cert mycert.crt -disable_http=true
//Starten Sie sowohl den HTTPS- als auch den HTTP-Server auf zwei verschiedenen Ports
./wdos -port 80 -tls=true -key mykey.key -cert mycert.crt -tls_port 443
//Ändern Sie die maximale Upload-Größe auf 25MB
./wdos -max_upload_size 25
Siehe Dokumentation für weitere Beispiele.
Siehe https://github.com/wdos-online/launcher
Wenn Sie eine einzelne Maschine bereitstellen, können Sie im Systemeinstellungen > Disk & Storage > Storage Pools die Storage-Pool "System" bearbeiten, um die globalen Storage-Pools für alle Benutzer im System einzurichten.
Wenn Sie auf mehreren Maschinen bereitstellen, können Sie sich die Konfigurationsdatei für den Speicher ansehen, die sich unter folgendem Pfad befindet:
src/system/storage.json.example
Benennen Sie die storage.json.example in storage.json um und starten Sie wdos. Die erforderlichen virtuellen Speicherlaufwerke werden entsprechend eingehängt.
Das WDOS AJGI / AGI-Interface bietet eine javascript-programmierbare Schnittstelle für WDOS Online-Benutzer, um Plugins für das System zu erstellen. Um das Modul zu initiieren, können Sie eine "init.agi"-Datei im Webverzeichnis des Moduls (auch als Modulwurzel bezeichnet) ablegen. Weitere Details finden Sie in der.
Seit Version 1.119 kann WDOS mit Hilfe des WDOS Launchers ein OTA-Update durchführen. Weitere Informationen zur Installation finden Sie im Github-Repository des Launchers.
Wenn Sie nach anderen WebApps (über die Systemeinstellungen installiert) oder Subservices (erfordern eine SSH-Anmeldung zur Installation, nur für OEM) suchen, schauen Sie sich bitte unsere Sammlung hier an: https://github.com/wdos-online/WebApp-and-Subservice-Index
Sie können die Autoren über Telegram erreichen! Wir freuen uns über alle Arten von Feedback und Fragen.
Verwenden Sie WDOS auf etwas anderem als Raspberry Pis? Zeigen Sie uns Ihre Serverkonfiguration und Hardware-Spezifikationen!
https://github.com/Secarian/GoWDOS/issues/50
Wenn Sie nach Tutorials suchen oder Hilfe bei der Fehlerbehebung von kleineren Problemen benötigen, schauen Sie sich diese von unseren Benutzern verfassten Artikel an. (Vielen Dank, dass Sie dieses Projekt geteilt haben :D )
- WDOS + Raspberry Pi zum Bau eines tragbaren NAS (zur Vermeidung von Gruben)
- WDOS + Raspberry Pi Mini NAS
- Raspberry Pi Arozos Nord
- Linux:WDOS-Installation und Erstellung des Boot-Selbststartdienstes
Fühlen Sie sich frei, einen PR zu erstellen, wenn Sie einen Artikel über WDOS geschrieben haben!
Ich arbeite an diesem Projekt als Hobby / Nebenprojekt und ich bin nicht wirklich daran interessiert, Spenden für dieses Projekt zu sammeln.