acnext → OrcaSlicer

Firefox-Extension, die acnext://-Links auf Anycubic Maker World abfängt, die 3MF-Datei über die Anycubic-Cloud-API herunterlädt und sie in OrcaSlicer öffnet.

Browser blockieren das acnext://-Schema, wenn der Anycubic Slicer Next nicht installiert ist. Diese Extension ersetzt diesen Slicer durch OrcaSlicer.

Architektur

Maker World (acnext://-Link)
   │  Klick abgefangen
   ▼
content.js ──► background.js ──► Native Messaging Host (Python)
                                    │  Download via Cloud-API (JWT aus Payload)
                                    │  ~/Downloads/<datei>.3mf
                                    ▼
                                 OrcaSlicer (AppImage)

Der Native Host erledigt Download + Öffnen — eine Extension kann keinen lokalen Dateipfad an einen externen Slicer übergeben, und CORS verhindert den direkten Download im Browser.

Installation

1. Native Host installieren

bash native-host/install.sh

Schreibt das Host-Manifest nach ~/.mozilla/native-messaging-hosts/. Pfad zur OrcaSlicer-AppImage ist in native-host/acnext_orca_host.py hartkodiert (Default: /home/coding/OrcaSlicer_Linux_V2.4.0-dev.AppImage) und per ORCA_APPIMAGE-Env überschreibbar.

2. Extension in Firefox laden

about:debugging → „Dieses Firefox" → „Temporäres Add-on laden" → extension/manifest.json auswählen.

Payload (acnext://open?jsonvalue=<base64>)

{
  "accessToken": "<JWT>", "fileId": 49184, "fileName": "X.3mf",
  "regionCn": "0", "hash": "<MD5>", "userId": "<UUID>"
}

regionCn "0" → Global-Server, "1" → China-Server.

Offene Punkte

  • Download-Endpunkt ist noch via DevTools zu verifizieren (siehe Plan, Schritt 1). Aktuell vermutet: GET {base}/file/download?fileId={id} mit Authorization: Bearer.
  • AppImage-Pfad später konfigurierbar machen (aktuell Env-Override).
Description
Firefox extension: intercept acnext:// links and open in OrcaSlicer
Readme 30 KiB
Languages
Python 44%
JavaScript 33.6%
Shell 12%
HTML 10.4%