a5c769dd6c
Embed username:password@ credentials in discovered stream URLs for basic_auth and combined authentication methods, making URLs directly usable by clients without additional auth handling. **Changes:** - Add embedCredentialsInURL() function in scanner.go - Embed credentials for basic_auth and combined methods only - Skip embedding for no_auth, query_params, digest, url_embedded - Handle edge cases: empty credentials, existing credentials in URL - Apply in scanDirectStream() and testURLsConcurrently() **Security:** - URL encoding handled by url.UserPassword() - Checks prevent credential duplication - Only processes when username AND password are provided **Results:** Before: http://10.0.20.112/snapshot.jpg After: http://admin:password@10.0.20.112/snapshot.jpg Tested with Zosi ZG23213M camera - all 6 streams working correctly. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>