Skip to content

Uma aplicação multiplataforma (Android e iOS) que permitirá aos usuários conectarem-se a um servidor SSH e navegar no seu sistema de arquivos através de uma interface de utilizador gráfica baseada em botões. aplicação irá simplificar a execução de scripts, visualização de arquivos e execução de comandos básicos de forma intuitiva.

License

Notifications You must be signed in to change notification settings

dipievil/easy-ssh-mob

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EasySSH - Mobile SSH File Manager

Uma aplicação multiplataforma (Android e iOS) para gerenciamento de arquivos SSH com interface intuitiva baseada em botões.

Flutter Dart License Platform Flutter Tests and Quality Checks codecov

Sumário

📱 Sobre o Projeto

EasySSH é um gerenciador de arquivos SSH mobile que simplifica a conexão e navegação em servidores remotos através de uma interface gráfica intuitiva. O aplicativo foi desenvolvido para usuários que precisam acessar e gerenciar arquivos em servidores SSH de forma prática e visual, sem depender exclusivamente da linha de comando.

✨ Funcionalidades Principais

  • 🔐 Conexão SSH Segura - Conecte-se a servidores SSH com autenticação segura
  • 📁 Explorador de Arquivos - Navegue pelo sistema de arquivos com interface gráfica
  • 📄 Visualizador de Arquivos - Visualize conteúdo de arquivos de texto diretamente no app
  • Execução de Scripts - Execute scripts e comandos com interface simplificada
  • 🔍 Busca de Texto - Encontre conteúdo específico dentro dos arquivos
  • 📋 Copiar Conteúdo - Copie texto dos arquivos para área de transferência
  • 🎨 Interface Intuitiva - Design baseado em botões para facilitar o uso
  • 🔒 Armazenamento Seguro - Credenciais salvas com segurança no dispositivo
  • 🌙 Tema Escuro/Claro - Suporte a temas para melhor experiência visual
  • 🔊 Feedback Sonoro - Sons de interação para melhor UX

🛠️ Stack Tecnológico

Frontend

  • Flutter - Framework multiplataforma
  • Dart >=2.19.0 <4.0.0 - Linguagem de programação

Dependências Principais

  • dartssh2 ^2.9.0 - Cliente SSH para Dart
  • provider ^6.0.5 - Gerenciamento de estado
  • flutter_secure_storage ^9.0.0 - Armazenamento seguro
  • font_awesome_flutter ^10.6.0 - Ícones
  • audioplayers ^5.2.1 - Reprodução de sons

Ferramentas de Desenvolvimento

  • mockito ^5.4.2 - Mocks para testes
  • flutter_lints ^2.0.0 - Linting
  • build_runner ^2.4.6 - Geração de código

🚀 Instalação e Configuração

Pré-requisitos

Clone e Configuração

# Clone o repositório
git clone https://github.com/dipievil/easy-ssh-mob.git

# Entre no diretório
cd easy-ssh-mob

# Instale as dependências
flutter pub get

# Execute a aplicação
flutter run

Configuração para Android

# Verifique a configuração
flutter doctor

# Build para Android
flutter build apk --release

Configuração para iOS

# Abra o projeto iOS
open ios/Runner.xcworkspace

# Build para iOS
flutter build ios --release

📖 Como Usar

1. Primeira Conexão

  • Abra o aplicativo
  • Insira os dados do servidor SSH (host, porta, usuário, senha)
  • Toque em "Conectar"

2. Navegação de Arquivos

  • Use a interface de botões para navegar entre diretórios
  • Toque em pastas para abri-las
  • Toque em arquivos para visualizar ou executar

3. Visualização de Arquivos

  • Arquivos de texto são abertos automaticamente no visualizador
  • Use a função de busca (🔍) para encontrar conteúdo específico
  • Copie texto selecionado com o botão de cópia (📋)

4. Execução de Scripts

  • Arquivos executáveis mostram opção de executar ou visualizar
  • Confirme a execução quando solicitado
  • Veja o resultado em tempo real

