Пример #1
0
def inpanel_uninstall(ssh_ip, ssh_port, ssh_user, ssh_password):
    '''Uninstall InPanel on a remote server.'''
    try:
        s = pxssh.pxssh()
        s.login(ssh_ip, ssh_user, ssh_password, port=ssh_port)
        s.sendline('service inpanel stop')
        s.prompt()
        s.sendline('rm -rf /usr/local/inpanel /etc/init.d/inpanel')
        s.prompt()
        s.logout()
        return True
    except pxssh.ExceptionPxssh, e:
        return False
Пример #2
0
def inpanel_config(ssh_ip,
                   ssh_port,
                   ssh_user,
                   ssh_password,
                   accesskey=None,
                   accesskeyenable=None,
                   username=None,
                   password=None,
                   loginlock=None,
                   inpanel_ip=None,
                   inpanel_port=None):
    '''Update config on remote server.'''
    try:
        s = pxssh.pxssh()
        s.login(ssh_ip, ssh_user, ssh_password, port=ssh_port)
        s.sendline('service inpanel stop')
        s.prompt()
        if accesskey != None:
            s.sendline('/usr/local/inpanel/config.py accesskey %s' % accesskey)
            s.prompt()
        if accesskeyenable != None:
            s.sendline('/usr/local/inpanel/config.py accesskeyenable %s' %
                       (accesskeyenable and 'on' or 'off'))
            s.prompt()
        if username != None:
            s.sendline('/usr/local/inpanel/config.py username %s' % username)
            s.prompt()
        if password != None:
            s.sendline('/usr/local/inpanel/config.py password %s' % password)
            s.prompt()
        if loginlock != None:
            s.sendline('/usr/local/inpanel/config.py loginlock %s' %
                       (loginlock and 'on' or 'off'))
            s.prompt()
        if inpanel_ip != None:
            s.sendline('/usr/local/inpanel/config.py ip %s' % inpanel_ip)
            s.prompt()
        if inpanel_port != None:
            s.sendline('/usr/local/inpanel/config.py port %s' % inpanel_port)
            s.prompt()
        s.logout()
        return True
    except:
        return False
Пример #3
0
def inpanel_install(ssh_ip,
                    ssh_port,
                    ssh_user,
                    ssh_password,
                    accesskey=None,
                    inpanel_ip=None,
                    inpanel_port=None):
    '''Install InPanel on a remote server.'''
    try:
        s = pxssh.pxssh()
        s.login(ssh_ip, ssh_user, ssh_password, port=ssh_port)
        s.sendline('rm -f install.py')
        s.prompt()
        s.sendline(
            'wget https://raw.githubusercontent.com/inpanel/inpanel/master/install.py'
        )
        s.prompt()
        s.sendline('python install.py')
        s.expect('INSTALL COMPLETED!')
        s.sendcontrol('c')  # don't set username and password
        s.prompt()
        s.sendline('rm -f install.py')
        s.prompt()
        s.sendline('/usr/local/inpanel/config.py loginlock on')
        s.prompt()
        if accesskey != None:
            s.sendline('/usr/local/inpanel/config.py accesskey %s' % accesskey)
            s.prompt()
            s.sendline('/usr/local/inpanel/config.py accesskeyenable on')
            s.prompt()
        if inpanel_ip != None:
            s.sendline('/usr/local/inpanel/config.py ip %s' % inpanel_ip)
            s.prompt()
        if inpanel_port != None:
            s.sendline('/usr/local/inpanel/config.py port %s' % inpanel_port)
            s.prompt()
        s.sendline('service inpanel restart')
        s.prompt()
        s.logout()
        return True
    except pxssh.ExceptionPxssh, e:
        return False