Merge remote-tracking branch 'origin/develop'

This commit is contained in:
nobody 2023-10-28 09:36:00 +02:00
parent db18a578da
commit 0a4d916724
No known key found for this signature in database
GPG Key ID: 8F6DE3D614FCFD7A
77 changed files with 525 additions and 213 deletions

View File

@ -34,6 +34,7 @@
"BadResources": true,
"LogString": true,
"BlockedRequestMethods": true,
"GoogleDomains": true,
"fileGuard": true,
"files": true,

View File

@ -138,7 +138,7 @@ https://cdnjs.cloudflare.com/ajax/libs/ajax-bootstrap-select/1.4.5/js/ajax-boots
https://cdnjs.cloudflare.com/ajax/libs/algoliasearch/3.35.1/algoliasearch.min.js
https://cdnjs.cloudflare.com/ajax/libs/algoliasearch/4.20.0/algoliasearch.umd.min.js
https://cdnjs.cloudflare.com/ajax/libs/alpinejs/2.8.2/alpine.js
https://cdnjs.cloudflare.com/ajax/libs/alpinejs/3.13.1/cdn.min.js
https://cdnjs.cloudflare.com/ajax/libs/alpinejs/3.13.2/cdn.min.js
https://cdnjs.cloudflare.com/ajax/libs/angucomplete-alt/3.0.0/angucomplete-alt.min.js
https://cdnjs.cloudflare.com/ajax/libs/angular-bootstrap-colorpicker/3.0.32/css/colorpicker.min.css
https://cdnjs.cloudflare.com/ajax/libs/angular-bootstrap-colorpicker/3.0.32/js/bootstrap-colorpicker-module.min.js
@ -184,7 +184,7 @@ https://cdnjs.cloudflare.com/ajax/libs/asciinema-player/2.6.1/asciinema-player.m
https://cdnjs.cloudflare.com/ajax/libs/asciinema-player/2.6.1/asciinema-player.min.js
https://cdnjs.cloudflare.com/ajax/libs/autocomplete.js/0.38.1/autocomplete.min.js
https://cdnjs.cloudflare.com/ajax/libs/axios/0.27.2/axios.min.js
https://cdnjs.cloudflare.com/ajax/libs/axios/1.5.1/axios.min.js
https://cdnjs.cloudflare.com/ajax/libs/axios/1.6.0/axios.min.js
https://cdnjs.cloudflare.com/ajax/libs/backbone.js/0.9.10/backbone-min.js
https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.5.0/backbone-min.js
https://cdnjs.cloudflare.com/ajax/libs/baguettebox.js/1.11.1/baguetteBox.min.css
@ -1163,7 +1163,7 @@ https://cdnjs.cloudflare.com/ajax/libs/hls.js/0.14.17/hls.min.js
https://cdnjs.cloudflare.com/ajax/libs/hls.js/1.4.12/hls.min.js
https://cdnjs.cloudflare.com/ajax/libs/hogan.js/3.0.2/hogan.min.js
https://cdnjs.cloudflare.com/ajax/libs/instantsearch.js/3.7.0/instantsearch.production.min.js
https://cdnjs.cloudflare.com/ajax/libs/instantsearch.js/4.58.0/instantsearch.production.min.js
https://cdnjs.cloudflare.com/ajax/libs/instantsearch.js/4.59.0/instantsearch.production.min.js
https://cdnjs.cloudflare.com/ajax/libs/iScroll/5.2.0/iscroll.min.js
https://cdnjs.cloudflare.com/ajax/libs/izimodal/1.6.1/js/iziModal.min.js
https://cdnjs.cloudflare.com/ajax/libs/jasny-bootstrap/3.1.3/css/jasny-bootstrap.min.css
@ -1265,7 +1265,7 @@ https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/leaflet.css
https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/leaflet.js
https://cdnjs.cloudflare.com/ajax/libs/Leaflet.EasyButton/2.4.0/easy-button.min.js
https://cdnjs.cloudflare.com/ajax/libs/leaflet.markercluster/1.5.3/leaflet.markercluster.js
https://cdnjs.cloudflare.com/ajax/libs/libphonenumber-js/1.10.47/libphonenumber-js.min.js
https://cdnjs.cloudflare.com/ajax/libs/libphonenumber-js/1.10.49/libphonenumber-js.min.js
https://cdnjs.cloudflare.com/ajax/libs/libsodium-wrappers/0.5.4/sodium.min.js
https://cdnjs.cloudflare.com/ajax/libs/lightbox2/2.11.4/js/lightbox.min.js
https://cdnjs.cloudflare.com/ajax/libs/lightcase/2.5.0/css/lightcase.min.css
@ -1396,8 +1396,8 @@ https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.3.4/assets/owl.theme.green
https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.3.4/owl.carousel.min.js
https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.3.4/owl.carousel.min.js
https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.10.2/p5.min.js
https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.7.0/addons/p5.sound.min.js
https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.7.0/p5.min.js
https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.8.0/addons/p5.sound.min.js
https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.8.0/p5.min.js
https://cdnjs.cloudflare.com/ajax/libs/page.js/1.11.6/page.js
https://cdnjs.cloudflare.com/ajax/libs/paginationjs/2.6.0/pagination.css
https://cdnjs.cloudflare.com/ajax/libs/paginationjs/2.6.0/pagination.min.js
@ -1493,7 +1493,7 @@ https://cdnjs.cloudflare.com/ajax/libs/react-dom/18.2.0/umd/react-dom.production
https://cdnjs.cloudflare.com/ajax/libs/react-redux/7.2.8/react-redux.min.js
https://cdnjs.cloudflare.com/ajax/libs/react-redux/8.1.3/react-redux.min.js
https://cdnjs.cloudflare.com/ajax/libs/react-router/5.3.3/react-router.min.js
https://cdnjs.cloudflare.com/ajax/libs/react-router/6.16.0/react-router.production.min.js
https://cdnjs.cloudflare.com/ajax/libs/react-router/6.17.0/react-router.production.min.js
https://cdnjs.cloudflare.com/ajax/libs/redux/4.2.1/redux.min.js
https://cdnjs.cloudflare.com/ajax/libs/rickshaw/1.7.1/rickshaw.min.css
https://cdnjs.cloudflare.com/ajax/libs/rickshaw/1.7.1/rickshaw.min.js
@ -1720,8 +1720,8 @@ https://cdnjs.cloudflare.com/ajax/libs/sticky-js/1.3.0/sticky.min.js
https://cdnjs.cloudflare.com/ajax/libs/store.js/2.0.12/store.legacy.min.js
https://cdnjs.cloudflare.com/ajax/libs/swagger-ui/4.18.3/swagger-ui-bundle.min.js
https://cdnjs.cloudflare.com/ajax/libs/swagger-ui/4.18.3/swagger-ui.min.css
https://cdnjs.cloudflare.com/ajax/libs/swagger-ui/5.9.0/swagger-ui-bundle.min.js
https://cdnjs.cloudflare.com/ajax/libs/swagger-ui/5.9.0/swagger-ui.min.css
https://cdnjs.cloudflare.com/ajax/libs/swagger-ui/5.9.1/swagger-ui-bundle.min.js
https://cdnjs.cloudflare.com/ajax/libs/swagger-ui/5.9.1/swagger-ui.min.css
https://cdnjs.cloudflare.com/ajax/libs/swfobject/2.2/swfobject.js
https://cdnjs.cloudflare.com/ajax/libs/Swiper/3.4.2/css/swiper.min.css
https://cdnjs.cloudflare.com/ajax/libs/Swiper/3.4.2/js/swiper.min.js
@ -1729,7 +1729,7 @@ https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.5.1/css/swiper.min.css
https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.5.1/js/swiper.min.js
https://cdnjs.cloudflare.com/ajax/libs/Swiper/5.4.5/css/swiper.min.css
https://cdnjs.cloudflare.com/ajax/libs/Swiper/5.4.5/js/swiper.min.js
https://cdnjs.cloudflare.com/ajax/libs/tensorflow/4.11.0/tf.min.js
https://cdnjs.cloudflare.com/ajax/libs/tensorflow/4.12.0/tf.min.js
https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.7/js/tether.min.js
https://cdnjs.cloudflare.com/ajax/libs/tinymce/5.10.5/icons/default/icons.min.js
https://cdnjs.cloudflare.com/ajax/libs/tinymce/5.10.5/jquery.tinymce.min.js
@ -1752,32 +1752,32 @@ https://cdnjs.cloudflare.com/ajax/libs/tinymce/5.10.5/skins/ui/oxide/skin.shadow
https://cdnjs.cloudflare.com/ajax/libs/tinymce/5.10.5/themes/mobile/theme.min.js
https://cdnjs.cloudflare.com/ajax/libs/tinymce/5.10.5/themes/silver/theme.min.js
https://cdnjs.cloudflare.com/ajax/libs/tinymce/5.10.5/tinymce.min.js
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.0/icons/default/icons.min.js
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.0/models/dom/model.min.js
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.0/skins/content/dark/content.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.0/skins/content/default/content.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.0/skins/content/document/content.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.0/skins/content/tinymce-5/content.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.0/skins/content/tinymce-5-dark/content.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.0/skins/content/writer/content.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.0/skins/ui/oxide/content.inline.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.0/skins/ui/oxide/content.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.0/skins/ui/oxide-dark/content.inline.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.0/skins/ui/oxide-dark/content.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.0/skins/ui/oxide-dark/skin.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.0/skins/ui/oxide-dark/skin.shadowdom.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.0/skins/ui/oxide/skin.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.0/skins/ui/oxide/skin.shadowdom.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.0/skins/ui/tinymce-5/content.inline.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.0/skins/ui/tinymce-5/content.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.0/skins/ui/tinymce-5-dark/content.inline.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.0/skins/ui/tinymce-5-dark/content.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.0/skins/ui/tinymce-5-dark/skin.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.0/skins/ui/tinymce-5-dark/skin.shadowdom.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.0/skins/ui/tinymce-5/skin.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.0/skins/ui/tinymce-5/skin.shadowdom.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.0/themes/silver/theme.min.js
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.0/tinymce.min.js
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.2/icons/default/icons.min.js
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.2/models/dom/model.min.js
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.2/skins/content/dark/content.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.2/skins/content/default/content.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.2/skins/content/document/content.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.2/skins/content/tinymce-5/content.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.2/skins/content/tinymce-5-dark/content.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.2/skins/content/writer/content.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.2/skins/ui/oxide/content.inline.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.2/skins/ui/oxide/content.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.2/skins/ui/oxide-dark/content.inline.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.2/skins/ui/oxide-dark/content.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.2/skins/ui/oxide-dark/skin.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.2/skins/ui/oxide-dark/skin.shadowdom.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.2/skins/ui/oxide/skin.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.2/skins/ui/oxide/skin.shadowdom.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.2/skins/ui/tinymce-5/content.inline.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.2/skins/ui/tinymce-5/content.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.2/skins/ui/tinymce-5-dark/content.inline.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.2/skins/ui/tinymce-5-dark/content.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.2/skins/ui/tinymce-5-dark/skin.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.2/skins/ui/tinymce-5-dark/skin.shadowdom.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.2/skins/ui/tinymce-5/skin.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.2/skins/ui/tinymce-5/skin.shadowdom.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.2/themes/silver/theme.min.js
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.7.2/tinymce.min.js
https://cdnjs.cloudflare.com/ajax/libs/toastr.js/2.1.4/toastr.min.css
https://cdnjs.cloudflare.com/ajax/libs/toastr.js/2.1.4/toastr.min.js
https://cdnjs.cloudflare.com/ajax/libs/tooltipster/3.3.0/js/jquery.tooltipster.min.js
@ -1828,11 +1828,11 @@ https://cdnjs.cloudflare.com/ajax/libs/video.js/6.13.0/video-js.min.css
https://cdnjs.cloudflare.com/ajax/libs/video.js/6.13.0/video.min.js
https://cdnjs.cloudflare.com/ajax/libs/video.js/7.21.1/video-js.min.css
https://cdnjs.cloudflare.com/ajax/libs/video.js/7.21.1/video.min.js
https://cdnjs.cloudflare.com/ajax/libs/video.js/8.6.0/video-js.min.css
https://cdnjs.cloudflare.com/ajax/libs/video.js/8.6.0/video.min.js
https://cdnjs.cloudflare.com/ajax/libs/vue/3.3.4/vue.global.prod.js
https://cdnjs.cloudflare.com/ajax/libs/video.js/8.6.1/video-js.min.css
https://cdnjs.cloudflare.com/ajax/libs/video.js/8.6.1/video.min.js
https://cdnjs.cloudflare.com/ajax/libs/vue/3.3.7/vue.global.prod.js
https://cdnjs.cloudflare.com/ajax/libs/vue-i18n/8.27.2/vue-i18n.min.js
https://cdnjs.cloudflare.com/ajax/libs/vue-i18n/9.5.0/vue-i18n.cjs.min.js
https://cdnjs.cloudflare.com/ajax/libs/vue-i18n/9.6.1/vue-i18n.cjs.min.js
https://cdnjs.cloudflare.com/ajax/libs/vue-router/3.6.5/vue-router.min.js
https://cdnjs.cloudflare.com/ajax/libs/vue-router/4.2.5/vue-router.global.min.js
https://cdnjs.cloudflare.com/ajax/libs/vuex/3.6.2/vuex.min.js
@ -1875,12 +1875,12 @@ https://cdn.jsdelivr.net/npm/p2p-media-loader-hlsjs@0.6.2/build/p2p-media-loader
https://cdn.jsdelivr.net/npm/plyr@3.7.8/dist/plyr.css
https://cdn.jsdelivr.net/npm/plyr@3.7.8/dist/plyr.min.js
https://cdn.jsdelivr.net/npm/raven-js@3.27.2/dist/raven.min.js
https://cdn.jsdelivr.net/npm/react-intl@6.4.7/react-intl.iife.min.js
https://cdn.jsdelivr.net/npm/react-intl@6.5.1/react-intl.iife.min.js
https://cdn.jsdelivr.net/npm/react-lifecycles-compat@3.0.4/react-lifecycles-compat.min.js
https://cdn.jsdelivr.net/npm/search-insights@1.10.0/dist/search-insights.min.js
https://cdn.jsdelivr.net/npm/search-insights@2.8.3/dist/search-insights.min.js
https://cdn.jsdelivr.net/npm/swiper@10.3.1/swiper-bundle.min.css
https://cdn.jsdelivr.net/npm/swiper@10.3.1/swiper-bundle.min.js
https://cdn.jsdelivr.net/npm/search-insights@2.9.0/dist/search-insights.min.js
https://cdn.jsdelivr.net/npm/swiper@11.0.3/swiper-bundle.min.css
https://cdn.jsdelivr.net/npm/swiper@11.0.3/swiper-bundle.min.js
https://cdn.jsdelivr.net/npm/swiper@6.8.4/swiper-bundle.min.css
https://cdn.jsdelivr.net/npm/swiper@6.8.4/swiper-bundle.min.js
https://cdn.jsdelivr.net/npm/swiper@7.4.1/swiper-bundle.min.css
@ -1890,7 +1890,7 @@ https://cdn.jsdelivr.net/npm/swiper@8.4.7/swiper-bundle.min.js
https://cdn.jsdelivr.net/npm/swiper@9.4.1/swiper-bundle.min.css
https://cdn.jsdelivr.net/npm/swiper@9.4.1/swiper-bundle.min.js
https://cdn.jsdelivr.net/npm/urlize.js/urlize.js
https://cdn.jsdelivr.net/npm/vanilla-lazyload@17.8.4/dist/lazyload.min.js
https://cdn.jsdelivr.net/npm/vanilla-lazyload@17.8.5/dist/lazyload.min.js
https://cdn.jsdelivr.net/npm/videojs-seek-buttons@1.6.0/dist/videojs-seek-buttons.css
https://cdn.jsdelivr.net/npm/videojs-seek-buttons@1.6.0/dist/videojs-seek-buttons.min.js
https://cdn.jsdelivr.net/npm/videojs-seek-buttons@2.2.1/dist/videojs-seek-buttons.css

View File

@ -516,11 +516,11 @@
"description": "Missing permission"
},
"permissionAllow": {
"message": "",
"message": "Cho phép",
"description": "Allow"
},
"permissionMoreInfo": {
"message": "",
"message": "Thêm thông tin",
"description": "More info"
}
}

View File

@ -450,6 +450,258 @@ const LogString = {
'IFRAME': 'Possible iframe request:',
};
/**
* https://codeberg.org/nobody/LocalCDN/issues/1560
*/
const GoogleDomains = {
'google.com': true,
'youtube.com': true,
'ytimg.com': true,
'withgoogle.com': true,
'withyoutube.com': true,
'google.ws': true,
'google.vu': true,
'google.vg': true,
'google.tt': true,
'google.to': true,
'google.tn': true,
'google.tm': true,
'google.tl': true,
'google.tk': true,
'google.tg': true,
'google.td': true,
'google.st': true,
'google.sr': true,
'google.so': true,
'google.sn': true,
'google.sm': true,
'google.sk': true,
'google.si': true,
'google.sh': true,
'google.se': true,
'google.sc': true,
'google.rw': true,
'google.ru': true,
'google.rs': true,
'google.ro': true,
'google.pt': true,
'google.ps': true,
'google.pn': true,
'google.pl': true,
'google.nu': true,
'google.nr': true,
'google.no': true,
'google.nl': true,
'google.ne': true,
'google.mw': true,
'google.mv': true,
'google.mu': true,
'google.ms': true,
'google.mn': true,
'google.ml': true,
'google.mk': true,
'google.mg': true,
'google.me': true,
'google.md': true,
'google.lv': true,
'google.lu': true,
'google.lt': true,
'google.lk': true,
'google.li': true,
'google.la': true,
'google.kz': true,
'google.ki': true,
'google.kg': true,
'google.jo': true,
'google.je': true,
'google.it': true,
'google.is': true,
'google.iq': true,
'google.io': true,
'google.im': true,
'google.ie': true,
'google.hu': true,
'google.ht': true,
'google.hr': true,
'google.hn': true,
'google.gy': true,
'google.gr': true,
'google.gp': true,
'google.gm': true,
'google.gl': true,
'google.gg': true,
'google.gf': true,
'google.ge': true,
'google.ga': true,
'google.fr': true,
'google.fm': true,
'google.fi': true,
'google.es': true,
'google.ee': true,
'google.dz': true,
'google.dm': true,
'google.dk': true,
'google.dj': true,
'google.de': true,
'google.cz': true,
'google.cv': true,
'google.com.vn': true,
'google.com.vc': true,
'google.com.uy': true,
'google.com.ua': true,
'google.com.tw': true,
'google.com.tr': true,
'google.com.tj': true,
'google.com.sv': true,
'google.com.sl': true,
'google.com.sg': true,
'google.com.sb': true,
'google.com.sa': true,
'google.com.qa': true,
'google.com.py': true,
'google.com.pr': true,
'google.com.pk': true,
'google.com.ph': true,
'google.com.pg': true,
'google.com.pe': true,
'google.com.pa': true,
'google.com.om': true,
'google.com.np': true,
'google.com.ni': true,
'google.com.ng': true,
'google.com.nf': true,
'google.com.na': true,
'google.com.my': true,
'google.com.mx': true,
'google.com.mt': true,
'google.com.mm': true,
'google.com.ly': true,
'google.com.lc': true,
'google.com.lb': true,
'google.com.kw': true,
'google.com.kh': true,
'google.com.jm': true,
'google.com.hk': true,
'google.com.gt': true,
'google.com.gi': true,
'google.com.gh': true,
'google.com.fj': true,
'google.com.et': true,
'google.com.eg': true,
'google.com.ec': true,
'google.com.do': true,
'google.com.cy': true,
'google.com.cu': true,
'google.com.co': true,
'google.com.bz': true,
'google.com.br': true,
'google.com.bo': true,
'google.com.bn': true,
'google.com.bh': true,
'google.com.bd': true,
'google.com.au': true,
'google.com.ar': true,
'google.com.ai': true,
'google.com.ag': true,
'google.com.af': true,
'google.co.zw': true,
'google.co.zm': true,
'google.co.za': true,
'google.co.vi': true,
'google.co.ve': true,
'google.co.uz': true,
'google.co.uk': true,
'google.co.ug': true,
'google.co.tz': true,
'google.co.th': true,
'google.co.pn': true,
'google.co.nz': true,
'google.co.mz': true,
'google.co.ma': true,
'google.co.ls': true,
'google.co.kr': true,
'google.co.ke': true,
'google.co.jp': true,
'google.co.in': true,
'google.co.il': true,
'google.co.id': true,
'google.co.cr': true,
'google.co.ck': true,
'google.co.bw': true,
'google.co.ao': true,
'google.cn': true,
'google.cm': true,
'google.cl': true,
'google.ci': true,
'google.ch': true,
'google.cg': true,
'google.cf': true,
'google.cd': true,
'google.cc': true,
'google.cat': true,
'google.ca': true,
'google.by': true,
'google.bt': true,
'google.bs': true,
'google.bj': true,
'google.bi': true,
'google.bg': true,
'google.bf': true,
'google.be': true,
'google.ba': true,
'google.az': true,
'google.at': true,
'google.as': true,
'google.am': true,
'google.al': true,
'google.ae': true,
'google.ad': true,
'google.ac': true,
'g.cn': true,
'yt.be': true,
'youtubegaming.com': true,
'youtubeeducation.com': true,
'youtube-nocookie.com': true,
'youtu.be': true,
'igoogle.com': true,
'gooogle.com': true,
'goolge.com': true,
'googlr.com': true,
'googlesyndication.com': true,
'googlesource.com': true,
'googlescholar.com': true,
'googlepagecreator.com': true,
'googlemembers.com': true,
'googlemember.com': true,
'googlemaps.com': true,
'googlemail.com': true,
'googleearth.com': true,
'googlee.com': true,
'googledrive.com': true,
'googlecommerce.com': true,
'googlecode.com': true,
'googlebot.com': true,
'googlearth.com': true,
'googleapps.com': true,
'googleapis.com': true,
'googleanalytics.com': true,
'googleadservices.com': true,
'google.org': true,
'google.net': true,
'google-analytics.com': true,
'googl.com': true,
'googil.com': true,
'googel.com': true,
'goo.gl': true,
'gogole.com': true,
'gogle.com': true,
'gmail.com': true,
'ggoogle.com': true,
'g.co': true,
'android.com': true,
'developer.android.com': true,
};
// Supported charsets for TextDecoder()
// https://developer.mozilla.org/en-US/docs/Web/API/TextDecoder/TextDecoder
const EncodingTypes = {

View File

@ -32,7 +32,7 @@ var interceptor = {};
interceptor.handleRequest = function (requestDetails, tabIdentifier, tab) {
let validCandidate, targetDetails, targetDomain, isGoogleFont, isGoogleMaterialIcons, initiatorDomain, isListed,
iframe;
iframe, isGoogleDomain;
iframe = '';
if (tab.url !== requestDetails.originUrl) {
@ -95,8 +95,9 @@ interceptor.handleRequest = function (requestDetails, tabIdentifier, tab) {
if (BrowserType.FIREFOX && isGoogleFont && !isGoogleMaterialIcons) {
initiatorDomain = helpers.extractDomainFromUrl(tab.url, true);
isListed = helpers.checkAllowlisted(initiatorDomain, interceptor.allowedDomainsGoogleFonts);
isGoogleDomain = helpers.isGoogleDomain(initiatorDomain);
// Check if the website is allowed to load Google Fonts
if (interceptor.blockGoogleFonts === true && isListed === false) {
if (interceptor.blockGoogleFonts === true && isListed === false && isGoogleDomain === false) {
console.log(`${LogString.PREFIX} Google fonts blocked ${requestDetails.url}`);
log.append(tab.url, requestDetails.url, '-', true, iframe);
interceptor._handleMissingCandidate(requestDetails.url, tabIdentifier);
@ -104,6 +105,11 @@ interceptor.handleRequest = function (requestDetails, tabIdentifier, tab) {
return {
'redirectUrl': chrome.runtime.getURL('resources/google-fonts-placeholder.css')
};
} else if (isGoogleDomain === true) {
console.log(`${LogString.PREFIX} Google fonts allowed, because Google Website ${initiatorDomain}`);
return {
'cancel': false
};
} else if (interceptor.blockGoogleFonts === false || isListed === true) {
return {
'cancel': false

View File

@ -272,6 +272,7 @@ mappings.cdn = {
'bootstrap/{version}/bootstrap.js': resources.bootstrapJS,
'bootstrap/{version}/bootstrap.min.css': resources.bootstrapCSS,
'bootstrap/{version}/bootstrap.css': resources.bootstrapCSS,
'bootswatch/{version}/flatly/': resources.bootswatchFlatly,
'bowser/{version}/': resources.bowserJS,
'bower-angular-translate/{version}/angular-translate.': resources.angularTranslate,
'bower-angular-translate-loader-partial/{version}/angular-translate-loader-partial.': resources.angularTranslateLoaderPartial,
@ -299,6 +300,7 @@ mappings.cdn = {
'corejs-typeahead/{version}/typeahead.bundle.': resources.corejsTypeahead,
'd3/{version}/d3.min.js': resources.d3JS,
'd3-legend/{version}/d3-legend.': resources.d3legend,
'datatables/{version}/': resources.datatables,
'dayjs/{version}/dayjs.': resources.dayjs,
'dexie/{version}/dexie.': resources.dexie,
'docsearch.js/{version}/docsearch.min.js': resources.docsearchJS,
@ -601,6 +603,7 @@ mappings.cdn = {
'bootstrap@{version}/dist/css/bootstrap.': resources.bootstrapCSS,
'bootstrap-icons@{version}/font/bootstrap-icons.css': resources.bootstrapIcons,
'bootstrap-icons@{version}/font/bootstrap-icons.min.css': resources.bootstrapIcons,
'bootstrap-select@{version}/dist/css/bootstrap-select.': resources.bootstrapSelectCSS,
'bootstrap-select@{version}/dist/js/bootstrap-select.': resources.bootstrapSelectJS,
'bootstrap-table@{version}/dist/bootstrap-table.min.js': resources.bootstrapTableJS,
'bootstrap-table@{version}/dist/bootstrap-table.js': resources.bootstrapTableJS,
@ -657,6 +660,9 @@ mappings.cdn = {
'jquery-ui-dist@{version}/jquery-ui.js': resources.jQueryUI,
'jquery-ui-dist@{version}/jquery-ui.min.js': resources.jQueryUI,
'jquery-validation@{version}/dist/jquery.validate.': resources.jqueryValidationPlugin,
'js-cookie@{version}/dist/js.cookie.js': resources.jscookie,
'js-cookie@{version}/dist/js.cookie.min.js': resources.jscookie,
'js-cookie@{version}/src/js.cookie.': resources.jscookie,
'leaflet@{version}/dist/leaflet.js': resources.leafletJS,
'leaflet@{version}/dist/leaflet.css': resources.leafletCSS,
'leaflet-easybutton@{version}/src/easy-button.js': resources.leafletEasyButton,

View File

@ -1,7 +1,7 @@
{
"manifest_version": 2,
"name": "LocalCDN",
"version": "2.6.57",
"version": "2.6.58",
"browser_specific_settings": {
"gecko": {
"id": "{b86e4813-687a-43e6-ab65-0bde4ab75758}",

View File

@ -294,3 +294,7 @@ helpers.compareVersion = function (v1, v2) {
}
return v1.length === v2.length ? true : v1.length < v2.length ? false : true;
};
helpers.isGoogleDomain = function (initiatorDomain) {
return GoogleDomains[initiatorDomain.replace('www.', '')] || false;
};

View File

@ -82,7 +82,7 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/algoliasearch/3.')) return '3.35.1';
if (type.startsWith('/algoliasearch/4.')) return '4.20.0';
if (type.startsWith('/alpinejs/2.')) return '2.8.2';
if (type.startsWith('/alpinejs/3.')) return '3.13.1';
if (type.startsWith('/alpinejs/3.')) return '3.13.2';
if (type.startsWith('/anchor-js/3.')) return '3.2.2';
if (type.startsWith('/anchor-js/4.')) return '4.3.1';
if (type.startsWith('/anchor-js/5.')) return '5.0.0';
@ -136,7 +136,7 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/appboy-web-sdk/3.')) return '3.5.1';
if (type.startsWith('/asciinema-player/2.')) return '2.6.1';
if (type.startsWith('/axios/0.')) return '0.27.2';
if (type.startsWith('/axios/1.')) return '1.5.1';
if (type.startsWith('/axios/1.')) return '1.6.0';
if (type.startsWith('/backbone.js/0.')) return '0.9.10';
if (type.startsWith('/backbone.js/1.')) return '1.5.0';
if (type.startsWith('/baguettebox.js/1.')) return '1.11.1';
@ -237,7 +237,7 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/instantsearch.css/7.')) return '7.4.5';
if (type.startsWith('/instantsearch.css/8.')) return '8.1.0';
if (type.startsWith('/instantsearch.js/3.')) return '3.7.0';
if (type.startsWith('/instantsearch.js/4.')) return '4.58.0';
if (type.startsWith('/instantsearch.js/4.')) return '4.59.0';
if (type.startsWith('/in-view/0.')) return '0.6.1';
if (type.startsWith('/iScroll/5.')) return '5.2.0';
if (type.startsWith('/izimodal/1.')) return '1.6.1';
@ -313,7 +313,7 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/Leaflet.EasyButton/2.')) return '2.4.0';
if (type.startsWith('/leaflet.featuregroup.subgroup/1.')) return '1.0.2';
if (type.startsWith('/leaflet.markercluster/1.')) return '1.5.3';
if (type.startsWith('/libphonenumber-js/1.')) return '1.10.47';
if (type.startsWith('/libphonenumber-js/1.')) return '1.10.49';
if (type.startsWith('/libsodium-wrappers/0.')) return '0.5.4';
if (type.startsWith('/lightbox2/2.')) return '2.11.4';
if (type.startsWith('/lightcase/2.')) return '2.5.0';
@ -369,7 +369,7 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/owl-carousel/2.')) return '2.3.4';
if (type.startsWith('/p2p-media-loader-core') || type.startsWith('/p2p-media-loader-hlsjs')) return '0.6.2';
if (type.startsWith('/p5.js/0.')) return '0.10.2';
if (type.startsWith('/p5.js/1.')) return '1.7.0';
if (type.startsWith('/p5.js/1.')) return '1.8.0';
if (type.startsWith('/page.js/1.')) return '1.11.6';
if (type.startsWith('/paginationjs/2.')) return '2.6.0';
if (type.startsWith('/plyr/3.')) return '3.7.8';
@ -392,12 +392,12 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/react-dom/18.')) return '18.2.0';
if (type.startsWith('/react-intl/')) {
// NOTE: Parameters swapped. (= anything greater than v5.0.0)
if (helpers.compareVersion(version, '5.0.0')) return '6.4.7'; // >= v5.0.0
if (helpers.compareVersion(version, '5.0.0')) return '6.5.1'; // >= v5.0.0
}
if (type.startsWith('/react-redux/7.')) return '7.2.8';
if (type.startsWith('/react-redux/8.')) return '8.1.3';
if (type.startsWith('/react-router/5.')) return '5.3.3';
if (type.startsWith('/react-router/6.')) return '6.16.0';
if (type.startsWith('/react-router/6.')) return '6.17.0';
if (type.startsWith('/react-side-effect/')) return '2.1.2';
if (type.startsWith('/react-lifecycles-compat/')) return '3.0.4';
if (type.startsWith('/redux/4.')) return '4.2.1';
@ -406,7 +406,7 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/scriptaculous/1.')) return '1.9.0';
if (type.startsWith('/ScrollMagic/2.')) return '2.0.8';
if (type.startsWith('/search-insights/1.')) return '1.10.0';
if (type.startsWith('/search-insights/2.')) return '2.8.3';
if (type.startsWith('/search-insights/2.')) return '2.9.0';
if (type.startsWith('/select2/3.')) return '3.5.4';
if (type.startsWith('/select2/4.')) return '4.0.13';
if (type.startsWith('/semantic-ui/2.')) return '2.5.0';
@ -434,7 +434,7 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/sticky-js/')) return '1.3.0';
if (type.startsWith('/store.js/2.')) return '2.0.12';
if (type.startsWith('/swagger-ui/4.')) return '4.18.3';
if (type.startsWith('/swagger-ui/5.')) return '5.9.0';
if (type.startsWith('/swagger-ui/5.')) return '5.9.1';
if (type.startsWith('/swfobject/2.')) return '2.2';
if (type.startsWith('/Swiper/3.')) return '3.4.2';
if (type.startsWith('/Swiper/4.')) return '4.5.1';
@ -443,14 +443,14 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/Swiper/7.')) return '7.4.1';
if (type.startsWith('/Swiper/8.')) return '8.4.7';
if (type.startsWith('/Swiper/9.')) return '9.4.1';
if (type.startsWith('/Swiper/10.') || type.startsWith('/Swiper/')) return '10.3.1';
if (type.startsWith('/Swiper/10.') || type.startsWith('/Swiper/11.') || type.startsWith('/Swiper/')) return '11.0.3';
if (type.startsWith('/tensorflow/')) {
// NOTE: Parameters swapped. (= anything greater than v2.0.0)
if (helpers.compareVersion(version, '2.0.0')) return '4.11.0'; // >= v2.0.0
if (helpers.compareVersion(version, '2.0.0')) return '4.12.0'; // >= v2.0.0
}
if (type.startsWith('/tether/1.')) return '1.4.7';
if (type.startsWith('/tinymce/5.')) return '5.10.5';
if (type.startsWith('/tinymce/6.')) return '6.7.0';
if (type.startsWith('/tinymce/6.')) return '6.7.2';
if (type.startsWith('/tooltipster/3.')) return '3.3.0';
if (type.startsWith('/tooltipster/4.')) return '4.2.8';
if (type.startsWith('/toastr.js/2.') || type.startsWith('/toastr.js/latest/')) return '2.1.4';
@ -471,7 +471,7 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/underscore.js/1.')) return '1.13.6';
if (type.startsWith('/URI.js/1.')) return '1.19.11';
if (type.startsWith('/urlive/1.')) return '1.1.1';
if (type.startsWith('/vanilla-lazyload')) return '17.8.4';
if (type.startsWith('/vanilla-lazyload')) return '17.8.5';
if (type.startsWith('/vex-js/3.')) return '3.1.1';
if (type.startsWith('/vex-js/4.')) return '4.1.0';
if (type.startsWith('/videojs-seek-buttons/1.')) return '1.6.0';
@ -482,13 +482,13 @@ targets.setLastVersion = function (type, version) {
if (helpers.compareVersion('5.20.5', version)) return '5.20.5'; // <= 5.20.5
if (helpers.compareVersion('6.13.0', version)) return '6.13.0'; // > 5.20.5 to <= 6.13.0
if (helpers.compareVersion('7.21.1', version)) return '7.21.1'; // > 6.13.0 to <= 7.21.1
return '8.6.0';
return '8.6.1';
}
if (type.startsWith('/vue/1.')) return '1.0.28';
if (type.startsWith('/vue/2.')) return '2.6.14';
if (type.startsWith('/vue/3.')) return '3.3.4';
if (type.startsWith('/vue/3.')) return '3.3.7';
if (type.startsWith('/vue-i18n/8.')) return '8.27.2';
if (type.startsWith('/vue-i18n/9.')) return '9.5.0';
if (type.startsWith('/vue-i18n/9.')) return '9.6.1';
if (type.startsWith('/vue-match-media/1.')) return '1.0.3';
if (type.startsWith('/vue-resource/1.')) return '1.5.3';
if (type.startsWith('/vue-router/3.')) return '3.6.5';

View File

@ -34,7 +34,11 @@ optionsOther._renderIconSection = function (opt) {
return;
}
selectedIcon = opt.selectedIcon;
if (opt.selectedIcon === null || opt.selectedIcon === undefined) {
selectedIcon = 'Default';
} else {
selectedIcon = opt.selectedIcon;
}
if (selectedIcon === 'Default') {
document.getElementById('icon-default').checked = true;

View File

@ -196,7 +196,7 @@ options._configureLinkPrefetching = function (value) {
};
options._serializeAllowlistedDomains = function (allowlistedDomains) {
if (allowlistedDomains === undefined) {
if (allowlistedDomains === undefined || allowlistedDomains === null) {
return '';
}

View File

@ -145,7 +145,7 @@ popup._renderDomainAllowlistPanel = function () {
googleFontsToggleElement = document.getElementById('google-fonts-toggle-switch');
if (popup._blockGoogleFonts === false) {
if (popup._blockGoogleFonts === false || helpers.isGoogleDomain(popup._domain) === true) {
document.getElementById('div-google-fonts').hidden = true;
}
@ -295,7 +295,9 @@ popup._determineStatusGoogleFonts = function () {
};
chrome.runtime.sendMessage(message, function (response) {
popup._domainGoogleFonts = response.value;
if (response !== undefined) {
popup._domainGoogleFonts = response.value;
}
resolve();
});
});

View File

@ -27,24 +27,34 @@
<div class="release-notes-area">
<p>Updated</p>
<ul>
<li>highlight.js v11.8.0 -> v11.9.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1546">#1546</a>)</li>
<li>search-insights v2.8.2 -> v2.8.3 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1547">#1547</a>)</li>
<li>axios v1.5.0 -> v1.5.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1548">#1548</a>)</li>
<li>Swiper v10.3.0 -> v10.3.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1549">#1549</a>)</li>
<li>video.js v8.5.3 -> v8.6.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1550">#1550</a>)</li>
<li>alpinejs v3.13.0 -> v3.13.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1551">#1551</a>)</li>
<li>swagger-ui v5.7.2 -> v5.9.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1552">#1552</a>)</li>
<li>mdb-ui-kit v6.4.1 -> v6.4.2 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1553">#1553</a>)</li>
<li>react-redux v8.1.2 -> v8.1.3 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1554">#1554</a>)</li>
<li>markdown-it v13.0.1 -> v13.0.2 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1555">#1555</a>)</li>
<li>jquery-validate v1.19.5 -> v1.20.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1556">#1556</a>)</li>
<li>vue-i18n v9.4.1 -> v9.5.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1557">#1557</a>)</li>
<li>instantsearch.js v4.57.0 -> v4.58.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1558">#1558</a>)</li>
<li>libphonenumber-js v1.10.44 -> v1.10.47 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1559">#1559</a>)</li>
<li>tinymce v6.7.0 -> v6.7.2 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1562">#1562</a>)</li>
<li>react-intl v6.4.7 -> v6.5.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1563">#1563</a>)</li>
<li>search-insights v2.8.3 -> v2.9.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1564">#1564</a>)</li>
<li>vanilla-lazyload v17.8.4 -> v17.8.5 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1565">#1565</a>)</li>
<li>alpinejs v3.13.1 -> v3.13.2 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1566">#1566</a>)</li>
<li>axios v1.5.1 -> v1.6.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1567">#1567</a>)</li>
<li>react-router v6.16.0 -> v6.17.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1568">#1568</a>)</li>
<li>Swiper v10.3.1 -> v11.0.3 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1569">#1569</a>)</li>
<li>video.js v8.6.0 -> v8.6.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1570">#1570</a>)</li>
<li>vue v3.3.4 -> v3.3.7 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1571">#1571</a>)</li>
<li>swagger-ui v5.9.0 -> v5.9.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1572">#1572</a>)</li>
<li>p5.js v1.7.0 -> v1.8.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1573">#1573</a>)</li>
<li>tensorflow v4.11.0 -> v4.12.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1574">#1574</a>)</li>
<li>vue-i18n v9.5.0 -> v9.6.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1575">#1575</a>)</li>
<li>instantsearch.js v4.58.0 -> v4.59.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1576">#1576</a>)</li>
<li>libphonenumber-js v1.10.47 -> v1.10.49 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1577">#1577</a>)</li>
</ul>
<p>Improved</p>
<ul>
<li>Update manifest.json to prepare Firefox for Android support and new signing method by Mozilla (<a href="https://codeberg.org/nobody/LocalCDN/issues/136">#136</a>)</li>
<li>Allow Google fonts for Google services by default and permanently (<a href="https://codeberg.org/nobody/LocalCDN/issues/1560">#1560</a>)</li>
<li>Firefox Sync (<a href="https://codeberg.org/nobody/LocalCDN/issues/1510">#1510</a>)</li>
</ul>
<p>Mapping</p>
<ul>
<li>bootswatch -> cdnjs.cloudflare.com (<a href="https://codeberg.org/nobody/LocalCDN/issues/1561">#1561</a>)</li>
<li>datatables -> cdnjs.cloudflare.com (<a href="https://codeberg.org/nobody/LocalCDN/issues/1561">#1561</a>)</li>
<li>bootstrap-select -> cdn.jsdelivr.net (<a href="https://codeberg.org/nobody/LocalCDN/issues/1561">#1561</a>)</li>
<li>js-cookie -> cdn.jsdelivr.net (<a href="https://codeberg.org/nobody/LocalCDN/issues/1561">#1561</a>)</li>
</ul>
</div>
<div id="generator-section">
@ -83,6 +93,28 @@
</div>
<div id="history"><span id="history-indicator">+</span> Previous Versions</div>
<div id="history-release-notes">
<p class='release-date'>2023-10-12 (v2.6.57)</p>
<p>Updated</p>
<ul>
<li>highlight.js v11.8.0 -> v11.9.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1546">#1546</a>)</li>
<li>search-insights v2.8.2 -> v2.8.3 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1547">#1547</a>)</li>
<li>axios v1.5.0 -> v1.5.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1548">#1548</a>)</li>
<li>Swiper v10.3.0 -> v10.3.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1549">#1549</a>)</li>
<li>video.js v8.5.3 -> v8.6.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1550">#1550</a>)</li>
<li>alpinejs v3.13.0 -> v3.13.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1551">#1551</a>)</li>
<li>swagger-ui v5.7.2 -> v5.9.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1552">#1552</a>)</li>
<li>mdb-ui-kit v6.4.1 -> v6.4.2 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1553">#1553</a>)</li>
<li>react-redux v8.1.2 -> v8.1.3 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1554">#1554</a>)</li>
<li>markdown-it v13.0.1 -> v13.0.2 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1555">#1555</a>)</li>
<li>jquery-validate v1.19.5 -> v1.20.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1556">#1556</a>)</li>
<li>vue-i18n v9.4.1 -> v9.5.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1557">#1557</a>)</li>
<li>instantsearch.js v4.57.0 -> v4.58.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1558">#1558</a>)</li>
<li>libphonenumber-js v1.10.44 -> v1.10.47 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1559">#1559</a>)</li>
</ul>
<p>Improved</p>
<ul>
<li>Update manifest.json to prepare Firefox for Android support and new signing method by Mozilla (<a href="https://codeberg.org/nobody/LocalCDN/issues/136">#136</a>)</li>
</ul>
<p class='release-date'>2023-09-23 (v2.6.56)</p>
<p>Updated</p>
<ul>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
/**
* React Router v6.16.0
* React Router v6.17.0
*
* Copyright (c) Remix Software Inc.
*

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long