Commit Graph

57 Commits

Author SHA1 Message Date
ProtoTess 1cb86c4ab7 feat: Add linter configuration and improve error handling in download functions 2025-11-18 17:55:43 +00:00
ProtoTess b0dc7f6f60 fix: Improve error message formatting in download functions 2025-11-18 17:49:13 +00:00
ProtoTess e0b484436d refactor: Remove unused ASCII art generation function for snapshots 2025-11-18 17:45:46 +00:00
ProtoTess 8953ef6842 feat: Add RTSP stream inspection and connectivity check functionality 2025-11-18 04:59:52 +00:00
ProtoTess f0fe64a1a3 feat: Implement enhanced file download with Basic and Digest authentication support 2025-11-18 04:36:20 +00:00
ProtoTess 817f394c10 feat: Enhance DownloadFile error handling with detailed messages and hints 2025-11-18 04:26:04 +00:00
ProtoTess 3082840445 feat: Add file download functionality and ASCII art preview for camera snapshots
- Implemented DownloadFile method in client.go to download files with authentication.
- Added ascii.go for converting images to ASCII art with configurable parameters.
- Enhanced main.go to include a new option for capturing and displaying snapshots as ASCII art.
- Introduced non-interactive mode for onvif-cli, allowing command execution via command-line arguments.
- Updated documentation to include usage examples for non-interactive mode and scripting.
- Added error handling and improved user prompts for better user experience.
2025-11-18 04:13:44 +00:00
ProtoTess b62a4281b4 docs: add comprehensive CLI and network interface summary
Create complete project summary documenting:
- All deliverables (library, CLI, docs)
- 5 commits with all changes
- Implementation statistics
- Test results and coverage
- Usage examples for library and CLI tools
- Common use cases and workflows
- Benefits for users, developers, systems
- Verification checklist
- Future enhancement opportunities

This document serves as comprehensive reference for the network interface
discovery enhancement across the entire onvif-go project.
2025-11-17 17:42:59 +00:00
ProtoTess ead5558364 docs: add CLI tools and network interface selection to README
Add comprehensive section describing:
- Interactive onvif-cli tool with all features
- Quick demo onvif-quick tool
- Network interface selection for multi-interface systems
- Code examples for both CLI and API usage
- References to detailed documentation guides

Highlights new features:
- CLI tools now support explicit interface selection
- Both discovery modes covered (interactive and API)
- Cross-references to detailed guides
2025-11-17 17:42:10 +00:00
ProtoTess 46035f4873 feat: add network interface selection to CLI tools
onvif-cli improvements:
- Add menu option to list network interfaces
- Add interface selection during discovery
- Display detailed interface information (up/down, multicast, addresses)
- Allow discovery by interface name or IP address
- Maintain backward compatibility with default interface

onvif-quick improvements:
- Add menu option to list network interfaces
- Add interface selection during discovery
- Simplified interface list display
- Quick discovery on specific network

Documentation:
- Add comprehensive CLI_NETWORK_INTERFACE_USAGE.md guide
- Include usage scenarios and workflows
- Troubleshooting section
- Integration examples
- Command reference table

These enhancements allow users to easily specify which network interface
to use for camera discovery, solving issues with multi-interface systems.
2025-11-17 17:41:03 +00:00
ProtoTess dfa113ad6d docs: add network interface implementation summary
Add comprehensive implementation summary document including:
- Problem statement and solution overview
- Implementation details and file changes
- API reference and type definitions
- Usage examples and common scenarios
- Testing results and verification
- Benefits and future enhancements

This documents the complete network interface selection feature
implementation for WS-Discovery multicast discovery.
2025-11-17 17:35:19 +00:00
ProtoTess d6e5cbd55e docs: add network interface discovery section to QUICKSTART
Add examples showing how to:
- Discover on specific interface by name (eth0, wlan0)
- Discover using IP address (192.168.1.100)
- List available network interfaces

Reference new NETWORK_INTERFACE_GUIDE.md for detailed documentation.
2025-11-17 17:34:28 +00:00
ProtoTess c384dca68d feat: add network interface selection to WS-Discovery
- Add DiscoverOptions struct with NetworkInterface field
- Add DiscoverWithOptions() function for interface-specific discovery
- Add ListNetworkInterfaces() to enumerate available interfaces
- Add resolveNetworkInterface() helper supporting names and IPs
- Maintain full backward compatibility with existing Discover() function
- Support specifying interface by name (eth0, wlan0) or IP address
- Provide helpful error messages listing available interfaces
- Comprehensive test suite with 6 unit tests + 2 benchmarks
- Add NETWORK_INTERFACE_GUIDE.md with usage examples

