InPanel 1.2.7__tar.gz → 1.2.8.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. {inpanel-1.2.7 → inpanel-1.2.8.3}/InPanel.egg-info/PKG-INFO +55 -39
  2. inpanel-1.2.8.3/MANIFEST.in +6 -0
  3. {inpanel-1.2.7 → inpanel-1.2.8.3}/PKG-INFO +55 -39
  4. {inpanel-1.2.7 → inpanel-1.2.8.3}/README.md +53 -6
  5. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/base.py +1 -1
  6. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/server.py +1 -0
  7. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/service.py +14 -13
  8. {inpanel-1.2.7 → inpanel-1.2.8.3}/pyproject.toml +8 -7
  9. inpanel-1.2.7/MANIFEST.in +0 -2
  10. {inpanel-1.2.7 → inpanel-1.2.8.3}/InPanel.egg-info/SOURCES.txt +0 -0
  11. {inpanel-1.2.7 → inpanel-1.2.8.3}/InPanel.egg-info/dependency_links.txt +0 -0
  12. {inpanel-1.2.7 → inpanel-1.2.8.3}/InPanel.egg-info/entry_points.txt +0 -0
  13. {inpanel-1.2.7 → inpanel-1.2.8.3}/InPanel.egg-info/requires.txt +0 -0
  14. {inpanel-1.2.7 → inpanel-1.2.8.3}/InPanel.egg-info/top_level.txt +0 -0
  15. {inpanel-1.2.7 → inpanel-1.2.8.3}/LICENSE +0 -0
  16. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/__init__.py +0 -0
  17. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/app.py +0 -0
  18. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/config.py +0 -0
  19. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/lib/__init__.py +0 -0
  20. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/lib/async_process.py +0 -0
  21. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/lib/filelock.py +0 -0
  22. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/lib/magic.py +0 -0
  23. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/lib/pxssh.py +0 -0
  24. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/lib/pyDes.py +0 -0
  25. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/__init__.py +0 -0
  26. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/acme.py +0 -0
  27. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/aliyuncs.py +0 -0
  28. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/apt.py +0 -0
  29. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/brew.py +0 -0
  30. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/certificate.py +0 -0
  31. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/config.py +0 -0
  32. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/cron.py +0 -0
  33. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/disk.py +0 -0
  34. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/dnf.py +0 -0
  35. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/docker.py +0 -0
  36. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/docker_source.py +0 -0
  37. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/file.py +0 -0
  38. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/firewall.py +0 -0
  39. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/firewall_base.py +0 -0
  40. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/firewall_firewalld.py +0 -0
  41. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/firewall_iptables.py +0 -0
  42. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/firewall_macos.py +0 -0
  43. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/firewall_ufw.py +0 -0
  44. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/ftp.py +0 -0
  45. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/httpd.py +0 -0
  46. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/lighttpd.py +0 -0
  47. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/login.py +0 -0
  48. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/logs.py +0 -0
  49. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/mysql.py +0 -0
  50. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/named.py +0 -0
  51. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/nginx.py +0 -0
  52. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/package.py +0 -0
  53. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/package_apt.py +0 -0
  54. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/package_base.py +0 -0
  55. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/package_brew.py +0 -0
  56. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/package_dnf.py +0 -0
  57. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/package_map.py +0 -0
  58. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/package_yum.py +0 -0
  59. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/php.py +0 -0
  60. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/pip.py +0 -0
  61. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/plugins.py +0 -0
  62. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/process.py +0 -0
  63. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/proftpd.py +0 -0
  64. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/pureftpd.py +0 -0
  65. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/query.py +0 -0
  66. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/redis.py +0 -0
  67. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/remote.py +0 -0
  68. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/service_manager.py +0 -0
  69. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/setting.py +0 -0
  70. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/shell.py +0 -0
  71. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/ssh.py +0 -0
  72. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/system.py +0 -0
  73. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/task.py +0 -0
  74. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/user.py +0 -0
  75. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/vsftpd.py +0 -0
  76. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/mod/yum.py +0 -0
  77. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/plugin.py +0 -0
  78. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/css/global.css +0 -0
  79. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/favicon.ico +0 -0
  80. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/images/alipay.jpg +0 -0
  81. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/images/loading.gif +0 -0
  82. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/images/weixin.jpg +0 -0
  83. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/index.html +0 -0
  84. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/js/controllers/container.js +0 -0
  85. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/js/controllers/controllers.js +0 -0
  86. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/js/controllers/database.js +0 -0
  87. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/js/controllers/ecs.js +0 -0
  88. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/js/controllers/file.js +0 -0
  89. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/js/controllers/logs.js +0 -0
  90. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/js/controllers/plugins.js +0 -0
  91. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/js/controllers/service.js +0 -0
  92. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/js/controllers/site.js +0 -0
  93. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/js/controllers/utils.js +0 -0
  94. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/js/core.js +0 -0
  95. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/js/directives.js +0 -0
  96. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/js/filters.js +0 -0
  97. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/js/services.js +0 -0
  98. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/angular/1.0.2/angular-resource.min.js +0 -0
  99. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/angular/1.0.2/angular.min.js +0 -0
  100. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/angular/1.0.8/angular.min.js +0 -0
  101. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/bootstrap/css/bootstrap-theme.css +0 -0
  102. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/bootstrap/css/bootstrap-theme.css.map +0 -0
  103. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/bootstrap/css/bootstrap-theme.min.css +0 -0
  104. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/bootstrap/css/bootstrap-theme.min.css.map +0 -0
  105. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/bootstrap/css/bootstrap.css +0 -0
  106. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/bootstrap/css/bootstrap.css.map +0 -0
  107. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/bootstrap/css/bootstrap.min.css +0 -0
  108. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/bootstrap/css/bootstrap.min.css.map +0 -0
  109. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/bootstrap/fonts/glyphicons-halflings-regular.eot +0 -0
  110. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/bootstrap/fonts/glyphicons-halflings-regular.svg +0 -0
  111. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf +0 -0
  112. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/bootstrap/fonts/glyphicons-halflings-regular.woff +0 -0
  113. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2 +0 -0
  114. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/bootstrap/img/glyphicons-halflings-white.png +0 -0
  115. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/bootstrap/img/glyphicons-halflings.png +0 -0
  116. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/bootstrap/js/bootstrap.js +0 -0
  117. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/bootstrap/js/bootstrap.min.js +0 -0
  118. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/bootstrap/js/npm.js +0 -0
  119. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/codemirror/addon/edit/matchbrackets.min.js +0 -0
  120. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/codemirror/addon/search/match-highlighter.min.js +0 -0
  121. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/codemirror/addon/selection/active-line.min.js +0 -0
  122. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/codemirror/codemirror.min.css +0 -0
  123. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/codemirror/codemirror.min.js +0 -0
  124. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/codemirror/mode/css/css.min.js +0 -0
  125. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/codemirror/mode/diff/diff.min.js +0 -0
  126. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/codemirror/mode/dockerfile/dockerfile.min.js +0 -0
  127. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/codemirror/mode/go/go.min.js +0 -0
  128. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/codemirror/mode/htmlmixed/htmlmixed.min.js +0 -0
  129. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/codemirror/mode/javascript/javascript.min.js +0 -0
  130. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/codemirror/mode/lua/lua.min.js +0 -0
  131. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/codemirror/mode/markdown/markdown.min.js +0 -0
  132. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/codemirror/mode/nginx/nginx.min.js +0 -0
  133. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/codemirror/mode/perl/perl.min.js +0 -0
  134. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/codemirror/mode/php/php.min.js +0 -0
  135. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/codemirror/mode/properties/properties.min.js +0 -0
  136. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/codemirror/mode/python/python.min.js +0 -0
  137. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/codemirror/mode/ruby/ruby.min.js +0 -0
  138. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/codemirror/mode/rust/rust.min.js +0 -0
  139. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/codemirror/mode/shell/shell.min.js +0 -0
  140. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/codemirror/mode/sql/sql.min.js +0 -0
  141. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/codemirror/mode/toml/toml.min.js +0 -0
  142. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/codemirror/mode/xml/xml.min.js +0 -0
  143. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/codemirror/mode/yaml/yaml.min.js +0 -0
  144. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/jquery/jquery-1.12.4.min.js +0 -0
  145. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/md5/md5.js +0 -0
  146. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/lib/md5/md5.min.js +0 -0
  147. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/container/directives/message.html +0 -0
  148. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/container/directives/navbar.html +0 -0
  149. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/container/directives/selector.html +0 -0
  150. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/container/directives/srvbase.html +0 -0
  151. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/container/directives/srvext.html +0 -0
  152. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/container/directives/srvfile.html +0 -0
  153. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/container/directives/srvinstall.html +0 -0
  154. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/container/directives/srvlog.html +0 -0
  155. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/container/directives/srvminiop.html +0 -0
  156. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/container/directives/srvuninstall.html +0 -0
  157. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/container/directives/srvupdate.html +0 -0
  158. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/container/index.html +0 -0
  159. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/database/index.html +0 -0
  160. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/database/mysql/dbedit.html +0 -0
  161. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/database/mysql/dbnew.html +0 -0
  162. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/database/mysql/useredit.html +0 -0
  163. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/database/mysql/usernew.html +0 -0
  164. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/ecs/account.html +0 -0
  165. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/ecs/ecs.html +0 -0
  166. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/ecs/index.html +0 -0
  167. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/ecs/setings.html +0 -0
  168. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/file/file.html +0 -0
  169. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/file/trash.html +0 -0
  170. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/ftp.html +0 -0
  171. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/login.html +0 -0
  172. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/logout.html +0 -0
  173. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/logs.html +0 -0
  174. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/main.html +0 -0
  175. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/plugins/config.html +0 -0
  176. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/plugins/detail.html +0 -0
  177. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/plugins/index.html +0 -0
  178. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/plugins/info.html +0 -0
  179. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/secure.html +0 -0
  180. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/service/apache.html +0 -0
  181. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/service/cron.html +0 -0
  182. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/service/fail2ban.html +0 -0
  183. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/service/firewalld.html +0 -0
  184. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/service/index.html +0 -0
  185. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/service/iptables.html +0 -0
  186. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/service/java11.html +0 -0
  187. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/service/java17.html +0 -0
  188. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/service/java21.html +0 -0
  189. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/service/java8.html +0 -0
  190. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/service/lighttpd.html +0 -0
  191. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/service/mariadb.html +0 -0
  192. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/service/memcache.html +0 -0
  193. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/service/minio.html +0 -0
  194. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/service/mongodb.html +0 -0
  195. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/service/mysql.html +0 -0
  196. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/service/named.html +0 -0
  197. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/service/nginx.html +0 -0
  198. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/service/nodejs18.html +0 -0
  199. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/service/nodejs20.html +0 -0
  200. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/service/nodejs22.html +0 -0
  201. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/service/nodejs24.html +0 -0
  202. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/service/ntp.html +0 -0
  203. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/service/php.html +0 -0
  204. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/service/php56.html +0 -0
  205. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/service/php74.html +0 -0
  206. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/service/php80.html +0 -0
  207. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/service/php81.html +0 -0
  208. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/service/php82.html +0 -0
  209. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/service/php83.html +0 -0
  210. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/service/php84.html +0 -0
  211. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/service/proftpd.html +0 -0
  212. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/service/pureftpd.html +0 -0
  213. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/service/redis.html +0 -0
  214. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/service/samba.html +0 -0
  215. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/service/sendmail.html +0 -0
  216. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/service/ssh.html +0 -0
  217. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/service/tomcat.html +0 -0
  218. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/service/ufw.html +0 -0
  219. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/service/vsftpd.html +0 -0
  220. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/setting.html +0 -0
  221. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/site/apache/site.html +0 -0
  222. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/site/index.html +0 -0
  223. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/site/nginx/site.html +0 -0
  224. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/sorry.html +0 -0
  225. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/storage/autofm.html +0 -0
  226. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/storage/backup.html +0 -0
  227. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/storage/index.html +0 -0
  228. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/storage/migrate.html +0 -0
  229. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/storage/movedata.html +0 -0
  230. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/storage/remote.html +0 -0
  231. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/utils/cron.html +0 -0
  232. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/utils/firewall.html +0 -0
  233. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/utils/index.html +0 -0
  234. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/utils/network.html +0 -0
  235. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/utils/process.html +0 -0
  236. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/utils/shell.html +0 -0
  237. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/utils/sources.html +0 -0
  238. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/utils/ssl.html +0 -0
  239. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/utils/task.html +0 -0
  240. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/utils/time.html +0 -0
  241. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/partials/utils/user.html +0 -0
  242. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/robots.txt +0 -0
  243. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/templates/file/preview.html +0 -0
  244. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/public/templates/index.html +0 -0
  245. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/templates/__init__.py +0 -0
  246. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/templates/services/__init__.py +0 -0
  247. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/templates/services/_common.json +0 -0
  248. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/templates/services/categories.json +0 -0
  249. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/templates/services/database.json +0 -0
  250. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/templates/services/ftp.json +0 -0
  251. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/templates/services/http.json +0 -0
  252. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/templates/services/java.json +0 -0
  253. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/templates/services/mail.json +0 -0
  254. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/templates/services/nodejs.json +0 -0
  255. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/templates/services/php.json +0 -0
  256. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/templates/services/security.json +0 -0
  257. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/templates/services/storage.json +0 -0
  258. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/templates/services/system.json +0 -0
  259. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/templates/sources/__init__.py +0 -0
  260. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/templates/sources/apt.json +0 -0
  261. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/templates/sources/brew.json +0 -0
  262. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/templates/sources/dnf.json +0 -0
  263. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/templates/sources/docker.json +0 -0
  264. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/templates/sources/package_map.json +0 -0
  265. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/templates/sources/pip.json +0 -0
  266. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/templates/sources/third_party.json +0 -0
  267. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/templates/sources/yum.json +0 -0
  268. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/utils.py +0 -0
  269. {inpanel-1.2.7 → inpanel-1.2.8.3}/inpanel/web.py +0 -0
  270. {inpanel-1.2.7 → inpanel-1.2.8.3}/setup.cfg +0 -0
