Initial YakPanel commit

This commit is contained in:
Niranjan
2026-04-07 02:04:22 +05:30
commit 2826d3e7f3
5359 changed files with 1390724 additions and 0 deletions

View File

@@ -0,0 +1,112 @@
#coding: utf-8
#-------------------------------------------------------------------
# YakPanel
#-------------------------------------------------------------------
# Copyright (c) 2015-2017 YakPanel(www.yakpanel.com) All rights reserved.
#-------------------------------------------------------------------
# Author: hwliang <hwl@yakpanel.com>
#-------------------------------------------------------------------
#------------------------------
# 网站管理控制器
#------------------------------
import os,sys,public
class panelSiteController:
def __init__(self):
pass
def get_parser_list(self,args):
'''
@name 获取支持的解释器列表
@author hwliang<2021-07-13>
@param args<dict_obj>
@return list
'''
return public.return_data(True,public.read_config('parser'))
def get_parser_versions(self,args):
'''
@name 获取指定解释器可用版本列表
@author hwliang<2021-07-13>
@param args<dict_obj>{
parser_name: string<解释器名称>
}
@return list
'''
try:
public.exists_args('parser_name',args)
except Exception as ex:
return public.return_data(False,None,1001,ex)
parser_name = args.parser_name.strip()
config_data = public.read_config('parser')
versions = []
result = public.return_data(False,versions)
for parser_data in config_data:
if parser_data['name'] != parser_name: continue
if not parser_data['show']: return result
if not parser_data['versions']: return result
for version in parser_data['versions']:
if isinstance(version['check'],str):
version['check'] = [version['check']]
for check in version['check']:
if os.path.exists(check):
versions.append(version)
return public.return_data(True,versions)
def create_site(self,args):
'''
@name 创建网站
@author hwliang<2021-07-13>
@param args<dict_obj> {
data: {
siteName: string<网站名称>,
domains: list<域名列表>, // 如:["www.yakpanel.com:80","yakpanel.com:80"]
parser_type: string<解释器类型>, // 从 get_parser_list 接口中获取
parser_version: string<解释器版本>, // 从 get_parser_versions 接口中获取
ps: string<网站备注>,
type_id: int<分类标识>,
path: string<网站根目录>,
stream_info: { // TCP、UDP时传入
is_stream: bool<是否为stream>,
pool: string<协议类型TCP/UDP>,
dst_address: string<目标地址>,
dst_port: int<目标端口>,
local_port: int<本地映射端口>
},
process_info: { //绑定进程时传入
is_process: bool<是否为启动指定文件>,
cwd: string<运行目录>,
run_file: string<启动文件>,
run_args: string<启动参数>,
run_cmd: string<启动命令> //与 run_file/run_args 互斥
env: list<环境变量>
},
ftp_info: { //需要同时创建FTP时传入
create: bool<是否创建>,
username: string<用户名>,
password: string<密码>,
path: string<根目录>
},
database_info: { //需要同时创建数据库时传入
create: bool<是否创建>,
username: string<用户名>,
password: string<密码>,
db_name: string<数据库名>,
codeing: string<字符集>
}
}
}
'''