# Termux Headless Setup (Hausa) 🌐 **Languages:** 🇺🇸 [English](../../../../guides/TERMUX_GUIDE.md) · 🇪🇹 [am](../../../am/docs/guides/TERMUX_GUIDE.md) · 🇸🇦 [ar](../../../ar/docs/guides/TERMUX_GUIDE.md) · 🇦🇿 [az](../../../az/docs/guides/TERMUX_GUIDE.md) · 🇧🇬 [bg](../../../bg/docs/guides/TERMUX_GUIDE.md) · 🇧🇩 [bn](../../../bn/docs/guides/TERMUX_GUIDE.md) · 🇧🇦 [bs](../../../bs/docs/guides/TERMUX_GUIDE.md) · 🇨🇿 [cs](../../../cs/docs/guides/TERMUX_GUIDE.md) · 🇩🇰 [da](../../../da/docs/guides/TERMUX_GUIDE.md) · 🇩🇪 [de](../../../de/docs/guides/TERMUX_GUIDE.md) · 🇬🇷 [el](../../../el/docs/guides/TERMUX_GUIDE.md) · 🇪🇸 [es](../../../es/docs/guides/TERMUX_GUIDE.md) · 🇪🇪 [et](../../../et/docs/guides/TERMUX_GUIDE.md) · 🇮🇷 [fa](../../../fa/docs/guides/TERMUX_GUIDE.md) · 🇫🇮 [fi](../../../fi/docs/guides/TERMUX_GUIDE.md) · 🇫🇷 [fr](../../../fr/docs/guides/TERMUX_GUIDE.md) · 🇮🇪 [ga](../../../ga/docs/guides/TERMUX_GUIDE.md) · 🇮🇳 [gu](../../../gu/docs/guides/TERMUX_GUIDE.md) · 🇮🇱 [he](../../../he/docs/guides/TERMUX_GUIDE.md) · 🇮🇳 [hi](../../../hi/docs/guides/TERMUX_GUIDE.md) · 🇭🇷 [hr](../../../hr/docs/guides/TERMUX_GUIDE.md) · 🇭🇺 [hu](../../../hu/docs/guides/TERMUX_GUIDE.md) · 🇦🇲 [hy](../../../hy/docs/guides/TERMUX_GUIDE.md) · 🇮🇩 [id](../../../id/docs/guides/TERMUX_GUIDE.md) · 🇳🇬 [ig](../../../ig/docs/guides/TERMUX_GUIDE.md) · 🇮🇹 [it](../../../it/docs/guides/TERMUX_GUIDE.md) · 🇯🇵 [ja](../../../ja/docs/guides/TERMUX_GUIDE.md) · 🇬🇪 [ka](../../../ka/docs/guides/TERMUX_GUIDE.md) · 🇰🇭 [km](../../../km/docs/guides/TERMUX_GUIDE.md) · 🇮🇳 [kn](../../../kn/docs/guides/TERMUX_GUIDE.md) · 🇰🇷 [ko](../../../ko/docs/guides/TERMUX_GUIDE.md) · 🇱🇹 [lt](../../../lt/docs/guides/TERMUX_GUIDE.md) · 🇱🇻 [lv](../../../lv/docs/guides/TERMUX_GUIDE.md) · 🇮🇳 [ml](../../../ml/docs/guides/TERMUX_GUIDE.md) · 🇮🇳 [mr](../../../mr/docs/guides/TERMUX_GUIDE.md) · 🇲🇾 [ms](../../../ms/docs/guides/TERMUX_GUIDE.md) · 🇲🇹 [mt](../../../mt/docs/guides/TERMUX_GUIDE.md) · 🇲🇲 [my](../../../my/docs/guides/TERMUX_GUIDE.md) · 🇳🇵 [ne](../../../ne/docs/guides/TERMUX_GUIDE.md) · 🇳🇱 [nl](../../../nl/docs/guides/TERMUX_GUIDE.md) · 🇳🇴 [no](../../../no/docs/guides/TERMUX_GUIDE.md) · 🇮🇳 [or](../../../or/docs/guides/TERMUX_GUIDE.md) · 🇮🇳 [pa](../../../pa/docs/guides/TERMUX_GUIDE.md) · 🇵🇭 [phi](../../../phi/docs/guides/TERMUX_GUIDE.md) · 🇵🇱 [pl](../../../pl/docs/guides/TERMUX_GUIDE.md) · 🇵🇹 [pt](../../../pt/docs/guides/TERMUX_GUIDE.md) · 🇧🇷 [pt-BR](../../../pt-BR/docs/guides/TERMUX_GUIDE.md) · 🇷🇴 [ro](../../../ro/docs/guides/TERMUX_GUIDE.md) · 🇷🇺 [ru](../../../ru/docs/guides/TERMUX_GUIDE.md) · 🇱🇰 [si](../../../si/docs/guides/TERMUX_GUIDE.md) · 🇸🇰 [sk](../../../sk/docs/guides/TERMUX_GUIDE.md) · 🇸🇮 [sl](../../../sl/docs/guides/TERMUX_GUIDE.md) · 🇷🇸 [sr](../../../sr/docs/guides/TERMUX_GUIDE.md) · 🇸🇪 [sv](../../../sv/docs/guides/TERMUX_GUIDE.md) · 🇰🇪 [sw](../../../sw/docs/guides/TERMUX_GUIDE.md) · 🇮🇳 [ta](../../../ta/docs/guides/TERMUX_GUIDE.md) · 🇮🇳 [te](../../../te/docs/guides/TERMUX_GUIDE.md) · 🇹🇭 [th](../../../th/docs/guides/TERMUX_GUIDE.md) · 🇹🇷 [tr](../../../tr/docs/guides/TERMUX_GUIDE.md) · 🇺🇦 [uk-UA](../../../uk-UA/docs/guides/TERMUX_GUIDE.md) · 🇵🇰 [ur](../../../ur/docs/guides/TERMUX_GUIDE.md) · 🇺🇿 [uz](../../../uz/docs/guides/TERMUX_GUIDE.md) · 🇻🇳 [vi](../../../vi/docs/guides/TERMUX_GUIDE.md) · 🇳🇬 [yo](../../../yo/docs/guides/TERMUX_GUIDE.md) · 🇨🇳 [zh-CN](../../../zh-CN/docs/guides/TERMUX_GUIDE.md) · 🇹🇼 [zh-TW](../../../zh-TW/docs/guides/TERMUX_GUIDE.md) --- OmniRoute na iya aiki a matsayin sabar da ba ta da mu’amalar allo a kan Android ta hanyar Termux. Ba a goyon bayan manhajar tebur ta Electron a cikin Termux, amma dashboard na yanar gizo da API mai jituwa da OpenAI suna aiki daga burauzar cikin na’urar ko daga wasu na’urori da ke kan hanyar sadarwa ɗaya. ## Abubuwan da ake buƙata Shigar da Termux daga F-Droid ko fitowar GitHub, sannan sabunta fakitoci kuma shigar da kayan aikin ginawa da native dependencies kamar `better-sqlite3` ke buƙata. ```bash pkg update pkg upgrade pkg install nodejs python build-essential git ``` > **Sigar Node.js:** OmniRoute yana buƙatar Node `>=22.22.2 <23 || >=24.0.0 <27` (ya dace da `engines` a cikin `package.json` / `SUPPORTED_NODE_RANGE`). `nodejs-lts` na Termux yawanci yana zuwa da Node 20 LTS, wanda **ba a ƙara goyon bayansa ba** — maimakon haka, shigar da `pkg install nodejs` (na yanzu), sannan tabbatar cewa `node --version` ya nuna layin sigar 22.x/24.x+. Idan haɗa native package ya gaza, sake gudanar da umarnin `pkg install` da ke sama, sannan a sake ƙoƙarin shigar da OmniRoute. ## Shigarwa Gudanar da sabon fakitin da aka wallafa kai tsaye: ```bash npx -y omniroute@latest ``` Haka kuma za ka iya shigar da shi a matsayin global: ```bash npm install -g omniroute omniroute ``` ## Gudanarwa Fara OmniRoute a yanayin sabar da ba ta da mu’amalar allo: ```bash omniroute ``` ko: ```bash npx omniroute ``` Dashboard yana sauraro a: ```text http://localhost:20128 ``` Buɗe wannan URL ɗin a cikin burauzar Android. Idan kana gudanar da clients a cikin Termux, yi amfani da host da port iri ɗaya a matsayin base URL mai jituwa da OpenAI. ## Gudanarwa a Bayan Fage Don tsari mai sauƙi da ke gudana a bayan fage: ```bash nohup omniroute > omniroute.log 2>&1 & ``` Don dakatar da shi: ```bash pkill -f omniroute ``` Don farawa ta atomatik bayan na’urar ta kunna, shigar da ƙarin Termux:Boot sannan ƙirƙiri boot script: ```bash mkdir -p ~/.termux/boot cat > ~/.termux/boot/omniroute.sh <<'EOF' #!/data/data/com.termux/files/usr/bin/sh cd "$HOME" nohup omniroute > "$HOME/omniroute.log" 2>&1 & EOF chmod +x ~/.termux/boot/omniroute.sh ``` Inganta amfani da batiri na Android na iya dakatar da processes da ke gudana a bayan fage na dogon lokaci. Kashe inganta amfani da batiri ga Termux idan ana sa ran sabar za ta ci gaba da kasancewa kan layi. ## Samun Dama Daga Wasu Na’urori Nemo adireshin IP na wayar a kan hanyar sadarwar WiFi: ```bash ip addr show wlan0 ``` Sannan buɗe dashboard daga wata na’ura: ```text http://PHONE_IP:20128 ``` Misali: ```text http://192.168.1.50:20128 ``` Tabbatar wayar da client suna kan hanyar sadarwa amintacciya ɗaya. Idan ka buɗe damar shiga OmniRoute daga wajen wayar, kunna API keys da tabbatar da sahihancin dashboard. ## Kundin Bayanai Ta tsohuwa OmniRoute yana adana bayanai a ƙarƙashin kundin gida na Termux, yana bin irin halayen hanyar bayanan gefen sabar da ake amfani da su a Linux. Don sanya database a wani takamaiman wuri: ```bash export DATA_DIR="$HOME/.omniroute" omniroute ``` ## Iyakoki - Electron ba ya aiki a cikin Termux. - Babu system tray ko haɗin kai da tebur. - Wannan saitin na sabar kaɗai ne: yi amfani da dashboard na burauza. - Native dependencies na iya buƙatar haɗawa a cikin na’urar. - Na’urorin Android masu ƙarancin ƙwaƙwalwa na iya buƙatar rage yawan buƙatun da ake gudanarwa lokaci guda. - Fasalolin takardar shaidar MITM/system na iya buƙatar aiki kan trust-store a matakin Android a wajen Termux. ## Magance Matsaloli ### Unsupported platform: android (kowace buƙata tana mayar da HTTP 500) **Alama:** `omniroute` / `omniroute serve` yana nuna `✔ OmniRoute is running!`, amma kowace buƙatar dashboard ko API tana mayar da `500 Internal Server Error` kawai. `~/.omniroute/logs/application/app.log` yana ci gaba da kasancewa babu komai, `APP_LOG_LEVEL=debug` ba ya nuna wani abu mai amfani, kuma jikin amsar plain text ne (`Internal Server Error`) ba tare da cikakken bayanin JSON ba. **Dalili:** Wasu builds na Termux/Node suna bayar da rahoton `process.platform === "android"`. `getCacheDirectory()` na Next.js ba ya kula da wannan platform: yana buƙatar `~/.cache` (ko generic tmp dir) ya _riga_ ya kasance, in ba haka ba zai gaza yayin loda instrumentation hook da: ```text Error: An error occurred while loading instrumentation hook: Unsupported platform: android ``` Saboda hook ɗin bai taɓa loduwa ba, logging ba ya farawa — kuskuren 500 ya zama kamar ba zai yiwu a gano matsalarsa ba. OmniRoute yana ƙirƙirar `~/.cache` (kuma yana saita `XDG_CACHE_HOME` idan ba a saita shi ba) a cikin mashigar CLI kafin Next.js ya fara, domin wannan binciken ya yi nasara a Android/Termux. **Magani mai goyon baya (ba tare da gyara fakiti ba):** ```bash mkdir -p ~/.cache omniroute serve ``` A builds na OmniRoute na yanzu, CLI yana yin wannan ta atomatik a Android/Termux — sabon `npx -y omniroute@latest` / global install bai kamata ya buƙaci matakin da hannu ba. Idan har yanzu kana ganin kuskuren bayan sabuntawa, ƙirƙiri `~/.cache` sau ɗaya kamar yadda aka nuna a sama sannan sake farawa. **Kada ka** gyara `dist/server.js` domin tilasta `process.platform = "linux"`. Irin wannan gyaran fakiti ana shafe shi duk lokacin sake shigarwa/sabuntawa, kuma ba shi da amfani da zarar kundin cache ya kasance. ### Kuskuren Gina better-sqlite3 Shigar da toolchain na ginawa na Termux: ```bash pkg install nodejs python build-essential ``` Sannan sake gudanar da: ```bash npx -y omniroute@latest ``` ### Ana Amfani da Port Tuni Duba abin da ke sauraro a kan port na tsohuwa: ```bash ss -ltnp | grep 20128 ``` Dakatar da tsohon process: ```bash pkill -f omniroute ``` ### Ba Za a Iya Isa Dashboard Daga Wata Na’ura Ba Tabbatar cewa dukkan na’urorin biyu suna kan hanyar sadarwar WiFi ɗaya, sannan yi gwaji daga Termux: ```bash curl http://localhost:20128 ``` Idan samun dama daga cikin na’urar yana aiki amma samun dama ta LAN ba ya aiki, duba keɓancewar hotspot/WiFi na Android da duk wani bayanin martabar firewall ko VPN da ke kan wayar.