5.1 KiB
Executable File
宏
使用$[x]$来引用宏,目前config.json文件中支持两个宏
workdir
工作目录,gadget程序启动时的目录
ProgramPath
gadget程序所在目录
例子
"logger":{
"name":"iptvserver",
"levelname":"debug",
"logfile":"$[workdir]$/logs/iptv.log"
}
上述例子定义了logfile为工作目录下的logs/iptv.log
logger
定义日志
例子
"logger":{
"name":"iptvserver",
"levelname":"debug",
"logfile":"$[workdir]$/logs/iptv.log"
},
name
日志名称
levelname
日志级别名称
- debug
- info
- error
logfile
日志文件路径
databases
字典类型,每个key定义一个数据库定义, 支持链接多个数据库,可以同时定义多个不同类型的数据库
例子
“databases”:{
"kboss":{
"driver":"aiomysql",
"async_mode":true,
"coding":"utf8",
"dbname":"kboss",
"maxconn":100,
"kwargs":{
"user":"test",
"db":"kboss",
"password":"QUZVcXg5V1p1STMybG5Ia6mX9D0v7+g=",
"host":"localhost"
}
}
}
上述定义了一个名为“kboss”的数据库,使用aiomysql“模块操作数据库 异步模式 最大支持100个链接,链接参数等
website
字典类型,定义website属性
port
端口号
host
定义网站主机ip地址,通常设置为”0.0.0.0“, 内网外网都能访问
ssl
定义网站使用https访问,格式如下
"ssl":{
"crtfile":证书绝对路径,
"keyfile":证书密码文件绝对路径
}
coding
定义网站编码,建议使用”utf-8“编码
processors
数组,定义文件后缀网站路由,每一个元素定义一个后缀
例子
"processors":[
[".proxy","proxy"],
[".xlsxds","xlsxds"],
[".sqlds","sqlds"],
[".tmpl.js","tmpl"],
[".tmpl.css","tmpl"],
[".tmpl.html","tmpl"],
[".bcrud", "bricks_crud"],
[".tmpl","tmpl"],
[".ui","tmpl"],
[".dspy","dspy"],
[".md","md"]
上述例子定义:
- .proxy 后缀的路径,使用ProxyProcessor来处理
- .xlsxds后缀的路径,使用XlsxdsProcessor处理器来处理
- .sqlds后缀的路径,采用SqldsProcessor处理器来处理
- .tmpl.js后缀的路径,使用TmplProcessor处理器来处理
- .tmpl.css后缀的路径,使用TmplProcessor处理器来处理
- .tmpl.html后缀的路径,使用TmplProcessor处理器来处理
- .bcrud后缀的路径,使用BricksCrudProcessor处理器来处理
- .tmpl后缀的路径,使用TmplProcessor处理器来处理
- .ui后缀的路径,使用TmplProcessor处理器来处理
- .dspy后缀的路径,使用DspyProcessor处理器来处理
- .md后缀的路径,使用MarkdownProcessor处理器来处理
startswiths
数组类型,定义网站的前缀路由,前缀路由使用注册函数实现
例子
"startswiths":[
{
"leading":"/public/publickey",
"registerfunction":"getPublicKey"
},
{
"leading":"/public/i18n",
"registerfunction":"getI18nMapping"
},
{
"leading":"/idfile",
"registerfunction":"idFileDownload"
},
{
"leading":"/thumb",
"registerfunction":"makeThumb",
"width":512,
"quality":50,
"keep_ratio":1
}
],
上述定义了4个前缀路由,除“leading”,”registerfunction“外的属性均被当作参数传递给注册函数
rsakey
支持rsa公开密钥加密,在这个属性下提供rsa的私钥和公钥 例子
"rsakey":{
"privatekey":"$[workdir]$/conf/rsa_private_key.pem",
"publickey":"$[workdir]$/conf/rsa_public_key.pem"
}
登录控制
在config.json文件对website属性下
authpaths
authpaths是一个数组, 每个元素定义一个路径或路径的起始字符串,在authpaths中定义的路径,用户访问的URL的起始字符串与其相同时需要登录
例子1
"authpaths":[
"/"
]
上面的例子整个网站都需要登录后才能访问,这种情况需要设置例外,放出登录界面让用户访问
例子2
"authparhs":[
"/scrent",
"/private"
]
以上例子定义了需要登录后才能访问的路径,所以以上述两个字符串开始的路径的访问都需要登录
whitelist
白名单,数组,每项定义一个例外 例子1
"whitelist":[
"/login",
"/login"
]
以上例子将根目录下所有以“login”开始的路径都设置成例外,不用登录也可以访问
langMapping
语言对照 不同的浏览器和操作系统,向后台船队的语言差异挺大,这里定义了一个映射
例子
"langMapping":{
"zh-Hans-CN":"zh-cn",
"zh-CN":"zh-cn",
"en-us":"en",
"en-US":"en"
}