The Redeemer

Pops up the Steam product activation dialog when copying keys from bundle/reseller sites. Supports various bundle organizers and legitimate key resellers.

  1. // ==UserScript==
  2. // @name The Redeemer
  3. // @namespace raina
  4. // @description Pops up the Steam product activation dialog when copying keys from bundle/reseller sites. Supports various bundle organizers and legitimate key resellers.
  5. // @include /^http:\/\/www\.dlh\.net\/en\/steam-keys\.html/
  6. // @include /^https:\/\/(www\.)?chrono\.gg/
  7. // @include /^https:\/\/groupees\.com\/(profile\/)?purchases/
  8. // @include /^https:\/\/secure\.nuuvem\.com\/account\/library/
  9. // @include /^https:\/\/www\.humblebundle\.com\/(downloads\?|home\/(keys|library))/
  10. // @include /^https?:\/\/(www\.)?dailyindiegame\.com\/account_page\.html/
  11. // @include /^https?:\/\/(www\.)?flyingbundle\.com\/users\/account/
  12. // @include /^https?:\/\/steamcompanion\.com\/gifts\/won/
  13. // @include /^https?:\/\/www\.bundlestars\.com\/en\/orders/
  14. // @include /^https?:\/\/www\.greenmangaming\.com\/user\/account/
  15. // @include /^https?:\/\/www\.indiegala\.com/(profile|game)\?/
  16. // @include /^https?:\/\/www\.oplata\.info\/info\/buy\.asp/
  17. // @include /^https?:\/\/www\.steamgifts\.com\/giveaways\/won/
  18. // @version 2.1
  19. // @grant none
  20. // ==/UserScript==
  21. const activateProduct = e => {
  22. let productKey = window.getSelection().toString().trim() || e.target.value;
  23. if (/^[\d\w]{2,5}(\-[\d\w]{4,5}){2,4}$/.test(productKey)) {
  24. let activeproduct = window.open(
  25. "https://store.steampowered.com/account/registerkey?key=" + productKey,
  26. "activateproduct",
  27. "width=990,height=1000,resizable=0,scrollbars=0,status=0,location=0"
  28. );
  29. }
  30. };
  31. window.addEventListener("copy", activateProduct, false);