InPanel 1.2.1__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 (205) hide show
  1. inpanel-1.2.1/InPanel.egg-info/PKG-INFO +399 -0
  2. inpanel-1.2.1/InPanel.egg-info/SOURCES.txt +209 -0
  3. inpanel-1.2.1/InPanel.egg-info/dependency_links.txt +1 -0
  4. inpanel-1.2.1/InPanel.egg-info/entry_points.txt +2 -0
  5. inpanel-1.2.1/InPanel.egg-info/requires.txt +4 -0
  6. inpanel-1.2.1/InPanel.egg-info/top_level.txt +1 -0
  7. inpanel-1.2.1/LICENSE +30 -0
  8. inpanel-1.2.1/PKG-INFO +399 -0
  9. inpanel-1.2.1/README.md +331 -0
  10. inpanel-1.2.1/inpanel/__init__.py +29 -0
  11. inpanel-1.2.1/inpanel/acme.py +289 -0
  12. inpanel-1.2.1/inpanel/aliyuncs.py +269 -0
  13. inpanel-1.2.1/inpanel/app.py +514 -0
  14. inpanel-1.2.1/inpanel/apt.py +223 -0
  15. inpanel-1.2.1/inpanel/base.py +200 -0
  16. inpanel-1.2.1/inpanel/config.py +139 -0
  17. inpanel-1.2.1/inpanel/data/config.ini +29 -0
  18. inpanel-1.2.1/inpanel/data/history +5 -0
  19. inpanel-1.2.1/inpanel/data/runlogs.ini +12 -0
  20. inpanel-1.2.1/inpanel/data/update_info.ini +4 -0
  21. inpanel-1.2.1/inpanel/dnf.py +225 -0
  22. inpanel-1.2.1/inpanel/lib/__init__.py +9 -0
  23. inpanel-1.2.1/inpanel/lib/async_process.py +98 -0
  24. inpanel-1.2.1/inpanel/lib/filelock.py +82 -0
  25. inpanel-1.2.1/inpanel/lib/magic.py +233 -0
  26. inpanel-1.2.1/inpanel/lib/pxssh.py +310 -0
  27. inpanel-1.2.1/inpanel/lib/pyDes.py +867 -0
  28. inpanel-1.2.1/inpanel/mod/__init__.py +0 -0
  29. inpanel-1.2.1/inpanel/mod/apt.py +316 -0
  30. inpanel-1.2.1/inpanel/mod/certificate.py +268 -0
  31. inpanel-1.2.1/inpanel/mod/config.py +372 -0
  32. inpanel-1.2.1/inpanel/mod/cron.py +315 -0
  33. inpanel-1.2.1/inpanel/mod/disk.py +322 -0
  34. inpanel-1.2.1/inpanel/mod/dnf.py +239 -0
  35. inpanel-1.2.1/inpanel/mod/file.py +722 -0
  36. inpanel-1.2.1/inpanel/mod/firewall.py +199 -0
  37. inpanel-1.2.1/inpanel/mod/firewall_base.py +137 -0
  38. inpanel-1.2.1/inpanel/mod/firewall_firewalld.py +170 -0
  39. inpanel-1.2.1/inpanel/mod/firewall_iptables.py +176 -0
  40. inpanel-1.2.1/inpanel/mod/firewall_macos.py +213 -0
  41. inpanel-1.2.1/inpanel/mod/firewall_ufw.py +128 -0
  42. inpanel-1.2.1/inpanel/mod/ftp.py +231 -0
  43. inpanel-1.2.1/inpanel/mod/httpd.py +1205 -0
  44. inpanel-1.2.1/inpanel/mod/lighttpd.py +26 -0
  45. inpanel-1.2.1/inpanel/mod/login.py +98 -0
  46. inpanel-1.2.1/inpanel/mod/mysql.py +577 -0
  47. inpanel-1.2.1/inpanel/mod/named.py +26 -0
  48. inpanel-1.2.1/inpanel/mod/nginx.py +2327 -0
  49. inpanel-1.2.1/inpanel/mod/package.py +33 -0
  50. inpanel-1.2.1/inpanel/mod/package_apt.py +62 -0
  51. inpanel-1.2.1/inpanel/mod/package_base.py +77 -0
  52. inpanel-1.2.1/inpanel/mod/package_dnf.py +62 -0
  53. inpanel-1.2.1/inpanel/mod/package_map.py +366 -0
  54. inpanel-1.2.1/inpanel/mod/package_yum.py +64 -0
  55. inpanel-1.2.1/inpanel/mod/php.py +289 -0
  56. inpanel-1.2.1/inpanel/mod/process.py +291 -0
  57. inpanel-1.2.1/inpanel/mod/proftpd.py +26 -0
  58. inpanel-1.2.1/inpanel/mod/pureftpd.py +26 -0
  59. inpanel-1.2.1/inpanel/mod/query.py +108 -0
  60. inpanel-1.2.1/inpanel/mod/server.py +1319 -0
  61. inpanel-1.2.1/inpanel/mod/service.py +262 -0
  62. inpanel-1.2.1/inpanel/mod/setting.py +228 -0
  63. inpanel-1.2.1/inpanel/mod/shell.py +78 -0
  64. inpanel-1.2.1/inpanel/mod/ssh.py +280 -0
  65. inpanel-1.2.1/inpanel/mod/system.py +220 -0
  66. inpanel-1.2.1/inpanel/mod/task.py +1337 -0
  67. inpanel-1.2.1/inpanel/mod/ufw.py +14 -0
  68. inpanel-1.2.1/inpanel/mod/user.py +306 -0
  69. inpanel-1.2.1/inpanel/mod/vsftpd.py +67 -0
  70. inpanel-1.2.1/inpanel/mod/yum.py +243 -0
  71. inpanel-1.2.1/inpanel/plugins/__init__.py +10 -0
  72. inpanel-1.2.1/inpanel/plugins/__pycache__/__init__.cpython-313.pyc +0 -0
  73. inpanel-1.2.1/inpanel/plugins/acme/static/index.html +10 -0
  74. inpanel-1.2.1/inpanel/plugins/acme/static/index.js +13 -0
  75. inpanel-1.2.1/inpanel/plugins/shadowsocks-libev/__pycache__/info.cpython-313.pyc +0 -0
  76. inpanel-1.2.1/inpanel/plugins/shadowsocks-libev/info.py +73 -0
  77. inpanel-1.2.1/inpanel/plugins/shadowsocks-libev/static/index.html +70 -0
  78. inpanel-1.2.1/inpanel/plugins/shadowsocks-libev/static/index.js +18 -0
  79. inpanel-1.2.1/inpanel/public/css/global.css +138 -0
  80. inpanel-1.2.1/inpanel/public/favicon.ico +0 -0
  81. inpanel-1.2.1/inpanel/public/images/alipay.jpg +0 -0
  82. inpanel-1.2.1/inpanel/public/images/loading.gif +0 -0
  83. inpanel-1.2.1/inpanel/public/images/weixin.jpg +0 -0
  84. inpanel-1.2.1/inpanel/public/index.html +94 -0
  85. inpanel-1.2.1/inpanel/public/js/controllers/controllers.js +566 -0
  86. inpanel-1.2.1/inpanel/public/js/controllers/database.js +590 -0
  87. inpanel-1.2.1/inpanel/public/js/controllers/ecs.js +624 -0
  88. inpanel-1.2.1/inpanel/public/js/controllers/file.js +940 -0
  89. inpanel-1.2.1/inpanel/public/js/controllers/plugins.js +105 -0
  90. inpanel-1.2.1/inpanel/public/js/controllers/service.js +1460 -0
  91. inpanel-1.2.1/inpanel/public/js/controllers/site.js +1241 -0
  92. inpanel-1.2.1/inpanel/public/js/controllers/utils.js +2319 -0
  93. inpanel-1.2.1/inpanel/public/js/core.js +221 -0
  94. inpanel-1.2.1/inpanel/public/js/directives.js +784 -0
  95. inpanel-1.2.1/inpanel/public/js/filters.js +395 -0
  96. inpanel-1.2.1/inpanel/public/js/services.js +257 -0
  97. inpanel-1.2.1/inpanel/public/lib/angular/1.0.2/angular-resource.min.js +10 -0
  98. inpanel-1.2.1/inpanel/public/lib/angular/1.0.2/angular.min.js +158 -0
  99. inpanel-1.2.1/inpanel/public/lib/bootstrap/css/bootstrap-theme.css +587 -0
  100. inpanel-1.2.1/inpanel/public/lib/bootstrap/css/bootstrap-theme.css.map +1 -0
  101. inpanel-1.2.1/inpanel/public/lib/bootstrap/css/bootstrap-theme.min.css +6 -0
  102. inpanel-1.2.1/inpanel/public/lib/bootstrap/css/bootstrap-theme.min.css.map +1 -0
  103. inpanel-1.2.1/inpanel/public/lib/bootstrap/css/bootstrap.css +6757 -0
  104. inpanel-1.2.1/inpanel/public/lib/bootstrap/css/bootstrap.css.map +1 -0
  105. inpanel-1.2.1/inpanel/public/lib/bootstrap/css/bootstrap.min.css +6 -0
  106. inpanel-1.2.1/inpanel/public/lib/bootstrap/css/bootstrap.min.css.map +1 -0
  107. inpanel-1.2.1/inpanel/public/lib/bootstrap/fonts/glyphicons-halflings-regular.eot +0 -0
  108. inpanel-1.2.1/inpanel/public/lib/bootstrap/fonts/glyphicons-halflings-regular.svg +288 -0
  109. inpanel-1.2.1/inpanel/public/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf +0 -0
  110. inpanel-1.2.1/inpanel/public/lib/bootstrap/fonts/glyphicons-halflings-regular.woff +0 -0
  111. inpanel-1.2.1/inpanel/public/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2 +0 -0
  112. inpanel-1.2.1/inpanel/public/lib/bootstrap/img/glyphicons-halflings-white.png +0 -0
  113. inpanel-1.2.1/inpanel/public/lib/bootstrap/img/glyphicons-halflings.png +0 -0
  114. inpanel-1.2.1/inpanel/public/lib/bootstrap/js/bootstrap.js +2377 -0
  115. inpanel-1.2.1/inpanel/public/lib/bootstrap/js/bootstrap.min.js +7 -0
  116. inpanel-1.2.1/inpanel/public/lib/bootstrap/js/npm.js +13 -0
  117. inpanel-1.2.1/inpanel/public/lib/codemirror/codemirror-compressed.js +1 -0
  118. inpanel-1.2.1/inpanel/public/lib/codemirror/codemirror.css +173 -0
  119. inpanel-1.2.1/inpanel/public/lib/jquery/jquery-1.12.4.min.js +5 -0
  120. inpanel-1.2.1/inpanel/public/lib/md5/md5.js +379 -0
  121. inpanel-1.2.1/inpanel/public/lib/md5/md5.min.js +1 -0
  122. inpanel-1.2.1/inpanel/public/partials/database/index.html +172 -0
  123. inpanel-1.2.1/inpanel/public/partials/database/mysql/dbedit.html +462 -0
  124. inpanel-1.2.1/inpanel/public/partials/database/mysql/dbnew.html +348 -0
  125. inpanel-1.2.1/inpanel/public/partials/database/mysql/useredit.html +310 -0
  126. inpanel-1.2.1/inpanel/public/partials/database/mysql/usernew.html +97 -0
  127. inpanel-1.2.1/inpanel/public/partials/directives/message.html +20 -0
  128. inpanel-1.2.1/inpanel/public/partials/directives/navbar.html +25 -0
  129. inpanel-1.2.1/inpanel/public/partials/directives/selector.html +57 -0
  130. inpanel-1.2.1/inpanel/public/partials/directives/srvbase.html +72 -0
  131. inpanel-1.2.1/inpanel/public/partials/directives/srvext.html +34 -0
  132. inpanel-1.2.1/inpanel/public/partials/directives/srvfile.html +23 -0
  133. inpanel-1.2.1/inpanel/public/partials/directives/srvinstall.html +34 -0
  134. inpanel-1.2.1/inpanel/public/partials/directives/srvlog.html +23 -0
  135. inpanel-1.2.1/inpanel/public/partials/directives/srvminiop.html +28 -0
  136. inpanel-1.2.1/inpanel/public/partials/directives/srvuninstall.html +38 -0
  137. inpanel-1.2.1/inpanel/public/partials/directives/srvupdate.html +30 -0
  138. inpanel-1.2.1/inpanel/public/partials/ecs/account.html +156 -0
  139. inpanel-1.2.1/inpanel/public/partials/ecs/ecs.html +198 -0
  140. inpanel-1.2.1/inpanel/public/partials/ecs/index.html +40 -0
  141. inpanel-1.2.1/inpanel/public/partials/ecs/setings.html +459 -0
  142. inpanel-1.2.1/inpanel/public/partials/file/file.html +501 -0
  143. inpanel-1.2.1/inpanel/public/partials/file/trash.html +95 -0
  144. inpanel-1.2.1/inpanel/public/partials/ftp.html +36 -0
  145. inpanel-1.2.1/inpanel/public/partials/log.html +83 -0
  146. inpanel-1.2.1/inpanel/public/partials/login.html +79 -0
  147. inpanel-1.2.1/inpanel/public/partials/logout.html +22 -0
  148. inpanel-1.2.1/inpanel/public/partials/main.html +534 -0
  149. inpanel-1.2.1/inpanel/public/partials/plugins/index.html +55 -0
  150. inpanel-1.2.1/inpanel/public/partials/plugins/plugins.html +13 -0
  151. inpanel-1.2.1/inpanel/public/partials/secure.html +13 -0
  152. inpanel-1.2.1/inpanel/public/partials/service/apache.html +147 -0
  153. inpanel-1.2.1/inpanel/public/partials/service/cron.html +71 -0
  154. inpanel-1.2.1/inpanel/public/partials/service/index.html +293 -0
  155. inpanel-1.2.1/inpanel/public/partials/service/iptables.html +40 -0
  156. inpanel-1.2.1/inpanel/public/partials/service/lighttpd.html +63 -0
  157. inpanel-1.2.1/inpanel/public/partials/service/mariadb.html +113 -0
  158. inpanel-1.2.1/inpanel/public/partials/service/memcache.html +36 -0
  159. inpanel-1.2.1/inpanel/public/partials/service/minio.html +44 -0
  160. inpanel-1.2.1/inpanel/public/partials/service/mongodb.html +44 -0
  161. inpanel-1.2.1/inpanel/public/partials/service/mysql.html +113 -0
  162. inpanel-1.2.1/inpanel/public/partials/service/named.html +61 -0
  163. inpanel-1.2.1/inpanel/public/partials/service/nginx.html +296 -0
  164. inpanel-1.2.1/inpanel/public/partials/service/ntp.html +40 -0
  165. inpanel-1.2.1/inpanel/public/partials/service/php.html +250 -0
  166. inpanel-1.2.1/inpanel/public/partials/service/proftpd.html +59 -0
  167. inpanel-1.2.1/inpanel/public/partials/service/pureftpd.html +59 -0
  168. inpanel-1.2.1/inpanel/public/partials/service/redis.html +40 -0
  169. inpanel-1.2.1/inpanel/public/partials/service/samba.html +58 -0
  170. inpanel-1.2.1/inpanel/public/partials/service/sendmail.html +40 -0
  171. inpanel-1.2.1/inpanel/public/partials/service/ssh.html +186 -0
  172. inpanel-1.2.1/inpanel/public/partials/service/tomcat.html +65 -0
  173. inpanel-1.2.1/inpanel/public/partials/service/vsftpd.html +195 -0
  174. inpanel-1.2.1/inpanel/public/partials/setting.html +299 -0
  175. inpanel-1.2.1/inpanel/public/partials/site/apache/site.html +277 -0
  176. inpanel-1.2.1/inpanel/public/partials/site/index.html +344 -0
  177. inpanel-1.2.1/inpanel/public/partials/site/nginx/site.html +558 -0
  178. inpanel-1.2.1/inpanel/public/partials/sorry.html +19 -0
  179. inpanel-1.2.1/inpanel/public/partials/storage/autofm.html +103 -0
  180. inpanel-1.2.1/inpanel/public/partials/storage/backup.html +42 -0
  181. inpanel-1.2.1/inpanel/public/partials/storage/index.html +360 -0
  182. inpanel-1.2.1/inpanel/public/partials/storage/migrate.html +93 -0
  183. inpanel-1.2.1/inpanel/public/partials/storage/movedata.html +98 -0
  184. inpanel-1.2.1/inpanel/public/partials/storage/remote.html +77 -0
  185. inpanel-1.2.1/inpanel/public/partials/utils/cron.html +486 -0
  186. inpanel-1.2.1/inpanel/public/partials/utils/firewall.html +266 -0
  187. inpanel-1.2.1/inpanel/public/partials/utils/index.html +193 -0
  188. inpanel-1.2.1/inpanel/public/partials/utils/network.html +118 -0
  189. inpanel-1.2.1/inpanel/public/partials/utils/process.html +239 -0
  190. inpanel-1.2.1/inpanel/public/partials/utils/repository.html +373 -0
  191. inpanel-1.2.1/inpanel/public/partials/utils/shell.html +28 -0
  192. inpanel-1.2.1/inpanel/public/partials/utils/ssl.html +319 -0
  193. inpanel-1.2.1/inpanel/public/partials/utils/time.html +109 -0
  194. inpanel-1.2.1/inpanel/public/partials/utils/user.html +359 -0
  195. inpanel-1.2.1/inpanel/public/robots.txt +2 -0
  196. inpanel-1.2.1/inpanel/remote.py +109 -0
  197. inpanel-1.2.1/inpanel/templates/file/preview.html +34 -0
  198. inpanel-1.2.1/inpanel/templates/index.html +93 -0
  199. inpanel-1.2.1/inpanel/utils.py +282 -0
  200. inpanel-1.2.1/inpanel/web.py +1811 -0
  201. inpanel-1.2.1/inpanel/yum.py +756 -0
  202. inpanel-1.2.1/pyproject.toml +57 -0
  203. inpanel-1.2.1/setup.cfg +4 -0
  204. inpanel-1.2.1/test/test copy.py +84 -0
  205. inpanel-1.2.1/test/test.py +84 -0
