Socket
Book a DemoInstallSign in
Socket

ctrlfilezillaserver

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ctrlfilezillaserver

CtrlFileZillaServer é um conjunto de funções para gerenciar o FileZilla Server

latest
Source
npmnpm
Version
1.0.2
Version published
Maintainers
1
Created
Source

CtrlFileZillaServer

CtrlFileZillaServer é um conjunto de funções para gerenciar o FileZilla Server

Language Platforms License HitCount

FileZilla é um dos melhores servidores FTP gratuitos, fácil de utilizar e muito estável, porem, não possui API. Toda gestão é feita via interface gráfica, o que acaba dificultando um gerenciamento automático do servidor. Para contornar isto, criei um repositório que gerencia as contas de FTP modificando o arquivo XML FileZilla Server.xml localiado na pasta do FileZilla Server.

Você pode baixar o Filezilla server em: https://filezilla-project.org/download.php?type=server

Instalando

npm install ctrlfilezillaserver

Carregando o repositório

var FilezillaCtrl = require('ctrlfilezillaserver');

Iniciando

Antes de executar alguma das funções precisamos definir o diretório onde o Filezilla Server se encontra. Esta é uma função assíncrona e após sua conclusão é feito as chamadas as funções.

FilezillaCtrl.init("C:\\Program Files (x86)\\FileZilla Server\\").then(function(){

	// Aqui você faz a chamada a função desejada

}).catch(function(err){

	console.log(err);

});

Normalmente o Filezila Server fica no diretório abaixo: C:\\Program Files (x86)\\FileZilla Server\\

Listando as Contas Disponíveis

Esta função ira retornar um array com todas as constas, com os dados abaixo:

  • Usuário
  • Diretório
  • Permissões

Chamando

FilezillaCtrl.init("C:\\Program Files (x86)\\FileZilla Server\\").then(function(){

	FilezillaCtrl.contas_listar().then(function(DadRet){

		console.log(JSON.stringify(DadRet));

	}).catch(function(err){

		console.log(err);

	});

}).catch(function(err){

	console.log(err);

});

Retorno

[
  {
    "Nome": "teste1",
    "Diretorio": "C:\\pasta1",
    "Permissoes": {
      "FileRead": true,
      "FileWrite": true,
      "FileDelete": true,
      "DirCreate": true,
      "DirDelete": true,
      "DirList": true,
      "DirSubdirs": true
    }
  }
  }
]

Altera uma conta existe

Chamando

FilezillaCtrl.init("C:\\Program Files (x86)\\FileZilla Server\\").then(function(){

    var InfDad =    {   
                    Senha: "aaabbb", 
                    Diretorio: "C:\\PastaTeste1", 
                    Permissoes: {
                    "FileRead": true,
                    "FileWrite": true,
                    "FileDelete": true,
                    "FileAppend": true,
                    "DirCreate": true,
                    "DirDelete": true,
                    "DirList": true,
                    "DirSubdirs": true,
                    "IsHome": true,
                    "AutoCreate": false
                    } 
                    };

    FilezillaCtrl.contas_alterar("teste1", InfDad).then(function(){

        console.log("OK");
    
    }).catch(function(err){

        console.log(err);

    });

}).catch(function(err){

	console.log(err);

});

Altera a Senha de uma Conta

Chamando

FilezillaCtrl.init("C:\\Program Files (x86)\\FileZilla Server\\").then(function(){

    FilezillaCtrl.contas_alterar_senha("teste1", "aaabbb").then(function(){

        console.log("OK");

    }).catch(function(err){

        console.log(err);

    });

}).catch(function(err){

	console.log(err);

});

Altera o Diretório de uma Conta

Chamando

FilezillaCtrl.init("C:\\Program Files (x86)\\FileZilla Server\\").then(function(){

    FilezillaCtrl.contas_alterar_diretorio("teste1", "C:\\PastaTeste1").then(function(){

        console.log("OK");

    }).catch(function(err){

        console.log(err);

    });

}).catch(function(err){

	console.log(err);

});

