OctoPrint

aus Wikipedia, der freien Enzyklopädie
OctoPrint

Octoprint Screenshot.png
Screenshot vom Octoprint Dashboard in einem Mozilla Firefox.
Basisdaten

Maintainer Gina Häußge
Erscheinungsjahr 2011
Aktuelle Version 1.8.2
Betriebssystem Windows, Linux, MacOS
Programmiersprache Python, JavaScript
Kategorie 3D-Druck
Lizenz AGPL-3.0
deutschsprachig nein
https://octoprint.org/

OctoPrint ist ein Open-Source-Projekt zur web-basierten Steuerung handelsüblicher 3D-Drucker. Es wurde von Gina Häußge 2011 als Cura-Fork begonnen und wird seitdem von ihr betreut.[1] Von 2014 bis 2016 wurde die Entwicklung durch den Unterhaltungselektronik-Hersteller BQ finanziert, bei dem Häußge bis 2016 arbeitete. Im April 2016 wandte sie sich in einem Blogposting an ihre Community und bat um die Unterstützung ihres Projektes über die Spendenplattform Patreon; seitdem wird das Projekt durch monatliche Spenden von mehr als 2300 Unterstützern finanziert.[2][3] Mit Stand Januar 2022 werden monatlich etwa 6000 € gespendet.[4]

Funktionsweise

OctoPrint kann entweder manuell auf einem Computer installiert werden oder mit dem OctoPi-Image auf einem Raspberry Pi eingerichtet werden. Nach der Installation startet OctoPrint einen lokalen Webserver und ermöglicht die Steuerung eines per USB angeschlossenen 3D-Druckers über ein Webinterface.

Neben der automatisierten Übertragung von G-Code bietet OctoPrint Möglichkeiten zur manuellen Steuerung und Überwachung des 3D-Druckers. Zudem kann eine Webcam eingebunden werden, um ein Livebild vom Drucker zu erhalten und beispielsweise Zeitrafferaufnahmen zu erstellen.[5] Octoprint bietet umfangreiche Einstellungsmöglichkeiten und ermöglicht das Anlegen von Profilen und Nutzern.

Durch Plugins, beispielsweise aus dem offiziellen Plugin Register, kann die Funktionsweise von OctoPrint erweitert werden.

Kompatibilität

OctoPrint wurde mit einer Vielzahl an 3D-Druckern getestet, unter anderem mit dem Ultimaker 2, Prusa i3 und dem 3DR Reprap. Während meist keine Kompatibilitätsprobleme bei 3D-Druckern mit einer Open-Source Firmware wie Marlin auftreten, ist die Verbindung mit vielen 3D-Druckern, die proprietäre Protokolle einsetzen (beispielsweise der Makerbot Gen 5) meist nicht möglich.[6]

Die Software verfügt über eine REST API Schnittstelle und ermöglicht so die Steuerung durch andere Applikationen, beispielsweise durch eine Android-App oder eine Smartwatch.[7] MyMiniFactory, ein Anbieter von Modellen für den 3D-Druck, bietet seinen Nutzern seit November 2018 ein Plugin für OctoPrint an, mit welchem die Nutzer Modelle der Webseite direkt an eine OctoPrint Instanz schicken können.[8] Das Slicing übernimmt hierbei MyMiniFactory, das Feature wird als "Click & Print" bezeichnet.[9] Auch die Integration in die Heimautomatisierungssoftware ioBroker ist mittels eines Plugins möglich.[10]

Sicherheitsrisiken

Im September 2018 berichtete das Internet Storm Center (ISC) des SANS-Institutes, dass zahlreiche OctoPrint-Instanzen ohne Authentifizierung öffentlich über das Internet erreichbar sind. Insgesamt wurden 3759 frei zugängliche Instanzen registriert, 357 dieser Instanzen befanden sich nach Angaben des ISC in Deutschland.[11][12][13] Die öffentlich zugänglichen Instanzen sind problematisch, da Fremde die angeschlossenen 3D-Drucker steuern, auf eine angeschlossene Webcam zugreifen oder die gedruckten Dateien herunterladen könnten.[11] Gegebenenfalls ist es möglich, die Firmware von angeschlossenen 3D-Druckern zu manipulieren.[14]

OctoPrint implementiert zwar ein Zugriffsmanagement, dieses ermöglicht jedoch auch nicht angemeldeten Nutzern den lesenden Zugriff auf die hochgeladenen Dateien, die Webcam und den angeschlossenen 3D-Drucker.[15] Zudem kann dieses Zugriffsmanagement komplett deaktiviert werden.

Die Entwickler OctoPrints reagierten mit einem Blogposting, in welchem sie vor einer Portweiterleitung – welche die Instanz i. d. R. öffentlich zugänglich macht – warnten.[14] Stattdessen empfehlen die Entwickler, einen Zugang über spezielle Plugins oder einer gesicherten Verbindung (z. B. VPN) einzurichten.

Weblinks

Einzelnachweise

  1. Added readme file. · foosel/OctoPrint@b6652dd. Abgerufen am 23. April 2019 (englisch).
  2. Gina Häußge is creating OctoPrint. Abgerufen am 23. April 2019 (englisch).
  3. Gina Häußge: I need your support. Abgerufen am 23. April 2019 (englisch).
  4. Patreon. Abgerufen am 24. Januar 2022 (deutsch).
  5. Gina Häußge: OctoPrint.org. Abgerufen am 23. April 2019 (englisch).
  6. Gina Häußge: OctoPrint is the snappy web interface for your 3D printer!: foosel/OctoPrint. 23. April 2019, abgerufen am 24. April 2019.
  7. REST API — OctoPrint 1.3.10.post9.dev0+g03e328fd documentation. Abgerufen am 24. April 2019.
  8. jneilliii: Contribute to jneilliii/OctoPrint-MyMiniFactory development by creating an account on GitHub. 15. Februar 2019, abgerufen am 25. April 2019.
  9. How to Use the MyMiniFactory Plugin on Octoprint. Abgerufen am 25. April 2019.
  10. Matthias Kleine: ioBroker adapter to manage your 3D printer over ioBroker: klein0r/ioBroker.octoprint. 2. März 2019, abgerufen am 26. April 2019.
  11. a b 3D Printers in The Wild, What Can Go Wrong? Abgerufen am 25. April 2019.
  12. heise online: OctoPrint-Chefentwicklerin: 3D-Drucker gehören nicht ins öffentliche Netz. Abgerufen am 25. April 2019.
  13. Catalin Cimpanu: Thousands of 3D printers may be leaking private product designs online. Abgerufen am 26. April 2019 (englisch).
  14. a b Gina Häußge: A Guide To Safe Remote Access of OctoPrint. Abgerufen am 25. April 2019 (englisch).
  15. Access Control — OctoPrint 1.3.10.post9.dev0+g03e328fd documentation. Abgerufen am 25. April 2019.