This addresses issue where users with multiple active network interfaces
need to explicitly select which interface to use for WS-Discovery multicast,
as auto-detection may select the wrong one.
2025-11-17 17:28:05 +00:00
ProtoTess 81c9d768d7 docs: add Camera Testing Flow guide for contributing camera tests 2025-11-17 17:03:20 +00:00
ProtoTess 0aae85fc4c fix: update CHANGELOG.md to use onvif-go for complete consistency 2025-11-17 16:24:17 +00:00
ProtoTess 5a21df55f8 fix: update remaining go-onvif references to onvif-go for complete branding consistency
- server/types.go: Manufacturer identifier 'go-onvif' → 'onvif-go'
- cmd/onvif-server/main.go: Manufacturer flag default 'go-onvif' → 'onvif-go'
- server/README.md: Documentation updated
- examples/manual-soap-test/main.go: Code comments updated (2 instances)
- examples/complete-demo/main.go: Code comment updated

Now using 'onvif-go' consistently across all project files, including
device identifiers, code comments, and documentation.
2025-11-17 16:06:13 +00:00
ProtoTess eadd0d74f7 fix: update all documentation to use onvif-go for consistent branding
- CONTRIBUTING.md: Updated title and git clone URL
- .github/CONTRIBUTING.md: Updated title, paths, and references
- QUICKSTART.md: Updated intro
- BUILDING.md: Updated title
- docs/ARCHITECTURE.md: Updated title and descriptions
- docs/PROJECT_SUMMARY.md: Updated title, description, and structure
- docs/IMPLEMENTATION_SUMMARY.md: Updated docker example
- server/README.md: Updated cd command and link text
- cmd/onvif-diagnostics/README.md: Updated cd command

