cpanel api和csf的python客户端。
pycpanel的Python项目详细描述
cpanel api和csf的python客户机。
Authentication
您可以使用远程访问哈希或基本用户/密码身份验证。远程访问哈希身份验证是首选方法。
Basic user/password authentication
警告:不要通过不安全的连接(ssl=false)以这种方式执行身份验证。在不安全连接上使用此方法可能会危害服务器。
importpycpanelserver=pycpanel.conn(hostname='myserver.com.au',password='mypassword')
Access hash authentication
http://docs.cpanel.net/twiki/bin/view/AllDocumentation/WHMDocs/RemoteAccess
importpycpanelhash=remote_access_hashserver=pycpanel.conn(hostname='myserver.com.au',hash=hash)
Connection Options
默认选项使用端口2087上的ssl以根用户身份连接到服务器,而不验证ssl证书。
importpycpanelserver=pycpanel.conn(hostname,username='root',hash=None,password=None,ssl=True,verify=False,check_conn=False)
- 主机名(必需)-cpanel服务器的主机名或IP地址。
- 用户名(可选,默认为“根”)—验证用户的用户名。
- 哈希(可选)-cpanel服务器的远程访问哈希。如果未提供密码,则必须提供密码。
- 密码(可选)-验证用户的密码。如果未提供,则必须提供远程访问哈希。
- ssl(可选,布尔值,默认值为true)-如果设置为false,pycpanel将在http端口2086而不是https端口2087上连接。
- verify(可选,布尔值,默认值为false)-如果设置为true,服务器的ssl证书将进行验证以确保其有效。
- check_conn(可选,布尔值,默认值为true)-如果设置为true,pycpanel将在设置连接后测试服务器并对其进行身份验证。
cPanel External API
cpanel外部api的详细文档可以在下面找到: http://docs.cpanel.net/twiki/bin/view/SoftwareDevelopmentKit/XmlApi
pycpanel.api(function,params=None)
External API without params
此示例将打印一个包含服务器上所有cpanel帐户的dict。在此示例中不传递其他参数。
importpycpanelserver=pycpanel.conn(hostname='myserver.com.au',password='mypassword')printserver.api('listaccts')
External API with params
此exmaple将调整用户名为“user1”的cpanel帐户,使其限制为10个加载项域。
importpycpanelserver=pycpanel.conn(hostname='myserver.com.au',password='mypassword')params={'user':'user1','MAXADDON ':10,}server.api('modifyacct',params=params)
cPanel API Functions
cpanel api 2函数的详细文档可以在以下位置找到: http://docs.cpanel.net/twiki/bin/view/ApiDocs/Api2/WebHome
pycpanel.cpanel_api(module,function,user,params=None,version=2)
API 2 Function without params
此示例检索与用户名为“user1”的cpanel帐户关联的电子邮件帐户列表。
importpycpanelserver=pycpanel.conn(hostname='myserver.com.au',password='mypassword')printserver.cpanel_api('Email','listpops','user1')
API 2 Function with params
此示例为用户帐户“user1”创建一个新的电子邮件帐户(steve@mydomain.com.au)。
importpycpanelserver=pycpanel.conn(hostname='myserver.com.au',password='mypassword')params={'domain':'mydomain.com.au','email':'steve','password':'@#fwefq122442','quota':0}server.cpanel_api('Email','addpop','user1',params=params)
Using cPanel API 1
通过将api调用指定为版本1,可以执行cpanel api 1调用。
importpycpanelserver=pycpanel.conn(hostname='myserver.com.au',password='mypassword')params={'arg-0':'username','arg-1':'password','arg-2':'domain.tld',}server.cpanel_api('Email','addpop','user1',params=params,version=1)
ConfigServer Firewall API
要使用configserver防火墙(csf)api,必须在cpanel服务器上安装并激活csf cpanel插件。
Unblock IP Address
此函数将从防火墙中删除IP地址(临时和永久块)。
server=pycpanel.conn(hostname='myserver.com.au',password='mypassword')server.csf.unblock('192.168.0.1')# Returns True if succesfull.
Block IP Address
此函数将阻止防火墙上的IP地址并将其添加到拒绝文件(csf.deny)。
server=pycpanel.conn(hostname='myserver.com.au',password='mypassword')server.csf.deny('192.168.0.1')# Returns True if succesfull.
可选地,可以留下注释来解释IP地址被阻止的原因:
server=pycpanel.conn(hostname='myserver.com.au',password='mypassword')server.csf.deny('192.168.0.1',comment='Why the IP was blocked")# Returns True if succesfull.
Allow IP Address
此函数将允许IP地址通过防火墙并将其添加到允许文件(csf.allow)。
server=pycpanel.conn(hostname='myserver.com.au',password='mypassword')server.csf.allow('192.168.0.1')# Returns True if succesfull.
可选地,可以留下注释来解释为什么允许IP地址通过防火墙:
server=pycpanel.conn(hostname='myserver.com.au',password='mypassword')server.csf.allow('192.168.0.1',comment='Why the IP was allowed")# Returns True if succesfull.
Ignore IP Address
此函数将忽略LFD中的IP地址,并将其添加到忽略文件(csf.ignore)中,然后重新启动LFD。
^{p页R 17}$