📂 Estrutura do Projeto

lib/
├── main.dart                    # Entrada da aplicação
├── models/                      # Modelos de dados
├── providers/                   # Gerenciamento de estado (Provider)
├── screens/                     # Telas da aplicação
│   ├── login_screen.dart        # Tela de login SSH
│   ├── file_explorer_screen.dart # Explorador de arquivos
│   ├── file_viewer_screen.dart  # Visualizador de arquivos
│   ├── terminal_screen.dart     # Terminal SSH
│   └── ...
├── services/                    # Serviços (SSH, storage, etc.)
├── widgets/                     # Widgets customizados
├── themes/                      # Temas da aplicação
└── utils/                       # Utilitários e helpers

test/                           # Testes unitários e de widgets
integration_test/               # Testes de integração
assets/                         # Recursos estáticos
demo_files/                     # Arquivos de demonstração
docs/                          # Documentação adicional
scripts/                       # Scripts utilitários

🧪 Testes

Executar Testes Unitários

flutter test

Executar Testes de Integração

flutter test integration_test/

Executar Análise de Código

flutter analyze

🤝 Contribuindo

  1. Faça um fork do projeto
  2. Crie sua branch de feature (git checkout -b feature/nova-funcionalidade)
  3. Commit suas mudanças (git commit -m 'feat: adicionar nova funcionalidade')
  4. Push para a branch (git push origin feature/nova-funcionalidade)
  5. Abra um Pull Request

Padrões de Commit

  • feat: nova funcionalidade
  • fix: correção de bug
  • docs: alterações na documentação
  • style: formatação de código
  • refactor: refatoração
  • test: adição de testes
  • chore: tarefas de manutenção

📄 Licença

Este projeto está sob a licença Apache 2.0. Veja o arquivo LICENSE para mais detalhes.

📞 Contato e Suporte

📚 Documentação Adicional


Desenvolvido com ❤️ usando Flutter

Se este projeto foi útil para você, considere dar uma estrela!

English version

EasySSH — Mobile SSH File Manager

A cross-platform mobile application (Android & iOS) to manage files on remote machines over SSH using a compact, button-driven user interface.

Core features

  • Secure SSH connections (password and key-based authentication)
  • Remote file browser for navigating directories and inspecting file metadata
  • Text file viewer with search and copy functionality
  • Execute scripts and commands with an easy confirmation flow and real-time output
  • Persistent, secure credential storage on-device
  • Light and dark themes
  • Optional sound feedback for UI interactions

Tech stack

  • Flutter (Dart)
  • dartssh2, provider, flutter_secure_storage, font_awesome_flutter, audioplayers

Quick start

# Clone the repository
git clone https://github.com/dipievil/easy-ssh-mob.git

# Enter the project and install dependencies
cd easy-ssh-mob
flutter pub get

# Run the app
flutter run

Build

  • Android: flutter build apk --release
  • iOS: open ios/Runner.xcworkspace and run flutter build ios --release

Project structure (high level)

  • lib/: application source (models, providers, screens, services, widgets, themes, utils)
  • test/: unit and widget tests
  • integration_test/: integration tests
  • assets/: static resources
  • docs/: additional documentation
  • scripts/: utility scripts

Contributing

  • Fork the repo and create a branch with a descriptive name (e.g., feature/new-feature).
  • Follow conventional commits: feat:, fix:, docs:, style:, refactor:, test:, chore:.
  • Run analysis and format before submitting: flutter analyze and dart format .

License

Apache 2.0 — see the LICENSE file for details.

Contact

GitHub: https://github.com/dipievil/easy-ssh-mob

About

Uma aplicação multiplataforma (Android e iOS) que permitirá aos usuários conectarem-se a um servidor SSH e navegar no seu sistema de arquivos através de uma interface de utilizador gráfica baseada em botões. aplicação irá simplificar a execução de scripts, visualização de arquivos e execução de comandos básicos de forma intuitiva.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •