Skip to content

Warns the user in real time of possible high over costs of AWS services during its creation

Notifications You must be signed in to change notification settings

xavi-developer/aws-pricing-helper

Repository files navigation

AWS Pricing Helper Browser Extension

A browser extension that displays real-time AWS service pricing information during service creation in the AWS Console. Works with Chrome, Firefox, Brave, Safari, and Edge.

Example:

example

🎯 Current Features (MVP)

  • Certificate Manager Pricing: Shows pricing information when clicking the "export_enabled" option on ACM certificate request pages
  • EC2 Launch Instances: Displays "MAC instances from $1/hour" when loading the EC2 launch instances page
  • Real-time Display: Pricing information appears as an overlay when interacting with specific form elements
  • Multi-region Support: Works across all AWS regions and subdomains
  • Cross-browser Support: Compatible with Chrome, Firefox, Brave, Safari, and Edge

💰 Supported Services

AWS Certificate Manager (ACM)

  • Standard Domain: $15/month
  • Wildcard Domain: $149/month
  • Trigger: Clicking the export_enabled checkbox on certificate request pages

EC2 Launch Instances

  • MAC Instances: From $1/hour
  • Trigger: Automatically displays when loading the EC2 launch instances page

🚀 Installation by Browser

Chrome / Brave / Edge

  1. Download this repository as a ZIP file and extract it
  2. Open Chrome/Brave/Edge and navigate to chrome://extensions/
  3. Enable Developer Mode (toggle in top right corner)
  4. Click "Load unpacked" and select the extracted extension folder
  5. Navigate to AWS Console and test the functionality

Firefox

Method 1: Temporary Installation (Development)

  1. Download this repository as a ZIP file and extract it
  2. Rename manifest-firefox.json to manifest.json
  3. Open Firefox and navigate to about:debugging
  4. Click "This Firefox" in the left sidebar
  5. Click "Load Temporary Add-on"
  6. Select the manifest.json file from the extracted folder
  7. Navigate to AWS Console and test the functionality

Safari

Prerequisites

  • macOS operating system
  • Apple Developer Account ($99/year) - required for distribution
  • Xcode (for development and testing)
  1. Download this repository as a ZIP file and extract it
  2. Rename manifest-safari.json to manifest.json
  3. Open Xcode and create a new Safari App Extension project
  4. Import the extension files into your project
  5. Build and run the extension in Safari
  6. Enable the extension in Safari Preferences > Extensions

🧪 Testing

Manual Testing Steps

  1. Install the extension using the browser-specific method above
  2. Navigate to AWS Console: Go to any AWS region's ACM service
  3. Test ACM Pricing:
    • Navigate to: https://[region].console.aws.amazon.com/acm/home?region=[region]#/certificates/request/public
    • Example: https://eu-central-1.console.aws.amazon.com/acm/home?region=eu-central-1#/certificates/request/public
    • Find and click the "export_enabled" checkbox
    • Verify pricing overlay appears
  4. Test EC2 Pricing:
    • Navigate to: https://[region].console.aws.amazon.com/ec2/home?region=[region]#LaunchInstances:
    • Example: https://eu-central-1.console.aws.amazon.com/ec2/home?region=eu-central-1#LaunchInstances:
    • Verify "MAC instances from $1/hour" message appears automatically

Browser-Specific Testing

Chrome/Brave/Edge

  • Check chrome://extensions/ to ensure extension is loaded
  • Open Developer Tools (F12) and check Console for any errors
  • Verify extension icon appears in toolbar

Firefox

  • Check about:debugging to ensure extension is loaded
  • Open Developer Tools (F12) and check Console for any errors
  • Verify extension icon appears in toolbar

Safari

  • Check Safari Preferences > Extensions to ensure extension is enabled
  • Open Developer Tools (Develop > Show Web Inspector) and check Console
  • Verify extension appears in Safari toolbar

🔧 Adding New Services

The extension uses a configuration-based system that makes it easy to add new AWS services. See CONFIGURATION_GUIDE.md for detailed instructions.

Quick Example

To add a new service, simply add a configuration to config.js:

newService: {
  name: "New AWS Service",
  location: {
    pattern: "console.aws.amazon.com/newservice/home"
  },
  pricing: {
    cost: "$10/month",
    source: "https://aws.amazon.com/newservice/pricing/"
  },
  action: {
    type: "click", // or "onload" for automatic display
    selectors: ['button[data-testid="create"]']
  },
  message: {
    title: "💰 Service cost:",
    items: [
      { label: "Monthly cost:", value: "cost" }
    ]
  }
}

🤝 Contributing

We welcome contributions! Here's how to get started:

Setting up for Contribution

  1. Fork the repository
  2. Create feature branch: git checkout -b feature/new-service
  3. Make changes and test thoroughly across browsers
  4. Commit changes: git commit -m "Add support for new AWS service"
  5. Push to branch: git push origin feature/new-service
  6. Create Pull Request

Contribution Guidelines

  • Test your changes across multiple browsers (Chrome, Firefox, Safari)
  • Follow existing code style and patterns
  • Update documentation for new features
  • Add appropriate error handling
  • Ensure backward compatibility

🐛 Bug Reports

Found a bug? Please report it:

  1. Check existing issues first
  2. Create detailed bug report including:
    • Extension version
    • Browser and version
    • Operating system
    • AWS Console URL
    • Steps to reproduce
    • Expected vs actual behavior
    • Console error messages (if any)

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

📞 Support

  • GitHub Issues: For bug reports and feature requests
  • Discussions: For general questions and community support

🏆 Acknowledgments

  • AWS for providing comprehensive pricing documentation
  • Browser extension API documentation
  • Contributors and testers across all supported browsers

Note: This extension is not affiliated with Amazon Web Services. All pricing information is sourced from official AWS documentation and should be verified independently.

About

Warns the user in real time of possible high over costs of AWS services during its creation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published