A modern, cross-platform desktop application for sending syslog messages to remote servers via TCP or UDP.
Built with Wails v2 (Go + Web Technologies) | RFC 5424 & RFC 3164 Compliant
Download β’ Features β’ Documentation β’ Contributing
- Multi-Protocol Support: Send logs via TCP or UDP
- TLS/SSL Encryption: Secure syslog transmission over TLS (RFC 5425)
- Support for self-signed certificates
- Configurable certificate verification
- TLS 1.2 and 1.3 support
- RFC Compliance: Supports both RFC 5424 (modern) and RFC 3164 (legacy) formats
- TCP Framing (RFC 6587):
- β Octet Counting (recommended): Efficient length-prefixed framing
- Non-Transparent Framing: LF-delimited for legacy compatibility
- Professional Implementation:
- Modular architecture with separated concerns
- Efficient memory usage with pre-calculated buffers
- Comprehensive validation (UTF-8, message length, framing rules)
- Robust error handling with detailed messages
- Modern UI: Built with Next.js, React, and shadcn/ui components
- Dark/Light Theme: System-aware theme switching
- Real-time Connection: Test and maintain persistent connections
- Cross-Platform: Windows, macOS (Intel & Apple Silicon), and Linux
- Fully Tested: Comprehensive test suite with benchmarks
| Layer | Technologies |
|---|---|
| Backend | Go 1.22+, Wails v2 |
| Frontend | Next.js, React, TypeScript |
| UI | shadcn/ui, Tailwind CSS |
| Forms | React Hook Form, Zod |
Pre-built binaries are available in the Releases page.
Download Sendlog-Syslog-windows-amd64.exe and run it directly.
Download the appropriate version:
- Apple Silicon (M1/M2/M3/M4):
Sendlog-Syslog-darwin-arm64 - Intel:
Sendlog-Syslog-darwin-amd64
DEB Package (Recommended for Debian/Ubuntu)
# Download and install - automatically handles dependencies
sudo dpkg -i sendlog-syslog_*_amd64.deb
sudo apt-get install -f # Install missing dependencies if anyAppImage (Portable)
chmod +x Sendlog-Syslog-*-x86_64.AppImage
./Sendlog-Syslog-*-x86_64.AppImageRaw Binary
# Install dependencies first
sudo apt install -y libgtk-3-0 libwebkit2gtk-4.1-0 # Ubuntu 24.04+
# or
sudo apt install -y libgtk-3-0 libwebkit2gtk-4.0-37 # Ubuntu 22.04
# Then run the binary
chmod +x Sendlog-Syslog-linux-amd64
./Sendlog-Syslog-linux-amd64- Download the appropriate binary for your platform from Releases
- Run the application
- Configure your syslog server connection:
- Enter the server IP address
- Set the port (default:
514for plain,6514for TLS) - Select protocol (TCP or UDP)
- Send your log messages!
| Setting | Description | Default |
|---|---|---|
| IP Address | Syslog server address (IPv4 or IPv6) | - |
| Port | Server port | 514 (plain) / 6514 (TLS) |
| Protocol | TCP or UDP | TCP |
| TLS/SSL | Enable encrypted connection (TCP only) | Off |
| Verify Certificate | Validate server certificate | On |
| Setting | Description | Options |
|---|---|---|
| RFC Format | Syslog message format | RFC 5424 (modern) / RFC 3164 (legacy) |
| Facility | Message category | 0-23 (e.g., 16 = local0) |
| Severity | Message priority | 0-7 (e.g., 6 = informational) |
| Hostname | Source hostname | Auto-detected or custom |
| App Name | Application identifier | Custom |
| Feature | Description |
|---|---|
| Port 6514 | Standard port for syslog over TLS (RFC 5425) |
| Certificate Verification | β Enabled: Validates using system CA (production) |
| TLS Versions | TLS 1.2 and TLS 1.3 supported |
Note: TLS is only available for TCP connections. UDP does not support encryption.
3. Install frontend dependencies:
```bash
cd frontend
pnpm install
Run in development mode:
wails dev# First time: Install dependencies
./scripts/install-linux-deps.sh
# Build
./scripts/build-linux.sh./scripts/build-windows.sh./scripts/build-macos-arm.sh./scripts/build-macos-intel.sh-
Configure Connection:
- Enter server IP address
- Set port (default: 514 for plain, 6514 for TLS)
- Select protocol (TCP/UDP)
- TLS Options (TCP only):
- Enable "Use TLS/SSL" for encrypted connections
- Disable "Verify Certificate" to accept self-signed certificates
- Connect to server
-
Configure Message Format:
- Choose RFC format (5424 or 3164)
- Set facility (0-23)
- Set severity (0-7)
- Optional: custom hostname and app name
-
Send Messages:
- Enter log messages (one per line)
- Click "Send Syslog Messages"
- Port 6514: Standard port for syslog over TLS (RFC 5425)
- Certificate Verification:
- β Enabled: Verifies server certificate using system CA (recommended for production)
β οΈ Disabled: Accepts self-signed certificates (useful for testing/development)
- TLS Versions: Supports TLS 1.2 and TLS 1.3
- UDP: TLS is only available for TCP connections
Width: 900 // Fixed width
Height: 780 // Fixed height
MinWidth: 900
MinHeight: 780
MaxWidth: 1100
MaxHeight: 900- 0-15: System facilities
- 16-23: Local use (local0-local7)
- 0: Emergency
- 1: Alert
- 2: Critical
- 3: Error
- 4: Warning
- 5: Notice
- 6: Informational
- 7: Debug
For detailed technical documentation about the RFC 6587 implementation, see TECHNICAL_DOCUMENTATION.md.
Run the test suite:
go test -vRun benchmarks:
go test -bench=. -benchmem- Technical Documentation - RFC 6587 implementation details
- Changelog - Version history and release notes
- License - Apache 2.0 License
| RFC | Description |
|---|---|
| RFC 5424 | The Syslog Protocol |
| RFC 3164 | BSD Syslog Protocol (legacy) |
| RFC 5425 | TLS Transport Mapping for Syslog |
| RFC 6587 | Transmission of Syslog Messages over TCP |
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes using Conventional Commits:
feat:new featurefix:bug fixdocs:documentationrefactor:code refactoring
- Push to your branch (
git push origin feature/amazing-feature) - Open a Pull Request
Found a bug or have a feature request? Open an issue!
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Yadian Llada Lopez π§ Email |
JocLRojas |