Note: Kept 'go-onvif' as manufacturer identifier in code (server/types.go, cmd/onvif-server/main.go)
and in code comments (examples/) for descriptive purposes.
2025-11-17 16:02:48 +00:00
ProtoTess f63c77d858 fix: replace go-onvif with onvif-go in Makefile, workflows, and documentation
- Makefile: archive names now use onvif-go prefix
- Release workflow: installation examples updated
- README.md: badge URLs corrected
- RELEASE_NOTES: download examples fixed
- Consistent with repository name and module path
2025-11-17 15:50:21 +00:00
ProtoTess d1ef61f9c1 Merge pull request #27 from 0x524a/fix-release-artifact-naming
fix: correct release artifact naming from go-onvif to onvif-go
2025-11-17 10:46:30 -05:00
ProtoTess 239d68b410 fix: remove platform suffix from binaries inside release archives
- Binaries inside archives now have clean names (onvif-cli, onvif-server, etc.)
- Archive names still include platform info (onvif-go-v1.0.4-linux-amd64.tar.gz)
- Users can extract and use binaries without renaming
2025-11-17 15:44:19 +00:00
ProtoTess c6b21bdb18 fix: correct release artifact naming from go-onvif to onvif-go 2025-11-17 15:29:33 +00:00
ProtoTess 13b4b08413 Merge pull request #26 from 0x524a/fix-gitignore-cmd-directories
fix: update .gitignore to preserve cmd/ source directories
v1.0.2 v1.0.3
2025-11-16 22:36:06 -05:00
ProtoTess e4c5f0412c fix: remove unused includeRaw variable in onvif-diagnostics 2025-11-17 03:34:42 +00:00
ProtoTess 24b17e3e0b fix: update .gitignore to preserve cmd/ source directories and add missing CLI tools 2025-11-17 03:32:32 +00:00
ProtoTess a9922ba91d Merge pull request #25 from 0x524a/feature-implement-localhost-URL-handling
feat: implement localhost URL handling and add comprehensive tests
2025-11-16 22:13:49 -05:00
ProtoTess c83dbbc0cb feat: implement localhost URL handling and add comprehensive tests 2025-11-17 03:07:50 +00:00
ProtoTess 9b9f705b4d Merge pull request #24 from 0x524a/feature-add-test-server
feat: add test server example and update project structure
2025-11-16 21:58:07 -05:00
ProtoTess 42b875ce2b feat: add test server example and update project structure 2025-11-17 02:56:26 +00:00
ProtoTess ae891db72b Merge pull request #23 from 0x524a/reponame-change
fix: update repository references from '0x524A' to '0x524a' across do…
2025-11-12 14:49:18 -05:00
ProtoTess bd85e94b7d fix: update repository references from '0x524A' to '0x524a' across documentation and code 2025-11-12 19:43:37 +00:00
ProtoTess 3b379ea3cc Merge pull request #22 from 0x524A/Updated-Project-Structure
Updated project structure
2025-11-12 14:20:58 -05:00
ProtoTess af2f0624c8 Merge pull request #21 from 0x524A/20-feature-update-newclient-api-to-accept-simplified-endpoint-formats
feat: simplify endpoint API and enhance documentation
2025-11-12 14:19:02 -05:00
ProtoTess d337cf5526 fix: update branch references from 'main' to 'master' in CI workflow 2025-11-12 19:18:39 +00:00
ProtoTess 52352dacd4 feat: restructure project layout and move SOAP implementation to internal package 2025-11-12 19:13:36 +00:00
ProtoTess 64ce3192a4 feat: simplify endpoint API and enhance documentation 2025-11-12 18:50:26 +00:00
ProtoTess 41e8093594 Merge pull request #19 from 0x524A/cleanup
Add comprehensive documentation and testing framework for ONVIF library
2025-11-12 13:28:25 -05:00
ProtoTess 16f697965d Add comprehensive documentation and testing framework for ONVIF library 2025-11-12 18:04:29 +00:00
ProtoTess b1c33164e3 Merge pull request #18 from 0x524A/17-feature-create-a-automation-for-package-generation
17 feature create a automation for package generation
2025-11-12 12:47:08 -05:00
ProtoTess ea382eb9dc chore: update repository references from go-onvif to onvif-go 2025-11-12 17:45:04 +00:00
ProtoTess a6fda445f3 Refactor build process and improve documentation
- Enhanced Makefile to support building for multiple platforms with versioning and improved output.
- Added build-release.sh script for local binary releases, including checksum generation and archive creation.
- Updated error handling and comments in the build process for clarity.
- Ensured all binaries are built with versioning information included.
2025-11-12 17:32:04 +00:00
ProtoTess 90b98d3d5f Merge pull request #16 from 0x524A/9-feature-improve-test-coverage-client---device-service
test: add comprehensive unit tests for ONVIF device and SOAP function…
v1.0.0
2025-11-12 11:02:04 -05:00
ProtoTess 8bd6d09224 test: add comprehensive unit tests for ONVIF device and SOAP functionalities 2025-11-12 15:50:47 +00:00
ProtoTess 8aa47625ec Merge pull request #14 from 0x524A/8-feature-improve-test-coverage-discovery
test: add comprehensive tests for Device methods and discovery functi…
2025-11-10 23:37:54 -05:00
ProtoTess 7316cdfb65 test: add comprehensive tests for Device methods and discovery functionality 2025-11-11 04:35:35 +00:00
ProtoTess 06c15d4b86 Merge pull request #6 from 0x524A/5-add-contribution-guidelines-and-issue-templates
feat: add contribution guidelines and issue templates for better comm…
2025-11-10 23:22:42 -05:00
ProtoTess e39b0261f3 feat: add contribution guidelines and issue templates for better community engagement 2025-11-11 03:45:30 +00:00
ProtoTess 917a6d4dc4 Merge pull request #4 from 0x524A/3-add-camera-test-framework
Add camera test framework and initial tests for Bosch FLEXIDOME indoo…
2025-11-10 21:38:04 -05:00
ProtoTess f5280f8c0e Improve error handling in LoadCaptureFromArchive and handleResponse methods 2025-11-11 02:36:36 +00:00
ProtoTess c3e6ed80c1 Refactor code to improve error handling and remove unused functions 2025-11-11 02:32:23 +00:00
ProtoTess 3bf078ed3f Add camera test framework and initial tests for Bosch FLEXIDOME indoor 5100i IR
- Introduced a new directory `testdata/captures/` containing captured XML archives and README documentation for the camera test framework.
- Added a mock server implementation to replay captured SOAP responses for testing.
- Created automated tests for Bosch FLEXIDOME indoor 5100i IR using captured responses, validating device information, system date and time, capabilities, and profiles.
- Implemented enhanced device features tests, covering hostname, DNS, NTP, network interfaces, scopes, and user management.
- Added support for enhanced media and imaging features, including video and audio sources, and imaging options.
- Updated types to include new configurations and options for network, imaging, and device capabilities.
2025-11-11 02:10:04 +00:00