An open source alternative front-end to Instructables.
Kumi
9dd8f4e2e0
Extended environment variables to allow for greater configurability and aligned debug mode detection with the new STRUCTABLES_DEBUG variable. Additionally, introduced command-line arguments for specifying Invidious instance URLs and unsafe iframe display settings. The content fetching logic has been revised for fetching JSON data directly instead of scraping HTML, resulting in a more robust and efficient data extraction process. New templates accommodate the change and present a cleaner UI, including handling of iframes, downloads, and proper proxying of external resources. HTML templates have been refactored to utilize better layout and styling while enhancing support for iframes and downloads, complete with the new ability to block iframe content from outside sources unless explicitly permitted. This security-focused feature protects end-users from potentially unsafe content. |
||
---|---|---|
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.