# tubexchat/ax1800-shellcrash architecture

> Architecture diagram of the GitHub repository tubexchat/ax1800-shellcrash, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/tubexchat/ax1800-shellcrash
- Repository: https://github.com/tubexchat/ax1800-shellcrash

## Overview

AX1800-shellcrash is a Chinese-language, hands-on guide for downgrading a Xiaomi AX1800 router, enabling SSH, and installing and configuring ShellCrash to provide proxy access and a web dashboard. The documented workflow runs from firmware upload through browser-console SSH setup and router-side installation/configuration; optional branches cover a local proxy and a Cloudflare/BPB subscription. The repository is primarily instructional material and supplied artifacts, not the implementation of ShellCrash. Wiring for the unsampled BPB and scanner materials is therefore limited to documented capabilities.

Main entry points: [`bpb.md`](https://github.com/tubexchat/ax1800-shellcrash/blob/main/bpb.md) (BPB Panel), [`set_ssh.js`](https://github.com/tubexchat/ax1800-shellcrash/blob/main/set_ssh.js) (SSH setup script), [`files/miwifi_rm1800_firmware_fafda_1.0.336.bin`](https://github.com/tubexchat/ax1800-shellcrash/blob/main/files/miwifi_rm1800_firmware_fafda_1.0.336.bin) (Firmware image), [`files/nat65_obfs.js`](https://github.com/tubexchat/ax1800-shellcrash/blob/main/files/nat65_obfs.js) (Worker obfuscation)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_router_setup["Router setup"]
  node_router["AX1800 router"]
  node_firmware["Firmware image"]
  node_ssh_script["SSH setup script<br/>[set_ssh.js]"]
  node_ssh_client["SSH terminal"]
end

subgraph group_proxy_runtime["Proxy runtime"]
  node_local_proxy["Local proxy"]
  node_shellcrash["ShellCrash"]
  node_subscription["Proxy subscription"]
  node_router_dashboard["Router dashboard"]
end

subgraph group_cloudflare_assets["Cloudflare assets"]
  node_bpb_panel["BPB Panel<br/>[bpb.md]"]
  node_worker_script["Worker obfuscation<br/>[nat65_obfs.js]"]
  node_obfs_package["Obfuscation package<br/>[bpb_obfs_pack.zip]"]
  node_scanner["Cloudflare scanner"]
  node_scan_results["Scan results<br/>[result.csv]"]
end

node_operator(("Router operator"))
node_browser["Browser console"]
node_guide["Setup guide<br/>[README.md]"]

node_operator -->|"follows"| node_guide
node_operator -->|"uploads firmware"| node_router
node_firmware -->|"downgrades"| node_router
node_operator -->|"runs script"| node_browser
node_browser -->|"loads"| node_ssh_script
node_ssh_script -->|"enables SSH"| node_router
node_operator -->|"connects with"| node_ssh_client
node_ssh_client -->|"SSH connects"| node_router
node_operator -->|"shares proxy"| node_local_proxy
node_local_proxy -->|"provides temporary proxy"| node_router
node_operator -->|"installs and configures"| node_shellcrash
node_shellcrash -->|"runs on"| node_router
node_subscription -->|"supplies configuration"| node_shellcrash
node_bpb_panel -.->|"provides subscription"| node_subscription
node_operator -->|"opens"| node_router_dashboard
node_router_dashboard -->|"manages"| node_shellcrash
node_worker_script -.->|"supports obfuscation"| node_bpb_panel
node_obfs_package -.->|"supports obfuscation"| node_bpb_panel
node_scanner -.->|"produces"| node_scan_results

click node_firmware "https://github.com/tubexchat/ax1800-shellcrash/blob/main/files/miwifi_rm1800_firmware_fafda_1.0.336.bin"
click node_ssh_script "https://github.com/tubexchat/ax1800-shellcrash/blob/main/set_ssh.js"
click node_bpb_panel "https://github.com/tubexchat/ax1800-shellcrash/blob/main/bpb.md"
click node_worker_script "https://github.com/tubexchat/ax1800-shellcrash/blob/main/files/nat65_obfs.js"
click node_obfs_package "https://github.com/tubexchat/ax1800-shellcrash/blob/main/files/bpb_obfs_pack.zip"
click node_scanner "https://github.com/tubexchat/ax1800-shellcrash/blob/main/CloudflareScanner_darwin-amd64/CloudflareScanner"
click node_scan_results "https://github.com/tubexchat/ax1800-shellcrash/blob/main/CloudflareScanner_darwin-amd64/result.csv"
click node_guide "https://github.com/tubexchat/ax1800-shellcrash/blob/main/README.md"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_router,node_firmware,node_ssh_script,node_ssh_client,node_browser toneBlue
class node_local_proxy,node_shellcrash,node_subscription,node_router_dashboard toneAmber
class node_bpb_panel,node_worker_script,node_obfs_package,node_scanner,node_scan_results,node_operator toneMint
class node_guide toneTeal
```

## Components

### Router setup

- **AX1800 router**
- [Firmware image](https://github.com/tubexchat/ax1800-shellcrash/blob/main/files/miwifi_rm1800_firmware_fafda_1.0.336.bin): `files/miwifi_rm1800_firmware_fafda_1.0.336.bin`
- [SSH setup script](https://github.com/tubexchat/ax1800-shellcrash/blob/main/set_ssh.js): `set_ssh.js`
- **SSH terminal**

### Proxy runtime

- **Local proxy**
- **ShellCrash**
- **Proxy subscription**
- **Router dashboard**

### Cloudflare assets

- [BPB Panel](https://github.com/tubexchat/ax1800-shellcrash/blob/main/bpb.md): `bpb.md`
- [Worker obfuscation](https://github.com/tubexchat/ax1800-shellcrash/blob/main/files/nat65_obfs.js): `files/nat65_obfs.js`
- [Obfuscation package](https://github.com/tubexchat/ax1800-shellcrash/blob/main/files/bpb_obfs_pack.zip): `files/bpb_obfs_pack.zip`
- [Cloudflare scanner](https://github.com/tubexchat/ax1800-shellcrash/blob/main/CloudflareScanner_darwin-amd64/CloudflareScanner): `CloudflareScanner_darwin-amd64/CloudflareScanner`
- [Scan results](https://github.com/tubexchat/ax1800-shellcrash/blob/main/CloudflareScanner_darwin-amd64/result.csv): `CloudflareScanner_darwin-amd64/result.csv`

### Other components

- **Router operator**
- **Browser console**
- [Setup guide](https://github.com/tubexchat/ax1800-shellcrash/blob/main/README.md): `README.md`

## Connections

- Router operator → Setup guide: follows
- Router operator → AX1800 router: uploads firmware
- Firmware image → AX1800 router: downgrades
- Router operator → Browser console: runs script
- Browser console → SSH setup script: loads
- SSH setup script → AX1800 router: enables SSH
- Router operator → SSH terminal: connects with
- SSH terminal → AX1800 router: SSH connects
- Router operator → Local proxy: shares proxy
- Local proxy → AX1800 router: provides temporary proxy
- Router operator → ShellCrash: installs and configures
- ShellCrash → AX1800 router: runs on
- Proxy subscription → ShellCrash: supplies configuration
- BPB Panel → Proxy subscription: provides subscription
- Router operator → Router dashboard: opens
- Router dashboard → ShellCrash: manages
- Worker obfuscation → BPB Panel: supports obfuscation
- Obfuscation package → BPB Panel: supports obfuscation
- Cloudflare scanner → Scan results: produces
