jvoisin
54b5be5e7d
Significantly simplify/speed up the sanitizer
...
- Use constant time access for maps instead of iterating on them
- Build a ~large whitelist map inline instead of constructing it item by item
(and remove a duplicate key/value pair)
- Use `slices` instead of hand-rolled loops
2024-02-25 17:29:46 -08:00
Frédéric Guillot
eae4cb1417
Add feed option to disable HTTP/2 to avoid fingerprinting
2024-02-24 22:30:26 -08:00
jvoisin
b48ad6dbfb
Make use of go≥1.21 slices package instead of hand-rolled loops
...
This makes the code a tad smaller, moderner,
and maybe even marginally faster, yay!
2024-02-24 20:22:53 -08:00
jvoisin
c544dadd55
Fix categories import from Thunderbird's OPML
...
Thunderbird OPML exports are looking like this:
```xml
<opml version="1.0" xmlns:fz="urn:forumzilla:">
<head>
<title>Thunderbird OPML Export - RSS</title>
<dateCreated>Sat, 24 Feb 2024 11:31:13 GMT</dateCreated>
</head>
<body>
<outline title="News">
<outline type="rss" ...>
<outline type="rss" ...>
...
</outline>
<outline title="Blogs">
<outline type="rss" ...>
<outline type="rss" ...>
...
</outline>
</body>
```
This commit make it so that categories are now correctly imported.
2024-02-24 19:43:33 -08:00
Frédéric Guillot
c595c80356
Handle RDF feeds with duplicated <title> elements
2024-02-23 17:40:58 -08:00
Matt Stobo
4a50ca9122
Allow filtering feeds on entry.Author
2024-01-31 19:42:07 -08:00
Dave
1159dd6982
Add addDynamicIframe
rewrite function.
...
Add unit tests for `add_dynamic_iframe` rewrite.
2024-01-23 19:23:57 -08:00
dzaikos
d68f2306c6
Add attribute to add_dynamic_image rewrite candidates.
2024-01-21 14:27:06 -08:00
Frédéric Guillot
8553188ae4
Add missing translation argument
2024-01-20 10:48:27 -08:00
Frédéric Guillot
ce32d181d5
Change default Accept header
2024-01-13 13:53:57 -08:00
Filipe de Luna
1441dc7600
Update entry processor to allow blocking/keeping entries by tags
2024-01-09 21:15:11 -08:00
Jan Tojnar
074393d3bf
fix: Include type for OPML subscriptions
...
As per [OPML 2.0 specification]:
> Each sub-element of the body of the OPML document is a node of type rss or an outline element that contains nodes of type rss.
> Required attributes: type, text, xmlUrl.
[OPML 2.0 specification]: http://opml.org/spec2.opml#subscriptionLists
2023-12-31 10:00:50 -08:00
Darwin
d90667777f
request_builder.go: fetcher: Force try HTTP/2
2023-12-15 16:27:00 -08:00
Kristof Mattei
0465f9b188
fix: tests for allow popups to escape sandbox
2023-12-10 16:59:58 -08:00
Kristof Mattei
d53ad3b79a
fix: clicking youtube links in iframes returns ERR_BLOCKED_BY_RESPONSE
2023-12-10 16:59:58 -08:00
Frédéric Guillot
d0f99cee1a
Regression: ensure all HTML documents are encoded in UTF-8
...
Fixes #2196
2023-12-01 16:52:03 -08:00
Frédéric Guillot
5de0714256
Deduplicate feed URLs when parsing HTML document during discovery process
...
Fixes #2232
2023-12-01 13:57:05 -08:00
Shizun Ge
27ec6dbd7d
Setting NextCheckAt due to TTL of a feed in feed.go.
...
Add unit tests.
2023-12-01 12:22:30 -08:00
Thomas J Faughnan Jr
fe0ef8b579
Fix conditional requests regression
...
The recent HTTP client refactor in 14e25ab9fe
caused feed refreshes to no longer make conditional requests. Prior to
the refactor, `client.WithCacheHeaders` handled this. Now this function
is split into `fetcher.WithETag` and `fetcher.WithLastModified` but
these functions are only declared and never actually used. Fix this by
calling them inside `handler.RefreshFeed`.
2023-11-29 19:46:50 -08:00
Thomas J Faughnan Jr
7a03291442
Fix default User-Agent regression
...
The recent HTTP client refactor in 14e25ab9fe
introduced a bug in which the global default User-Agent is no longer
used for requests. Unless a per-feed User-Agent exists, the Go standard
library's default User-Agent is used, which looks something like
"Go-http-client/1.1". To fix this, make RequestBuilder.WithUserAgent
take an additional argument, the default User-Agent, which will be used
if there is no per-feed User-Agent (i.e. it is an empty string).
Fixes #2188
Fixes #2189
2023-11-18 20:57:47 +01:00
Frédéric Guillot
e3eaaea15a
Update date parser to parse more invalid date formats
2023-11-01 20:55:35 +01:00
Frédéric Guillot
500c60b807
Fix error handling and logging issue after refactoring
2023-11-01 19:59:12 +01:00
Nicholas Parker
257e8c4761
Allow iframes pointing to Twitch videos
...
Docs: https://dev.twitch.tv/docs/embed/video-and-clips/#non-interactive-inline-frames-for-live-streams-and-vods
2023-10-27 10:02:57 -07:00
Tianfeng Wang
a1537f4b0d
Filter feed entries based on url or title
2023-10-25 19:38:08 -07:00
Frédéric Guillot
eeaab72a9f
Refactor feed discovery and avoid an extra HTTP request if the url provided is the feed
2023-10-22 18:05:37 -07:00
Frédéric Guillot
14e25ab9fe
Refactor HTTP Client and LocalizedError packages
2023-10-22 13:09:30 -07:00
Ryan Stafford
120aabfbce
Add RSS-Bridge integration
2023-10-22 11:10:56 -07:00
Frédéric Guillot
5e6c054345
Take RSS TTL field into consideration to schedule next check date
2023-10-20 20:11:05 -07:00
Frédéric Guillot
5ac3489ee5
Do not log website without icon as warning
2023-10-19 20:36:51 -07:00
Frédéric Guillot
9fd2dfa680
Refactor icon finder
...
Changes:
- Continue the discovery process when the feed icon is invalid
- Search all icons from the HTML document and do not stop on the first one
2023-10-18 22:24:56 -07:00
Frédéric Guillot
7650c81ad9
Add support for SVG icons with data url without encoding
2023-10-18 20:46:46 -07:00
Frédéric Guillot
7b541af253
Replace github.com/rylans/getlang with github.com/abadojack/whatlanggo
...
github.com/rylans/getlang doesn't seems to be updated anymore
2023-10-06 22:04:31 -07:00
Frédéric Guillot
c0e954f19d
Implement structured logging using log/slog package
2023-09-24 22:37:33 -07:00
Adriano Di Luzio
54cb8fa028
Added new rewrite rules add_hn_links_using_hack
and add_hn_links_using_opener
to open HN comments with iOS apps
2023-09-23 13:54:48 -07:00
Frédéric Guillot
3b94217fb7
Make sure icon URLs are always absolute
...
Regression introduced in #1907
2023-09-09 14:59:44 -07:00
Frédéric Guillot
48f6885f44
Add generic webhook integration
2023-09-09 13:11:42 -07:00
fuchsrot
32d33104a4
Apprise Service Urls per feed
2023-09-09 10:59:04 -07:00
Frédéric Guillot
36f013670e
Strip HTML tags from DublinCore Creator tags
2023-09-08 17:39:49 -07:00
Magnus Åhall
69738bce84
Add replace_title
write rule to adjust entry titles
2023-09-06 20:09:54 -07:00
jgbresson
691f56fde9
Update rules.go for webtoons.com
...
Include author text
2023-08-18 16:53:14 -07:00
Frédéric Guillot
e5d9f2f5a0
Rename internal url package to avoid overlap with net/url
2023-08-13 19:57:04 -07:00
fb8737e330
feat: use podcast duration tag as reading time
2023-08-12 18:14:29 -07:00
Frédéric Guillot
168a870c02
Move internal packages to an internal folder
...
For reference: https://go.dev/doc/go1.4#internalpackages
2023-08-10 20:29:34 -07:00