- Replaced parameter input with interactive prompts for customer number and project selection.
- Updated remote directory path based on user-selected project.
- Adjusted local save path and file pattern to use the customer number input.
Script Organization:
- Deploy scripts to ~/scripts/ instead of ~/ directly
- Create proper symlinks ~/bin/script -> ~/scripts/script
- Libraries go to ~/scripts/lib_scriptname/ for better organization
Bashrc Improvements:
- Add modular .bashrc with .bash_env, .bash_aliases, .bash_paths
- Include HISTTIMEFORMAT and enhanced history settings
- Smart PATH detection - only adds ~/bin if not already present
- Proper bash completion and dircolors setup
- Maintains all original functionality from complex version
Deployment now creates clean, organized structure on target servers.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Remove invalid stderr redirection from select statement.
Select cannot be redirected with >&2 syntax.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Redirect select UI output to stderr to prevent multiline capture
- Only SSH target goes to stdout for clean variable assignment
- Fixes 'invalid user name' error from corrupted ssh_target variable
- SSH connection now works properly like manual ssh command
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Reduce from 419 to 230 lines (45% reduction)
- Replace complex find-based script detection with simple for loop
- Use bash select builtin instead of manual state management
- Consolidate server selection into single function
- Simplify bashrc deployment with direct PATH setup
- Remove unnecessary abstractions while preserving all features
Features preserved:
- Auto-detection of scripts via ~/bin symlinks
- Interactive script and server selection
- Support for web N, mx N, logger, support servers
- Bashrc deployment with PATH configuration
- Lib dependencies handling
- Dry-run functionality
- Symlink creation in ~/bin
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Eliminate 345 lines of duplicated HERE-document code
- Replace complex remote execution with local deployment approach
- Remove AWK array context errors from shell escaping
- Preserve all features: -FROM/-TO/-DOMAIN/-MSGID/-GREP, time filters, MX records, status classification
- Maintain backwards compatibility with -f/-t/-D/-m/-G parameters
- Use deploy.sh for installation on logger.in.nessus.at
Reduces complexity while maintaining full functionality.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Auto-detects scripts via symlinks in ~/bin
- Interactive script and server selection
- Supports bashrc deployment
- Handles lib/ dependencies
- Includes security improvements
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add descriptive parameter names: -FROM, -TO, -DOMAIN, -MSGID, -GREP
- Maintain backwards compatibility with old short forms (-f, -t, -D, -m, -G)
- Update README with new examples and backwards compatibility section
- More intuitive and self-documenting command line interface
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Complete rewrite following checkms pattern
- Remote execution on logger.in.nessus.at via SSH/go-tool
- Inline all functions for remote heredoc execution
- Remove lib/ directory - no longer needed
- Maintains full API compatibility
- Automatic fallback: go tool -> LUSER ssh -> error
Fixes issue where exitrace could not access logs on logger.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Make SCRIPT_DIR robust for symlink execution
- Resolves lib/ dependency loading when called via ~/bin symlink
- Maintains compatibility with direct execution
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Make checkms.sh and go.sh executable
- Required for proper script execution
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Split monolithic exitrace.sh into focused lib/ modules
- date_utils.sh: Date validation and generation functions
- mx_lookup.sh: MX record lookup functionality
- log_analyzer.awk: Core log analysis logic extracted from main script
- Maintains full backward compatibility with existing interface
- Improves maintainability, testability, and code organization
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>