Skip to content

Conversation

@lokiee0
Copy link

@lokiee0 lokiee0 commented Oct 9, 2025

  • Add library.go with simple, user-friendly API functions:
    • QuickPortCheck() for simple port checking
    • IsHostUp() for host reachability testing
    • SimpleConnectScan() and SimpleSynScan() for basic scanning
    • ScanCommonPorts() for scanning standard ports
    • NewScannerFromConfig() for custom configurations
  • Add LibraryConfig struct for easy scanner configuration
  • Fix timeout parameter issue: provide proper time.Duration conversion
  • Add comprehensive examples in examples/library_usage.go
  • Add detailed library usage tests in scan/library_test.go
  • Add LIBRARY_USAGE.md with troubleshooting guide
  • Update README.md with library usage documentation

This fixes the issue reported in #8 where users got 'Host is down' when using the library due to incorrect timeout parameter handling. The timeout was being interpreted as nanoseconds instead of milliseconds.

Example of the fix:
// Before (broken): 6000 nanoseconds = 0.006ms timeout scanner := scan.NewConnectScanner(ti, 6000, 1000)

// After (fixed): 6000 milliseconds = 6s timeout
timeout := time.Duration(6000) * time.Millisecond
scanner := scan.NewConnectScanner(ti, timeout, 1000)

// Or use the new simple API:
results, err := scan.SimpleConnectScanWithTimeout('target', ports, 6000)

Fixes #8

- Add library.go with simple, user-friendly API functions:
  - QuickPortCheck() for simple port checking
  - IsHostUp() for host reachability testing
  - SimpleConnectScan() and SimpleSynScan() for basic scanning
  - ScanCommonPorts() for scanning standard ports
  - NewScannerFromConfig() for custom configurations
- Add LibraryConfig struct for easy scanner configuration
- Fix timeout parameter issue: provide proper time.Duration conversion
- Add comprehensive examples in examples/library_usage.go
- Add detailed library usage tests in scan/library_test.go
- Add LIBRARY_USAGE.md with troubleshooting guide
- Update README.md with library usage documentation

This fixes the issue reported in liamg#8 where users got 'Host is down'
when using the library due to incorrect timeout parameter handling.
The timeout was being interpreted as nanoseconds instead of milliseconds.

Example of the fix:
// Before (broken): 6000 nanoseconds = 0.006ms timeout
scanner := scan.NewConnectScanner(ti, 6000, 1000)

// After (fixed): 6000 milliseconds = 6s timeout
timeout := time.Duration(6000) * time.Millisecond
scanner := scan.NewConnectScanner(ti, timeout, 1000)

// Or use the new simple API:
results, err := scan.SimpleConnectScanWithTimeout('target', ports, 6000)

Fixes liamg#8
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Use as library

1 participant