前言
对与非运维人员来说,频繁的使用命令去操作防火墙是一件非常痛苦的事,于是就开发了这个可视化管理工具,当然这个可视化是相对于命令行来说的,并非富交互类型的可视化。
项目一直在坚持,有兴趣可以在下面留言
在线预览
AXAX是一款具备windows操作风格,而且具备完整权限的后端管理系统。http://150.158.14.110:8000/
效果
打开端口
传统
下面是centos打开8080端口的命令,是不是有点长。
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --reload
可视化
只要填写一个8080,点击保存即可,端口就打开了,这里的操作跟宝塔的相似,但与之不同的是,这个端口操作是集成到管理系统内部的,不需要打开其他网页
前端
前端没有用到什么特别的技术,更多的是调用后端的接口,整个表格是低代码生成的模板,略有改造
后端
正如前面所说,所有的任务基本是后端完成
,逻辑如下
代码
Java执行多条语句命令和单条命令是不一样的,建议使用下面这种方式去实现,哪怕只有一条,
因为主职业是前端,对Java理解不深,如果对代码有疑问可在下面留言,必回
private int executeCommands(String[] commands) {
int exitCode = 1;
try {
// 循环执行每条命令
for (String command : commands) {
// 创建ProcessBuilder对象
ProcessBuilder processBuilder = new ProcessBuilder();
// 设置要执行的命令
processBuilder.command("bash", "-c", command);
// 启动进程
Process process = processBuilder.start();
// 等待进程执行完成
exitCode = process.waitFor();
}
} catch (IOException | InterruptedException e) {
return -1;
}
return exitCode >= 0 ? 1 : exitCode;
}
PS
对CSDN还是有点怀疑的,不知道这些访问量到底是不是机器人加上去的。