mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-07-31 20:32:20 +03:00
When accessing OmniRoute via LAN IP (192.168.x), the OAuth popup callback can't resolve localhost back to the VPS. Now shows manual paste input with warning banner instead of waiting indefinitely.
118 lines
3.2 KiB
JSON
118 lines
3.2 KiB
JSON
{
|
|
"name": "omniroute",
|
|
"version": "1.4.3",
|
|
"description": "Smart AI Router with auto fallback — route to FREE & cheap models, zero downtime. Works with Cursor, Cline, Claude Desktop, Codex, and any OpenAI-compatible tool.",
|
|
"type": "module",
|
|
"bin": {
|
|
"omniroute": "bin/omniroute.mjs",
|
|
"omniroute-reset-password": "bin/reset-password.mjs"
|
|
},
|
|
"files": [
|
|
"bin/",
|
|
"app/",
|
|
"README.md",
|
|
"LICENSE"
|
|
],
|
|
"workspaces": [
|
|
"open-sse"
|
|
],
|
|
"engines": {
|
|
"node": ">=18.0.0 <24.0.0"
|
|
},
|
|
"keywords": [
|
|
"ai",
|
|
"router",
|
|
"proxy",
|
|
"openai",
|
|
"claude",
|
|
"anthropic",
|
|
"gemini",
|
|
"fallback",
|
|
"cursor",
|
|
"cline",
|
|
"codex",
|
|
"llm",
|
|
"auto-fallback"
|
|
],
|
|
"license": "MIT",
|
|
"author": "diegosouzapw",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/diegosouzapw/OmniRoute"
|
|
},
|
|
"homepage": "https://omniroute.online",
|
|
"scripts": {
|
|
"dev": "next dev --webpack --port 20128",
|
|
"build": "next build --webpack",
|
|
"build:cli": "node scripts/prepublish.mjs",
|
|
"start": "next start --port 20128",
|
|
"lint": "eslint .",
|
|
"test": "node --import tsx/esm --test tests/unit/*.test.mjs",
|
|
"test:unit": "node --import tsx/esm --test tests/unit/*.test.mjs",
|
|
"test:plan3": "node --test tests/unit/plan3-p0.test.mjs",
|
|
"test:fixes": "node --test tests/unit/fixes-p1.test.mjs",
|
|
"test:security": "node --test tests/unit/security-fase01.test.mjs",
|
|
"test:e2e": "npx playwright test",
|
|
"test:coverage": "npx c8 --exclude=open-sse --check-coverage --lines 50 --functions 50 --branches 50 node --import tsx/esm --test tests/unit/*.test.mjs",
|
|
"test:all": "npm run test:unit && npm run test:e2e",
|
|
"check": "npm run lint && npm run test",
|
|
"prepublishOnly": "npm run build:cli",
|
|
"prepare": "husky"
|
|
},
|
|
"dependencies": {
|
|
"@monaco-editor/react": "^4.7.0",
|
|
"bcryptjs": "^3.0.3",
|
|
"better-sqlite3": "^12.6.2",
|
|
"bottleneck": "^2.19.5",
|
|
"express": "^5.2.1",
|
|
"fetch-socks": "^1.3.2",
|
|
"http-proxy-middleware": "^3.0.5",
|
|
"https-proxy-agent": "^7.0.6",
|
|
"jose": "^6.1.3",
|
|
"lowdb": "^7.0.1",
|
|
"monaco-editor": "^0.55.1",
|
|
"next": "^16.1.6",
|
|
"node-machine-id": "^1.1.12",
|
|
"open": "^11.0.0",
|
|
"ora": "^9.1.0",
|
|
"pino": "^10.3.1",
|
|
"pino-pretty": "^13.1.3",
|
|
"react": "19.2.4",
|
|
"react-dom": "19.2.4",
|
|
"recharts": "^3.7.0",
|
|
"selfsigned": "^5.5.0",
|
|
"undici": "^7.19.2",
|
|
"uuid": "^13.0.0",
|
|
"wreq-js": "^2.0.1",
|
|
"zod": "^4.3.6",
|
|
"zustand": "^5.0.10"
|
|
},
|
|
"devDependencies": {
|
|
"@playwright/test": "^1.58.2",
|
|
"@tailwindcss/postcss": "^4.1.18",
|
|
"@types/bcryptjs": "^3.0.0",
|
|
"@types/better-sqlite3": "^7.6.13",
|
|
"@types/node": "^25.2.3",
|
|
"@types/react": "^19.2.14",
|
|
"@types/react-dom": "^19.2.3",
|
|
"eslint": "^9.39.2",
|
|
"eslint-config-next": "16.1.6",
|
|
"husky": "^9.1.7",
|
|
"lint-staged": "^16.2.7",
|
|
"prettier": "^3.8.1",
|
|
"tailwindcss": "^4",
|
|
"tsx": "^4.21.0",
|
|
"typescript": "^5.9.3",
|
|
"typescript-eslint": "^8.56.0"
|
|
},
|
|
"lint-staged": {
|
|
"*.{js,jsx,ts,tsx,mjs}": [
|
|
"prettier --write",
|
|
"eslint --fix --no-error-on-unmatched-pattern"
|
|
],
|
|
"*.{json,md,yml,yaml,css}": [
|
|
"prettier --write"
|
|
]
|
|
}
|
|
}
|