Fun fact: In Spain, aceplay is also known as "Herakleopolis" — the ancient Greek name for Neni-Nesut, the eternal rival of Thebes. 🏛️
Note: Aceplay is Linux only. For macOS and Windows, use the official Ace Stream applications.
A modern reimplementation of acestream-launcher in Go with an elegant visual interface using the Charm ecosystem.
- Auto-start engine: Automatically starts acestream-engine if not running (just like original acestream-launcher)
- Compiled binary: No runtime dependencies
- Elegant visual interface: Spinners, progress bars, and styles with Lipgloss
- Multiple players: Support for mpv, vlc, ffplay, and more
- Flexible configuration: CLI flags + configuration file
- HLS mode: HLS streaming support
- Desktop notifications: Integration with libnotify
- Browser integration: Open
acestream://links directly from your browser
yay -S aceplay
# or
paru -S aceplaysudo dpkg -i aceplay_*.debsudo rpm -i aceplay-*.rpmRequirements:
- Go 1.22+
- make
git clone https://github.com/crstian19/aceplay.git
cd aceplay
make build
sudo make installDownload from the releases page.
# Play stream with mpv (default)
aceplay acestream://abcd1234...
# Use VLC
aceplay acestream://abcd1234... --player vlc
# HLS mode
aceplay acestream://abcd1234... --hls
# Verbose mode
aceplay acestream://abcd1234... --verbose
# Configure default player
aceplay config set player vlc
# Show configuration
aceplay config showAfter installation, register the protocol handler:
# Register acestream:// protocol
aceplay register-protocolThis allows you to click acestream:// links directly in your browser and have Aceplay automatically handle them.
The configuration file is located at ~/.config/aceplay/config.yaml:
player: mpv
engine:
host: localhost
port: 6878
timeout: 60s
hls: false
verbose: falseYou can also use environment variables with the prefix ACEPLAY_:
ACEPLAY_PLAYER=vlcACEPLAY_ENGINE_HOST=192.168.1.100ACEPLAY_HLS=true
# Run tests
make test
# Run tests with coverage
make test-coverage
# Build
make build
# Build for all platforms
make build-all
# Install locally
make install
# Clean
make clean
# View all commands
make helpaceplay/
├── cmd/aceplay/ # Entry point
├── internal/
│ ├── acestream/ # HTTP client API acestream-engine
│ ├── config/ # Configuration
│ ├── player/ # Video player launcher
│ ├── notify/ # Desktop notifications
│ └── ui/ # Charm UI components
├── pkg/acestream/ # acestream:// URL parser
├── scripts/ # Utility scripts
├── Makefile # Build, test, install
└── README.md # Documentation
- Go 1.22+
- acestream-engine (will be auto-started if not running - same behavior as original acestream-launcher)
- Video player (mpv, vlc, or ffplay)
- Cobra v1.10.2 - CLI framework
- Viper v1.21.0 - Configuration
- Lipgloss v2.0.0 - Terminal styles
- Bubbles - UI components
- Log v0.4.2 - Structured logging
- Resty v2.17.2 - HTTP client
MIT License - see LICENSE for details.
Inspired by acestream-launcher by Jonian Guveli.
UI built with the Charm ecosystem.
Contributions are welcome. Please:
- Fork the repository
- Create a branch for your feature (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Make sure to:
- Run
make checkbefore committing - Add tests for new features
- Update documentation
