Scan timing: clone 2.92s · analysis 14.12s · 0.6 MB · GitHub preflight 433ms
https://github.com/YUxiangLuo/miao
· scanned 2026-06-05 14:13 UTC (5 days, 5 hours ago)
· 10 languages
111 raw signals (55 security + 56 graph) 17th percentile · Rust · small (2-20K LoC) System graph score 70 (lower by 15)
Last scanned 5 days, 5 hours ago · v2 · 52 actionable findings from 2 signal sources. 30 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
| Component | Sub-score | Weight | Contribution |
|---|---|---|---|
structure_score |
100.0 | 0.15 | 15.00 |
security_score |
42.7 | 0.25 | 10.68 |
testing_score |
20.0 | 0.20 | 4.00 |
documentation_score |
42.0 | 0.15 | 6.30 |
practices_score |
69.0 | 0.15 | 10.35 |
code_quality |
79.4 | 0.10 | 7.94 |
| Overall | 1.00 | 54.3 |
All 161 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.
| Label | Layer | Status | Path |
|---|---|---|---|
App |
software | healthy | frontend/src/App.jsx:App |
handleChange |
software | healthy | frontend/src/App.jsx:handleChange |
details |
software | healthy | frontend/src/App.jsx:details |
classNames |
software | healthy | frontend/src/utils.js:classNames |
formatUptime |
software | healthy | frontend/src/utils.js:formatUptime |
formatSpeed |
software | healthy | frontend/src/utils.js:formatSpeed |
formatBytes |
software | healthy | frontend/src/utils.js:formatBytes |
getDelayTone |
software | healthy | frontend/src/utils.js:getDelayTone |
formatDelay |
software | healthy | frontend/src/utils.js:formatDelay |
protocolLabel |
software | healthy | frontend/src/utils.js:protocolLabel |
maskSubscription |
software | healthy | frontend/src/utils.js:maskSubscription |
validateSubscriptionUrl |
software | healthy | frontend/src/utils.js:validateSubscriptionUrl |
validateNodeTag |
software | healthy | frontend/src/utils.js:validateNodeTag |
validateServer |
software | healthy | frontend/src/utils.js:validateServer |
validatePort |
software | healthy | frontend/src/utils.js:validatePort |
validatePassword |
software | healthy | frontend/src/utils.js:validatePassword |
validateHysteria2Obfs |
software | healthy | frontend/src/utils.js:validateHysteria2Obfs |
StatusCard |
software | healthy | frontend/src/components/StatusCard.jsx:StatusCard |
NodesCard |
software | healthy | frontend/src/components/NodesCard.jsx:NodesCard |
ConfirmModal |
software | healthy | frontend/src/components/modals.jsx:ConfirmModal |
NodeModal |
software | healthy | frontend/src/components/modals.jsx:NodeModal |
countBy |
software | healthy | frontend/src/components/modals.jsx:countBy |
topEntries |
software | healthy | frontend/src/components/modals.jsx:topEntries |
processName |
software | healthy | frontend/src/components/modals.jsx:processName |
connectionTarget |
software | healthy | frontend/src/components/modals.jsx:connectionTarget |
connectionDestination |
software | healthy | frontend/src/components/modals.jsx:connectionDestination |
connectionSource |
software | healthy | frontend/src/components/modals.jsx:connectionSource |
connectionSourceIP |
software | healthy | frontend/src/components/modals.jsx:connectionSourceIP |
connectionRule |
software | healthy | frontend/src/components/modals.jsx:connectionRule |
connectionOutbound |
software | healthy | frontend/src/components/modals.jsx:connectionOutbound |
connectionSearchText |
software | healthy | frontend/src/components/modals.jsx:connectionSearchText |
sortValue |
software | healthy | frontend/src/components/modals.jsx:sortValue |
formatStartTime |
software | healthy | frontend/src/components/modals.jsx:formatStartTime |
DetailRow |
software | healthy | frontend/src/components/modals.jsx:DetailRow |
ConnectionsModal |
software | healthy | frontend/src/components/modals.jsx:ConnectionsModal |
handleCloseSingle |
software | healthy | frontend/src/components/modals.jsx:handleCloseSingle |
handleCloseAll |
software | healthy | frontend/src/components/modals.jsx:handleCloseAll |
OnboardingScreen |
software | healthy | frontend/src/components/OnboardingScreen.jsx:OnboardingScre… |
handleAddSub |
software | healthy | frontend/src/components/OnboardingScreen.jsx:handleAddSub |
SubsCard |
software | healthy | frontend/src/components/SubsCard.jsx:SubsCard |
renderOnboarding |
software | healthy | frontend/src/components/OnboardingScreen.test.jsx:renderOnb… |
ConnectivityCard |
software | healthy | frontend/src/components/ConnectivityCard.jsx:ConnectivityCa… |
ProxyCard |
software | healthy | frontend/src/components/ProxyCard.jsx:ProxyCard |
TopBar |
software | healthy | frontend/src/components/TopBar.jsx:TopBar |
LogoIcon |
software | healthy | frontend/src/components/ui.jsx:LogoIcon |
Button |
software | healthy | frontend/src/components/ui.jsx:Button |
SectionCard |
software | healthy | frontend/src/components/ui.jsx:SectionCard |
ToastStack |
software | healthy | frontend/src/components/ui.jsx:ToastStack |
useToast |
software | healthy | frontend/src/hooks/useApi.js:useToast |
useApi |
software | healthy | frontend/src/hooks/useApi.js:useApi |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
Cargo.toml |
software | healthy | Cargo.toml |
README.md |
software | healthy | README.md |
release.sh |
software | healthy | release.sh |
build.sh |
software | healthy | build.sh |
vite.config.js |
software | warning | frontend/vite.config.js |
package.json |
software | healthy | frontend/package.json |
index.html |
software | healthy | frontend/index.html |
package-lock.json |
software | healthy | frontend/package-lock.json |
eslint.config.js |
software | warning | frontend/eslint.config.js |
styles.css |
software | healthy | frontend/src/styles.css |
App.jsx |
software | healthy | frontend/src/App.jsx |
utils.js |
software | healthy | frontend/src/utils.js |
utils.test.js |
software | warning | frontend/src/utils.test.js |
setupTests.js |
software | warning | frontend/src/setupTests.js |
main.jsx |
software | warning | frontend/src/main.jsx |
StatusCard.jsx |
software | healthy | frontend/src/components/StatusCard.jsx |
NodesCard.jsx |
software | healthy | frontend/src/components/NodesCard.jsx |
modals.jsx |
software | healthy | frontend/src/components/modals.jsx |
OnboardingScreen.jsx |
software | healthy | frontend/src/components/OnboardingScreen.jsx |
SubsCard.jsx |
software | healthy | frontend/src/components/SubsCard.jsx |
OnboardingScreen.test.jsx |
software | healthy | frontend/src/components/OnboardingScreen.test.jsx |
ConnectivityCard.jsx |
software | healthy | frontend/src/components/ConnectivityCard.jsx |
ProxyCard.jsx |
software | healthy | frontend/src/components/ProxyCard.jsx |
index.js |
software | healthy | frontend/src/components/index.js |
TopBar.jsx |
software | healthy | frontend/src/components/TopBar.jsx |
ui.jsx |
software | healthy | frontend/src/components/ui.jsx |
useApi.js |
software | healthy | frontend/src/hooks/useApi.js |
usePolling.js |
software | healthy | frontend/src/hooks/usePolling.js |
useWebSocket.js |
software | healthy | frontend/src/hooks/useWebSocket.js |
index.js |
software | healthy | frontend/src/hooks/index.js |
build-release.yml |
software | healthy | .github/workflows/build-release.yml |
error.rs |
software | healthy | src/error.rs |
state.rs |
software | healthy | src/state.rs |
router.rs |
software | healthy | src/router.rs |
responses.rs |
software | healthy | src/responses.rs |
validation.rs |
software | healthy | src/validation.rs |
test_support.rs |
software | healthy | src/test_support.rs |
main.rs |
software | healthy | src/main.rs |
mod.rs |
software | healthy | src/models/mod.rs |
proxy.rs |
software | healthy | src/models/proxy.rs |
version.rs |
software | healthy | src/models/version.rs |
config.rs |
software | healthy | src/models/config.rs |
api.rs |
software | healthy | src/models/api.rs |
node.rs |
software | healthy | src/models/node.rs |
mod.rs |
software | healthy | src/services/mod.rs |
node_parser.rs |
software | healthy | src/services/node_parser.rs |
proxy.rs |
software | healthy | src/services/proxy.rs |
version.rs |
software | healthy | src/services/version.rs |
config.rs |
software | healthy | src/services/config.rs |
singbox.rs |
software | healthy | src/services/singbox.rs |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
frontend |
software | healthy | frontend |
src |
software | healthy | frontend/src |
components |
software | healthy | frontend/src/components |
hooks |
software | healthy | frontend/src/hooks |
.github |
software | healthy | .github |
workflows |
software | healthy | .github/workflows |
src |
software | healthy | src |
models |
software | healthy | src/models |
services |
software | healthy | src/services |
handlers |
software | healthy | src/handlers |
| Label | Layer | Status | Path |
|---|---|---|---|
192.168.1.1 |
network | healthy | src/validation.rs |
10.0.0.1 |
network | healthy | src/validation.rs |
203.0.113.10 |
network | healthy | src/models/config.rs |
127.0.0.1 |
network | healthy | src/services/proxy.rs |
1.1.1.1 |
network | healthy | src/services/config.rs |
223.5.5.5 |
network | healthy | src/services/config.rs |
198.18.0.0 |
network | healthy | src/services/config.rs |
172.18.0.1 |
network | healthy | src/services/config.rs |
| Label | Layer | Status | Path |
|---|---|---|---|
password_literal::src/validation.rs |
security | healthy | src/validation.rs |
password_literal::src/validation.rs |
security | healthy | src/validation.rs |
password_literal::src/models/node.rs |
security | healthy | src/models/node.rs |
password_literal::src/models/node.rs |
security | healthy | src/models/node.rs |
password_literal::src/models/node.rs |
security | healthy | src/models/node.rs |
password_literal::src/services/vps.rs |
security | healthy | src/services/vps.rs |
password_literal::src/services/vps.rs |
security | healthy | src/services/vps.rs |
password_literal::src/services/vps.rs |
security | healthy | src/services/vps.rs |
| Label | Layer | Status | Path |
|---|---|---|---|
port:443 |
network | healthy | src/services/node_parser.rs |
port:8443 |
network | healthy | src/services/node_parser.rs |
port:8388 |
network | healthy | src/services/node_parser.rs |
port:7890 |
network | healthy | src/services/node_parser.rs |
port:9999 |
network | healthy | src/services/config.rs |
| Label | Layer | Status | Path |
|---|---|---|---|
frontend |
cicd | healthy | .github/workflows/build-release.yml |
build |
cicd | healthy | .github/workflows/build-release.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
RELEASE_SHA256 |
cicd | healthy | — |
RELEASE_ASSET |
cicd | healthy | — |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-l62829sy |
software | healthy | /tmp/repobility-clone-l62829sy |
| Label | Layer | Status | Path |
|---|---|---|---|
App |
frontend | healthy | frontend/src/App.jsx |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::build-release |
cicd | healthy | .github/workflows/build-release.yml |
This page is publicly accessible at:
https://repobility.com/scan/ea6a3555-7212-422d-929f-bd9c50e55512/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/ea6a3555-7212-422d-929f-bd9c50e55512/
Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.