
Security News
Crates.io Users Targeted by Phishing Emails
The Rust Security Response WG is warning of phishing emails from rustfoundation.dev targeting crates.io users.
ctrlfilezillaserver
Advanced tools
CtrlFileZillaServer é um conjunto de funções para gerenciar o FileZilla Server
CtrlFileZillaServer é um conjunto de funções para gerenciar o FileZilla Server
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
npm install ctrlfilezillaserver
var FilezillaCtrl = require('ctrlfilezillaserver');
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\\
Esta função ira retornar um array com todas as constas, com os dados abaixo:
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);
});
[
{
"Nome": "teste1",
"Diretorio": "C:\\pasta1",
"Permissoes": {
"FileRead": true,
"FileWrite": true,
"FileDelete": true,
"DirCreate": true,
"DirDelete": true,
"DirList": true,
"DirSubdirs": true
}
}
}
]
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);
});
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);
});
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);
});
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);
});
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);
});
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);
});
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);
});
O nó de permissões possui as permissões abaixo:
Os valores das variaveis é sempre um boolean, onde:
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.
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);
});
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
Paloma Macetko
FAQs
CtrlFileZillaServer é um conjunto de funções para gerenciar o FileZilla Server
We found that ctrlfilezillaserver demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Security News
The Rust Security Response WG is warning of phishing emails from rustfoundation.dev targeting crates.io users.
Product
Socket now lets you customize pull request alert headers, helping security teams share clear guidance right in PRs to speed reviews and reduce back-and-forth.
Product
Socket's Rust support is moving to Beta: all users can scan Cargo projects and generate SBOMs, including Cargo.toml-only crates, with Rust-aware supply chain checks.