v1.3.0
🚨 Breaking Changes
- Binary Name Change: The executable name has been changed from
marzban-migration-tool
toremnawave-migrate
. - CLI Arguments Renamed:
--marzban-url
→--panel-url
--marzban-username
→--panel-username
--marzban-password
→--panel-password
- Environment Variables Renamed:
MARZBAN_URL
→PANEL_URL
MARZBAN_USERNAME
→PANEL_USERNAME
MARZBAN_PASSWORD
→PANEL_PASSWORD
- Repository Structure Change: Code moved from
marzban/
directory to repository root.
New Features
- Multi-panel Support: Added
--panel-type
argument to select the source panel type. - Marzneshin Support: Added support for migrating users from Marzneshin panel, including extraction of VLess IDs, Trojan passwords, and Shadowsocks passwords.
- Enhanced Shadowsocks Link Handler: Added support for different Shadowsocks link formats for password extraction.
- Expanded "User Exists" Error Detection: Added support for multiple error codes (A019, A020, A021, A032).
Architectural Improvements
- Modular Architecture: Introduced
SourcePanel
interface to support different panel types. - Source Panel Factory: Added factory for creating the appropriate
SourcePanel
implementation based on selected type. - Unified User Data Model: Updated models to support different data formats from various panel types.
Documentation
- Unified README: Combined instructions into a single README.md in the repository root.
- Updated Documentation: Updated usage examples and argument descriptions to reflect new functionality.
Build
- Updated Build Files: Moved and updated
.goreleaser.yaml
and.github/workflows/release.yaml
to reflect the new repository structure.
Upgrade Notes
When upgrading from a previous version:
- Update any scripts or instructions using the old binary name.
- Update all command-line arguments or environment variables to match the new names.
- Add the new required
--panel-type
argument (orPANEL_TYPE
environment variable) when invoking the tool.
Full Changelog: v1.2.0...v1.3.0