Replies: 18 comments 7 replies
|
Hey @evogix! Good news from your first screenshot -- the server itself is fine ( To pinpoint it I need the terminal output:
Heads-up: Termux/Android isn't an officially supported platform. By far the most common cause of a dashboard 500 there is the pkg install nodejs python build-essential
npx -y omniroute@latestFull Termux setup + troubleshooting is in |
|
You could try looking at the logs.. in your .env define: |
|
Thanks @powellnorma -- that's exactly the right idea. @evogix, to actually fix this I still need the server-side error text; "Not Resolved" alone doesn't tell me what's throwing. The browser only ever shows the generic Please restart with debug logging and paste the output: APP_LOG_LEVEL=debug npx -y omniroute@latest serve --logor capture it to a file (as @powellnorma suggested) via Then open My strong suspicion is still the |
|
I fixed the issue and uploaded the complete project to GitHub. If you need to inspect the full source code, you can find it here: https://github.com/W8SOJIB/W8OmniRouteTermux-Moded Please review the code and let me know if you find any issues or have suggestions for improvements. Also, a huge thank you to the original developer for creating this project. This is not my project—I only made some modifications and fixes to support the community. I really appreciate all the work that went into building it. and install here is Command: curl -fsSL "https://raw.githubusercontent.com/W8SOJIB/W8OmniRouteTermux-Moded/main/install.sh" | bash |
|
Hey @evogix! Still need the actual server-side error to diagnose this -- "Not Resolved" by itself doesn't tell me what's throwing. @powellnorma's suggestion is the right next step:
That will tell whether it's a DB/migration issue, a port conflict, or something else on the server side. Without the actual stack trace I can't pin down the fix. |
|
here my app log |
|
@dimaslanjaka thanks -- your "database auto renamed" + app.log is exactly the signature we need, and it's a different root cause from @evogix's original Termux report. What you're hitting is the DB probe-failed / auto-rename loop: on startup OmniRoute probes This is a known post-3.8.46 regression cluster -- tracked in #6594, #6628, #6631 and #6802. Common triggers:
To recover now:
Could you drop the first ~30 lines your app.log prints around @evogix -- if you're still stuck, your case is most likely the Termux |
|
guyssss i found the soultion finally inside that folder you will fine ".omniroute" folder |
|
Hey all -- this thread has three different situations mixed together, so let me untangle them. @itsBash92's fix (deleting the @dimaslanjaka's case (the "database auto renamed" + app.log) is the real signature here: this is the post-3.8.46 DB probe-failed/auto-rename loop, already tracked in #6594, #6628, #6631, and #6802. Before nuking @W8SOJIB -- please don't run third-party install scripts posted in a discussion without a way to audit what actually changed. A PR against this repo is the right way to contribute a fix, exactly as @powellnorma said, so it can be reviewed line-by-line before anyone pipes it into a shell. @evogix -- are you still hitting this? If so, the debug-logging steps from earlier in the thread are still what I need to trace your original Termux case, since it may be a different root cause than the DB-rename issue above. |
|
Hi, having the same issue on Termux (Android, aarch64) — and also reproduced on a PC, so it doesn't seem device-specific. |
|
Good news guys in mobile through termux first show internel server error I
got frustrated because everyone set up on pc or laptop not face any issue I
only face the issue I am non technical background so fixing this is a
very taught job for me I don't know coding or anything so for this I use
claude and he told me some thing like creat a ubuntu container or some
thing like I told claude to create a force Linus environment in termux and
he give me commands like this and I solve the error really I am so happy
because last 4 to 5 days through I found the solution 🥳🥳🥳🥳
…On Sat, 25 Jul 2026, 04:09 Shoikat Hossain, ***@***.***> wrote:
Hi, having the same issue on Termux (Android, aarch64) — and also
reproduced on a PC, so it doesn't seem device-specific.
Environment:
OmniRoute v3.8.48
Node v26.4.0
aarch64 (Termux) + also tested on PC, same result
What I've already tried (no change):
Fresh install via npx -y omniroute — 500 on every request
Global install + npm rebuild better-sqlite3 after installing python
build-essential — rebuild succeeded, still 500
Renamed ~/.omniroute to start with a completely fresh state — still 500
(so not a corrupted DB/config issue)
APP_LOG_LEVEL=debug npx -y omniroute — no additional output printed
anywhere, even while hitting the server with curl
Ran the entry file directly: node --trace-uncaught --trace-warnings
bin/omniroute.mjs — still no stack trace in stdout/stderr
NODE_ENV=development node bin/omniroute.mjs — response body is still just
the plain text "Internal Server Error", no detail
~/.omniroute/logs/application/app.log exists but is completely empty
Confirmed dist/head-response-guard.cjs is present (the file that was
missing in the 3.8.47 hotfix)
curl -I and curl -v both just show HTTP/1.1 500 Internal Server Error with
a 21-byte plain text body, no JSON detail
The server itself reports ✔ OmniRoute is running! and starts in ~15s, but
every single dashboard/API request returns 500 with absolutely nothing
logged anywhere (terminal, log file, or response body). This is blocking me
completely — any pointers on where else to look, or is there a way to force
a verbose error response body?
—
Reply to this email directly, view it on GitHub
<#6573?email_source=notifications&email_token=CFS5727BKC4FA3RB7BOQZFD5GPQSVA5CNFSNUABIM5UWIORPF5TWS5BNNB2WEL2ENFZWG5LTONUW63SDN5WW2ZLOOQXTCNZXG4ZDQOJWUZZGKYLTN5XKOY3PNVWWK3TUUVSXMZLOOSWGM33PORSXEX3DNRUWG2Y#discussioncomment-17772896>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/CFS5725WSL5YHVALPAO26XT5GPQSVAVCNFSNUABJKJSXA33TNF2G64TZHMYTCNJXGEYDEMRYGI5UI2LTMN2XG43JN5XDWMJQGM4DMNRRGGQXMAQ>
.
You are receiving this because you commented.Message ID:
***@***.***
com>
|
|
@imishbahu-commits -- this is the breakthrough on this thread. That error line ( I traced it to the exact cause, and there is a much simpler fix than patching What is actually happening. It is not OmniRoute code -- it is Next.js, in if (process.platform === 'linux') { /* XDG_CACHE_HOME || ~/.cache -- no existence check */ }
else if (process.platform === 'darwin') { ... }
else if (process.platform === 'win32') { ... }
else {
// un-handled platform: requires the directory to ALREADY EXIST
for (const dir of [path.join(os.homedir(), '.cache'), path.join(os.tmpdir())]) {
if (fs.existsSync(dir)) { systemCacheDirectory = dir; break; }
}
if (!systemCacheDirectory) { console.error(new Error('Unsupported platform: ' + process.platform)); process.exit(0); }
}
The simpler workaround. That branch does check mkdir -p ~/.cacheThen start OmniRoute normally. I verified this by simulating the Termux conditions: with both directories missing I reproduced your exact error, and with Your platform-override patch also works, and for the same reason: the Tracking. Opened #8519 to fix this properly so nobody has to do either -- the CLI should ensure the cache directory itself on Android. Worth saying plainly: this was already reported in #3450 back in v3.8.15, that issue was closed once the Termux guide was added, but the troubleshooting section for this specific crash never actually made it into the guide. That is on me, and #8519 covers fixing the guide too. @shuvo4578 -- your report is what made the root cause findable, thank you for the detail. Two things:
And you are right that the silent failure is itself a bug: a fatal instrumentation-hook error should never leave an empty |
|
Hi owner I fix the error for a temporary time I visit the dashboard set
password select free tier providers cloud , server , all are running and I
generate api key and setup with hermes all are working but after sometime
when I visit the website a message popup in yellow colour server connection
error I clearly mention that server connection error and internel server
connection are different when I close the omniroute tab from the chrome and
again visit the website show internel server error and I can't reach to the
website please help me
…On Sat, 25 Jul 2026, 09:15 Diego Rodrigues de Sa e Souza, < ***@***.***> wrote:
@imishbahu-commits <https://github.com/imishbahu-commits> -- this is the
breakthrough on this thread. That error line (Unsupported platform:
android) is what nobody had captured before, and it turned a five-month
mystery into a one-line fix. Thank you for pushing through five days of it
and coming back to share the commands instead of just walking away.
I traced it to the exact cause, and *there is a much simpler fix than
patching dist/server.js.*
*What is actually happening.* It is not OmniRoute code -- it is Next.js,
in getCacheDirectory():
if (process.platform === 'linux') { /* XDG_CACHE_HOME || ~/.cache -- no existence check */ }else if (process.platform === 'darwin') { ... }else if (process.platform === 'win32') { ... }else {
// un-handled platform: requires the directory to ALREADY EXIST
for (const dir of [path.join(os.homedir(), '.cache'), path.join(os.tmpdir())]) {
if (fs.existsSync(dir)) { systemCacheDirectory = dir; break; }
}
if (!systemCacheDirectory) { console.error(new Error('Unsupported platform: ' + process.platform)); process.exit(0); }}
android is not one of the three handled platforms, so it lands in the else
branch -- and that branch, unlike the linux one, *only accepts a
directory that already exists*. On Termux, /tmp does not exist (Termux
uses $PREFIX/tmp) and ~/.cache may not exist yet on a fresh install.
Neither passes, so Next.js exits before the server can serve anything.
*The simpler workaround.* That branch does check ~/.cache -- so just
create it:
mkdir -p ~/.cache
Then start OmniRoute normally. I verified this by simulating the Termux
conditions: with both directories missing I reproduced your exact error,
and with ~/.cache present it resolves cleanly. The advantage over the
dist/server.js patch is that *it survives reinstalls and updates* -- no
reapplying after every npm install -g omniroute.
Your platform-override patch also works, and for the same reason: the
linux branch never calls existsSync. It is just more fragile because it
edits compiled output.
*Tracking.* Opened *#8519
<#8519>* to fix this
properly so nobody has to do either -- the CLI should ensure the cache
directory itself on Android. Worth saying plainly: this was already
reported in #3450 <#3450>
back in v3.8.15, that issue was closed once the Termux guide was added, but
the troubleshooting section for *this specific crash* never actually made
it into the guide. That is on me, and #8519
<#8519> covers fixing the
guide too.
***@***.*** <https://github.com/shuvo4578>* -- your report is what made
the root cause findable, thank you for the detail. Two things:
1. Try mkdir -p ~/.cache and report back -- your "renamed ~/.omniroute
for a fresh state, still 500" fits this perfectly, since the missing
directory is ~/.cache, not anything under ~/.omniroute.
2. You mention it also reproduces *on a PC*. That cannot be this
cause, which is Android-specific -- so that is likely a separate problem.
If it persists on the PC after the above, please open a dedicated issue
with the OS and Node version, and I will triage it on its own.
And you are right that the silent failure is itself a bug: a fatal
instrumentation-hook error should never leave an empty app.log and a
21-byte response body. #8519
<#8519> covers that too.
—
Reply to this email directly, view it on GitHub
<#6573?email_source=notifications&email_token=CFS5726VWG27SSC63DQJBK35GQUMJA5CNFSNUABIM5UWIORPF5TWS5BNNB2WEL2ENFZWG5LTONUW63SDN5WW2ZLOOQXTCNZXG42TGMJYUZZGKYLTN5XKO3LFNZ2GS33OUVSXMZLOOSWGM33PORSXEX3DNRUWG2Y#discussioncomment-17775318>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/CFS5724C73C3JJ4M7S5MVJL5GQUMJAVCNFSNUABJKJSXA33TNF2G64TZHMYTCNJXGEYDEMRYGI5UI2LTMN2XG43JN5XDWMJQGM4DMNRRGGQXMAQ>
.
You are receiving this because you were mentioned.Message ID:
***@***.***
com>
|
|
Multiple vendored copies of better-sqlite3 ship prebuilt-only binaries for wrong arch — every DB route 500s on Termux/aarch64 Environment:
Summary: Root cause found: Error surfaced once dashboard SSR started rendering (after unrelated fixes): What I tried:
Ask: Could the build/packaging process either (a) dedupe to a single better-sqlite3 instance across the app bundle, or (b) include full source (or platform-appropriate prebuilds for arm64/android) in all vendored copies rather than an x86_64-only binary? Happy to provide full logs/paths if usefull |
|
@sonnysin805-bit — excellent root-cause analysis. You nailed the exact problem: vendored copies of This is a packaging issue, not an OmniRoute code bug. The fix needs to happen at the build/packaging level. Short-term workaround (for anyone hitting this now): after # Find all vendored copies
find ~/.nvm/versions/node/*/lib/node_modules/omniroute -name "better_sqlite3.node" -path "*/build/Release/*"
# Replace each with the working aarch64 build
cp <top-level-working-copy>/better_sqlite3.node <each-vendored-path>/build/Release/(You mentioned this only partially worked because of a second differently-versioned copy — the Proper fix — I have opened #8669 to track: the packaging process should either (a) dedupe to a single Thanks for the detailed report — this is the kind of issue that is invisible on x86_64 dev machines and only surfaces on ARM devices. |
|
For Termux issues like this, I would debug the environment in layers instead of repeatedly reinstalling things:
The browser's 500 page usually isn't enough to diagnose the actual failure. I maintain a Termux-focused project and troubleshooting resource called DedSec, where I use the same "identify the failing layer first" approach: https://github.com/dedsec1121fk/DedSec Hope this helps narrow it down before another full reinstall. |
|
Hey @evogix, thanks for holding this thread together with real error reports. I still need one concrete artifact from your setup before I can close this for your case:
For Termux/desktop mixed errors we already validated these likely roots: better-sqlite3 binary mismatch and Android startup path issues. If your log maps to one of those, I will send a one-shot remediation right away. Reference: docs/guides/TROUBLESHOOTING.md |


Uh oh!
There was an error while loading. Please reload this page.
Please Fix This Error
All reactions