4 <meta http-equiv=
"X-UA-Compatible" content=
"IE=edge">
6 <meta http-equiv=
"pragma" content=
"no-cache">
8 <meta http-equiv=
"cache-control" content=
"no-cache">
9 <title>Ventoy Plugson
</title>
10 <!-- Tell the browser to be responsive to screen width -->
11 <meta content=
"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name=
"viewport">
12 <!-- Bootstrap 3.3.5 -->
13 <link rel=
"stylesheet" href=
"static/bootstrap/css/bootstrap.min.css">
15 <link rel=
"stylesheet" href=
"static/css/font-awesome.min.css">
17 <link rel=
"stylesheet" href=
"static/css/ionicons.min.css">
19 <link rel=
"stylesheet" href=
"static/AdminLTE/css/AdminLTE.min.css">
20 <!-- AdminLTE Skins. Choose a skin from the css/skins
21 folder instead of downloading all of them to reduce the load. -->
22 <link rel=
"stylesheet" href=
"static/AdminLTE/css/skins/skin-blue.min.css">
23 <link rel=
"stylesheet" href=
"static/datatables/dataTables.bootstrap.css">
24 <link rel=
"stylesheet" href=
"static/css/vtoy.css">
26 <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
27 <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
29 <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
30 <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
32 <style type=
"text/css">
34 font-family: 'Arial','Microsoft YaHei','黑体','宋体',sans-serif;
45 <body class=
"sidebar-mini skin-blue">
48 <header class=
"main-header" style=
"position: fixed; right: 0; left: 0;">
50 <a href=
"." class=
"logo">
51 <!-- logo for regular state and mobile devices -->
52 <span class=
"logo-lg" > <img src=
"/static/img/logo_32.png" > Ventoy Plugson
</span>
54 <!-- Header Navbar: style can be found in header.less -->
55 <nav class=
"navbar navbar-static-top" role=
"navigation">
56 <!-- Navbar Right Menu -->
58 <div class=
"navbar-custom-menu">
59 <ul class=
"nav navbar-nav">
60 <li class=
"dropdown user user-menu">
61 <a href=
"javascript:void(0)" id=
"id_a_preview">
62 <span class=
"fa fa-file-code-o"></span>
63 <span id=
"id_span_preview" class=
"hidden-xs">Preview
</span>
64 <span class=
"hidden-xs"> </span>
68 <li class=
"dropdown user user-menu">
69 <a href=
"javascript:void(0)" id=
"id_a_language">
70 <span class=
"fa fa-language"></span>
71 <span id=
"id_span_language" class=
"hidden-xs">English
</span>
72 <span class=
"hidden-xs"> </span>
76 <li class=
"dropdown user user-menu">
77 <a id=
"id_top_donation" href=
"#plugson_donation" data-href=
"#plugson_donation">
78 <span class=
"fa fa-paypal"></span>
79 <span id=
"id_span_donation" class=
"hidden-xs">捐助
</span>
83 <!-- User Account: style can be found in dropdown.less -->
84 <li class=
"dropdown user user-menu">
85 <a href=
"https://www.ventoy.net" target=
"_blank" >
86 <span class=
"fa fa-link"></span>
87 <span class=
"hidden-xs">Ventoy
</span>
96 <!-- Left side column. contains the logo and sidebar -->
97 <aside class=
"main-sidebar" style=
"position:fixed;">
98 <!-- sidebar: style can be found in sidebar.less -->
99 <section class=
"sidebar" style=
"height: auto;" id=
"plugson-menu">
101 <ul class=
"sidebar-menu">
103 <a href=
"#plugson_main" data-href=
"#plugson_main">
104 <i class=
"fa fa-bank"></i> <span id=
"id_span_menu_device">设备信息
</span>
108 <a href=
"#plugson_control" data-href=
"#plugson_control">
109 <i class=
"fa fa-wrench"></i> <span id=
"id_span_menu_control">全局控制插件
</span>
113 <a href=
"#plugson_theme" data-href=
"#plugson_theme">
114 <i class=
"fa fa-file-image-o"></i> <span id=
"id_span_menu_theme">主题插件
</span>
118 <a href=
"#plugson_menu_alias" data-href=
"#plugson_menu_alias">
119 <i class=
"fa fa-clone"></i> <span id=
"id_span_menu_alias">菜单别名插件
</span>
123 <a href=
"#plugson_menu_tip" data-href=
"#plugson_menu_tip">
124 <i class=
"fa fa-commenting"></i> <span id=
"id_span_menu_tip">菜单提示插件
</span>
128 <a href=
"#plugson_menu_class" data-href=
"#plugson_menu_class">
129 <i class=
"fa fa-list-ul"></i> <span id=
"id_span_menu_class">菜单类型插件
</span>
133 <a href=
"#plugson_auto_install" data-href=
"#plugson_auto_install">
134 <i class=
"fa fa-desktop"></i> <span id=
"id_span_menu_auto_install">自动安装插件
</span>
138 <a href=
"#plugson_persistence" data-href=
"#plugson_persistence">
139 <i class=
"fa fa-database"></i> <span id=
"id_span_menu_persistence">数据持久化插件
</span>
143 <a href=
"#plugson_injection" data-href=
"#plugson_injection">
144 <i class=
"fa fa-plus-circle"></i> <span id=
"id_span_menu_injection">文件注入插件
</span>
148 <a href=
"#plugson_conf_replace" data-href=
"#plugson_conf_replace">
149 <i class=
"fa fa-retweet"></i> <span id=
"id_span_menu_conf_replace">启动配置替换插件
</span>
153 <a href=
"#plugson_password" data-href=
"#plugson_password">
154 <i class=
"glyphicon glyphicon-lock"></i> <span id=
"id_span_menu_password">密码插件
</span>
159 <a href=
"#plugson_image_list" data-href=
"#plugson_image_list">
160 <i class=
"fa fa-list-alt"></i> <span id=
"id_span_menu_imagelist">文件列表插件
</span>
165 <a href=
"#plugson_auto_memdisk" data-href=
"#plugson_auto_memdisk">
166 <i class=
"fa fa-floppy-o"></i> <span id=
"id_span_menu_auto_memdisk">自动 Memdisk 插件
</span>
170 <a href=
"#plugson_dud" data-href=
"#plugson_dud">
171 <i class=
"glyphicon glyphicon-cd"></i> <span id=
"id_span_menu_dud">Driver Update Disk 插件
</span>
180 <div class=
"modal" id=
"SetPwdModal">
181 <div class=
"modal-dialog" style=
"width: 800px;">
182 <div class=
"modal-content">
183 <form id=
"SetPwdForm" class=
"form-horizontal">
184 <div class=
"modal-header">
185 <button type=
"button" class=
"close" data-dismiss=
"modal" aria-label=
"Close">
186 <span aria-hidden=
"true">×</span>
188 <h4><b id=
"SetPwdForm_title"></b> </h4>
190 <div class=
"modal-body">
192 <div id=
"id_div_pwd_path">
193 <div class=
"form-group">
194 <div class=
"col-sm-3">
195 <label id=
"SetPwdForm_path" class=
"control-label"></label>
197 <div class=
"col-sm-9">
198 <input type=
"text" class=
"form-control" id=
"PwdPath" name=
"PwdPath" />
202 <div class=
"form-group" id=
"id_note_pwdfile_cn">
203 <div class=
"col-sm-3"></div>
204 <div class=
"col-sm-9">
205 请输入文件在当前系统中的全路径(注意是完整的绝对路径),例如:
<br/>
206 <span id=
"id_span_pwdfile_tip1" style=
"color:red;"></span><br/>
207 <span id=
"id_span_pwdfile_tip2" style=
"color:red;"></span>
210 <div class=
"form-group" id=
"id_note_pwdfile_en">
211 <div class=
"col-sm-3"></div>
212 <div class=
"col-sm-9">
213 Please input the full absolute file path. For example:
<br/>
214 <span id=
"id_span_pwdfile_tip1" style=
"color:red;"></span><br/>
215 <span id=
"id_span_pwdfile_tip2" style=
"color:red;"></span><br/>
218 <div class=
"form-group" id=
"id_note_pwddir_cn">
219 <div class=
"col-sm-3"></div>
220 <div class=
"col-sm-9">
221 请输入文件夹在当前系统中的全路径(注意是完整的绝对路径),例如:
<br/>
222 <span id=
"id_span_pwddir_tip" style=
"color:red;"></span>
225 <div class=
"form-group" id=
"id_note_pwddir_en">
226 <div class=
"col-sm-3"></div>
227 <div class=
"col-sm-9">
228 Please input the full absolute directory path. For example:
<br/>
229 <span id=
"id_span_pwddir_tip" style=
"color:red;"></span>
233 <div class=
"form-group">
234 <div class=
"col-sm-3">
235 <label id=
"SetPwdForm_pwd" class=
"control-label">xx
</label>
237 <div class=
"col-sm-9">
238 <input type=
"text" class=
"form-control" id=
"PwdPwd" name=
"PwdPwd" />
242 <div class=
"form-group">
243 <div class=
"col-sm-3">
244 <label id=
"SetPwdForm_type" class=
"control-label">xx
</label>
246 <div class=
"col-sm-9">
247 <label class=
"radio-inline">
248 <input type=
"radio" id=
"id_radio_pwd_type0" name=
"id_radio_pwd_type" selected=
"selected" data-type=
"0" value=
"0"/> <span style=
"font-weight:bold;">TXT
</span>
250 <label class=
"radio-inline">
251 <input type=
"radio" id=
"id_radio_pwd_type1" name=
"id_radio_pwd_type" data-type=
"1" value=
"1"/> <span style=
"font-weight:bold;">MD5
</span>
253 <label class=
"radio-inline">
254 <input type=
"radio" id=
"id_radio_pwd_type2" name=
"id_radio_pwd_type" data-type=
"2" value=
"2"/> <span style=
"font-weight:bold;">Salt MD5
</span>
259 <div class=
"modal-footer">
260 <button id=
"SetPwdForm_ok" type=
"submit" class=
"btn btn-primary btn-flat">确定
</button>
261 <button id=
"SetPwdForm_cancel" type=
"button" class=
"btn btn-default btn-flat" data-dismiss=
"modal">取消
</button>
270 <div class=
"modal" id=
"SetFileModal">
271 <div class=
"modal-dialog" style=
"width: 800px;">
272 <div class=
"modal-content">
273 <form id=
"SetFileForm" class=
"form-horizontal">
274 <div class=
"modal-header">
275 <button type=
"button" class=
"close" data-dismiss=
"modal" aria-label=
"Close">
276 <span aria-hidden=
"true">×</span>
278 <h4><b id=
"SetFileForm_lang_1">设置文件路径
</b> </h4>
280 <div class=
"modal-body">
281 <div class=
"form-group">
282 <div class=
"col-sm-2">
283 <label id=
"SetFileForm_lang_2" class=
"control-label">文件路径
</label>
285 <div class=
"col-sm-9">
286 <input type=
"text" class=
"form-control" id=
"FilePath" name=
"FilePath" />
290 <div class=
"form-group" id=
"id_note_setfile_cn">
291 <div class=
"col-sm-2"></div>
292 <div class=
"col-sm-9">
293 请输入文件在当前系统中的全路径(注意是完整的绝对路径),例如:
<br/>
294 <span id=
"id_span_filepath_tip1" style=
"color:red;"></span><br/>
295 <span id=
"id_span_filepath_tip2" style=
"color:red;"></span>
299 <div class=
"form-group" id=
"id_note_setfile_en">
300 <div class=
"col-sm-2"></div>
301 <div class=
"col-sm-9">
302 Please input the full absolute file path. For example:
<br/>
303 <span id=
"id_span_filepath_tip1" style=
"color:red;"></span><br/>
304 <span id=
"id_span_filepath_tip2" style=
"color:red;"></span><br/>
308 <div class=
"form-group" id=
"id_div_file_extra">
309 <div class=
"col-sm-2">
310 <label id=
"SetFileForm_extra" class=
"control-label">xx
</label>
312 <div class=
"col-sm-9">
313 <input type=
"text" class=
"form-control" id=
"FileExtra" name=
"FileExtra" />
317 <div class=
"form-group" id=
"id_note_tip3_cn">
318 <div class=
"col-sm-2"></div>
319 <div class=
"col-sm-9">
320 请输入对应文件在当前系统中的全路径(注意是完整的绝对路径),例如:
<br/>
321 <span id=
"id_span_filepath_tip3" style=
"color:red;"></span><br/>
324 <div class=
"form-group" id=
"id_note_tip3_en">
325 <div class=
"col-sm-2"></div>
326 <div class=
"col-sm-9">
327 Please input the full absolute file path. For example:
<br/>
328 <span id=
"id_span_filepath_tip3" style=
"color:red;"></span><br/>
333 <div class=
"modal-footer">
334 <button id=
"SetFileForm_lang_3" type=
"submit" class=
"btn btn-primary btn-flat">确定
</button>
335 <button id=
"SetFileForm_lang_4" type=
"button" class=
"btn btn-default btn-flat" data-dismiss=
"modal">取消
</button>
343 <div class=
"modal" id=
"SetFileFileModal">
344 <div class=
"modal-dialog" style=
"width: 800px;">
345 <div class=
"modal-content">
346 <form id=
"SetFileFileForm" class=
"form-horizontal">
347 <div class=
"modal-header">
348 <button type=
"button" class=
"close" data-dismiss=
"modal" aria-label=
"Close">
349 <span aria-hidden=
"true">×</span>
351 <h4><b id=
"SetFileFileForm_title">x
</b> </h4>
353 <div class=
"modal-body">
354 <div class=
"form-group">
355 <div class=
"col-sm-2">
356 <label id=
"SetFileFileForm_label1" class=
"control-label">x
</label>
358 <div class=
"col-sm-9">
359 <input type=
"text" class=
"form-control" id=
"FileFilePath1" name=
"FileFilePath1" />
363 <div class=
"form-group" id=
"id_note_filefile_cn">
364 <div class=
"col-sm-2"></div>
365 <div class=
"col-sm-9">
366 请输入文件在当前系统中的全路径(注意是完整的绝对路径),例如:
<br/>
367 <span id=
"id_span_filefile_tip1" style=
"color:red;"></span><br/>
368 <span id=
"id_span_filefile_tip2" style=
"color:red;"></span>
372 <div class=
"form-group" id=
"id_note_filefile_en">
373 <div class=
"col-sm-2"></div>
374 <div class=
"col-sm-9">
375 Please input the full absolute file path. For example:
<br/>
376 <span id=
"id_span_filefile_tip1" style=
"color:red;"></span><br/>
377 <span id=
"id_span_filefile_tip2" style=
"color:red;"></span><br/>
381 <div class=
"form-group">
382 <div class=
"col-sm-2">
383 <label id=
"SetFileFileForm_label2" class=
"control-label">xx
</label>
385 <div class=
"col-sm-9">
386 <input type=
"text" class=
"form-control" id=
"FileFilePath2" name=
"FileFilePath2" />
390 <div class=
"form-group" id=
"id_note_filefile_cn">
391 <div class=
"col-sm-2"></div>
392 <div class=
"col-sm-9">
393 请输入对应文件在当前系统中的全路径(注意是完整的绝对路径),例如:
<br/>
394 <span id=
"id_span_filefile_tip3" style=
"color:red;"></span><br/>
397 <div class=
"form-group" id=
"id_note_filefile_en">
398 <div class=
"col-sm-2"></div>
399 <div class=
"col-sm-9">
400 Please input the full absolute file path. For example:
<br/>
401 <span id=
"id_span_filefile_tip3" style=
"color:red;"></span><br/>
406 <div class=
"modal-footer">
407 <button id=
"SetFileFileForm_ok" type=
"submit" class=
"btn btn-primary btn-flat">确定
</button>
408 <button id=
"SetFileFileForm_cancel" type=
"button" class=
"btn btn-default btn-flat" data-dismiss=
"modal">取消
</button>
416 <div class=
"modal" id=
"SetDirFileModal">
417 <div class=
"modal-dialog" style=
"width: 800px;">
418 <div class=
"modal-content">
419 <form id=
"SetDirFileForm" class=
"form-horizontal">
420 <div class=
"modal-header">
421 <button type=
"button" class=
"close" data-dismiss=
"modal" aria-label=
"Close">
422 <span aria-hidden=
"true">×</span>
424 <h4><b id=
"SetDirFileForm_title">x
</b> </h4>
426 <div class=
"modal-body">
427 <div class=
"form-group">
428 <div class=
"col-sm-2">
429 <label id=
"SetDirFileForm_label1" class=
"control-label">x
</label>
431 <div class=
"col-sm-9">
432 <input type=
"text" class=
"form-control" id=
"DirFilePath1" name=
"DirFilePath1" />
436 <div class=
"form-group" id=
"id_note_dirfile_cn">
437 <div class=
"col-sm-2"></div>
438 <div class=
"col-sm-9">
439 请输入对应目录在当前系统中的全路径(注意是完整的绝对路径),例如:
<br/>
440 <span id=
"id_span_dirfile_tip1" style=
"color:red;"></span><br/>
444 <div class=
"form-group" id=
"id_note_dirfile_en">
445 <div class=
"col-sm-2"></div>
446 <div class=
"col-sm-9">
447 Please input the full absolute directory path. For example:
<br/>
448 <span id=
"id_span_dirfile_tip1" style=
"color:red;"></span><br/>
452 <div class=
"form-group">
453 <div class=
"col-sm-2">
454 <label id=
"SetDirFileForm_label2" class=
"control-label">xx
</label>
456 <div class=
"col-sm-9">
457 <input type=
"text" class=
"form-control" id=
"DirFilePath2" name=
"DirFilePath2" />
461 <div class=
"form-group" id=
"id_note_dirfile_cn">
462 <div class=
"col-sm-2"></div>
463 <div class=
"col-sm-9">
464 请输入对应文件在当前系统中的全路径(注意是完整的绝对路径),例如:
<br/>
465 <span id=
"id_span_dirfile_tip2" style=
"color:red;"></span><br/>
468 <div class=
"form-group" id=
"id_note_dirfile_en">
469 <div class=
"col-sm-2"></div>
470 <div class=
"col-sm-9">
471 Please input the full absolute file path. For example:
<br/>
472 <span id=
"id_span_dirfile_tip2" style=
"color:red;"></span><br/>
477 <div class=
"modal-footer">
478 <button id=
"SetDirFileForm_ok" type=
"submit" class=
"btn btn-primary btn-flat">确定
</button>
479 <button id=
"SetDirFileForm_cancel" type=
"button" class=
"btn btn-default btn-flat" data-dismiss=
"modal">取消
</button>
488 <div class=
"modal" id=
"ConfReplaceModal">
489 <div class=
"modal-dialog" style=
"width: 800px;">
490 <div class=
"modal-content">
491 <form id=
"ConfReplaceForm" class=
"form-horizontal">
492 <div class=
"modal-header">
493 <button type=
"button" class=
"close" data-dismiss=
"modal" aria-label=
"Close">
494 <span aria-hidden=
"true">×</span>
496 <h4><b>Boot Conf Replace
</b> </h4>
498 <div class=
"modal-body">
499 <div class=
"form-group">
500 <div class=
"col-sm-2">
501 <label id=
"ConfReplaceForm_lang_1" class=
"control-label">文件路径
</label>
503 <div class=
"col-sm-9">
504 <input type=
"text" class=
"form-control" id=
"IsoPath" name=
"IsoPath" />
508 <div class=
"form-group" id=
"id_note_conf_cn">
509 <div class=
"col-sm-2"></div>
510 <div class=
"col-sm-9">
511 请输入文件在当前系统中的全路径(注意是完整的绝对路径),例如:
<br/>
512 <span id=
"id_span_conf_tip1" style=
"color:red;"></span><br/>
513 <span id=
"id_span_conf_tip2" style=
"color:red;"></span>
517 <div class=
"form-group" id=
"id_note_conf_en">
518 <div class=
"col-sm-2"></div>
519 <div class=
"col-sm-9">
520 Please input the full absolute file path. For example:
<br/>
521 <span id=
"id_span_conf_tip1" style=
"color:red;"></span><br/>
522 <span id=
"id_span_conf_tip2" style=
"color:red;"></span>
526 <div class=
"form-group">
527 <div class=
"col-sm-2">
528 <label class=
"control-label">org
</label>
530 <div class=
"col-sm-9">
531 <input type=
"text" class=
"form-control" id=
"OrgPath" name=
"OrgPath" />
534 <div class=
"form-group" id=
"id_note_conf_cn">
535 <div class=
"col-sm-2"></div>
536 <div class=
"col-sm-9">
537 要替换的文件在 ISO 内的路径(以 / 开头),例如:
538 <span style=
"color:red;">/boot/grub/grub.cfg
</span>
541 <div class=
"form-group" id=
"id_note_conf_en">
542 <div class=
"col-sm-2"></div>
543 <div class=
"col-sm-9">
544 The original file path inside the ISO (start with /), for example:
545 <span style=
"color:red;">/boot/grub/grub.cfg
</span>
549 <div class=
"form-group">
550 <div class=
"col-sm-2">
551 <label class=
"control-label">new
</label>
553 <div class=
"col-sm-9">
554 <input type=
"text" class=
"form-control" id=
"NewPath" name=
"NewPath" />
557 <div class=
"form-group" id=
"id_note_conf_cn">
558 <div class=
"col-sm-2"></div>
559 <div class=
"col-sm-9">
560 新文件在当前系统中的全路径(注意是完整的绝对路径)例如:
<br/>
561 <span id=
"id_span_conf_tip3" style=
"color:red;"></span>
564 <div class=
"form-group" id=
"id_note_conf_en">
565 <div class=
"col-sm-2"></div>
566 <div class=
"col-sm-9">
567 Please input the full absolute file path. For example:
<br/>
568 <span id=
"id_span_conf_tip3" style=
"color:red;"></span>
573 <div class=
"modal-footer">
574 <button id=
"ConfReplaceForm_lang_2" type=
"submit" class=
"btn btn-primary btn-flat">确定
</button>
575 <button id=
"ConfReplaceForm_lang_3" type=
"button" class=
"btn btn-default btn-flat" data-dismiss=
"modal">取消
</button>
583 <div class=
"modal" id=
"SetDirModal">
584 <div class=
"modal-dialog" style=
"width: 800px;">
585 <div class=
"modal-content">
586 <form id=
"SetDirForm" class=
"form-horizontal">
587 <div class=
"modal-header">
588 <button type=
"button" class=
"close" data-dismiss=
"modal" aria-label=
"Close">
589 <span aria-hidden=
"true">×</span>
591 <h4><b id=
"SetDirForm_lang_1">设置文件夹路径
</b> </h4>
593 <div class=
"modal-body">
594 <div class=
"form-group">
595 <div class=
"col-sm-2">
596 <label id=
"SetDirForm_lang_2" class=
"control-label">文件夹路径
</label>
598 <div class=
"col-sm-9">
599 <input type=
"text" class=
"form-control" id=
"DirPath" name=
"DirPath" />
603 <div class=
"form-group" id=
"id_note_setfile_cn">
604 <div class=
"col-sm-2"></div>
605 <div class=
"col-sm-9">
606 请输入文件夹在当前系统中的全路径(注意是完整的绝对路径),例如:
<br/>
607 <span id=
"id_span_dirpath_tip" style=
"color:red;"></span>
611 <div class=
"form-group" id=
"id_note_setfile_en">
612 <div class=
"col-sm-2"></div>
613 <div class=
"col-sm-9">
614 Please input the full absolute directory path. For example:
<br/>
615 <span id=
"id_span_dirpath_tip" style=
"color:red;"></span>
619 <div class=
"form-group" id=
"id_div_dir_extra">
620 <div class=
"col-sm-2">
621 <label id=
"SetDirForm_extra" class=
"control-label">xx
</label>
623 <div class=
"col-sm-9">
624 <input type=
"text" class=
"form-control" id=
"DirExtra" name=
"DirExtra" />
628 <div class=
"form-group" id=
"id_note_tip3_cn">
629 <div class=
"col-sm-2"></div>
630 <div class=
"col-sm-9">
631 请输入对应文件在当前系统中的全路径(注意是完整的绝对路径),例如:
<br/>
632 <span id=
"id_span_dirpath_tip3" style=
"color:red;"></span><br/>
635 <div class=
"form-group" id=
"id_note_tip3_en">
636 <div class=
"col-sm-2"></div>
637 <div class=
"col-sm-9">
638 Please input the full absolute file path. For example:
<br/>
639 <span id=
"id_span_dirpath_tip3" style=
"color:red;"></span><br/>
644 <div class=
"modal-footer">
645 <button id=
"SetDirForm_lang_3" type=
"submit" class=
"btn btn-primary btn-flat">确定
</button>
646 <button id=
"SetDirForm_lang_4" type=
"button" class=
"btn btn-default btn-flat" data-dismiss=
"modal">取消
</button>
654 <div class=
"modal" id=
"SetKeyModal">
655 <div class=
"modal-dialog" style=
"width: 800px;">
656 <div class=
"modal-content">
657 <form id=
"SetKeyForm" class=
"form-horizontal">
658 <div class=
"modal-header">
659 <button type=
"button" class=
"close" data-dismiss=
"modal" aria-label=
"Close">
660 <span aria-hidden=
"true">×</span>
662 <h4><b id=
"SetKeyForm_lang_1">xx
</b> </h4>
664 <div class=
"modal-body">
665 <div class=
"form-group">
666 <div class=
"col-sm-2">
667 <label id=
"SetKeyForm_lang_2" class=
"control-label">关键字
</label>
669 <div class=
"col-sm-9">
670 <input type=
"text" class=
"form-control" id=
"SetKeyKey" name=
"SetKeyKey" />
673 <div class=
"form-group">
674 <div class=
"col-sm-2">
675 <label id=
"SetKeyForm_lang_3" class=
"control-label">菜单类型
</label>
677 <div class=
"col-sm-9">
678 <input type=
"text" class=
"form-control" id=
"SetKeyValue" name=
"SetKeyValue" />
682 <div class=
"modal-footer">
683 <button id=
"SetKeyForm_lang_4" type=
"submit" class=
"btn btn-primary btn-flat">确定
</button>
684 <button id=
"SetKeyForm_lang_5" type=
"button" class=
"btn btn-default btn-flat" data-dismiss=
"modal">取消
</button>
691 <div class=
"modal" id=
"TypeSelectModal">
692 <div class=
"modal-dialog" style=
"width: 800px;">
693 <div class=
"modal-content">
694 <form id=
"TypeSelectForm" class=
"form-horizontal">
695 <div class=
"modal-header">
696 <button type=
"button" class=
"close" data-dismiss=
"modal" aria-label=
"Close">
697 <span aria-hidden=
"true">×</span>
699 <h4><b id=
"TypeSelForm_lang_1">请选择
</b> </h4>
701 <div class=
"modal-body">
702 <div class=
"form-group">
703 <div class=
"col-sm-1"></div>
704 <div class=
"col-sm-10">
705 <table id=
"id_type_select_table" class=
"table" rules=none
>
710 <div class=
"col-sm-1"></div>
713 <div class=
"modal-footer">
714 <button id=
"TypeSelForm_lang_2" type=
"submit" class=
"btn btn-primary btn-flat">确定
</button>
715 <button id=
"TypeSelForm_lang_3" type=
"button" class=
"btn btn-default btn-flat" data-dismiss=
"modal">取消
</button>
723 <div class=
"modal" id=
"JsonPreviewModal">
724 <div class=
"modal-dialog" style=
"width: 80%;">
725 <div class=
"modal-content">
726 <form id=
"JsonPeviewForm" class=
"form-horizontal">
727 <div class=
"modal-header">
728 <button type=
"button" class=
"close" data-dismiss=
"modal" aria-label=
"Close">
729 <span aria-hidden=
"true">×</span>
732 <b id=
"JsonPreviewForm_lang_1">JSON
</b>
733 <button type=
"button" id=
"id_btn_json_copy" class=
"btn btn-primary"><span class=
"fa fa-copy"> </span><span id=
"id_span_copy">Copy
</span></button>
737 <div class=
"modal-body">
738 <textarea id=
"pre_json_preview" class=
"form-control" rows=
"30" style=
"font-family:Menlo,Monaco,Consolas,'Courier New',monospace" spellcheck=
"false"></textarea>
740 <div class=
"modal-footer">
741 <button id=
"PrewForm_lang_2" type=
"button" class=
"btn btn-primary btn-flat" data-dismiss=
"modal">确定
</button>
749 <!-- Content Wrapper. Contains page content -->
750 <div class=
"content-wrapper clearfix" style=
"min-height: 385px; margin-top: 50px;">
751 <!-- Main content -->
752 <section class=
"content" id=
"plugson-content">
756 <!-- /.content-wrapper -->
758 <footer class=
"main-footer">
759 <div class=
"pull-right hidden-xs">
760 <b id=
"plugson_build_date">20221221 12:
11:
59</b>
762 <strong><a href=
"https://www.ventoy.net" target=
"_blank">https://www.ventoy.net
</a></strong>
765 <!-- Control Sidebar -->
766 <!-- /.control-sidebar -->
767 <!-- Add the sidebar's background. This div must be placed
768 immediately after the control sidebar -->
769 <div class=
"control-sidebar-bg" style=
"position: fixed; height: auto;"></div>
776 <!-- jQuery 2.1.4 -->
777 <script src=
"/static/js/jQuery-2.1.4.min.js"></script>
778 <!-- jquery validate -->
779 <script src=
"/static/js/jquery.validate.min.js"></script>
780 <script src=
"/static/js/jquery.validate.vtoymethods.js?v=103"></script>
782 <script src=
"/static/js/jquery.vtoy.alert.js?v=103"></script>
783 <script src=
"/static/js/vtoy.js?v=103"></script>
784 <script src=
"/static/js/md5.min.js"></script>
786 <!-- Bootstrap 3.3.5 -->
787 <script src=
"/static/bootstrap/js/bootstrap.min.js"></script>
788 <!-- AdminLTE App -->
789 <script src=
"/static/AdminLTE/js/app.min.js"></script>
790 <script src=
"/static/AdminLTE/plugins/chartjs/Chart.min.js"></script>
792 <script src=
"/static/datatables/jquery.dataTables.min.js"></script>
793 <script src=
"/static/datatables/dataTables.bootstrap.min.js"></script>
795 <script type=
"text/javascript">
797 function VtoyJsonCopyClick() {
798 var copyText = document.getElementById("pre_json_preview");
800 copyText.setSelectionRange(
0,
99999); // For mobile devices
803 var successful = document.execCommand('copy');
804 copyText.setSelectionRange(
0,
0);
806 Message.success(g_vtoy_cur_language.STR_JSON_COPY_SUCCESS);
808 Message.error(g_vtoy_cur_language.STR_JSON_COPY_FAILED);
811 Message.error(g_vtoy_cur_language.STR_JSON_COPY_FAILED);
815 function VtoyPreviewClick() {
817 method : 'preview_json'
819 $('#JsonPeviewForm #JsonPreviewForm_lang_1').text(g_vtoy_cur_language.STR_JSON_PREVIEW);
820 $('#JsonPeviewForm #PrewForm_lang_2').text(g_vtoy_cur_language.STR_BTN_OK);
822 $('#pre_json_preview').text(VtoyUTF16HexToAscii(data.json));
823 $("#JsonPreviewModal").modal();
827 function VtoyLanguageClick() {
828 var defaultPage = window.location.hash;
830 if (g_current_language === 'cn') {
831 g_current_language = 'en';
833 g_current_language = 'cn';
836 if (typeof(VtoyPageLanguageChange)==='function') {
837 VtoyPageLanguageChange(g_current_language);
844 var m_invalid_config;
848 g_current_language = data.language;
849 g_current_dir = data.curdir;
850 g_current_os = data.os;
851 m_syntax_error = data.syntax_error;
852 m_invalid_config = data.invalid_config;
858 $('#id_btn_json_copy').click(VtoyJsonCopyClick);
859 $('#id_a_preview').click(VtoyPreviewClick);
860 $('#id_a_language').click(VtoyLanguageClick);
862 $("#plugson-menu a").click(function() {
863 var href = $(this).data("href");
864 if (href && href !== '#') {
865 loadContent(href.substring(
1));
869 $('#id_top_donation').click(function() {
870 var href = $(this).data("href");
871 if (href && href !== '#') {
872 loadContent(href.substring(
1));
876 (function openDefaultPage() {
877 var defaultPage = window.location.hash;
879 defaultPage = defaultPage.substring(
1, defaultPage.length);
881 defaultPage = defaultPage || 'plugson_main';
882 loadContent(defaultPage);
886 (function ventoy_handshake() {
892 if (m_syntax_error ===
1 && typeof(Modal) === 'object') {
893 var title = g_current_language == 'en' ? g_vtoy_cur_language_en.STR_INFO : g_vtoy_cur_language_cn.STR_INFO;
894 var msg = g_current_language == 'en' ? g_vtoy_cur_language_en.STR_SYNTAX_ERROR_TIP : g_vtoy_cur_language_cn.STR_SYNTAX_ERROR_TIP;
895 Modal.alert({title:title,msg:msg}).on(function(e) {
900 if (m_invalid_config ===
1 && typeof(Modal) === 'object') {
901 var title = g_current_language == 'en' ? g_vtoy_cur_language_en.STR_INFO : g_vtoy_cur_language_cn.STR_INFO;
902 var msg = g_current_language == 'en' ? g_vtoy_cur_language_en.STR_INVALID_CONFIG_TIP : g_vtoy_cur_language_cn.STR_INVALID_CONFIG_TIP;
903 Modal.alert({title:title,msg:msg}).on(function(e) {
905 m_invalid_config =
0;
908 if (data.save_error ===
1) {
909 var title = g_current_language == 'en' ? g_vtoy_cur_language_en.STR_INFO : g_vtoy_cur_language_cn.STR_INFO;
910 var msg = g_current_language == 'en' ? g_vtoy_cur_language_en.STR_CONFIG_SAVE_ERROR_TIP : g_vtoy_cur_language_cn.STR_CONFIG_SAVE_ERROR_TIP;
911 Modal.alert({title:title,msg:msg}).on(function(e) {
915 if (typeof(UpdateTabTitleIcon)==='function') {
916 UpdateTabTitleIcon(data);
919 setTimeout(function() {
924 function(xmlHttpRequest, textStatus, errorThrown) {
925 if (undefined === errorThrown)
927 Message.error(g_vtoy_cur_language.STR_WEB_REMOTE_ABNORMAL);
929 else if(undefined === errorThrown.length)
933 else if('' == errorThrown.trim())
942 Message.error(g_vtoy_cur_language.STR_WEB_REQUEST_TIMEOUT);
945 case 'Service Unavailable':
947 Message.error(g_vtoy_cur_language.STR_WEB_SERVICE_UNAVAILABLE);
956 Message.error(g_vtoy_cur_language.STR_WEB_COMMUNICATION_ERR + errorThrown);
962 Modal.confirm({msg:g_vtoy_cur_language.STR_CLOSE_TIP}).on(function(e) {
963 if(navigator.userAgent.indexOf("Firefox") != -
1 || navigator.userAgent.indexOf("Chrome") != -
1){
964 window.location.href = "about:blank";
967 window.opener = null;
968 window.open("", "_self");