An open source alternative front-end to Instructables.
Kumi
455218f7b6
Refactored the proxy route to stream data dynamically from URLs starting with specific domains, rather than loading it all at once. This change introduces a subfunction within the proxy route handler to manage streaming, which iterates through data chunks and yields them until completion. The new approach aims to enhance performance and resource utilization by avoiding the download of the entire content before sending it to the client. Additionally, error handling has been tightened, specifically for HTTP errors and missing 'content-type' headers, improving the robustness and reliability of the proxy feature. |
||
---|---|---|
static | ||
templates | ||
.gitignore | ||
cronjob.txt | ||
LICENSE | ||
main.py | ||
README.md | ||
requirements.txt |
Structables
An open source alternative front-end to Instructables. This is a fork of snowcatridge10's Indestructables to get rid of Selenium. Indestructables itself is a fork of Cobra's Destructables.Instances
URL | Provided by | Country | Comments |
---|---|---|---|
https://structables.private.coffee/ | Private.coffee | Austria |
Run your own instance
Dependencies
First, create a virtual environment with python3 -m venv venv
and activate it with source venv/bin/activate
. Then, install the dependencies with:
pip3 install -r requirements.txt
.
For the production environment, you also need the uWSGI Python3 plugin. On Debian, it can be installed via apt install uwsgi-plugin-python3
Production
- Clone the repository
- Run
uwsgi --plugin python3 --http-socket 0.0.0.0:8002 --wsgi-file main.py --callable app --processes 4 --threads 2
- Point your reverse proxy to http://localhost:8002
Development
- Clone the repository
- Run
python3 main.py
- Connect to http://localhost:8002
License
This project, as well as the two projects it is based on, are licensed under the GNU Affero General Public License v3. See the LICENSE file for more information.