
Quero apresentar meu desenvolvimento ao público - o aplicativo de gerenciamento remoto de desktop Aspia. O projeto é totalmente gratuito e de código aberto (GPL 3.0).
Atualmente implementou os seguintes recursos:
- Controle de Área de Trabalho Remota
- Visualização da área de trabalho remota
- Transferência de arquivos
- Catálogo de endereços com suporte à criptografia e uma senha mestra (XChaCha20 + Poly1305, chave de 256 bits)
- Capacidade de criar usuários com direitos individuais
- Criptografia de todas as informações transmitidas pela rede (XSalsa20 + Poly1305)
O aplicativo é uma continuação do desenvolvimento do meu
projeto mais antigo, cujo objetivo era coletar informações sobre o computador. Naquela época, prometi uma versão em rede do aplicativo.
Pareceu-me um pouco incorreto e míope perceber a mera possibilidade de coletar informações sobre computadores na rede. Então surgiu a idéia de criar uma ferramenta completa que inclua gerenciamento remoto e coleta / exibição de relatórios em computadores. Eu precisava de uma base para a versão online e a versão atual é essa.
O aplicativo é completamente reescrito, o código agora é escrito em C ++ usando a estrutura Qt. O Protobuf é usado para serialização de dados, criptografia libsodium, compactação de dados zlib-ng e libvpx.
Infelizmente, o tipo de sessão “Informações do sistema” não foi incluído nesta versão, mas outros recursos interessantes estão disponíveis. Vamos dar uma olhada neles.
Gerenciamento de usuários
Você pode criar usuários com diferentes direitos de acesso. A diferenciação de direitos é realizada por tipo de sessão. É possível desativar a conta do usuário.
Livro de endereços
Menção separada é o catálogo de endereços. Cada catálogo de endereços é um documento que pode ser localizado onde for conveniente para o usuário.
Os catálogos de endereços são abertos no aplicativo Aspia Console e podem ser criptografados ou não criptografados. Ao abrir o catálogo de endereços criptografado, você será solicitado a digitar uma senha:
Após digitar a senha com sucesso, o catálogo de endereços será aberto:
No catálogo de endereços, você pode gerenciar grupos de computadores, criar computadores com configurações de conexão individuais e conectar-se a eles.
Propriedades do computador:
Uma conexão "rápida" também é possível sem adicionar um computador ao catálogo de endereços:
Gerenciamento de desktop
A janela de controle da área de trabalho não é muito diferente de outros programas desse tipo.
É possível alterar os parâmetros da sessão "em tempo real". Existem 3 tipos de codecs para escolher: VP9, VP8 e ZLIB.
O VP8 é ótimo para conexões rápidas; é um codec de vídeo completo. Ele lida com a reprodução de vídeo, rolagem suave nos navegadores e animação.
O ZLIB é adequado para conexões relativamente lentas. Permite especificar a profundidade da cor e a taxa de compactação.
VP9 é experimental. No momento, consome uma quantidade irracional de recursos.
Nos parâmetros da sessão, é possível desativar a troca da área de transferência e enviar a imagem do cursor do mouse.
Para conexões muito lentas (menos de 256 kbit / s), os codecs atuais não funcionam bem, embora seja possível funcionar. Há algo em que trabalhar, mas você não pode criar um novo codec. Seria bom adicionar cache gráfico a este novo codec, detectando áreas monocromáticas (transmita o valor da cor em vez de transmitir o retângulo ZLIB compactado) e alguns outros recursos.
Transferência de arquivos
A transferência de arquivos também não é muito diferente dos programas analógicos. Atalhos de teclado suportados, arrastar e soltar.
O que esperar da próxima versão?
Um dos principais recursos planejados:
- Tipo de sessão "Informações do sistema". A capacidade de visualizar informações sobre hardware, aplicativos, configurações de rede e sistema operacional. É possível salvar todas as informações nos arquivos de relatório, tanto para um computador individual quanto para aqueles selecionados no catálogo de endereços.
- O tipo de sessão é bate-papo por texto. A capacidade de conduzir bate-papo por texto com um usuário em um computador remoto.
- Capacidade de abrir sessões nas guias do console.
- Autorização por meio do Windows.
- Listas em preto e branco
Uma versão está planejada para outros sistemas operacionais?
Infelizmente, estou trabalhando em um projeto sozinho e não tenho tempo livre suficiente para dar suporte a outros sistemas operacionais.
O número de códigos específicos da plataforma é mínimo; todas as bibliotecas de terceiros podem ser compiladas para Linux / MacOS.
Se você deseja fazer esta versão, pode ingressar no projeto e fazê-lo.
Como ajudar o projeto?
- Junte-se à escrita de código. A gama de tarefas é muito diversificada, há trabalho para todos os gostos.
- Teste. Ninguém está a salvo de erros. Quanto mais rápidos forem os erros possíveis, melhor será a aplicação.
- Se você conhece outros idiomas, pode traduzir o aplicativo para eles.
- Ajuda para escrever documentação.
- Apoie o projeto financeiramente. O projeto é gratuito para os usuários, mas ainda tenho despesas. Por exemplo, uma assinatura eletrônica. Não posso me permitir liberar um aplicativo sem uma assinatura.
Referências
→ Página do projeto no
GitHub→
Site do projeto
Ficarei feliz em responder às suas perguntas, se houver.