Commit Graph

75 Commits

Author SHA1 Message Date
ProtoTess 3f343370ce Add device security tests and enhance device capabilities
- Introduced comprehensive tests for device security features including GetRemoteUser, SetRemoteUser, GetIPAddressFilter, SetIPAddressFilter, and more.
- Implemented mock server responses for various ONVIF device security SOAP actions.
- Added new types and constants for device services, capabilities, and network protocols in types.go.
- Enhanced existing tests for device services, discovery modes, and network configurations.
- Ensured proper handling of service capabilities and network protocols in the client.
2025-11-30 23:11:51 +00:00
ProtoTess 9d83a7c2da Merge pull request #35 from 0x524a/tls-verification
Tls verification
2025-11-18 14:27:37 -05:00
ProtoTess 50a545697a refactor: remove framerate estimation from RTSP stream inspection 2025-11-18 19:18:33 +00:00
ProtoTess ec63ece472 feat: add TLS verification option for HTTPS connections and improve user prompts 2025-11-18 19:09:36 +00:00
ProtoTess d990aee323 chore: prepare v1.1.3 release
- Draft release workflow fix
- RTSPeek library integration
- golangci-lint v2 migration
- All code quality improvements
v1.1.3
2025-11-18 18:43:00 +00:00
ProtoTess 74a3cb262f Merge pull request #34 from 0x524a/fix-draft-release
Fix draft release
2025-11-18 13:41:58 -05:00
ProtoTess 349fd20bc6 fix: create releases as draft to allow asset uploads
The release must be created as draft initially, otherwise it's
published immediately and becomes immutable before assets upload.

Users can manually publish after assets are uploaded, or we can
add a workflow_dispatch to publish programmatically.
2025-11-18 18:37:54 +00:00
ProtoTess 34eb35a3fd chore: prepare v1.1.2 release
- Release workflow fixes with action-gh-release@v2
- RTSPeek library integration
- golangci-lint v2 migration
- All linting errors fixed
v1.1.2
2025-11-18 18:34:36 +00:00
ProtoTess 572135d37c Merge pull request #32 from 0x524a/fix-release-workflow
Fix release workflow asset upload race condition
2025-11-18 13:28:15 -05:00
ProtoTess 0cb6fb8dd8 fix: upgrade to softprops/action-gh-release@v2
- Fixes asset upload race condition
- v2 handles concurrent uploads better
- Added fail_on_unmatched_files and make_latest flags
2025-11-18 18:25:19 +00:00
ProtoTess 6a61ec26cf Merge pull request #31 from 0x524a/release-v1.1.1
Release v1.1.1
2025-11-18 13:20:27 -05:00
ProtoTess 1feec67174 chore: prepare v1.1.1 release
- RTSPeek library integration for stream inspection
- golangci-lint v2 migration
- Fixed all linting errors (SA1006, errcheck, unused code)
- Enhanced CI/CD with proper directory exclusions
2025-11-18 18:17:53 +00:00
ProtoTess b9877ec175 Merge pull request #30 from 0x524a/fix-go-onvif-references
Fix go onvif references
v1.1.0
2025-11-18 13:12:43 -05:00
ProtoTess c54e0fa787 fix: Update golangci-lint args to include all relevant directories for linting 2025-11-18 18:07:07 +00:00
ProtoTess b5df457145 fix: Update golangci-lint configuration by removing deprecated issue rules 2025-11-18 18:02:18 +00:00
ProtoTess 021a926746 fix: Update golangci-lint action to version 2.2 for improved linting 2025-11-18 17:59:29 +00:00
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 819b55a595 Merge pull request #29 from 0x524a/fix-go-onvif-references
fix: complete branding consistency - use onvif-go everywhere
2025-11-17 11:31:54 -05: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 0d225be89d Merge pull request #28 from 0x524a/fix-go-onvif-references
fix: replace remaining go-onvif references with onvif-go
2025-11-17 10:53:56 -05: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