Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GH-1477 Wildcard/Regex Whitelisting #497

Closed
wants to merge 24 commits into from
Closed
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
7db8cdd
Add regex and wildcard functionality to whitelist and blacklist
benstrumeyer Feb 8, 2020
7fdc2d8
Escape inputted regex and add error handling
benstrumeyer Feb 10, 2020
f07e151
Add escape-string-regexp dependency
benstrumeyer Feb 10, 2020
3cff5eb
Refactor matchesWildcardOrRegex and remove escape-strings-regex depen…
benstrumeyer Feb 11, 2020
a03896f
Make regex variables const
benstrumeyer Feb 11, 2020
b025685
Merge branch 'develop' into regex-whitelisting
christophertino Feb 14, 2020
3930487
Prevent ReDoS attack. Validate url, wildcard or regex. Update error m…
benstrumeyer Feb 18, 2020
48e8e60
Merge branch 'regex-whitelisting' of github.com:ghostery/ghostery-ext…
benstrumeyer Feb 18, 2020
63ec3b6
Remove newline
benstrumeyer Feb 18, 2020
fc1f621
Add period to error text
benstrumeyer Feb 18, 2020
fcd5e9a
Merge branch 'develop' into regex-whitelisting
benstrumeyer Feb 18, 2020
b9186bc
GH-1947 Plus checkout UTM params (#499)
benstrumeyer Feb 21, 2020
a726e87
update translations
christophertino Feb 21, 2020
be06d00
Add regex and wildcard functionality to whitelist and blacklist
benstrumeyer Feb 8, 2020
863f225
Escape inputted regex and add error handling
benstrumeyer Feb 10, 2020
032cbc6
Add escape-string-regexp dependency
benstrumeyer Feb 10, 2020
8a6533c
Refactor matchesWildcardOrRegex and remove escape-strings-regex depen…
benstrumeyer Feb 11, 2020
5e6e3c2
Make regex variables const
benstrumeyer Feb 11, 2020
16b89a7
Prevent ReDoS attack. Validate url, wildcard or regex. Update error m…
benstrumeyer Feb 18, 2020
1c63fcb
Remove newline
benstrumeyer Feb 18, 2020
d35ef22
Add period to error text
benstrumeyer Feb 18, 2020
6fdf07b
Create unit and snapshot test for isValidUrlWildcard function
benstrumeyer Feb 19, 2020
ab3ce25
Add unit tests for background portion
benstrumeyer Feb 21, 2020
abe1de5
Fix merge conflicts
benstrumeyer Feb 21, 2020
File filter
Filter file types
Jump to
Jump to file
Failed to load files.

Always

Just for now

@@ -727,9 +727,6 @@
"panel_detail_rewards_cliqz_text": {
"message": "Die Funktion ist im Cliqz MyOffrz-Bedienfeld bereits aktiv."
},
"panel_detail_rewards_edge_text": {
"message": "Ghostery Rewards werden in Edge-Browser nicht unterstützt."
},
"panel_detail_rewards_loading": {
"message": "Rewards werden geladen..."
},
@@ -1649,9 +1646,6 @@
"hub_create_account_label_password_invalid_length": {
"message": "Verwenden Sie zwischen 8 und 50 Zeichen."
},
"hub_create_account_checkbox_promotions": {
"message": "Schicken Sie mir Ghostery-Aktualisierungen & Promotions."
},
"hub_create_account_already_have_account": {
"message": "Sie haben bereits ein Ghostery-Konto?"
},
@@ -1942,7 +1936,7 @@
"content": "</a>"
},
"link_start": {
"content": "<br><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.ghostery.com/products/plus/\">"
"content": "<br><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.ghostery.com/products/plus?utm_source=gbe&utm_campaign=in_app_hstats_lm\">"
}
}
},
@@ -2353,8 +2347,7 @@
"message": "Testen Sie Ghostery Midnight"
},
"seven_day_free_trial": {
"message": "7 Tage kostenlose Testversion (&#36;14/mtl.)",
"description": "Do not localize currency. Use the $14 USD amount. The second $ is needed to escape the special meaning of $"
"message": "7 Tage kostenlose Testversion (&#36;14/mtl.)"
},
"full_coverage_protection_promise": {
"message": "Holen Sie sich umfassenden Schutz für alle Browser und Apps auf Ihrem Gerät."
@@ -2375,8 +2368,7 @@
"message": "Kostenlos herunterladen"
},
"support_ghostery_for_2_instead": {
"message": "Unterstützen Sie Ghostery stattdessen für &#36;2/mtl.",
"description": "Do not localize currency. Use the $2 USD amount. The second $ is needed to escape the special meaning of $"
"message": "Unterstützen Sie Ghostery stattdessen für &#36;2/mtl."
},
"no_thanks_continue_with_basic": {
"message": "Nein, danke. Mit Basisversion fortfahren."
@@ -802,7 +802,7 @@
"message": "unblocked"
},
"white_black_list_error_invalid_url": {
"message": "Please enter a valid URL."
"message": "Please enter a valid URL, regex, or wildcard."
},
"whitelist_error_blacklist_url": {
"message": "This site has been removed from your Restricted Sites list and added to your Trusted Sites list."
@@ -1058,7 +1058,7 @@
"message": "Trusted Sites"
},
"settings_sites_placeholder": {
"message": "example.com"
"message": "example.com (wildcards/regex supported)"
},
"settings_restricted_sites": {
"message": "Restricted Sites"
@@ -1936,7 +1936,7 @@
"content": "</a>"
},
"link_start": {
"content": "<br><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.ghostery.com/products/plus/\">"
"content": "<br><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.ghostery.com/products/plus?utm_source=gbe&utm_campaign=in_app_hstats_lm\">"
}
}
},
@@ -727,9 +727,6 @@
"panel_detail_rewards_cliqz_text": {
"message": "Función ya activa en el panel de control de Cliqz MyOffrz."
},
"panel_detail_rewards_edge_text": {
"message": "Ghostery Rewards no se admite en el navegador Edge"
},
"panel_detail_rewards_loading": {
"message": "Cargando Rewards..."
},
@@ -1649,9 +1646,6 @@
"hub_create_account_label_password_invalid_length": {
"message": "Usa entre 8 y 50 caracteres."
},
"hub_create_account_checkbox_promotions": {
"message": "Envíame actualizaciones y promociones de Ghostery."
},
"hub_create_account_already_have_account": {
"message": "¿Ya tienes una cuenta de Ghostery?"
},
@@ -1942,7 +1936,7 @@
"content": "</a>"
},
"link_start": {
"content": "<br><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.ghostery.com/products/plus/\">"
"content": "<br><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.ghostery.com/products/plus?utm_source=gbe&utm_campaign=in_app_hstats_lm\">"
}
}
},
@@ -2353,8 +2347,7 @@
"message": "Prueba Ghostery Midnight"
},
"seven_day_free_trial": {
"message": "Prueba gratuita de 7 días (&#36;14/mes)",
"description": "Do not localize currency. Use the $14 USD amount. The second $ is needed to escape the special meaning of $"
"message": "Prueba gratuita de 7 días (&#36;14/mes)"
},
"full_coverage_protection_promise": {
"message": "Obtén protección de cobertura completa en todos los navegadores y aplicaciones de tu dispositivo"
@@ -2375,8 +2368,7 @@
"message": "Descarga gratuita"
},
"support_ghostery_for_2_instead": {
"message": "O apoya a Ghostery por &#36;2/mes",
"description": "Do not localize currency. Use the $2 USD amount. The second $ is needed to escape the special meaning of $"
"message": "O apoya a Ghostery por &#36;2/mes"
},
"no_thanks_continue_with_basic": {
"message": "No, gracias, continuar con básico"
@@ -727,9 +727,6 @@
"panel_detail_rewards_cliqz_text": {
"message": "Fonction déjà activée dans le panneau de commande Cliqz MyOffrz."
},
"panel_detail_rewards_edge_text": {
"message": "Ghostery Rewards n'est pas pris en charge par le navigateur Edge"
},
"panel_detail_rewards_loading": {
"message": "Chargement des Rewards…"
},
@@ -1649,9 +1646,6 @@
"hub_create_account_label_password_invalid_length": {
"message": "Utilisez entre 8 et 50 caractères."
},
"hub_create_account_checkbox_promotions": {
"message": "Envoyez-moi les mises à jour & promotions Ghostery."
},
"hub_create_account_already_have_account": {
"message": "Vous avez déjà un compte Ghostery ?"
},
@@ -1942,7 +1936,7 @@
"content": "</a>"
},
"link_start": {
"content": "<br><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.ghostery.com/products/plus/\">"
"content": "<br><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.ghostery.com/products/plus?utm_source=gbe&utm_campaign=in_app_hstats_lm\">"
}
}
},
@@ -2353,8 +2347,7 @@
"message": "Essayez Ghostery Midnight"
},
"seven_day_free_trial": {
"message": "Essai gratuit de 7 jours (14 &#36;/mois)",
"description": "Do not localize currency. Use the $14 USD amount. The second $ is needed to escape the special meaning of $"
"message": "Essai gratuit de 7 jours (14 &#36;/mois)"
},
"full_coverage_protection_promise": {
"message": "Bénéficiez d'une protection complète sur tous les navigateurs et toutes les applications sur votre appareil"
@@ -2375,8 +2368,7 @@
"message": "Télécharger gratuitement"
},
"support_ghostery_for_2_instead": {
"message": "Aidez Ghostery pour 2 &#36;/mois",
"description": "Do not localize currency. Use the $2 USD amount. The second $ is needed to escape the special meaning of $"
"message": "Aidez Ghostery pour 2 &#36;/mois"
},
"no_thanks_continue_with_basic": {
"message": "Non merci, continuer avec la version de base"
@@ -727,9 +727,6 @@
"panel_detail_rewards_cliqz_text": {
"message": "A funkció már aktív a Cliqz MyOffrz vezérlőpultjában."
},
"panel_detail_rewards_edge_text": {
"message": "A Ghostery Rewards nem támogatott az Edge böngészőben"
},
"panel_detail_rewards_loading": {
"message": "Rewards betöltése…"
},
@@ -1649,9 +1646,6 @@
"hub_create_account_label_password_invalid_length": {
"message": "8–50 karaktert használjon."
},
"hub_create_account_checkbox_promotions": {
"message": "Küldjenek nekem friss Ghostery híreket és promóciókat!"
},
"hub_create_account_already_have_account": {
"message": "Már van Ghostery fiókja?"
},
@@ -1942,7 +1936,7 @@
"content": "</a>"
},
"link_start": {
"content": "<br><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.ghostery.com/products/plus/\">"
"content": "<br><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.ghostery.com/products/plus?utm_source=gbe&utm_campaign=in_app_hstats_lm\">"
}
}
},
@@ -2353,8 +2347,7 @@
"message": "Próbálja ki a Ghostery Midnight-t"
},
"seven_day_free_trial": {
"message": "7 napos ingyenes próbaverzió (&#36; 14/hó)",
"description": "Do not localize currency. Use the $14 USD amount. The second $ is needed to escape the special meaning of $"
"message": "7 napos ingyenes próbaverzió (&#36; 14/hó)"
},
"full_coverage_protection_promise": {
"message": "Teljes védelmet élvezhet az eszköz összes böngészőjével és alkalmazásával"
@@ -2375,8 +2368,7 @@
"message": "Töltse le ingyen"
},
"support_ghostery_for_2_instead": {
"message": "Ehelyett támogassa a Ghostery-t &#36; 2 / hónap alatt",
"description": "Do not localize currency. Use the $2 USD amount. The second $ is needed to escape the special meaning of $"
"message": "Ehelyett támogassa a Ghostery-t &#36; 2 / hónap alatt"
},
"no_thanks_continue_with_basic": {
"message": "Nem, köszönöm, folytassa az alapszinttel"
@@ -727,9 +727,6 @@
"panel_detail_rewards_cliqz_text": {
"message": "La funzione è già attiva nel pannello di controllo Cliqz MyOffrz."
},
"panel_detail_rewards_edge_text": {
"message": "Il browser Edge non supporta Ghostery Rewards"
},
"panel_detail_rewards_loading": {
"message": "Caricamento Rewards in corso…"
},
@@ -1649,9 +1646,6 @@
"hub_create_account_label_password_invalid_length": {
"message": "Utilizza tra 8 e 50 caratteri."
},
"hub_create_account_checkbox_promotions": {
"message": "Inviatemi aggiornamenti e promozioni su Ghostery"
},
"hub_create_account_already_have_account": {
"message": "Hai già un Account Ghostery?"
},
@@ -1942,7 +1936,7 @@
"content": "</a>"
},
"link_start": {
"content": "<br><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.ghostery.com/products/plus/\">"
"content": "<br><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.ghostery.com/products/plus?utm_source=gbe&utm_campaign=in_app_hstats_lm\">"
}
}
},
@@ -2353,8 +2347,7 @@
"message": "Prova Ghostery Midnight"
},
"seven_day_free_trial": {
"message": "Prova gratuita di 7 giorni (&#36;14/mese)",
"description": "Do not localize currency. Use the $14 USD amount. The second $ is needed to escape the special meaning of $"
"message": "Prova gratuita di 7 giorni (&#36;14/mese)"
},
"full_coverage_protection_promise": {
"message": "Ottieni la protezione completa per tutti i browser e le app sul tuo dispositivo"
@@ -2375,8 +2368,7 @@
"message": "Scarica gratis"
},
"support_ghostery_for_2_instead": {
"message": "Sostieni Ghostery al costo di &#36;2/mese",
"description": "Do not localize currency. Use the $2 USD amount. The second $ is needed to escape the special meaning of $"
"message": "Sostieni Ghostery al costo di &#36;2/mese"
},
"no_thanks_continue_with_basic": {
"message": "No, grazie. Continuo con la versione base"
@@ -727,9 +727,6 @@
"panel_detail_rewards_cliqz_text": {
"message": "既にCliqz MyOffrzコントロールパネルで有効になっている機能です。"
},
"panel_detail_rewards_edge_text": {
"message": "Ghostery Rewardsは、Edgeブラウザではサポートされていません"
},
"panel_detail_rewards_loading": {
"message": "Rewardsを読み込み中…"
},
@@ -1649,9 +1646,6 @@
"hub_create_account_label_password_invalid_length": {
"message": "8~50文字を使用してください。"
},
"hub_create_account_checkbox_promotions": {
"message": "Ghosteryのアップデート&お得な情報を受け取る。"
},
"hub_create_account_already_have_account": {
"message": "既にGhosteryアカウントを持っていますか?"
},
@@ -1942,7 +1936,7 @@
"content": "</a>"
},
"link_start": {
"content": "<br><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.ghostery.com/products/plus/\">"
"content": "<br><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.ghostery.com/products/plus?utm_source=gbe&utm_campaign=in_app_hstats_lm\">"
}
}
},
@@ -2353,8 +2347,7 @@
"message": "Ghostery Midnightを試す"
},
"seven_day_free_trial": {
"message": "7日間無料トライアル(月額14ドル)",
"description": "Do not localize currency. Use the $14 USD amount. The second $ is needed to escape the special meaning of $"
"message": "7日間無料トライアル(月額14ドル)"
},
"full_coverage_protection_promise": {
"message": "デバイス上のすべてのブラウザとアプリを包括的に保護しましょう"
@@ -2375,8 +2368,7 @@
"message": "無料でダウンロード"
},
"support_ghostery_for_2_instead": {
"message": "代わりに月額2ドルでGhosteryをサポート",
"description": "Do not localize currency. Use the $2 USD amount. The second $ is needed to escape the special meaning of $"
"message": "代わりに月額2ドルでGhosteryをサポート"
},
"no_thanks_continue_with_basic": {
"message": "いいえ、ベーシックプランで継続する"
@@ -727,9 +727,6 @@
"panel_detail_rewards_cliqz_text": {
"message": "기능이 이미 Cliqz MyOffrz 제어판에서 활성화되었습니다."
},
"panel_detail_rewards_edge_text": {
"message": "Ghostery Rewards는 Edge 브라우저에서 지원되지 않습니다."
},
"panel_detail_rewards_loading": {
"message": "Rewards 로딩 중"
},
@@ -1649,9 +1646,6 @@
"hub_create_account_label_password_invalid_length": {
"message": "8자에서 50자까지 사용할 수 있습니다."
},
"hub_create_account_checkbox_promotions": {
"message": "고스터리 브라우저의 업데이트와 프로모션 소식 받기"
},
"hub_create_account_already_have_account": {
"message": "이미 Ghostery 계정이 있으십니까? "
},
@@ -1942,7 +1936,7 @@
"content": "</a>"
},
"link_start": {
"content": "<br><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.ghostery.com/products/plus/\">"
"content": "<br><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.ghostery.com/products/plus?utm_source=gbe&utm_campaign=in_app_hstats_lm\">"
}
}
},
@@ -2353,8 +2347,7 @@
"message": "Ghostery Midnight를 사용해 보세요"
},
"seven_day_free_trial": {
"message": "7일 무료 평가판(&#36;14/월)",
"description": "Do not localize currency. Use the $14 USD amount. The second $ is needed to escape the special meaning of $"
"message": "7일 무료 평가판(&#36;14/월)"
},
"full_coverage_protection_promise": {
"message": "장치의 모든 브라우저 및 앱을 완전하게 보호하세요"
@@ -2375,8 +2368,7 @@
"message": "무료 다운로드"
},
"support_ghostery_for_2_instead": {
"message": "월 &#36;2로 Ghostery를 후원합니다",
"description": "Do not localize currency. Use the $2 USD amount. The second $ is needed to escape the special meaning of $"
"message": "월 &#36;2로 Ghostery를 후원합니다"
},
"no_thanks_continue_with_basic": {
"message": "괜찮습니다, Basic으로 계속 진행합니다"
ProTip! Use n and p to navigate between commits in a pull request.