ifURI roadmap

connect.ifuri.com + connectors (repo: if-uri/connect.ifuri.com)

State

/registry.json, /search.json, /submit, POST /validate-connector, /install?connectors=… (shell installer). Schemas in schema/*.json, logic in lib/hub.php.

urirun-connector-time-tools and urirun-connector-browser-control; each has local tests and Docker compose smoke targets.

stable decorator/import style across packages.

What a "connector" is

A manifest describing URI routes a third party exposes (DNS, planfile, MCP server, browser, kvm, llm, …) → bridges into a urirun binding/registry the app/flows can call.

Tasks

llm (local/qwen), kvm, get-node — as validated manifests in the catalog. (13 connectors in data/connectors.json, all schema-valid; polyglot set covers PHP/Go/JS too — base64/hash/uuid.)

not versioned imports such as @v2.uri_command(...). (Verified in connector tests/sources; remaining urirun.v2 refs are registry-compile imports, not the decorator.)

so /install?connectors=… produces a registry the app runs (ifuri-app urirun-call). (Live hub: /install?connectors=planfile returns a runnable pip/urirun script; /registry.json valid.)

urirun.bindings entry point so urirun scan can discover it after install. (15/15 Python connectors declare it; base64/hash/uuid are polyglot PHP/Go/JS.)

(scripts/validate_connectors.py — 13 manifests + catalog, 0 errors; in ci-deploy.yml.)

JSON-LD and links to source/tests for each connector. (/connectors/{id}.json live, valid JSON.)

(lib/hub.php hub_rate_limit + hub_client_ip; api/validate_connector.php enforces POST-only (405), per-IP sliding-window rate limit (429 + Retry-After), 64 KB body cap (413) and JSON depth cap 32. Verified live: 429 after limit, 413 on >64 KB, 405 on GET.)

(Ed25519/libsodium: scripts/sign-manifest.php keygen/sign/verify; manifests carry a detached trust signature over the canonical manifest; lib/hub.php hub_manifest_verified checks it against data/publishers.json; signature-backed badge in index/connector pages; verified flag in /registry.json; schema allows the trust block; tests/sign_test.php in the smoke suite. Verified end to end: sign→verify, tamper-detection, unknown-publisher rejection.)

(registry.json already machine-readable) so agents can find connectors. (Live: /mcp.json and /a2a.json return valid JSON.)

(Live: /sitemap.xml and /robots.txt → HTTP 200.)

(JSON endpoints send Cache-Control: public, max-age=120; added data/README.md documenting the manifest→catalog workflow and that data/ is preserved on deploy.)

Verify

/install?connectors=planfile returns a runnable script.

Synced from GitHub · last update 2026-08-04 02:24 UTC · source: github. Edit on GitHub; this page refreshes once a day.