@@ -1,40 +1,10 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: InPanel
3
- Version: 1.2.7
3
+ Version: 1.2.8.3
4
4
  Summary: InPanel - A Server Management Tool
5
5
  Author-email: Jackson Dou <jksdou@qq.com>
6
6
  Maintainer-email: Jackson Dou <jksdou@qq.com>
7
- License: BSD 3-Clause License
8
-
9
- Copyright (c) 2017-2026, Jackson Dou
10
- Copyright (c) 2012-2013, VPSMate development team
11
- All rights reserved.
12
-
13
- Redistribution and use in source and binary forms, with or without
14
- modification, are permitted provided that the following conditions are met:
15
-
16
- 1. Redistributions of source code must retain the above copyright notice, this
17
- list of conditions and the following disclaimer.
18
-
19
- 2. Redistributions in binary form must reproduce the above copyright notice,
20
- this list of conditions and the following disclaimer in the documentation
21
- and/or other materials provided with the distribution.
22
-
23
- 3. Neither the name of the copyright holder nor the names of its
24
- contributors may be used to endorse or promote products derived from
25
- this software without specific prior written permission.
26
-
27
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
28
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
29
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
30
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
31
- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
32
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
33
- SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
34
- CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
35
- OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
36
- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37
-
7
+ License: BSD-3-Clause
38
8
  Project-URL: Homepage, https://inpanel.org