Altera as Permissões de uma Conta

Chamando

FilezillaCtrl.init("C:\\Program Files (x86)\\FileZilla Server\\").then(function(){

    var InfDad =    {
                    "FileRead": true,
                    "FileWrite": true,
                    "FileDelete": true,
                    "FileAppend": true,
                    "DirCreate": true,
                    "DirDelete": true,
                    "DirList": true,
                    "DirSubdirs": true,
                    "IsHome": true,
                    "AutoCreate": false
                    } ;

    FilezillaCtrl.contas_alterar_permissoes("teste1", InfDad).then(function(){

        console.log("OK");

    }).catch(function(err){

        console.log(err);

    });

}).catch(function(err){

	console.log(err);

});

Verifica se uma Conta Existe

Chamando

FilezillaCtrl.init("C:\\Program Files (x86)\\FileZilla Server\\").then(function(){

    FilezillaCtrl.contas_existe("teste1").then(function(DadRet){

        console.log(JSON.stringify(DadRet));

    }).catch(function(err){

        console.log(err);

    });

}).catch(function(err){

	console.log(err);

});

Retorno

  • true: Conta existe
  • false: Conta não existe

Deleta uma Conta

Chamando

FilezillaCtrl.init("C:\\Program Files (x86)\\FileZilla Server\\").then(function(){

    FilezillaCtrl.contas_deletar("teste1").then(function(){

        console.log("OK");

    }).catch(function(err){

        console.log(err);

    });

}).catch(function(err){

	console.log(err);

});

Criar uma nova Conta

Chamando

FilezillaCtrl.init("C:\\Program Files (x86)\\FileZilla Server\\").then(function(){

    var InfDad =    {   
                    Senha: "aaabbb", 
                    Diretorio: "C:\\PastaTeste1", 
                    Permissoes: {
                    "FileRead": true,
                    "FileWrite": true,
                    "FileDelete": true,
                    "FileAppend": true,
                    "DirCreate": true,
                    "DirDelete": true,
                    "DirList": true,
                    "DirSubdirs": true,
                    "IsHome": true,
                    "AutoCreate": false
                    } 
                    };

    FilezillaCtrl.contas_criar("teste1", InfDad).then(function(){

        console.log("OK");

    }).catch(function(err){

        console.log(err);

    });

}).catch(function(err){

	console.log(err);

});

Referências

Permissões

O nó de permissões possui as permissões abaixo:

  • FileRead: Ler Arquivos
  • FileWrite: Criar/Editar Arquivos
  • FileDelete: Deletar Arquivos
  • DirCreate: Criar Diretório
  • DirDelete: Deletar Diretório
  • DirList: Listar Diretórios
  • DirSubdirs: Exibir Sub Diretórios

Os valores das variaveis é sempre um boolean, onde:

  • true: Tem permissão
  • false: Não tem permissão

Sucesso/Erro

Em todas funções temos o retorno controlado em then e catch (Padrão para funções Promises). Na função catch esta presente um parâmetro que retorna um objeto Error indiando a causa do erro.

Exemplo de Erro

Chamada

FilezillaCtrl.init("C:\\Program Files (x86)\\FileZilla Server\\").then(function(){

    FilezillaCtrl.contas_deletar("XXXXXXXXXXX").then(function(){

        console.log("OK");

    }).catch(function(err){

        console.log(err);

    });

}).catch(function(err){

    console.log(err);

});

Retorno

Error: Error: Error: Conta nao localizada
    at Promise (C:\index.js:535:19)
    at new Promise (<anonymous>)
    at Object.contas_criar (G:\index.js:362:12)
    at G:\tests.js:7:19

Contato

Paloma Macetko

Keywords

filezilla

FAQs

Package last updated on 21 Jan 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts