Revision bac96457
Added by koszko over 1 year ago
| index.json | ||
|---|---|---|
| 33 | 33 | 
    "version": [2022, 2, 18],  | 
| 34 | 34 | 
    "description": "Make accuweather.com display its contents without nonfree JavaScript.",  | 
| 35 | 35 | 
    	"payloads": {
   | 
| 36 | 
    // * https://www.accuweather.com/en/pl/krakow/2-274455_1_al/weather-forecast/2-274455_1_al  | 
|
| 37 | 
    // * https://www.accuweather.com/en/us/new-york/10007/weather-forecast/349727  | 
|
| 38 | 
    // Or just go https://www.accuweather.com/en/search-locations?query=<NAME_OF_SOME_CITY>  | 
|
| 39 | 
    // and select a city from the list.  | 
|
| 36 | 40 | 
    	    "https://www.accuweather.com/***": {
   | 
| 37 | 41 | 
    "identifier": "accuweather-com-fix"  | 
| 38 | 42 | 
    }  | 
| ... | ... | |
| 56 | 60 | 
    "version": [2022, 2, 18],  | 
| 57 | 61 | 
    "description": "Make bandcamp.com inline player usable without nonfree JavaScript.",  | 
| 58 | 62 | 
    	"payloads": {
   | 
| 63 | 
    // * https://old.reddit.com/search?q=url%3Abandcamp.com%2Ftrack%2F <- to get more testing links  | 
|
| 64 | 
    // * https://chaiofficial.bandcamp.com/track/whole  | 
|
| 65 | 
    // * https://studio273.bandcamp.com/track/sweet  | 
|
| 59 | 66 | 
    	    "https://*.bandcamp.com/track/*": {
   | 
| 60 | 67 | 
    "identifier": "bandcamp-com-fix"  | 
| 61 | 68 | 
    }  | 
| ... | ... | |
| 79 | 86 | 
    "version": [2022, 2, 18],  | 
| 80 | 87 | 
    "description": "Make app.box.com files downloadable without nonfree JavaScript.",  | 
| 81 | 88 | 
    	"payloads": {
   | 
| 89 | 
    // * https://old.reddit.com/domain/app.box.com/ <- to get more testing links  | 
|
| 90 | 
    // * https://uwmadison.app.box.com/s/ydht2incbdmw1lhpjg5t40adguc0fm14  | 
|
| 91 | 
    // * https://app.box.com/s/gc4ygloi4qtimeh98dq9mmydyuydawcn  | 
|
| 92 | 
    // * https://app.box.com/s/vysdh2u78yih3c8leetgq82il954a3g3  | 
|
| 93 | 
    // * https://app.box.com/s/nnlplkmjhimau404qohh9my10pwmo8es  | 
|
| 94 | 
    // * https://ucla.app.box.com/s/mv32q624ojihohzh8d0mhhj0b3xluzbz  | 
|
| 95 | 
    // * https://app.box.com/s/6qktxunhz5sjkheg1a8iihvu4mofpdue  | 
|
| 82 | 96 | 
    	    "https://***.app.box.com/s/*": {
   | 
| 83 | 97 | 
    "identifier": "app-box-fix"  | 
| 84 | 98 | 
    }  | 
| ... | ... | |
| 86 | 100 | 
        }, {
   | 
| 87 | 101 | 
     | 
| 88 | 102 | 
    "type": "resource",  | 
| 89 | 
    	"identifier":   "pcspecialist-co-uk-fix-cookienotice",
   | 
|
| 90 | 
    	"long_name":    "PCSpecialist cookie notice fix",
   | 
|
| 103 | 
    	"identifier":   "pcspecialist-fix-notice",
   | 
|
| 104 | 
    "long_name": "PCSpecialist notice fix",  | 
|
| 91 | 105 | 
    "uuid": "ce43448d-7c51-4e63-91b0-d69ffd4dd4d1",  | 
| 92 | 
    	"version":      [2022, 2, 18],
   | 
|
| 106 | 
    	"version":      [2022, 2, 21],
   | 
|
| 93 | 107 | 
    "revision": 1,  | 
| 94 | 
    	"description":  "Make pcspecialist.co.uk cookie notice closable without nonfree JavaScript.",
   | 
|
| 108 | 
    	"description":  "Make PCSpecialist cookie and language notices closable without nonfree JavaScript.",
   | 
|
| 95 | 109 | 
    "dependencies": [],  | 
| 96 | 
    	"scripts":      [{"file": "src/pcspecialist_cookie_notice.js"}]
   | 
|
| 110 | 
    	"scripts":      [{"file": "src/pcspecialist_notice.js"}]
   | 
|
| 97 | 111 | 
        }, {
   | 
| 98 | 112 | 
    "type": "resource",  | 
| 99 | 
    	"identifier":   "pcspecialist-co-uk-fix-priceview",
   | 
|
| 113 | 
    "identifier": "pcspecialist-fix-priceview",  | 
|
| 100 | 114 | 
    "long_name": "PCSpecialist price display fix",  | 
| 101 | 115 | 
    "uuid": "57a21d8a-8d7b-466b-b9c9-69d835619e4d",  | 
| 102 | 
    	"version":      [2022, 2, 18],
   | 
|
| 116 | 
    	"version":      [2022, 2, 21],
   | 
|
| 103 | 117 | 
    "revision": 1,  | 
| 104 | 
    	"description":  "Make pcspecialist.co.uk product prices viewable without nonfree JavaScript.",
   | 
|
| 105 | 
    "dependencies": [],  | 
|
| 118 | 
    	"description":  "Make PCSpecialist product prices viewable without nonfree JavaScript.",
   | 
|
| 119 | 
    	"dependencies": [{"identifier": "pcspecialist-fix-notice"}],
   | 
|
| 106 | 120 | 
    	"scripts":      [{"file": "src/pcspecialist_display_prices.js"}]
   | 
| 107 | 121 | 
        }, {
   | 
| 108 | 122 | 
    "type": "mapping",  | 
| 109 | 
    	"identifier":   "pcspecialist-co-uk-fix",
   | 
|
| 123 | 
    "identifier": "pcspecialist-fix",  | 
|
| 110 | 124 | 
    "long_name": "PCSpecialist fix",  | 
| 111 | 125 | 
    "uuid": "159a2adc-9b05-4dc6-9eb3-e18ee3843d8d",  | 
| 112 | 
    	"version":      [2022, 2, 18],
   | 
|
| 113 | 
    	"description":  "Make pcspecialist.co.uk cookie notice closable and display prices without nonfree JavaScript.",
   | 
|
| 126 | 
    	"version":      [2022, 2, 21],
   | 
|
| 127 | 
    	"description":  "Make PCSpecialist cookie notice closable and display prices without nonfree JavaScript.",
   | 
|
| 114 | 128 | 
    	"payloads": {
   | 
| 129 | 
    // https://www.pcspecialist.co.uk/  | 
|
| 115 | 130 | 
    	    "https://www.pcspecialist.co.uk/***": {
   | 
| 116 | 
    		"identifier": "pcspecialist-co-uk-fix-cookienotice"
   | 
|
| 131 | 
    		"identifier": "pcspecialist-fix-notice"
   | 
|
| 117 | 132 | 
    },  | 
| 133 | 
    // https://www.pcspecialist.pl/  | 
|
| 134 | 
    	    "https://www.pcspecialist.pl/***": {
   | 
|
| 135 | 
    "identifier": "pcspecialist-fix-notice"  | 
|
| 136 | 
    },  | 
|
| 137 | 
    // https://www.pcspecialist.co.uk/view/AURORA-ELITE/  | 
|
| 118 | 138 | 
    	    "https://www.pcspecialist.co.uk/view/*": {
   | 
| 119 | 
    "identifier": "pcspecialist-co-uk-fix-priceview"  | 
|
| 139 | 
    "identifier": "pcspecialist-fix-priceview"  | 
|
| 140 | 
    },  | 
|
| 141 | 
    // https://www.pcspecialist.pl/widok/Torva-Elite/  | 
|
| 142 | 
    	    "https://www.pcspecialist.pl/widok/*": {
   | 
|
| 143 | 
    "identifier": "pcspecialist-fix-priceview"  | 
|
| 120 | 144 | 
    }  | 
| 121 | 145 | 
    }  | 
| 122 | 146 | 
        }, {
   | 
| ... | ... | |
| 138 | 162 | 
    "version": [2022, 2, 18],  | 
| 139 | 163 | 
    "description": "Make it possible to sumbit SMS code on acsv.centrum24.pl without nonfree JavaScript.",  | 
| 140 | 164 | 
    	"payloads": {
   | 
| 165 | 
    // Only possible to use when paying with a credit/debit card online.  | 
|
| 141 | 166 | 
    	    "https://acsv.centrum24.pl/ACS/servlet/ACSAuthoriz": {
   | 
| 142 | 167 | 
    "identifier": "acsv-centrum24-pl-fix-authorize"  | 
| 143 | 168 | 
    }  | 
| ... | ... | |
| 171 | 196 | 
    "identifier": "google-forms-fix",  | 
| 172 | 197 | 
    "long_name": "Google Forms submission (incomplete) fix",  | 
| 173 | 198 | 
    "uuid": "23f51630-6118-4ef2-9709-2a1dba7ebb52",  | 
| 174 | 
    	"version":      [2022, 2, 18],
   | 
|
| 199 | 
    	"version":      [2022, 2, 21],
   | 
|
| 175 | 200 | 
    "revision": 1,  | 
| 176 | 201 | 
    "description": "Enable filling and submitting of Google Forms without nonfree JavaScript.",  | 
| 177 | 202 | 
    "dependencies": [],  | 
| ... | ... | |
| 181 | 206 | 
    "identifier": "google-forms-fix",  | 
| 182 | 207 | 
    "long_name": "Google Forms submission (incomplete) fix",  | 
| 183 | 208 | 
    "uuid": "0aba91dc-e552-4276-a981-1a56d30f9058",  | 
| 184 | 
    	"version":      [2022, 2, 18],
   | 
|
| 209 | 
    	"version":      [2022, 2, 21],
   | 
|
| 185 | 210 | 
    "description": "Enable filling and submitting of Google Forms without nonfree JavaScript.",  | 
| 186 | 211 | 
    	"payloads": {
   | 
| 187 | 
    	    "https://docs.google.com/forms/d/e/**": {
   | 
|
| 212 | 
    // * https://old.reddit.com/search?q=url%3Adocs.google.com%2Fforms <- to get more testing links  | 
|
| 213 | 
    // * https://docs.google.com/forms/d/e/1FAIpQLSeptahnx4tj-mr2QIzKiy1LN0HrZVR88-XwVtKDb33KbshaQA/viewform  | 
|
| 214 | 
    // * https://docs.google.com/forms/d/e/1FAIpQLSeswHRJzUMWnCQPnaGHeB3xM7YyJdWMf2eMpHJOnetLEoeXmw/viewform  | 
|
| 215 | 
    // * https://docs.google.com/forms/d/e/1FAIpQLSeptahnx4tj-mr2QIzKiy1LN0HrZVR88-XwVtKDb33KbshaQA/viewform  | 
|
| 216 | 
    	    "https://docs.google.com/forms/d/**": {
   | 
|
| 188 | 217 | 
    "identifier": "google-forms-fix"  | 
| 189 | 218 | 
    }  | 
| 190 | 219 | 
    }  | 
| ... | ... | |
| 207 | 236 | 
    "version": [2022, 2, 18],  | 
| 208 | 237 | 
    "description": "Enable browsing of Google Drive folders without nonfree JavaScript.",  | 
| 209 | 238 | 
    	"payloads": {
   | 
| 239 | 
    // * https://old.reddit.com/search?q=url%3Adrive.google.com%2Fdrive%2Ffolders%2F <- to get testing links  | 
|
| 210 | 240 | 
    	    "https://drive.google.com/drive/folders/***": {
   | 
| 211 | 241 | 
    "identifier": "google-drive-fix-browse"  | 
| 212 | 242 | 
    }  | 
| ... | ... | |
| 230 | 260 | 
    "version": [2022, 2, 18],  | 
| 231 | 261 | 
    "description": "Enable download of Google Drive files without nonfree JavaScript.",  | 
| 232 | 262 | 
    	"payloads": {
   | 
| 263 | 
    // * https://old.reddit.com/search?q=url%3Adrive.google.com%2Fdrive%2Ffile%2Fd%2F <- to get testing links  | 
|
| 233 | 264 | 
    	    "https://drive.google.com/file/d/**": {
   | 
| 234 | 265 | 
    "identifier": "google-drive-fix-download"  | 
| 235 | 266 | 
    }  | 
| ... | ... | |
| 240 | 271 | 
    "identifier": "google-sheets-fix-display",  | 
| 241 | 272 | 
    "long_name": "Google Sheets display&download fix",  | 
| 242 | 273 | 
    "uuid": "268235b0-85d5-4170-b90f-7722926f0a93",  | 
| 243 | 
    	"version":      [2022, 2, 18, 1],
   | 
|
| 274 | 
    	"version":      [2022, 2, 21],
   | 
|
| 244 | 275 | 
    "revision": 1,  | 
| 245 | 
    	"description":  "Make spreadsheets on drive.google.com viewable and downloadable without nonfree JavaScript.",
   | 
|
| 276 | 
    	"description":  "Make spreadsheets on docs.google.com viewable and downloadable without nonfree JavaScript.",
   | 
|
| 246 | 277 | 
    "dependencies": [],  | 
| 247 | 278 | 
    	"scripts":      [{"file": "src/google_sheets_download.js"}]
   | 
| 248 | 279 | 
        }, {
   | 
| ... | ... | |
| 250 | 281 | 
    "identifier": "google-sheets-fix-display",  | 
| 251 | 282 | 
    "long_name": "Google Sheets display&download fix",  | 
| 252 | 283 | 
    "uuid": "adf53341-685d-4c20-b481-d5c778144ec6",  | 
| 253 | 
    	"version":      [2022, 2, 18],
   | 
|
| 254 | 
    	"description":  "Make spreadsheets on drive.google.com viewable and downloadable without nonfree JavaScript.",
   | 
|
| 284 | 
    	"version":      [2022, 2, 21],
   | 
|
| 285 | 
    	"description":  "Make spreadsheets on docs.google.com viewable and downloadable without nonfree JavaScript.",
   | 
|
| 255 | 286 | 
    	"payloads": {
   | 
| 287 | 
    // * https://old.reddit.com/search?q=url%3Adocs.google.com%2Fspreadsheets%2Fd%2F <- to get testing links  | 
|
| 256 | 288 | 
    	    "https://docs.google.com/spreadsheets/d/**": {
   | 
| 257 | 289 | 
    "identifier": "google-sheets-fix-display"  | 
| 258 | 290 | 
    }  | 
| ... | ... | |
| 276 | 308 | 
    "version": [2022, 2, 18],  | 
| 277 | 309 | 
    "description": "Make videos on archive.org playable without relying on site-served JavaScript.",  | 
| 278 | 310 | 
    	"payloads": {
   | 
| 311 | 
    // * https://archive.org/details/opensource_movies <- to get testing links  | 
|
| 279 | 312 | 
    	    "https://archive.org/details/*": {
   | 
| 280 | 313 | 
    "identifier": "internet-archive-fix-videos"  | 
| 281 | 314 | 
    }  | 
| ... | ... | |
| 299 | 332 | 
    "version": [2022, 2, 18],  | 
| 300 | 333 | 
    "description": "Make library catalogs on worldcat.org searchable without nonfree JavaScript.",  | 
| 301 | 334 | 
    	"payloads": {
   | 
| 335 | 
    // * https://old.reddit.com/search?q=url%3Aworldcat.org%2Ftitle%2F <- to get testing links  | 
|
| 302 | 336 | 
    	    "https://www.worldcat.org/title/**": {
   | 
| 303 | 337 | 
    "identifier": "worldcat-org-fix"  | 
| 304 | 338 | 
    },  | 
| ... | ... | |
| 312 | 346 | 
    "identifier": "odysee-com-fix",  | 
| 313 | 347 | 
    "long_name": "Odysee fix",  | 
| 314 | 348 | 
    "uuid": "3309cb13-9910-4bdd-ab15-d6bb4f84c16a",  | 
| 315 | 
    	"version":      [2022, 2, 18],
   | 
|
| 349 | 
    	"version":      [2022, 2, 21],
   | 
|
| 316 | 350 | 
    "revision": 1,  | 
| 317 | 351 | 
    "description": "Make video playback and search on odysee.com functional without nonfree JavaScript.",  | 
| 318 | 352 | 
    "dependencies": [],  | 
| ... | ... | |
| 325 | 359 | 
    "version": [2022, 2, 18],  | 
| 326 | 360 | 
    "description": "Make video playback and search on odysee.com functional without nonfree JavaScript.",  | 
| 327 | 361 | 
    	"payloads": {
   | 
| 362 | 
    // To test go to https://odysee.com/, then try searching for videos  | 
|
| 363 | 
    // and playing them.  | 
|
| 328 | 364 | 
    	    "https://odysee.com/***": {
   | 
| 329 | 365 | 
    "identifier": "odysee-com-fix"  | 
| 330 | 366 | 
    }  | 
| ... | ... | |
| 358 | 394 | 
    "identifier": "rgs-org-fix-exhibitions",  | 
| 359 | 395 | 
    "long_name": "Royal Geographical Society online exhibitions fix",  | 
| 360 | 396 | 
    "uuid": "041bc23a-86ca-4c98-8bc2-2965baa0f5f9",  | 
| 361 | 
    	"version":      [2022, 2, 18],
   | 
|
| 397 | 
    	"version":      [2022, 2, 21],
   | 
|
| 362 | 398 | 
    "revision": 1,  | 
| 363 | 399 | 
    "description": "Make online exhibitions pages on rgs.org viewable without nonfree JavaScript.",  | 
| 364 | 400 | 
    "dependencies": [],  | 
| ... | ... | |
| 371 | 407 | 
    "version": [2022, 2, 18],  | 
| 372 | 408 | 
    "description": "Make online exhibitions pages on rgs.org viewable without nonfree JavaScript.",  | 
| 373 | 409 | 
    	"payloads": {
   | 
| 410 | 
    // To test go to https://www.rgs.org/about/our-collections/online-exhibitions/  | 
|
| 411 | 
    // and navigate to subpages from there.  | 
|
| 374 | 412 | 
    	    "https://www.rgs.org/about/our-collections/online-exhibitions/***": {
   | 
| 375 | 413 | 
    "identifier": "rgs-org-fix-exhibitions"  | 
| 376 | 414 | 
    }  | 
| ... | ... | |
| 394 | 432 | 
    "version": [2022, 2, 18],  | 
| 395 | 433 | 
    "description": "Make benchmarks in phoronix.com articles display without nonfree JavaScript.",  | 
| 396 | 434 | 
    	"payloads": {
   | 
| 435 | 
    // To test use your preferred search engine to search for  | 
|
| 436 | 
    // "phoronix com benchmarks" - most of the articles that show up  | 
|
| 437 | 
    // should have some openbenchmarking.org benchmarks in them.  | 
|
| 397 | 438 | 
    	    "https://www.phoronix.com/***": {
   | 
| 398 | 439 | 
    "identifier": "phoronix-com-fix-benchmarks"  | 
| 399 | 440 | 
    }  | 
| ... | ... | |
| 417 | 458 | 
    "version": [2022, 2, 18],  | 
| 418 | 459 | 
    "description": "Make it possible to sign SumOfUs petitions without nonfree Javascript.",  | 
| 419 | 460 | 
    	"payloads": {
   | 
| 461 | 
    // * https://actions.sumofus.org/a/mps-protect-the-indigenous-people-and-scrap-draft-bill-490-2007-1  | 
|
| 420 | 462 | 
    	    "https://actions.sumofus.org/a/*": {
   | 
| 421 | 463 | 
    "identifier": "sumofus-fix"  | 
| 422 | 464 | 
    }  | 
| ... | ... | |
| 437 | 479 | 
    "identifier": "stack-exchange-fix-cookienotice",  | 
| 438 | 480 | 
    "long_name": "StackExchange cookie notice fix",  | 
| 439 | 481 | 
    "uuid": "ed01ce66-2dae-492f-9448-7e6309970315",  | 
| 440 | 
    	"version":      [2022, 2, 18],
   | 
|
| 482 | 
    	"version":      [2022, 2, 21],
   | 
|
| 441 | 483 | 
    "description": "Make cookie notice on StackExchange websites closable without nonfree JavaScript.",  | 
| 442 | 484 | 
    	"payloads": {
   | 
| 443 | 485 | 
    // The list of domains can be constructed by going to  | 
| ... | ... | |
| 446 | 488 | 
    // .filter(n => n.nodeName === "A" && n.href)  | 
| 447 | 489 | 
    // .map(n => n.href)  | 
| 448 | 490 | 
    // .filter(u => !/^https:\/\/[^.]+\.stackexchange.com\/$/.test(u))  | 
| 449 | 
    	    "https://stackoverflow.com/***": {
   | 
|
| 450 | 
    "identifier": "stack-exchange-fix-cookienotice"  | 
|
| 451 | 
    },  | 
|
| 491 | 
    //  | 
|
| 492 | 
    // * https://academia.stackexchange.com/questions/182562/results-that-are-too-good-to-be-true-peer-review  | 
|
| 493 | 
    // * https://stackoverflow.com  | 
|
| 494 | 
    // * https://superuser.com  | 
|
| 452 | 495 | 
    	    "https://serverfault.com/***": {
   | 
| 453 | 496 | 
    "identifier": "stack-exchange-fix-cookienotice"  | 
| 454 | 497 | 
    },  | 
| ... | ... | |
| 504 | 547 | 
    "version": [2022, 2, 18],  | 
| 505 | 548 | 
    "description": "Watch YouTube videos on yewtu.be instead.",  | 
| 506 | 549 | 
    	"payloads": {
   | 
| 550 | 
    // * https://youtube.com/watch?v=aqz-KE-bpKQ  | 
|
| 551 | 
    // * https://www.youtube.com/embed/aqz-KE-bpKQ  | 
|
| 507 | 552 | 
    	    "https://www.youtube.com/***": {
   | 
| 508 | 553 | 
    "identifier": "yewtube-com-redirect-yewtube"  | 
| 509 | 554 | 
    }  | 
| ... | ... | |
| 527 | 572 | 
    "version": [2022, 2, 18],  | 
| 528 | 573 | 
    "description": "Watch vaticannews.va embedded YouTube videos on yewtu.be instead.",  | 
| 529 | 574 | 
    	"payloads": {
   | 
| 575 | 
    // * https://www.vaticannews.va/en/vatican-city/news/2022-02/caritas-cambodia-retreat-czerny-video-message-care-fraternity.html  | 
|
| 576 | 
    // Or just go to vaticannews.va and look for an article with video  | 
|
| 577 | 
    // in it.  | 
|
| 530 | 578 | 
    	    "https://www.vaticannews.va/***": {
   | 
| 531 | 579 | 
    "identifier": "vaticannews-va-fix-videos"  | 
| 532 | 580 | 
    }  | 
| src/box.js | ||
|---|---|---|
| 40 | 40 | 
    * proprietary program, I am not going to enforce this in court.  | 
| 41 | 41 | 
    */  | 
| 42 | 42 | 
     | 
| 43 | 
    // meta: match should be https://***.app.box.com/s/* (*** instead of * for the first section because otherwise plain app.box.com URLs won't work)  | 
|
| 44 | 
    // meta: some test cases (mostly found at https://old.reddit.com/search?q="box.com"&include_over_18=on&sort=new)  | 
|
| 45 | 
    // https://uwmadison.app.box.com/s/ydht2incbdmw1lhpjg5t40adguc0fm14  | 
|
| 46 | 
    // umadison's enrollment report  | 
|
| 47 | 
     | 
|
| 48 | 
    // https://app.box.com/s/gc4ygloi4qtimeh98dq9mmydyuydawcn  | 
|
| 49 | 
    // password-protected 7z file (nsfw)  | 
|
| 50 | 
    // https://app.box.com/shared/static/su6xx6zx50cd68zdtbm3wfxhh9kwke8x.zip  | 
|
| 51 | 
    // a soundtrack in a zip file  | 
|
| 52 | 
    // This is a static download, so it works without this script.  | 
|
| 53 | 
    // https://app.box.com/s/vysdh2u78yih3c8leetgq82il954a3g3  | 
|
| 54 | 
    // some gambling ad  | 
|
| 55 | 
    // pptx  | 
|
| 56 | 
    // https://app.box.com/s/nnlplkmjhimau404qohh9my10pwmo8es  | 
|
| 57 | 
    // a list of books(?)  | 
|
| 58 | 
    // txt  | 
|
| 59 | 
    // https://ucla.app.box.com/s/mv32q624ojihohzh8d0mhhj0b3xluzbz  | 
|
| 60 | 
    // "COVID-19 Pivot Plan Decision Matrix"  | 
|
| 61 | 
    // If you load the proprietary scripts on this page, you'll see that there is no download button  | 
|
| 62 | 
    // TODO: find a public folder link (the private links I have seem to work)  | 
|
| 63 | 
    // TODO: find a (preferably public) link with a folder inside a folder, as these may need to be handled differently  | 
|
| 43 | 
    /*  | 
|
| 44 | 
    * Use with https://***.app.box.com/s/*  | 
|
| 45 | 
    * '***' instead of '*' for the first section because otherwise plain app.box.com  | 
|
| 46 | 
    * URLs won't work.  | 
|
| 47 | 
    */  | 
|
| 48 | 
     | 
|
| 49 | 
    // TODO: find a public folder link (the private links I have seem to work)  | 
|
| 50 | 
    // TODO: find a (preferably public) link with a folder inside a folder, as these may need to be handled differently  | 
|
| 64 | 51 | 
     | 
| 65 | 52 | 
    /* Extract data from a script that sets multiple variables. */ // from here: https://api-demo.hachette-hydrilla.org/content/sgoogle_sheets_download/google_sheets_download.js  | 
| 66 | 53 | 
     | 
| src/google_forms.js | ||
|---|---|---|
| 4 | 4 | 
    * (Incomplete) Fix for Google Forms  | 
| 5 | 5 | 
    *  | 
| 6 | 6 | 
    * Copyright © 2021 jahoti <jahoti@tilde.team>  | 
| 7 | 
    * Copyright 2022 Wojtek Kosior <koszko@koszko.org>  | 
|
| 7 | 8 | 
    *  | 
| 8 | 9 | 
    * Licensed under the Apache License, Version 2.0 (the "License");  | 
| 9 | 10 | 
    * you may not use this file except in compliance with the License.  | 
| ... | ... | |
| 16 | 17 | 
    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  | 
| 17 | 18 | 
    * See the License for the specific language governing permissions and  | 
| 18 | 19 | 
    * limitations under the License.  | 
| 20 | 
    *  | 
|
| 21 | 
    * I, Wojtek Kosior, thereby promise not to sue for violation of this file's  | 
|
| 22 | 
    * license. Although I request that you do not make use of this code in a way  | 
|
| 23 | 
    * incompliant with the license, I am not going to enforce this in court.  | 
|
| 19 | 24 | 
    */  | 
| 20 | 25 | 
     | 
| 21 | 26 | 
    var form = document.forms[0];  | 
| ... | ... | |
| 24 | 29 | 
    var name = 'entry.' + data[0][4][0][0];  | 
| 25 | 30 | 
        var input = div.querySelector('input');
   | 
| 26 | 31 | 
     | 
| 32 | 
        if (!input) {
   | 
|
| 33 | 
    	console.error(`cannot enable input ${name}`, div);
   | 
|
| 34 | 
    continue;  | 
|
| 35 | 
    }  | 
|
| 36 | 
     | 
|
| 27 | 37 | 
        if (input.name === name + '_sentinel') { // Radio
   | 
| 28 | 
    	for (input of div.querySelectorAll('.appsMaterialWizToggleRadiogroupElContainer')) {
   | 
|
| 29 | 
    	    div = document.createElement('input');
   | 
|
| 30 | 
    	    div.type = 'radio';
   | 
|
| 31 | 
    	    div.name = name;
   | 
|
| 32 | 
    	    div.value = input.nextElementSibling.innerText.trim();
   | 
|
| 33 | 
    	    input.parentNode.replaceChild(div, input);
   | 
|
| 38 | 
    	for (const input_div of div.querySelectorAll('.appsMaterialWizToggleRadiogroupEl')) {
   | 
|
| 39 | 
    	    const new_radio = document.createElement('input');
   | 
|
| 40 | 
    	    new_radio.type = 'radio';
   | 
|
| 41 | 
    	    new_radio.name = name;
   | 
|
| 42 | 
    	    new_radio.value = input_div.getAttribute("data-value");
   | 
|
| 43 | 
    	    input_div.replaceWith(new_radio);
   | 
|
| 34 | 44 | 
    }  | 
| 35 | 45 | 
        } else {
   | 
| 36 | 46 | 
    	input.removeAttribute('disabled');
   | 
| ... | ... | |
| 51 | 61 | 
    form.submit();  | 
| 52 | 62 | 
    }  | 
| 53 | 63 | 
     | 
| 54 | 
    for (div of document.querySelectorAll('.freebirdFormviewerViewNavigationNoSubmitButton')) {
   | 
|
| 55 | 
        input = document.createElement('button');
   | 
|
| 64 | 
    const submit_selector = ".freebirdFormviewerViewNavigationSubmitButton";  | 
|
| 65 | 
    const next_selector = ".freebirdFormviewerViewNavigationNoSubmitButton";  | 
|
| 66 | 
    for (const but_div of document.querySelectorAll(submit_selector))  | 
|
| 67 | 
        but_div.addEventListener("click", () => form.submit());
   | 
|
| 56 | 68 | 
     | 
| 57 | 
    data = div.innerText.trim();  | 
|
| 58 | 
    input.innerText = data;  | 
|
| 59 | 
    if (data.toLowerCase() === 'next')  | 
|
| 60 | 
    input.onclick = goToNext;  | 
|
| 61 | 
    else if (data.toLowerCase() === 'submit')  | 
|
| 62 | 
    input.type = 'submit';  | 
|
| 63 | 
    div.parentNode.replaceChild(input, div);  | 
|
| 64 | 
    }  | 
|
| 69 | 
    for (const but_div of document.querySelectorAll(next_selector))  | 
|
| 70 | 
        but_div.addEventListener("click", goToNext);
   | 
|
| 65 | 71 | 
     | 
| 66 | 
    // TODO: back, instate previous entries  | 
|
| 72 | 
    // TODO: back, instate previous entries, fix form parts that still don't work  | 
|
| src/odysee.js | ||
|---|---|---|
| 287 | 287 | 
    description_div.textContent = result.value.description;  | 
| 288 | 288 | 
     | 
| 289 | 289 | 
    	    result_a.setAttribute("style", "display: block; width: 100%; text-decoration: none; color: #333; margin: 8px; border-style: solid; border-width: 3px 0 0 0; border-color: #7aa;");
   | 
| 290 | 
    	    result_a.href = `https://odysee.com${channel_specifier}/${video_name}:${video_id}`;
   | 
|
| 290 | 
    	    result_a.href = `https://odysee.com/${channel_specifier}/${video_name}:${video_id}`;
   | 
|
| 291 | 291 | 
     | 
| 292 | 292 | 
    if (result.value.thumbnail.url)  | 
| 293 | 293 | 
    result_a.appendChild(thumbnail);  | 
| ... | ... | |
| 325 | 325 | 
     | 
| 326 | 326 | 
    function get_detailed_search_entries(new_results_div, response)  | 
| 327 | 327 | 
    {
   | 
| 328 | 
        /* TODO: Simplify JSON handling using sanitize_JSON.js from Hachette. */
   | 
|
| 328 | 
        /* TODO: Simplify JSON handling using JSON schemas. */
   | 
|
| 329 | 329 | 
        try {
   | 
| 330 | 330 | 
    var response_data = JSON.parse(response);  | 
| 331 | 331 | 
    if (!Array.isArray(response_data))  | 
| src/pcspecialist_cookie_notice.js | ||
|---|---|---|
| 1 | 
    /**  | 
|
| 2 | 
    * SPDX-License-Identifier: Apache-2.0  | 
|
| 3 | 
    *  | 
|
| 4 | 
    * Copyright © 2021 jahoti <jahoti@tilde.team>  | 
|
| 5 | 
    *  | 
|
| 6 | 
    * Licensed under the Apache License, Version 2.0 (the "License");  | 
|
| 7 | 
    * you may not use this file except in compliance with the License.  | 
|
| 8 | 
    * You may obtain a copy of the License at  | 
|
| 9 | 
    *  | 
|
| 10 | 
    * http://www.apache.org/licenses/LICENSE-2.0  | 
|
| 11 | 
    *  | 
|
| 12 | 
    * Unless required by applicable law or agreed to in writing, software  | 
|
| 13 | 
    * distributed under the License is distributed on an "AS IS" BASIS,  | 
|
| 14 | 
    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  | 
|
| 15 | 
    * See the License for the specific language governing permissions and  | 
|
| 16 | 
    * limitations under the License.  | 
|
| 17 | 
    */  | 
|
| 18 | 
     | 
|
| 19 | 
    const jbc = document.querySelector('.cc-policy');
   | 
|
| 20 | 
     | 
|
| 21 | 
    jbc.querySelector('.cc-buttons').onclick = () => jbc.parentNode.removeChild(jbc);
   | 
|
| src/pcspecialist_display_prices.js | ||
|---|---|---|
| 32 | 32 | 
    }  | 
| 33 | 33 | 
    }  | 
| 34 | 34 | 
     | 
| 35 | 
    	const url = 'https://www.pcspecialist.co.uk/ajax/running_total.php?categories=' + names.join('%2C') +
   | 
|
| 35 | 
    	const url = '/ajax/running_total.php?categories=' + names.join('%2C') +
   | 
|
| 36 | 36 | 
    		    '%2C&products=' + values.join('%2C') + '%2C&q=' + form.querySelector('input[name="q"]').value + '&form_id=' + formId;
   | 
| 37 | 37 | 
     | 
| 38 | 38 | 
    xhr.onreadystatechange = priceUpdated;  | 
| src/pcspecialist_notice.js | ||
|---|---|---|
| 1 | 
    /**  | 
|
| 2 | 
    * SPDX-License-Identifier: Apache-2.0  | 
|
| 3 | 
    *  | 
|
| 4 | 
    * Copyright © 2021 jahoti <jahoti@tilde.team>  | 
|
| 5 | 
    * Copyright 2022 Wojtek Kosior <koszko@koszko.org>  | 
|
| 6 | 
    *  | 
|
| 7 | 
    * Licensed under the Apache License, Version 2.0 (the "License");  | 
|
| 8 | 
    * you may not use this file except in compliance with the License.  | 
|
| 9 | 
    * You may obtain a copy of the License at  | 
|
| 10 | 
    *  | 
|
| 11 | 
    * http://www.apache.org/licenses/LICENSE-2.0  | 
|
| 12 | 
    *  | 
|
| 13 | 
    * Unless required by applicable law or agreed to in writing, software  | 
|
| 14 | 
    * distributed under the License is distributed on an "AS IS" BASIS,  | 
|
| 15 | 
    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  | 
|
| 16 | 
    * See the License for the specific language governing permissions and  | 
|
| 17 | 
    * limitations under the License.  | 
|
| 18 | 
    *  | 
|
| 19 | 
    * I, Wojtek Kosior, thereby promise not to sue for violation of this file's  | 
|
| 20 | 
    * license. Although I request that you do not make use of this code in a way  | 
|
| 21 | 
    * incompliant with the license, I am not going to enforce this in court.  | 
|
| 22 | 
    */  | 
|
| 23 | 
     | 
|
| 24 | 
    /* Make cookie notice closable. */  | 
|
| 25 | 
    const to_rem = document.querySelectorAll(".cc-policy-overlay, .cc-policy");
   | 
|
| 26 | 
     | 
|
| 27 | 
    for (const cc_button of document.querySelectorAll(".cc-policy .cc-buttons"))
   | 
|
| 28 | 
        cc_button.addEventListener("click", () => to_rem.forEach(n => n.remove()));
   | 
|
| 29 | 
     | 
|
| 30 | 
    /* Make country selection popup closable. */  | 
|
| 31 | 
    const langbox_remover = () => document.getElementById("langbox").remove();
   | 
|
| 32 | 
     | 
|
| 33 | 
    const link_selector = ".country_flag a[onclick], .country_button a[onclick]";  | 
|
| 34 | 
    for (const a of document.querySelectorAll(link_selector))  | 
|
| 35 | 
        a.addEventListener("click", langbox_remover);
   | 
|
| src/royal_geographical_society.js | ||
|---|---|---|
| 1 | 1 | 
    /**  | 
| 2 | 
     * SPDX-License-Identifier: Apache-2.0
   | 
|
| 2 | 
     * SPDX-License-Identifier: CC0-1.0
   | 
|
| 3 | 3 | 
    *  | 
| 4 | 
     * Copyright © 2021 jahoti <jahoti@tilde.team>
   | 
|
| 4 | 
     * Unhide RGS exhibitions page after it loads without nonfree js.
   | 
|
| 5 | 5 | 
    *  | 
| 6 | 
    * Licensed under the Apache License, Version 2.0 (the "License");  | 
|
| 7 | 
    * you may not use this file except in compliance with the License.  | 
|
| 8 | 
    * You may obtain a copy of the License at  | 
|
| 6 | 
    * Copyright (C) 2021 Wojtek Kosior <koszko@koszko.org>  | 
|
| 9 | 7 | 
    *  | 
| 10 | 
    * http://www.apache.org/licenses/LICENSE-2.0  | 
|
| 8 | 
    * This program is free software: you can redistribute it and/or modify  | 
|
| 9 | 
    * it under the terms of the CC0 1.0 Universal License as published by  | 
|
| 10 | 
    * the Creative Commons Corporation.  | 
|
| 11 | 11 | 
    *  | 
| 12 | 
    * Unless required by applicable law or agreed to in writing, software  | 
|
| 13 | 
    * distributed under the License is distributed on an "AS IS" BASIS,  | 
|
| 14 | 
    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  | 
|
| 15 | 
    * See the License for the specific language governing permissions and  | 
|
| 16 | 
    * limitations under the License.  | 
|
| 12 | 
    * This program is distributed in the hope that it will be useful,  | 
|
| 13 | 
    * but WITHOUT ANY WARRANTY; without even the implied warranty of  | 
|
| 14 | 
    * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the  | 
|
| 15 | 
    * CC0 1.0 Universal License for more details.  | 
|
| 17 | 16 | 
    */  | 
| 18 | 17 | 
     | 
| 19 | 
    document.documentElement.style.visibility = 'visible';  | 
|
| 20 | 
    document.documentElement.style.opacity = '100';  | 
|
| 18 | 
    const unhide_style = "visibility: visible !important; opacity: 1 !important;";  | 
|
| 19 | 
    document.documentElement.setAttribute("style", unhide_style);
   | 
|
Also available in: Unified diff
improve some of the fixes and add sample URLs for testing