When using parent element as URL selector:
* If no <a> inside some elements, ignore them
* If no <a> inside ALL elements, report an error
Fixes#3573 #issuecomment-1656943318
* [core] replace everything except bridge name to get a valid whitelist.txt
* [core] do not use hard code repository name to improve working with forks
* [core] trim bridge names from whitelist.txt to reduce chance of failure
* [CssSelectorBridge] Improvements (#3537)
* Improve parameter documentation / add tooltips
* Allow extracting content from home page instead of article page
* Keep titles from home page when every page <title> is the same
* [CssSelectorBridge] Code linting
* [CssSelectorBridge] Code linting (2)
* [CssSelectorBridge] Code linting (3)
— fix cookie pattern
– use data analytics attributes wherever possible to avoid relying on obfuscated class names
— add support for promoted offers
— include sponsored and promoted offers by default
— some additional refactoring
serialize() can return output with null bytes and other
non-text data. The prior behavior truncated data
which later results in unserialize() errors.
This happens when e.g. caching an object with a private field
or when caching e.g. a JPEG file (starts with 0xFFD8FFE1)
Fixes errors such as e.g.:
unserialize(): Error at offset 20 of 24 bytes at caches/SQLiteCache.php line 51
* [TikTokBridge] Use another way to get videos infos to include video link
* [TikTokBridge] Use cover if dynamicCover is empty
* [TikTokBridge] Add support for the rest of item params
It is possible to have a cached item with a very old mtime but it's technically expired.
So, check for presence of time and whether the time it is within 10 days
* refactor(cache): extract and encapsulate cache expiration logic
* fix: logic bug in getSimpleHTMLDOMCached
* fix: silly me, index should of course be on the key column
* silly me again, PRIMARY keys get index by default lol
* comment out the delete portion in loadData
* remove a few log statements
* tweak twitter cache timeout
* [ImgsedBridge] Add new Instagram Bridge Alternative
Imgsed is a Website adverstised on instagram website, that's is not
behind Cloudflare Anti Bot feature.
You can select to display Posts, Tags, and Stories of a specific
username
* [ImgsedBridge] Fix empty defaultValue
Because "contentText" is always present, PHP warnings were previously
generated for posts without text.
Existence of sub-property "runs" gets checked now to avoid this.
* Add CustomBridge
For advanced users. Create RSS feed using HTML selectors.
* [CssSelectorBridge] Refactor, Allow Unexpanded
Rename bridge to CssSelectorBridge
Allow unexpanded feed, i.e. make feed from home page only (1 request)
Refactor bridge to put most of the code into protected functions
Makes the code more maintainable and allows inheritance for variants
* [CssSelectorBridge] Fix linting