@@ -0,0 +1,399 @@
1
+ Metadata-Version: 2.4
2
+ Name: InPanel
3
+ Version: 1.2.1
4
+ Summary: InPanel - A Web-based Linux Server Management Tool
5
+ Author-email: Jackson Dou <jksdou@qq.com>
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
+
38
+ Project-URL: Homepage, https://inpanel.org/
39
+ Project-URL: Repository, https://github.com/inpanel/inpanel
40
+ Project-URL: Documentation, https://inpanel.org/
41
+ Project-URL: Issues, https://github.com/inpanel/inpanel/issues
42
+ Keywords: server,management,admin,panel,linux
43
+ Classifier: Development Status :: 5 - Production/Stable
44
+ Classifier: Environment :: Web Environment
45
+ Classifier: Framework :: AsyncIO
46
+ Classifier: Intended Audience :: System Administrators
47
+ Classifier: License :: OSI Approved :: BSD License
48
+ Classifier: Operating System :: POSIX :: Linux
49
+ Classifier: Programming Language :: Python :: 3
50
+ Classifier: Programming Language :: Python :: 3.6
51
+ Classifier: Programming Language :: Python :: 3.7
52
+ Classifier: Programming Language :: Python :: 3.8
53
+ Classifier: Programming Language :: Python :: 3.9
54
+ Classifier: Programming Language :: Python :: 3.10
55
+ Classifier: Programming Language :: Python :: 3.11
56
+ Classifier: Programming Language :: Python :: 3.12
57
+ Classifier: Programming Language :: Python :: 3.13
58
+ Classifier: Programming Language :: Python :: 3.14
59
+ Classifier: Topic :: System :: Systems Administration
60
+ Requires-Python: >=3.6
61
+ Description-Content-Type: text/markdown
62
+ License-File: LICENSE
63
+ Requires-Dist: tornado>=6.0
64
+ Requires-Dist: psutil>=5.6
65
+ Requires-Dist: pexpect>=4.6
66
+ Requires-Dist: cryptography>=2.8
67
+ Dynamic: license-file
68
+
69
+ # InPanel
70
+
71
+ 简体中文 | [English](README_EN.md)
72
+
73
+ > InPanel 是一款轻量级、非入侵式的 Linux 系统级运维管理面板,致力于通过 Web 界面实现高效、安全的服务器运维管理。
74
+ >
75
+ > 后端采用 Python 语言编写,基于 Tornado 异步框架,采用 [BSD 3-Clause](https://github.com/inpanel/inpanel/blob/main/LICENSE) 开源许可证。项目于 2017 年 1 月 11 日启动,持续维护至今。
76
+
77
+ 官方中文站:[inpanel.cn](http://inpanel.cn 'InPanel')
78
+
79
+ PyPI:[inpanel](https://pypi.org/project/inpanel/ 'PyPI')
80
+
81
+ 项目维护者:[Jackson Dou](https://github.com/jksdou 'Jackson Dou')
82
+
83
+ ## 功能特性
84
+
85
+ ### 核心优势
86
+
87
+ - **系统级运维**:直接操作系统原生配置文件(`/etc/passwd`、Nginx vhost、防火墙规则等),不依赖中间层
88
+ - **极低入侵度**:纯 UI 层面管理,不修改系统核心架构,卸载后系统无残留、无依赖
89
+ - **轻量高效**:内存占用仅 30-40MB,资源消耗极低,适合 VPS/轻量服务器环境
90
+ - **全功能免费**:开源 BSD 许可证,所有功能无限制使用,无付费墙
91
+
92
+ ### 系统管理
93
+
94
+ - 用户与权限管理(系统用户、SSH 密钥、sudo 权限)
95
+ - 进程管理与监控(进程查看、终止、资源统计)
96
+ - 服务管理(systemd/init.d 服务启停、自启配置)
97
+ - 防火墙管理(iptables/firewalld 规则配置)
98
+
99
+ ### 网站运维
100
+
101
+ - Nginx 虚拟主机管理(配置、SSL、重定向)
102
+ - Apache HTTP Server 管理(虚拟主机、模块配置)
103
+ - PHP 环境管理(版本切换、配置调整)
104
+ - MySQL/MariaDB 管理(数据库、用户、权限)
105
+ - FTP 服务管理(vsftpd 配置、用户管理)
106
+
107
+ ### 文件管理
108
+
109
+ - 强大的在线文件管理器(上传、下载、编辑、压缩)
110
+ - 回收站机制(误删文件可恢复)
111
+ - 文件权限管理(chmod、chown)
112
+ - 远程文件管理(SSH 连接其他服务器)
113
+
114
+ ### 系统工具
115
+
116
+ - 系统资源监控(CPU、内存、磁盘、网络)
117
+ - 软件包管理(YUM/DNF/APT 包管理)
118
+ - 计划任务(Crontab 管理)
119
+ - 系统更新(自动更新检测与安装)
120
+ - SSL 证书管理(Let's Encrypt 自动签发)
121
+
122
+ ### 兼容性
123
+
124
+ - CentOS/RHEL 7+、Debian 10+、Ubuntu 18.04+
125
+ - Python 3.6+(兼容至 Python 3.14)
126
+
127
+ ## 版本兼容
128
+
129
+ | Python 版本 | 状态 |
130
+ |-------------|------|
131
+ | Python 3.6 | ✅ 兼容 |
132
+ | Python 3.7+ | ✅ 兼容 |
133
+ | Python 3.12-3.14 | ✅ 兼容(需 tornado>=6.5)|
134
+ | Python 3.5 及以下 | ❌ 不支持 |
135
+
136
+ ## 安装
137
+
138
+ ### 方法一:通过 pip 安装
139
+
140
+ ```bash
141
+ pip install inpanel
142
+ ```
143
+
144
+ ### 方法二:通过包管理器安装
145
+
146
+ #### CentOS / RHEL
147
+
148
+ ```bash
149
+ # CentOS 8+ / RHEL 8+
150
+ dnf install inpanel
151
+
152
+ # CentOS 7 / RHEL 7
153
+ yum install inpanel
154
+ ```
155
+
156
+ #### Debian / Ubuntu
157
+
158
+ ```bash
159
+ apt-get update
160
+ apt-get install inpanel
161
+ ```
162
+
163
+ ### 方法三:源码安装
164
+
165
+ ```bash
166
+ # 克隆源码
167
+ git clone https://github.com/inpanel/inpanel.git
168
+ cd inpanel
169
+
170
+ # 开发模式安装(修改代码立即生效)
171
+ pip install -e .
172
+
173
+ # 生产模式安装
174
+ pip install .
175
+ ```
176
+
177
+ ## 服务管理
178
+
179
+ ```bash
180
+ # 启动服务(后台运行)
181
+ inpanel start
182
+
183
+ # 停止服务
184
+ inpanel stop
185
+
186
+ # 查看服务状态
187
+ inpanel status
188
+
189
+ # 重启服务
190
+ inpanel restart
191
+
192
+ # 重新加载配置(重启服务)
193
+ inpanel reload
194
+
195
+ # 前台运行(用于调试或 systemd)
196
+ inpanel run
197
+ ```
198
+
199
+ ## 配置
200
+
201
+ ### 查看所有配置项
202
+
203
+ ```bash
204
+ inpanel config list
205
+ ```
206
+
207
+ ### 修改用户名和密码
208
+
209
+ ```bash
210
+ inpanel config set auth username 'your-username'
211
+ inpanel config set auth password 'your-password'
212
+ ```
213
+
214
+ ### 修改单个配置项
215
+
216
+ ```bash
217
+ inpanel config set <section> <option> <value>
218
+
219
+ # 示例:修改端口
220
+ inpanel config set server port 14433
221
+
222
+ # 示例:启用 HTTPS
223
+ inpanel config set server forcehttps on
224
+ ```
225
+
226
+ ### 查看配置项
227
+
228
+ ```bash
229
+ inpanel config get <section> <option>
230
+
231
+ # 示例:查看端口
232
+ inpanel config get server port
233
+ ```
234
+
235
+ ### 重置配置
236
+
237
+ ```bash
238
+ # 重置为默认配置
239
+ inpanel config reset
240
+
241
+ # 初始化配置文件(首次安装)
242
+ inpanel config init
243
+ ```
244
+
245
+ ## 卸载
246
+
247
+ ### 方法一:使用官方命令卸载(推荐)
248
+
249
+ ```bash
250
+ # 默认卸载(保留配置文件和日志)
251
+ inpanel uninstall
252
+
253
+ # 完全卸载(删除配置文件和日志)
254
+ inpanel uninstall --purge
255
+
256
+ # 仅删除配置文件
257
+ inpanel uninstall --purge-config
258
+
259
+ # 仅删除日志文件
260
+ inpanel uninstall --purge-logs
261
+ ```
262
+
263
+ ### 方法二:使用包管理器卸载
264
+
265
+ #### 通过 pip 安装的情况
266
+
267
+ ```bash
268
+ # 停止服务
269
+ inpanel stop
270
+
271
+ # 卸载包
272
+ pip uninstall inpanel
273
+ ```
274
+
275
+ #### 通过 RPM 包安装的情况(CentOS/RHEL)
276
+
277
+ ```bash
278
+ # 保留配置文件卸载
279
+ yum remove inpanel
280
+
281
+ # 完全卸载(删除配置文件)
282
+ yum erase inpanel
283
+ ```
284
+
285
+ #### 通过 DEB 包安装的情况(Debian/Ubuntu)
286
+
287
+ ```bash
288
+ # 保留配置文件卸载
289
+ apt-get remove inpanel
290
+
291
+ # 完全卸载(删除配置文件)
292
+ apt-get purge inpanel
293
+ ```
294
+
295
+ ### 方法三:手动卸载(备用)
296
+
297
+ ```bash
298
+ # 停止服务
299
+ inpanel stop
300
+
301
+ # 卸载 Python 包
302
+ pip uninstall inpanel
303
+
304
+ # 删除配置文件
305
+ rm -rf /etc/inpanel
306
+
307
+ # 删除日志文件
308
+ rm -rf /var/log/inpanel
309
+
310
+ # 删除 systemd 服务
311
+ rm -f /usr/lib/systemd/system/inpanel.service
312
+ rm -f /etc/systemd/system/inpanel.service
313
+ systemctl daemon-reload
314
+
315
+ # 删除 init.d 脚本
316
+ rm -f /etc/init.d/inpanel
317
+ ```
318
+
319
+ ### 卸载注意事项
320
+
321
+ InPanel 采用**非入侵式架构设计**,所有操作均基于系统原生配置文件,卸载后具有以下特性:
322
+
323
+ | 特性 | 说明 |
324
+ |------|------|
325
+ | **无残留依赖** | 卸载仅移除 InPanel 自身组件,不影响系统原有依赖包 |
326
+ | **配置文件保留** | 默认卸载保留配置文件(`/etc/inpanel/`),便于后续重新安装恢复配置 |
327
+ | **系统服务不受影响** | 通过 InPanel 配置的 Nginx、MySQL、PHP 等服务继续正常运行 |
328
+ | **用户数据安全** | 网站文件、数据库等用户数据不受卸载影响 |
329
+ | **进程干净退出** | 卸载前自动停止 InPanel 服务并清理 PID 文件 |
330
+
331
+ **卸载后系统状态**:
332
+ - `/etc/passwd`、`/etc/group` 等系统用户配置保持不变
333
+ - Nginx vhost 配置、防火墙规则等保持不变
334
+ - 已安装的软件包(Nginx、MySQL、PHP 等)保持不变
335
+ - 仅移除 InPanel 服务进程、配置目录和日志文件
336
+
337
+ > **提示**:如需完全清理所有数据,请使用 `inpanel uninstall --purge` 命令。
338
+
339
+ ## 本地开发
340
+
341
+ ### 环境要求
342
+
343
+ - Python 3.6+
344
+ - pip 20.0+
345
+
346
+ ### 开发步骤
347
+
348
+ ```bash
349
+ # 1. 克隆源码
350
+ git clone https://github.com/inpanel/inpanel.git
351
+ cd inpanel
352
+
353
+ # 2. 创建虚拟环境(推荐)
354
+ python3 -m venv venv
355
+ source venv/bin/activate
356
+
357
+ # 3. 安装依赖和开发模式
358
+ pip install -e .
359
+
360
+ # 4. 启动开发服务器(前台运行,支持热重载)
361
+ inpanel run
362
+ ```
363
+
364
+ ### 开发模式特点
365
+
366
+ - 配置文件位于项目目录的 `data/` 文件夹下
367
+ - 日志文件位于项目目录的 `data/` 文件夹下
368
+ - 修改代码后无需重新安装,直接生效
369
+ - 默认启用 DEBUG 模式
370
+
371
+ ### 构建安装包
372
+
373
+ ```bash
374
+ # 构建 pip 包
375
+ pip install build
376
+ python -m build
377
+
378
+ # 构建 RPM 包(需要 rpmbuild)
379
+ rpmbuild -bb inpanel.spec
380
+
381
+ # 构建 DEB 包(需要 debuild)
382
+ debuild -us -uc
383
+ ```
384
+
385
+ ## 账号和密码
386
+
387
+ 默认用户名:`admin`
388
+
389
+ 默认密码:`admin`
390
+
391
+ 首次登录后请及时修改密码:
392
+
393
+ ```bash
394
+ inpanel config set auth password 'new-password'
395
+ ```
396
+
397
+ ## 授权许可
398
+
399
+ 本项目采用 BSD 开源授权许可证,完整的授权说明已放置在 [LICENSE](https://github.com/inpanel/inpanel/blob/main/LICENSE) 文件中。
@@ -0,0 +1,209 @@
1
+ LICENSE
2
+ README.md
3
+ pyproject.toml
4
+ InPanel.egg-info/PKG-INFO
5
+ InPanel.egg-info/SOURCES.txt
6
+ InPanel.egg-info/dependency_links.txt
7
+ InPanel.egg-info/entry_points.txt
8
+ InPanel.egg-info/requires.txt
9
+ InPanel.egg-info/top_level.txt
10
+ inpanel/__init__.py
11
+ inpanel/acme.py
12
+ inpanel/aliyuncs.py
13
+ inpanel/app.py
14
+ inpanel/apt.py
15
+ inpanel/base.py
16
+ inpanel/config.py
17
+ inpanel/dnf.py
18
+ inpanel/remote.py
19
+ inpanel/utils.py
20
+ inpanel/web.py
21
+ inpanel/yum.py
22
+ inpanel.egg-info/PKG-INFO
23
+ inpanel.egg-info/SOURCES.txt
24
+ inpanel.egg-info/dependency_links.txt
25
+ inpanel.egg-info/entry_points.txt
26
+ inpanel.egg-info/requires.txt
27
+ inpanel.egg-info/top_level.txt
28
+ inpanel/data/config.ini
29
+ inpanel/data/history
30
+ inpanel/data/runlogs.ini
31
+ inpanel/data/update_info.ini
32
+ inpanel/lib/__init__.py
33
+ inpanel/lib/async_process.py
34
+ inpanel/lib/filelock.py
35
+ inpanel/lib/magic.py
36
+ inpanel/lib/pxssh.py
37
+ inpanel/lib/pyDes.py
38
+ inpanel/mod/__init__.py
39
+ inpanel/mod/apt.py
40
+ inpanel/mod/certificate.py
41
+ inpanel/mod/config.py
42
+ inpanel/mod/cron.py
43
+ inpanel/mod/disk.py
44
+ inpanel/mod/dnf.py
45
+ inpanel/mod/file.py
46
+ inpanel/mod/firewall.py
47
+ inpanel/mod/firewall_base.py
48
+ inpanel/mod/firewall_firewalld.py
49
+ inpanel/mod/firewall_iptables.py
50
+ inpanel/mod/firewall_macos.py
51
+ inpanel/mod/firewall_ufw.py
52
+ inpanel/mod/ftp.py
53
+ inpanel/mod/httpd.py
54
+ inpanel/mod/lighttpd.py
55
+ inpanel/mod/login.py
56
+ inpanel/mod/mysql.py
57
+ inpanel/mod/named.py
58
+ inpanel/mod/nginx.py
59
+ inpanel/mod/package.py
60
+ inpanel/mod/package_apt.py
61
+ inpanel/mod/package_base.py
62
+ inpanel/mod/package_dnf.py
63
+ inpanel/mod/package_map.py
64
+ inpanel/mod/package_yum.py
65
+ inpanel/mod/php.py
66
+ inpanel/mod/process.py
67
+ inpanel/mod/proftpd.py
68
+ inpanel/mod/pureftpd.py
69
+ inpanel/mod/query.py
70
+ inpanel/mod/server.py
71
+ inpanel/mod/service.py
72
+ inpanel/mod/setting.py
73
+ inpanel/mod/shell.py
74
+ inpanel/mod/ssh.py
75
+ inpanel/mod/system.py
76
+ inpanel/mod/task.py
77
+ inpanel/mod/ufw.py
78
+ inpanel/mod/user.py
79
+ inpanel/mod/vsftpd.py
80
+ inpanel/mod/yum.py
81
+ inpanel/plugins/__init__.py
82
+ inpanel/plugins/__pycache__/__init__.cpython-313.pyc
83
+ inpanel/plugins/acme/static/index.html
84
+ inpanel/plugins/acme/static/index.js
85
+ inpanel/plugins/shadowsocks-libev/info.py
86
+ inpanel/plugins/shadowsocks-libev/__pycache__/info.cpython-313.pyc
87
+ inpanel/plugins/shadowsocks-libev/static/index.html
88
+ inpanel/plugins/shadowsocks-libev/static/index.js
89
+ inpanel/public/favicon.ico
90
+ inpanel/public/index.html
91
+ inpanel/public/robots.txt
92
+ inpanel/public/css/global.css
93
+ inpanel/public/images/alipay.jpg
94
+ inpanel/public/images/loading.gif
95
+ inpanel/public/images/weixin.jpg
96
+ inpanel/public/js/core.js
97
+ inpanel/public/js/directives.js
98
+ inpanel/public/js/filters.js
99
+ inpanel/public/js/services.js
100
+ inpanel/public/js/controllers/controllers.js
101
+ inpanel/public/js/controllers/database.js
102
+ inpanel/public/js/controllers/ecs.js
103
+ inpanel/public/js/controllers/file.js
104
+ inpanel/public/js/controllers/plugins.js
105
+ inpanel/public/js/controllers/service.js
106
+ inpanel/public/js/controllers/site.js
107
+ inpanel/public/js/controllers/utils.js
108
+ inpanel/public/lib/angular/1.0.2/angular-resource.min.js
109
+ inpanel/public/lib/angular/1.0.2/angular.min.js
110
+ inpanel/public/lib/bootstrap/css/bootstrap-theme.css
111
+ inpanel/public/lib/bootstrap/css/bootstrap-theme.css.map
112
+ inpanel/public/lib/bootstrap/css/bootstrap-theme.min.css
113
+ inpanel/public/lib/bootstrap/css/bootstrap-theme.min.css.map
114
+ inpanel/public/lib/bootstrap/css/bootstrap.css
115
+ inpanel/public/lib/bootstrap/css/bootstrap.css.map
116
+ inpanel/public/lib/bootstrap/css/bootstrap.min.css
117
+ inpanel/public/lib/bootstrap/css/bootstrap.min.css.map
118
+ inpanel/public/lib/bootstrap/fonts/glyphicons-halflings-regular.eot
119
+ inpanel/public/lib/bootstrap/fonts/glyphicons-halflings-regular.svg
120
+ inpanel/public/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf
121
+ inpanel/public/lib/bootstrap/fonts/glyphicons-halflings-regular.woff
122
+ inpanel/public/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2
123
+ inpanel/public/lib/bootstrap/img/glyphicons-halflings-white.png
124
+ inpanel/public/lib/bootstrap/img/glyphicons-halflings.png
125
+ inpanel/public/lib/bootstrap/js/bootstrap.js
126
+ inpanel/public/lib/bootstrap/js/bootstrap.min.js
127
+ inpanel/public/lib/bootstrap/js/npm.js
128
+ inpanel/public/lib/codemirror/codemirror-compressed.js
129
+ inpanel/public/lib/codemirror/codemirror.css
130
+ inpanel/public/lib/jquery/jquery-1.12.4.min.js
131
+ inpanel/public/lib/md5/md5.js
132
+ inpanel/public/lib/md5/md5.min.js
133
+ inpanel/public/partials/ftp.html
134
+ inpanel/public/partials/log.html
135
+ inpanel/public/partials/login.html
136
+ inpanel/public/partials/logout.html
137
+ inpanel/public/partials/main.html
138
+ inpanel/public/partials/secure.html
139
+ inpanel/public/partials/setting.html
140
+ inpanel/public/partials/sorry.html
141
+ inpanel/public/partials/database/index.html
142
+ inpanel/public/partials/database/mysql/dbedit.html
143
+ inpanel/public/partials/database/mysql/dbnew.html
144
+ inpanel/public/partials/database/mysql/useredit.html
145
+ inpanel/public/partials/database/mysql/usernew.html
146
+ inpanel/public/partials/directives/message.html
147
+ inpanel/public/partials/directives/navbar.html
148
+ inpanel/public/partials/directives/selector.html
149
+ inpanel/public/partials/directives/srvbase.html
150
+ inpanel/public/partials/directives/srvext.html
151
+ inpanel/public/partials/directives/srvfile.html
152
+ inpanel/public/partials/directives/srvinstall.html
153
+ inpanel/public/partials/directives/srvlog.html
154
+ inpanel/public/partials/directives/srvminiop.html
155
+ inpanel/public/partials/directives/srvuninstall.html
156
+ inpanel/public/partials/directives/srvupdate.html
157
+ inpanel/public/partials/ecs/account.html
158
+ inpanel/public/partials/ecs/ecs.html
159
+ inpanel/public/partials/ecs/index.html
160
+ inpanel/public/partials/ecs/setings.html
161
+ inpanel/public/partials/file/file.html
162
+ inpanel/public/partials/file/trash.html
163
+ inpanel/public/partials/plugins/index.html
164
+ inpanel/public/partials/plugins/plugins.html
165
+ inpanel/public/partials/service/apache.html
166
+ inpanel/public/partials/service/cron.html
167
+ inpanel/public/partials/service/index.html
168
+ inpanel/public/partials/service/iptables.html
169
+ inpanel/public/partials/service/lighttpd.html
170
+ inpanel/public/partials/service/mariadb.html
171
+ inpanel/public/partials/service/memcache.html
172
+ inpanel/public/partials/service/minio.html
173
+ inpanel/public/partials/service/mongodb.html
174
+ inpanel/public/partials/service/mysql.html
175
+ inpanel/public/partials/service/named.html
176
+ inpanel/public/partials/service/nginx.html
177
+ inpanel/public/partials/service/ntp.html
178
+ inpanel/public/partials/service/php.html
179
+ inpanel/public/partials/service/proftpd.html
180
+ inpanel/public/partials/service/pureftpd.html
181
+ inpanel/public/partials/service/redis.html
182
+ inpanel/public/partials/service/samba.html
183
+ inpanel/public/partials/service/sendmail.html
184
+ inpanel/public/partials/service/ssh.html
185
+ inpanel/public/partials/service/tomcat.html
186
+ inpanel/public/partials/service/vsftpd.html
187
+ inpanel/public/partials/site/index.html
188
+ inpanel/public/partials/site/apache/site.html
189
+ inpanel/public/partials/site/nginx/site.html
190
+ inpanel/public/partials/storage/autofm.html
191
+ inpanel/public/partials/storage/backup.html
192
+ inpanel/public/partials/storage/index.html
193
+ inpanel/public/partials/storage/migrate.html
194
+ inpanel/public/partials/storage/movedata.html
195
+ inpanel/public/partials/storage/remote.html
196
+ inpanel/public/partials/utils/cron.html
197
+ inpanel/public/partials/utils/firewall.html
198
+ inpanel/public/partials/utils/index.html
199
+ inpanel/public/partials/utils/network.html
200
+ inpanel/public/partials/utils/process.html
201
+ inpanel/public/partials/utils/repository.html
202
+ inpanel/public/partials/utils/shell.html
203
+ inpanel/public/partials/utils/ssl.html
204
+ inpanel/public/partials/utils/time.html
205
+ inpanel/public/partials/utils/user.html
206
+ inpanel/templates/index.html
207
+ inpanel/templates/file/preview.html
208
+ test/test copy.py
209
+ test/test.py
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ inpanel = inpanel.app:main
@@ -0,0 +1,4 @@
1
+ tornado>=6.0
2
+ psutil>=5.6
3
+ pexpect>=4.6
4
+ cryptography>=2.8
@@ -0,0 +1 @@
1
+ inpanel
inpanel-1.2.1/LICENSE ADDED
@@ -0,0 +1,30 @@
1
+ BSD 3-Clause License
2
+
3
+ Copyright (c) 2017-2026, Jackson Dou
4
+ Copyright (c) 2012-2013, VPSMate development team
5
+ All rights reserved.
6
+
7
+ Redistribution and use in source and binary forms, with or without
8
+ modification, are permitted provided that the following conditions are met:
9
+
10
+ 1. Redistributions of source code must retain the above copyright notice, this
11
+ list of conditions and the following disclaimer.
12
+
13
+ 2. Redistributions in binary form must reproduce the above copyright notice,
14
+ this list of conditions and the following disclaimer in the documentation
15
+ and/or other materials provided with the distribution.
16
+
17
+ 3. Neither the name of the copyright holder nor the names of its
18
+ contributors may be used to endorse or promote products derived from
19
+ this software without specific prior written permission.
20
+
21
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.