v1.1.0 - DevShare π
β¨ Added
- Self-Update Command: New
devshare update
command to automatically check for and install the latest release from GitHub, using the official installer scripts for each platform.
- Cross-Platform Update: Update logic downloads the correct archive, extracts the binary, and runs the appropriate installer (
install.sh
or install.bat
).
- Windows Version Info: Windows binaries now include version information, company, product name, and more in the Properties dialog.
- Windows App Icon: Custom icon is now embedded in the Windows executable.
- Embedded License Info: License and copyright information are embedded in the Windows binary.
- Improved Release Automation: GoReleaser workflow now builds with
-ldflags="-s -w"
for smaller binaries and uses windres
to embed resources.
π Added
- Password Protection: New
--password
flag to secure development environments
- Authentication Proxy: Creates a secure proxy server with password authentication
- Session Management: Maintains authentication cookies for 1 hour
- Beautiful Auth UI: Modern, responsive authentication page
- Secure Access: Protects development work from unauthorized network access
π― Features
- Reverse Proxy: Forwards authenticated requests to the actual development server
- Cookie-based Sessions: Secure session management with HttpOnly cookies
- Network Isolation: Direct local access remains available while network access is protected
- QR Code Integration: QR codes point to the secure proxy URL when authentication is enabled
- Port Management: Automatically finds available ports for the authentication proxy
π οΈ Technical Details
- Authentication Middleware: Custom middleware for password verification
- Proxy Implementation: HTTP reverse proxy with header forwarding
- Port Detection: Automatic port availability checking
- Error Handling: Graceful handling of authentication failures
- Resource Embedding: Windows resource file (
versioninfo.rc
) and icon embedding via GoReleaser
π Usage
# Basic usage (no authentication)
devshare
# With password protection
devshare --password=mysecret123
# Custom port with authentication
devshare 3000 --password=mysecret123
# Update DevShare to the latest version
devshare update
π Authentication Flow
- User starts DevShare with
--password
flag
- DevShare starts the development server on the original port
- DevShare creates an authentication proxy on a different port
- Network access requires password authentication
- Local access remains direct (no authentication required)
- QR codes point to the secure proxy URL