39
9
  Project-URL: Repository, https://github.com/inpanel/inpanel
40
10
  Project-URL: Documentation, https://inpanel.org
@@ -44,7 +14,6 @@ Classifier: Development Status :: 5 - Production/Stable
44
14
  Classifier: Environment :: Web Environment
45
15
  Classifier: Framework :: AsyncIO
46
16
  Classifier: Intended Audience :: System Administrators
47
- Classifier: License :: OSI Approved :: BSD License
48
17
  Classifier: Operating System :: POSIX :: Linux
49
18
  Classifier: Programming Language :: Python :: 3
50
19
  Classifier: Programming Language :: Python :: 3.6
@@ -370,18 +339,65 @@ inpanel run
370
339
 
371
340
  ### 构建安装包
372
341
 
342
+ 使用项目提供的构建脚本构建各类安装包:
343
+
344
+ ```bash
345
+ # 进入项目目录
346
+ cd inpanel
347
+
348
+ # 构建 pip 包(wheel + sdist)
349
+ bash scripts/build_pip.sh
350
+
351
+ # 构建并上传 pip 包到 PyPI
352
+ bash scripts/build_pip.sh upload
353
+
354
+ # 一键构建 RPM 和 DEB 包
355
+ bash scripts/build_package.sh
356
+
357
+ # 或单独构建
358
+ bash scripts/build_rpm.sh # 仅构建 RPM
359
+ bash scripts/build_deb.sh # 仅构建 DEB
360
+ ```
361
+
362
+ #### 构建依赖
363
+
364
+ 构建脚本依赖以下工具,请根据系统安装:
365
+
366
+ | 依赖 | 用途 | 安装命令 |
367
+ |------|------|----------|
368
+ | `python3` | Python 运行环境 | 系统通常已自带 |
369
+ | `python3-build` | 构建 Python 包(wheel/sdist) | `pip install build` |
370
+ | `twine` | 上传 pip 包到 PyPI | `pip install twine` |
371
+ | `rpmbuild` | RPM 包构建(CentOS/RHEL) | `yum install rpm-build` |
372
+ | `dpkg-buildpackage` | DEB 包构建(Debian/Ubuntu) | `apt-get install dpkg-dev` |
373
+ | `debhelper` | DEB 包构建辅助工具 | `apt-get install debhelper` |
374
+ | `python3-all` | DEB 包 Python 兼容性 | `apt-get install python3-all` |
375
+ | `python3-setuptools` | DEB 包 setuptools 支持 | `apt-get install python3-setuptools` |
376
+
377
+ #### 完整依赖安装示例
378
+
379
+ **所有平台**(构建 pip 包 / 上传 PyPI):
380
+
373
381
  ```bash
374
- # 构建 pip
382
+ pip install build twine
383
+ ```
384
+
385
+ **Debian / Ubuntu**(构建 DEB 包):
386
+
387
+ ```bash
388
+ sudo apt-get install -y debhelper python3-all python3-setuptools dpkg-dev
375
389
  pip install build
376
- python -m build
390
+ ```
377
391
 
