OctoPrint
OctoPrint is an open source 3D printer controller application, which provides a web interface for the connected printers. It displays printers' status and key parameters and allows user to schedule prints and remotely control the printer.
Developer(s) | Gina Häußge |
---|---|
Initial release | 2012 |
Stable release | 1.10.2[1]
/ 18 June 2024 |
Repository | |
Written in | Python |
Operating system | Windows, macOS, Linux |
Available in | 7 languages |
List of languages English, German, French, Polish, Russian, Korean, Catalan | |
Type | 3D printer control application |
License | Free and open-source AGPL |
Website | octoprint |
History
[edit]OctoPrint was created by Gina Häußge in 2012,[2] who initially developed the software to support her first 3D printer. OctoPrint[3] was forked from Cura, and is available under the same AGPL license. Development is hosted on GitHub.[3] Between August 2014 and April 2016, Spanish smartphone manufacturer BQ financially supported OctoPrint development by employing Gina Häußge full time to work on it. When BQ discontinued support in April 2016, Häußge turned to Patreon.[4][5]
In September 2018, a vulnerability was publicized at the Internet Storm Center of SANS Institute because "thousands" of users misconfigured their OctoPrint interface so it was available to the Internet without a login. This could result in not only a loss of data (intellectual property of designs) and privacy (through a connected webcam), but literal fires from poorly designed 3D printer safety controls.[6][7][8][9][10][11][12] Solutions that still enable worldwide access to a printer include using a commercial cloud printing interface like AstroPrint, Polar Cloud, or 3DprinterOS as well as the OctoPrint Anywhere plugin or standard VPN installations.[13][14]
Starting with OctoPrint version 1.4.0 released on March 4, 2020, OctoPrint is compatible with Python 3.[15] At the time of the release, most OctoPrint plugins were already compatible with Python 3.
As of August 2023, the OctoPrint Patreon campaign receives over $5,200 per month from over 1,900 backers.[16]
Features
[edit]OctoPrint provides a web interface for controlling 3D printers, allowing the user to start a print job by sending G-code to a 3D printer connected via USB. OctoPrint monitors the status of the print job, as well as the printer itself, including the temperature of the print head (hot end) and the temperature of the bed, if the bed on the printer is heated. OctoPrint can also show the output of a connected webcam in order to monitor the state of the print, and can visualize the G-code in sync with the print job, or asynchronously.
OctoPrint has a plugin system, allowing users to extend functionality. As of June 2024, there are 395 plugins listed in the official plugin repository.[17]
It has also been used by Thomas Sanladerer in a PrintrBot as a self-contained and fully mobile printer build.[18][19]
OctoPrint can run on a variety of systems, but is commonly run on Raspberry Pi. A distribution called OctoPi based on the Raspbian OS for Raspberry Pi, provides a pre-configured version of OctoPrint along with an mjpg-streamer support for webcams.[20]
OctoPrint recommends using the Raspberry Pi 3B, 3B+, 4B, or the Zero 2 and specifically warns against using the Raspberry Pi Zero W due to severe performance issues observed.[21]
References
[edit]- ^ "Release 1.10.2". 18 June 2024. Retrieved 22 June 2024.
- ^ "Interview: Gina Häußge, creator of OctoPrint, on the RepRap 10th Anniversary". 3D Printing Industry. 31 May 2018. Retrieved 22 February 2019.
Gina Häußge is the founder and main developer of OctoPrint.
- ^ a b "OctoPrint Github development page". GitHub. Retrieved 19 February 2019.
- ^ Gina Häußge (2016-04-13). "OctoPrint: Public: I need your support". Google Plus. Archived from the original on 2017-03-05. Retrieved 2019-02-22.
Most of you probably know that OctoPrint's development has been heavily sponsored by BQ since August 2014, mostly by employing me (Gina Häußge) full time for working on it. ... If you love OctoPrint and believe in its potential and my skills to get it there, please consider supporting me on Patreon. ... TLDR Please support me on Patreon.
- ^ "OctoPrint Startup Soon to Lose Funding from Sponsor BQ, Launches Patreon Campaign—Users Rally Behind Founder". 3DPrint.com. Retrieved 22 February 2019.
This is the case right now for OctoPrint, who has apparently lost their sponsor, BQ, and is taking to Patreon for support in what is a bit of an emergency funding situation or we may lose this startup to current lack of capital. According to word on the street—or, today that would be on Reddit—those who are fans of the 'snappy web interface' for their 3D printers put the word out leading us to a social media announcement from founder Gina Häußge. There is undeniable concern for the future of what is currently quite a popular source of 3D printing host software.
- ^ "Thousands of unsecured 3D printers discovered online". Naked Security. 6 September 2018. Retrieved 22 February 2019.
This is a problem caused by bad configuration and not the OctoPrint software, which clearly warns against enabling access without access control. Any owner exposing their printer to the internet without this must have chosen to do so.
- ^ Dvorsky, George. "Discovery of Thousands of Unsecured 3D Printers Is a Big Problem". Gizmodo. Retrieved 22 February 2019.
It's super convenient, but the ISC has discovered at least 3,759 instances in which users have deliberately set up their 3D printers to be accessible via the internet without the need for authentication (i.e. logging in with a username and password).
- ^ "Thousands of misconfigured 3D printers on interwebz run risk of sabotage". theregister.co.uk. Retrieved 22 February 2019.
"These printers are controlled using the open source software package 'OctoPrint' but it's likely there are other tools that are similarly affected. OctoPrint is not meant to be exposed in this way, and it explains in its documentation how to deploy the software in a safe way," Mertens explained.
- ^ "3D Printers in The Wild, What Can Go Wrong?". Internet Storm Center. 2018-08-30. Retrieved 2019-02-22.
They are thousands of Octoprint instances accessible without any authentication reported by Shodan:
- ^ "OctoPrint responds to security concern with detailed guide to safe 3D printer use". 3D Printing Industry. 5 September 2018. Retrieved 22 February 2019.
Responding to the ISC, OctoPrint has re-iterated the importance of proper configuration. And while the startup wizard for OctoPrint actively warns against allowing unauthenticated access, some users may have disregarded this.
- ^ Jubaleth. "A Guide To Safe Remote Access of OctoPrint". OctoPrint.org. Retrieved 22 February 2019.
Putting OctoPrint onto the public internet is a terrible idea, and I really can't emphasize that enough. Let's think about this for a moment, or two, or even three. OctoPrint is connected to a printer, complete with motors and heaters. If some hacker somewhere wanted to do some damage, they could.
- ^ "Additive manufacturing: an inconvenient truth". The Engineer. 8 November 2018. Retrieved 22 February 2019.
Earlier this month, security experts found a way to use OctoPrint to take print files off printers remotely or replace them with compromised files. An enterprising reporter even managed to do this inside two corporations that they left unnamed. Granted, these breaches stem from an unintended use case for OctoPrint
- ^ "An Easy Solution For OctoPrint Security?". Fabbaloo. 11 September 2018. Retrieved 22 February 2019.
But how do you use AstroPrint Cloud with OctoPrint? It turns out they've made a plug-in for OctoPrint that is installable by the touch of a button. Once done, your OctoPrint installation is then connected to the AstroPrint cloud and you can then use their mobile app to remotely control your 3D printer, for example. But you can also bring forward all their other functionality, which is considerable.
- ^ "Is Your OctoPrint Safe?". Fabbaloo. 5 September 2018. Retrieved 22 February 2019.
In a brilliant article on OctoPrint.org, contributor Jubaleth describes how many OctoPrint installations are actually publicly exposed to anyone by improper methods of Internet connection. Typically an uninformed operator might simply forward the OctoPrint ports through their network router to the public Internet.
- ^ "Gina Häußge and OctoPrint". KDE.news. 2020-08-15. Retrieved 2020-08-15.
- ^ "Gina Häußge | Creating OctoPrint | Patreon". Patreon. Archived from the original on 16 August 2023. Retrieved 16 August 2023.
1,981 members 461 posts $5,243/month
- ^ "OctoPrint Plugin Repository". OctoPrint Plugin Repository. Retrieved 2024-06-25.
- ^ "3D Printing News Sliced: Rocket Lab, David Bowie, Resident Evil 2". 3D Printing Industry. 25 January 2019. Retrieved 22 February 2019.
The system is built with a Raspberry Pi inside and has WiFi access. The converted Printrbot has no LCD screen, and is operated via a mobile phone using OctoPrint, a web interface for 3D printers. Sanladerer filmed the whole reconstruction process and uploaded it to YouTube.
- ^ "Thomas Sanladerer Converts Printrbot Play into Off-Grid Printer | All3DP". All3DP. 23 January 2019. Retrieved 22 February 2019.
Such tinkering includes running the batteries into a DC boost converter which enables the voltage to reach the required 12V for the printer to work. A DC regulator will also be used to bring the voltage to 5V to run the Raspberry Pi which in turn runs OctoPrint.
- ^ "guysoft/OctoPi: Scripts to build OctoPi, a Raspberry PI distro for controlling 3D printers over the web". GitHub. Retrieved 2023-08-16.
- ^ "OctoPrint.org - Download & Setup Octoprint". OctoPrint.org. Retrieved 1 November 2022.