1+ <!DOCTYPE html>
2+ < html lang ="en ">
3+
4+ < head >
5+ < meta charset ="UTF-8 ">
6+ < meta name ="viewport " content ="width=device-width, initial-scale=1.0 ">
7+ < title > Zygisk Next WebUI</ title >
8+ < link rel ="stylesheet " href ="style.css ">
9+ < link rel ="preconnect " href ="https://fonts.googleapis.com ">
10+ < link rel ="preconnect " href ="https://fonts.gstatic.com " crossorigin >
11+ < link href ="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap " rel ="stylesheet ">
12+ </ head >
13+
14+ < body >
15+ < div class ="app-container ">
16+ < header class ="header ">
17+ < h1 > NeoZygisk</ h1 >
18+ < div class ="language-selector ">
19+ < button id ="lang-btn " class ="icon-btn " aria-label ="Change Language ">
20+ < svg xmlns ="http://www.w3.org/2000/svg " width ="24 " height ="24 " viewBox ="0 0 24 24 " fill ="none "
21+ stroke ="currentColor " stroke-width ="2 " stroke-linecap ="round " stroke-linejoin ="round ">
22+ < circle cx ="12 " cy ="12 " r ="10 "> </ circle >
23+ < line x1 ="2 " y1 ="12 " x2 ="22 " y2 ="12 "> </ line >
24+ < path
25+ d ="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z ">
26+ </ path >
27+ </ svg >
28+ </ button >
29+ < div id ="lang-dropdown " class ="dropdown-menu hidden ">
30+ < button data-lang ="en "> English</ button >
31+ < button data-lang ="zh "> 中文</ button >
32+ </ div >
33+ </ div >
34+ </ header >
35+
36+ < main class ="content ">
37+ <!-- Basic Information Card -->
38+ < div class ="card ">
39+ < h2 data-i18n ="basic_info "> Basic Information</ h2 >
40+ < div class ="info-item ">
41+ < label id ="prop-name "> NeoZygisk</ label >
42+ < div class ="value " id ="prop-version "> _</ div >
43+ </ div >
44+ < div class ="info-item ">
45+ < label data-i18n ="kernel "> Kernel</ label >
46+ < div class ="value " id ="device-kernel "> _</ div >
47+ </ div >
48+ < div class ="info-item ">
49+ < label > Android SDK</ label >
50+ < div class ="value " id ="device-sdk "> _</ div >
51+ </ div >
52+ < div class ="info-item ">
53+ < label > ABI</ label >
54+ < div class ="value " id ="device-abi "> _</ div >
55+ </ div >
56+ </ div >
57+
58+ <!-- Dashboard Card -->
59+ < div class ="card ">
60+ < div class ="card-header ">
61+ < h2 data-i18n ="dashboard "> Dashboard</ h2 >
62+ < div class ="actions ">
63+ < button id ="refresh-btn " class ="icon-btn small " aria-label ="Refresh ">
64+ < svg xmlns ="http://www.w3.org/2000/svg " width ="18 " height ="18 " viewBox ="0 0 24 24 "
65+ fill ="none " stroke ="currentColor " stroke-width ="2 " stroke-linecap ="round "
66+ stroke-linejoin ="round ">
67+ < path d ="M23 4v6h-6 "> </ path >
68+ < path d ="M1 20v-6h6 "> </ path >
69+ < path d ="M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15 ">
70+ </ path >
71+ </ svg >
72+ </ button >
73+ </ div >
74+ </ div >
75+
76+ < div class ="status-row ">
77+ < span data-i18n ="root_impl "> Root implementation</ span >
78+ < span class ="badge green "> < svg xmlns ="http://www.w3.org/2000/svg " width ="14 " height ="14 "
79+ viewBox ="0 0 24 24 " fill ="none " stroke ="currentColor " stroke-width ="3 "
80+ stroke-linecap ="round " stroke-linejoin ="round ">
81+ < path d ="M22 11.08V12a10 10 0 1 1-5.93-9.14 "> </ path >
82+ < polyline points ="22 4 12 14.01 9 11.01 "> </ polyline >
83+ </ svg > < span id ="val-root "> _</ span > </ span >
84+ </ div >
85+ < div class ="status-row ">
86+ < span data-i18n ="zygote_monitor "> Zygote Monitor</ span >
87+ < span class ="badge green "> < svg xmlns ="http://www.w3.org/2000/svg " width ="14 " height ="14 "
88+ viewBox ="0 0 24 24 " fill ="none " stroke ="currentColor " stroke-width ="3 "
89+ stroke-linecap ="round " stroke-linejoin ="round ">
90+ < path d ="M22 11.08V12a10 10 0 1 1-5.93-9.14 "> </ path >
91+ < polyline points ="22 4 12 14.01 9 11.01 "> </ polyline >
92+ </ svg > < span data-i18n ="running " id ="val-monitor "> _</ span > </ span >
93+ </ div >
94+ < div class ="status-row ">
95+ < span > zygote (64)</ span >
96+ < span class ="badge green "> < svg xmlns ="http://www.w3.org/2000/svg " width ="14 " height ="14 "
97+ viewBox ="0 0 24 24 " fill ="none " stroke ="currentColor " stroke-width ="3 "
98+ stroke-linecap ="round " stroke-linejoin ="round ">
99+ < path d ="M22 11.08V12a10 10 0 1 1-5.93-9.14 "> </ path >
100+ < polyline points ="22 4 12 14.01 9 11.01 "> </ polyline >
101+ </ svg > < span data-i18n ="injected " id ="val-zygote64 "> _</ span >
102+ (1001)</ span >
103+ </ div >
104+ < div class ="status-row ">
105+ < span > daemon (64)</ span >
106+ < span class ="badge green "> < svg xmlns ="http://www.w3.org/2000/svg " width ="14 " height ="14 "
107+ viewBox ="0 0 24 24 " fill ="none " stroke ="currentColor " stroke-width ="3 "
108+ stroke-linecap ="round " stroke-linejoin ="round ">
109+ < path d ="M22 11.08V12a10 10 0 1 1-5.93-9.14 "> </ path >
110+ < polyline points ="22 4 12 14.01 9 11.01 "> </ polyline >
111+ </ svg > < span data-i18n ="running " id ="val-daemon64 "> _</ span > </ span >
112+ </ div >
113+
114+ < div class ="module-list-link " id ="modules-link " style ="cursor: pointer; ">
115+ < span data-i18n ="modules "> Modules</ span > (< span id ="val-modules-count "> _</ span > )
116+ >
117+ </ div >
118+ </ div >
119+ </ main >
120+
121+ </ div >
122+
123+ <!-- Modules Modal -->
124+ < div id ="modules-modal " class ="modal hidden ">
125+ < div class ="modal-content ">
126+ < div class ="modal-header ">
127+ < h2 data-i18n ="modules_list "> Running Modules</ h2 >
128+ < button id ="close-modal-btn " class ="icon-btn small "> < svg xmlns ="http://www.w3.org/2000/svg " width ="24 "
129+ height ="24 " viewBox ="0 0 24 24 " fill ="none " stroke ="currentColor " stroke-width ="2 "
130+ stroke-linecap ="round " stroke-linejoin ="round ">
131+ < line x1 ="18 " y1 ="6 " x2 ="6 " y2 ="18 "> </ line >
132+ < line x1 ="6 " y1 ="6 " x2 ="18 " y2 ="18 "> </ line >
133+ </ svg > </ button >
134+ </ div >
135+ < div class ="modal-body ">
136+ < ul id ="modules-list ">
137+ <!-- Module items will be populated here -->
138+ </ ul >
139+ </ div >
140+ </ div >
141+ </ div >
142+
143+ < script type ="module " src ="script.js "> </ script >
144+ </ body >
145+
146+ </ html >
0 commit comments