modulepackage
0.0.0-20250107135046-6e4d8ead6972
Repository: https://github.com/echogy-io/echogy.git
Documentation: pkg.go.dev
# README
Echogy
A lightweight and efficient SSH reverse proxy tool implemented in Go, featuring a beautiful Terminal User Interface (TUI).
Features
Terminal User Interface (TUI)
- Modern and responsive terminal interface
- SSH session management
- Real-time connection status monitoring
- User-friendly interface for managing SSH connections
Core Features
- SSH reverse proxy functionality
- Multiple concurrent SSH connections support
- TCP port forwarding
- Secure session management
- Built-in logging system
Quick Start
- Clone the repository:
git clone https://github.com/youkale/echogy.git
cd echogy
- Install dependencies:
go mod download
- Configure your settings in
config.json
:
{
"addr": ":443",
"ssh_addr": ":22",
"domain": "your-domain.com",
"idle_timeout": 300,
"key": "YOUR_SSH_KEY"
}
- Build and run:
make build
./echogy
Project Structure
.
├── cmd/ # Command line tools
├── logger/ # Logging framework
├── tui/ # Terminal User Interface components
├── pprof/ # Performance profiling
├── echogy.go # Core SSH implementation
├── conn.go # Connection management
├── facade.go # Facade pattern implementation
├── forward.go # Port forwarding logic
└── util.go # Utility functions
Key Components
- SSH Server: Handles SSH connections and session management
- Forward Proxy: Manages TCP port forwarding
- TUI: Provides an interactive terminal interface
- Logger: Structured logging with multiple output formats
Configuration
SSH Key Setup
ssh-keygen -b 2048 -f echogy_rsa
# Copy the private key content to config.json
Domain Configuration
# DNS A records
A your-domain.com YOUR_SERVER_IP
A *.your-domain.com YOUR_SERVER_IP
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
License
This project is licensed under the BSD License - see the LICENSE file for details.
# Structs
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Type aliases
No description provided by the author