378
- # 构建 RPM 包(需要 rpmbuild)
379
- rpmbuild -bb rpmbuild.spec
392
+ **CentOS / RHEL**(构建 RPM 包):
380
393
 
381
- # 构建 DEB 包(需要 debuild)
382
- debuild -us -uc
394
+ ```bash
395
+ sudo yum install -y rpm-build
396
+ pip install build
383
397
  ```
384
398
 
399
+ 构建产物默认输出到项目目录下的 `packages/` 目录。
400
+
385
401
  ## 账号和密码
386
402
 
387
403
  默认用户名:`admin`
@@ -0,0 +1,6 @@
1
+ exclude test/*
2
+ exclude tests/*
3
+ prune inpanel/data
4
+ prune inpanel/data/plugins
5
+ global-exclude *.pyc
6
+ global-exclude __pycache__
@@ -1,40 +1,10 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: InPanel
3
- Version: 1.2.7
3
+ Version: 1.2.8.3
4
4
  Summary: InPanel - A Server Management Tool
5
5
  Author-email: Jackson Dou <jksdou@qq.com>
6
6
  Maintainer-email: Jackson Dou <jksdou@qq.com>
7
- License: BSD 3-Clause License
8
-
9
- Copyright (c) 2017-2026, Jackson Dou
10
- Copyright (c) 2012-2013, VPSMate development team
11
- All rights reserved.
12
-
13
- Redistribution and use in source and binary forms, with or without
14
- modification, are permitted provided that the following conditions are met:
15
-
16
- 1. Redistributions of source code must retain the above copyright notice, this
17
- list of conditions and the following disclaimer.
18
-
19
- 2. Redistributions in binary form must reproduce the above copyright notice,
20
- this list of conditions and the following disclaimer in the documentation
21
- and/or other materials provided with the distribution.
22
-
23
- 3. Neither the name of the copyright holder nor the names of its
24
- contributors may be used to endorse or promote products derived from
25
- this software without specific prior written permission.
26
-
27
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
28
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
29
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
30
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
31
- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
32
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
33
- SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
34
- CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
35
- OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
36
- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37
-
7
+ License: BSD-3-Clause
38
8
  Project-URL: Homepage, https://inpanel.org
39
9
  Project-URL: Repository, https://github.com/inpanel/inpanel
40
10
  Project-URL: Documentation, https://inpanel.org
@@ -44,7 +14,6 @@ Classifier: Development Status :: 5 - Production/Stable
44
14
  Classifier: Environment :: Web Environment
45
15
  Classifier: Framework :: AsyncIO
46
16
  Classifier: Intended Audience :: System Administrators
47
- Classifier: License :: OSI Approved :: BSD License
48
17
  Classifier: Operating System :: POSIX :: Linux
49
18
  Classifier: Programming Language :: Python :: 3
50
19
  Classifier: Programming Language :: Python :: 3.6
@@ -370,18 +339,65 @@ inpanel run
370
339
 
371
340
  ### 构建安装包
372
341
 
342
+ 使用项目提供的构建脚本构建各类安装包:
343
+
344
+ ```bash
345
+ # 进入项目目录
346
+ cd inpanel
347
+
348
+ # 构建 pip 包(wheel + sdist)
349
+ bash scripts/build_pip.sh
350
+
351
+ # 构建并上传 pip 包到 PyPI
352
+ bash scripts/build_pip.sh upload
353
+
354
+ # 一键构建 RPM 和 DEB 包
355
+ bash scripts/build_package.sh
356
+
357
+ # 或单独构建
358
+ bash scripts/build_rpm.sh # 仅构建 RPM
359
+ bash scripts/build_deb.sh # 仅构建 DEB
360
+ ```
361
+
362
+ #### 构建依赖
363
+
364
+ 构建脚本依赖以下工具,请根据系统安装:
365
+
366
+ | 依赖 | 用途 | 安装命令 |
367
+ |------|------|----------|
368
+ | `python3` | Python 运行环境 | 系统通常已自带 |
369
+ | `python3-build` | 构建 Python 包(wheel/sdist) | `pip install build` |
370
+ | `twine` | 上传 pip 包到 PyPI | `pip install twine` |
371
+ | `rpmbuild` | RPM 包构建(CentOS/RHEL) | `yum install rpm-build` |
372
+ | `dpkg-buildpackage` | DEB 包构建(Debian/Ubuntu) | `apt-get install dpkg-dev` |
373
+ | `debhelper` | DEB 包构建辅助工具 | `apt-get install debhelper` |
374
+ | `python3-all` | DEB 包 Python 兼容性 | `apt-get install python3-all` |
375
+ | `python3-setuptools` | DEB 包 setuptools 支持 | `apt-get install python3-setuptools` |
376
+
377
+ #### 完整依赖安装示例
378
+
379
+ **所有平台**(构建 pip 包 / 上传 PyPI):
380
+
373
381
  ```bash
374
- # 构建 pip
382
+ pip install build twine
383
+ ```
384
+
385
+ **Debian / Ubuntu**(构建 DEB 包):
386
+
387
+ ```bash
388
+ sudo apt-get install -y debhelper python3-all python3-setuptools dpkg-dev
375
389
  pip install build
376
- python -m build
390
+ ```
377
391
 
378
- # 构建 RPM 包(需要 rpmbuild)
379
- rpmbuild -bb rpmbuild.spec
392
+ **CentOS / RHEL**(构建 RPM 包):
380
393
 
381
- # 构建 DEB 包(需要 debuild)
382
- debuild -us -uc
394
+ ```bash
395
+ sudo yum install -y rpm-build
396
+ pip install build
383
397
  ```
384
398
 
399
+ 构建产物默认输出到项目目录下的 `packages/` 目录。
400
+
385
401
  ## 账号和密码
386
402
 
387
403
  默认用户名:`admin`
@@ -302,18 +302,65 @@ inpanel run
302
302
 
303
303
  ### 构建安装包
304
304
 
305
+ 使用项目提供的构建脚本构建各类安装包:
306
+
307
+ ```bash
308
+ # 进入项目目录
309
+ cd inpanel
310
+
311
+ # 构建 pip 包(wheel + sdist)
312
+ bash scripts/build_pip.sh
313
+
314
+ # 构建并上传 pip 包到 PyPI
315
+ bash scripts/build_pip.sh upload
316
+
317
+ # 一键构建 RPM 和 DEB 包
318
+ bash scripts/build_package.sh
319
+
320
+ # 或单独构建
321
+ bash scripts/build_rpm.sh # 仅构建 RPM
322
+ bash scripts/build_deb.sh # 仅构建 DEB
323
+ ```
324
+
325
+ #### 构建依赖
326
+
327
+ 构建脚本依赖以下工具,请根据系统安装:
328
+
329
+ | 依赖 | 用途 | 安装命令 |
330
+ |------|------|----------|
331
+ | `python3` | Python 运行环境 | 系统通常已自带 |
332
+ | `python3-build` | 构建 Python 包(wheel/sdist) | `pip install build` |
333
+ | `twine` | 上传 pip 包到 PyPI | `pip install twine` |
334
+ | `rpmbuild` | RPM 包构建(CentOS/RHEL) | `yum install rpm-build` |
335
+ | `dpkg-buildpackage` | DEB 包构建(Debian/Ubuntu) | `apt-get install dpkg-dev` |
336
+ | `debhelper` | DEB 包构建辅助工具 | `apt-get install debhelper` |
337
+ | `python3-all` | DEB 包 Python 兼容性 | `apt-get install python3-all` |
338
+ | `python3-setuptools` | DEB 包 setuptools 支持 | `apt-get install python3-setuptools` |
339
+
340
+ #### 完整依赖安装示例
341
+
342
+ **所有平台**(构建 pip 包 / 上传 PyPI):
343
+
305
344
  ```bash
306
- # 构建 pip
345
+ pip install build twine
346
+ ```
347
+
348
+ **Debian / Ubuntu**(构建 DEB 包):
349
+
350
+ ```bash
351
+ sudo apt-get install -y debhelper python3-all python3-setuptools dpkg-dev
307
352
  pip install build
308
- python -m build
353
+ ```
309
354
 
310
- # 构建 RPM 包(需要 rpmbuild)
311
- rpmbuild -bb rpmbuild.spec
355
+ **CentOS / RHEL**(构建 RPM 包):
312
356
 
313
- # 构建 DEB 包(需要 debuild)
314
- debuild -us -uc
357
+ ```bash
358
+ sudo yum install -y rpm-build
359
+ pip install build
315
360
  ```
316
361
 
362
+ 构建产物默认输出到项目目录下的 `packages/` 目录。
363
+
317
364
  ## 账号和密码
318
365
 
319
366
  默认用户名:`admin`
@@ -40,7 +40,7 @@ __author__ = 'Jackson Dou'
40
40
  __license__ = 'BSD'
41
41
 
42
42
  app_name = 'InPanel'
43
- releasetime = '2026-07-26'
43
+ releasetime = '2026-07-28'
44
44
  DEBUG = False
45
45
  COMMENTFLAG = '#INPANEL#'
46
46
  GENBY = 'AUTOMATICALLY GENERATED BY INPANEL'
@@ -846,6 +846,7 @@ class ServerInfo(object):
846
846
  line = lvs.readline()
847
847
  if not line:
848
848
  break
849
+ line = line.decode('utf-8', errors='replace')
849
850
  if 'LV Name' in line or 'LV Path' in line:
850
851
  devlink = line.replace('LV Name',
851
852
  '').replace('LV Path', '').strip()
@@ -292,19 +292,20 @@ def get_service_list():
292
292
 
293
293
  # 构建 categories 数组(按 order 排序)
294
294
  categories_result = []
295
- for cat in sorted(categories_config, key=lambda x: x.get('order', 99)):
296
- cat_id = cat['id']
297
- if cat_id == 'other':
298
- continue # "其他" 单独处理
299
- if cat_id not in categorized:
300
- continue
301
- categories_result.append({
302
- 'id': cat_id,
303
- 'name': cat['name'],
304
- 'icon': cat.get('icon', ''),
305
- 'order': cat.get('order', 99),
306
- 'services': categorized[cat_id],
307
- })
295
+ if categories_config:
296
+ for cat in sorted(categories_config, key=lambda x: x.get('order', 99)):
297
+ cat_id = cat['id']
298
+ if cat_id == 'other':
299
+ continue # "其他" 单独处理
300
+ if cat_id not in categorized:
301
+ continue
302
+ categories_result.append({
303
+ 'id': cat_id,
304
+ 'name': cat['name'],
305
+ 'icon': cat.get('icon', ''),
306
+ 'order': cat.get('order', 99),
307
+ 'services': categorized[cat_id],
308
+ })
308
309
 
309
310
  # 获取"其他"服务
310
311
  other_services = manager.get_other_services()
@@ -1,9 +1,13 @@
1
+ [build-system]
2
+ requires = ["setuptools>=75", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
1
5
  [project]
2
6
  name = "InPanel"
3
- version = "1.2.7"
7
+ version = "1.2.8.3"
4
8
  description = "InPanel - A Server Management Tool"
5
9
  readme = "README.md"
6
- license = {file = "LICENSE"}
10
+ license = {text = "BSD-3-Clause"}
7
11
  authors = [{name = "Jackson Dou", email = "jksdou@qq.com"}]
8
12
  maintainers = [{name = "Jackson Dou", email = "jksdou@qq.com"}]
9
13
  keywords = ["server", "management", "admin", "panel", "linux"]
@@ -12,7 +16,6 @@ classifiers = [
12
16
  "Environment :: Web Environment",
13
17
  "Framework :: AsyncIO",
14
18
  "Intended Audience :: System Administrators",
15
- "License :: OSI Approved :: BSD License",
16
19
  "Operating System :: POSIX :: Linux",
17
20
  "Programming Language :: Python :: 3",
18
21
  "Programming Language :: Python :: 3.6",
@@ -51,8 +54,6 @@ exclude = ["test*", "tests*"]
51
54
  [tool.setuptools.package-data]
52
55
  inpanel = [
53
56
  "public/**/*",
54
- "templates/**/*",
55
- "plugins/**/*",
56
- "data/**/*",
57
+ "templates/services/*.json",
58
+ "templates/sources/*.json",
57
59
  ]
58
-
inpanel-1.2.7/MANIFEST.in DELETED
@@ -1,2 +0,0 @@
1
- exclude test/*
2
- exclude tests/*
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes