Commit graph

879 commits

Author SHA1 Message Date
jackyzy823
c7a78a7f43 fix slashes between hastags 2022-02-20 14:29:35 +01:00
yoshiyoshyosh
3590ded482
revert previous "fix", move absolute under embed 2022-02-19 20:01:11 -06:00
yoshiyoshyosh
139b7edebc
fix embed css 2022-02-19 19:12:26 -06:00
yoshiyoshyosh
2c97cb0763
Update _base.scss 2022-02-19 16:37:12 -06:00
jackyzy823
67c937a3a2 ignore banner url startwith hash in link preload 2022-02-14 14:47:01 +01:00
jackyzy823
7ca3591920 fix non-ascii hashtag regex 2022-02-14 09:20:32 +01:00
Zed
6695784050 Fix user search parser 2022-02-11 22:41:45 +01:00
niladic
3e2756df6f
Fix RSS <source> tag 2022-02-11 08:50:32 +01:00
decoy-walrus
644fe41a08 Use the correct format string for fetching files from twitter.
Per their docs https://developer.twitter.com/en/docs/twitter-api/v1/data-dictionary/object-model/entities#photo_format
2022-02-08 14:50:56 -05:00
decoy-walrus
4cdb8f78cb Add new endpoint for original resolution images
This change is to work around the issue that chromium based browsers have handling the "name=orig" parameter appended to URLs. This parameter is needed to retrieve the full resolution image from twitter, but causes those browsers to fill in "jpg_name=orig" as the extension on the filename.

This change adds a new endpoint, "/pic/orig/<encoded media>". This new endpoint will internally fetch the URL with ":orig" appended on the end for the full res image. Externally, the endpoint will serve the image without the extra parameter to expose the real extension to the browser.

This new endpoint is used when rendering tweets with attached images. The old endpoint is still in place for all other proxied images, and for any legacy links.

I also updated the "?name=small" parameter to ":small" since that seems to be the new pattern for image sizing.

This should fix issue #458.
2022-02-07 16:21:20 -05:00
Zed
adfd31c530 Fix timeline parser 2022-02-07 21:58:06 +01:00
Mitarashi
e01f3960cb Embed CSS tweak 2022-02-05 19:43:13 +02:00
Zed
b1a90cd52b Disable input autocomplete
Fixes #433
2022-01-30 17:19:00 +01:00
Zed
8ecac89ea0 Fix hidePinned preference 2022-01-30 16:59:07 +01:00
Zed
f10519c41a Minor RSS behavior improvements 2022-01-27 14:55:51 +01:00
Zed
091bb6813d Move RSS compression to Redis module, fix crash 2022-01-27 14:36:12 +01:00
Zed
3a076a9b4e Add experimental parser module 2022-01-26 21:05:23 +01:00
Zed
4738ec3385 Add experimental user search parser 2022-01-26 20:56:05 +01:00
Zed
49a2fbb070 Support profile image color parsing in wip parser 2022-01-26 18:36:12 +01:00
Zed
a54d6aa1eb Add experimental GraphQL list members parser 2022-01-26 18:04:01 +01:00
Zed
ae7091e69d Add experimental GraphQL user parser 2022-01-26 18:04:01 +01:00
Mitarashi
d56628ed2f removed spaces 2022-01-24 21:55:14 +02:00
Mitarashi
e4f634705b Fix #521 2022-01-24 21:53:59 +02:00
Zed
c9b451d3ea Set listMembers max remaining to 500 2022-01-24 12:29:03 +01:00
Zed
4ffe7d7665 Fix compilation with Nim 1.4.8 2022-01-23 14:47:13 +01:00
Zed
182b5ba90b Support quotes in pinned tweets 2022-01-23 10:15:54 +01:00
Zed
d1a3e7ab58 Fix empty pinned tweets when status wasn't found 2022-01-23 09:12:13 +01:00
Zed
f58824cb35 Add URL to request errors 2022-01-23 08:38:38 +01:00
Zed
c355beda85 Cleanup profile fetching logic 2022-01-23 08:17:41 +01:00
Zed
27183f1a74 Use faster API to get pinned tweets 2022-01-23 07:45:01 +01:00
Zed
51ae076ea0 Rearchitect profile, support pins, Profile -> User 2022-01-23 07:23:09 +01:00
Zed
79b98a8081 Simplify bad http client pruning 2022-01-23 07:23:09 +01:00
Zed
cdb4efadfe Temporary fix to Twitter's global timeline error 2022-01-21 09:17:18 +01:00
Zed
a76ca3d60f Remove Redis pipelining 2022-01-20 02:22:32 +01:00
Zed
b01810e261 Improve profile page elements, reduce jank
Fixes #167
2022-01-17 05:59:16 +01:00
Zed
43b0bdc08a Remove user agents 2022-01-17 04:13:27 +01:00
Zed
e0b141daf9 Small optimization for photo rail request size 2022-01-17 03:21:38 +01:00
Zed
f3d6f53f6d Rework profile cache behavior, fix suspended cache
Fixes #480
2022-01-16 20:32:45 +01:00
Zed
23f87c115a Add template to make Redis usage cleaner 2022-01-16 19:22:27 +01:00
Zed
fff04de24b Simplify new error handling 2022-01-16 18:28:40 +01:00
Zed
3d91ae0256 Set tokens to expire 5 minutes early
Prevents occasional usage of tokens the very second they expire
2022-01-16 17:57:18 +01:00
Zed
3ab778b49c Remove old parseUserShow proc 2022-01-16 06:34:38 +01:00
Zed
6f348f2f2e Strip trailing newlines from tweets 2022-01-16 06:18:01 +01:00
Zed
cdf49dcddd Add experimental user parser 2022-01-16 06:01:13 +01:00
Zed
fcfc1ef497 Parse user stats as ints, not strings, cleanup 2022-01-16 03:32:18 +01:00
Zed
54330f0b0c Fix quote avatar css 2022-01-14 23:12:33 +01:00
Mitarashi
6ebfafde80 added tweet background and bumped css 2022-01-14 21:07:02 +02:00
Mitarashi
eff098003f unified function call styles 2022-01-14 20:45:02 +02:00
Mitarashi
aee222eb62 Merge branch 'embedded' of https://github.com/LainLayer/nitter into embedded 2022-01-14 20:36:06 +02:00
Mitarashi
d29186bf8f stylistic changes 2022-01-14 20:35:01 +02:00
alqeeu
1e027f5edf
Update src/routes/embed.nim
Co-authored-by: Zed <zedeus@pm.me>
2022-01-14 20:33:01 +02:00
alqeeu
74fcc071a3
Update src/sass/tweet/_base.scss
Co-authored-by: Zed <zedeus@pm.me>
2022-01-14 20:32:50 +02:00
Mitarashi
ac0edc0a41 made twitter embed links redirect to nitter ones 2022-01-14 20:24:06 +02:00
Mitarashi
a6bd05bca6 fixed more stupid code 2022-01-14 20:14:06 +02:00
Mitarashi
90eae2669b fixed stupid code (sorry) 2022-01-14 20:11:51 +02:00
Mitarashi
784d0d42ac minor css change and version bump 2022-01-14 19:49:36 +02:00
Mitarashi
817501a516 wrapped embedded tweet in div and changed css
also bumped css version
2022-01-14 19:44:09 +02:00
Mitarashi
875a2c5387 moved themes to be handled in renderHead and changed path to /embed 2022-01-14 19:34:10 +02:00
Mitarashi
3579bd8e30 handled unavailable in renderEmbeddedTweet 2022-01-14 19:17:10 +02:00
Mitarashi
0d3469df66 changed code to be not shit 2022-01-14 19:01:47 +02:00
Mitarashi
7f15993a74 crude implementation of embedding tweets 2022-01-14 15:23:53 +02:00
Zed
888e965f41 Unify avatar class generation 2022-01-14 03:16:44 +01:00
Mitarashi
3afe330f23 removed weird spaces at end of line 2022-01-13 23:59:30 +02:00
Mitarashi
8d557bc490 minor changes 2022-01-13 23:58:07 +02:00
Mitarashi
b2948e3071 refined code 2022-01-13 23:54:22 +02:00
Mitarashi
bc337027ca Implemented square profile pictures
- Added preference "Square profile pictures"
2022-01-13 22:44:47 +02:00
Zed
111927a21c Add experimental support for unified_card
Closes #345
2022-01-13 12:17:18 +01:00
Zed
8a6fbe81ab Fix video processing crash
Closes #512
2022-01-12 19:19:14 +01:00
Zed
6c6386913e Remove nim-regex dependency, improve performance 2022-01-11 03:22:31 +01:00
Zed
0e5da8c305 Reimplement titleize without regex 2022-01-10 16:18:10 +01:00
Zed
63b9e8dbc1 Cleanup 2022-01-10 00:45:35 +01:00
Zed
db74fa8893 Remove capture group from titleization regex 2022-01-10 00:37:04 +01:00
Zed
c042c84203 Add auto theme that uses Twitter dark
Closes #332
2022-01-10 00:36:13 +01:00
Zed
23b36d4268 Prevent bad staticDir from causing problems 2022-01-09 23:55:17 +01:00
Zed
4ec2874008 Use staticDir to load about page
Fixes #414
Closes #406
2022-01-09 23:48:25 +01:00
Zed
8c2e0c66e2 Render markdown files with a tool 2022-01-09 23:35:56 +01:00
Zed
f21e192a8f Improve mobile responsiveness 2022-01-06 15:21:42 +01:00
Zed
ffcac982d0 Style fixes 2022-01-06 03:57:14 +01:00
Zed
f5ba2b62e7 Add audiospace to list of unsupported cards 2022-01-06 03:37:27 +01:00
Zed
d4c6876bc9 Add more info to /.tokens endpoint 2022-01-06 00:42:18 +01:00
Zed
4d9fd1a6f8 Use int for token reset instead of Time 2022-01-06 00:19:09 +01:00
Zed
34964f9e56 Track pending token requests to limit concurrency 2022-01-05 23:52:45 +01:00
Zed
f9c9b0d3a4 Add /.tokens debug endpoint to see token pool 2022-01-05 22:49:16 +01:00
Zed
dd71e60f35 Track token rate limits per endpoint 2022-01-05 22:48:45 +01:00
Zed
d726894555 Remove unused profile API 2022-01-05 22:17:14 +01:00
Zed
ab0c487778 Fix gallery caching to prevent redundant requests 2022-01-05 21:15:13 +01:00
Zed
18cf95ed77 Add enableDebug config to turn on logs 2022-01-05 19:20:01 +01:00
Mitarashi
f52e675ca2 bumped css version 2022-01-05 14:34:45 +02:00
Mitarashi
33dd55067b fixed formatting and removed not needed padding 2022-01-05 14:27:52 +02:00
Mitarashi
6dd64b02fc made tweet stats not show number if its equal to 0 and modified css a bit 2022-01-05 14:10:02 +02:00
Zed
9a578b3cbb Improve Nitter version string on about page 2022-01-03 08:55:01 +01:00
Zed
0ef90270b7 Fix video placeholder image preload 2022-01-03 06:31:10 +01:00
Zed
27e49376fa Rearrange date string 2022-01-03 03:52:39 +01:00
Zed
80ebec3122 Unify tweet date formatting, add UTC
Closes #65
2022-01-03 03:38:59 +01:00
Zed
bc352cdb65 Simplify video rendering 2022-01-03 03:27:29 +01:00
Zed
47ed1a3ae8 Fix video placeholder thumbnail not showing 2022-01-03 02:55:25 +01:00
Zed
bb981df657 Improve and simplify preferences page behavior 2022-01-03 02:40:28 +01:00
Mitarashi
b14fb0162f replaced newsletter_publication with newsletterPublication 2022-01-02 14:48:52 +02:00
Zed
74c4377198 More cleanup 2022-01-02 11:21:03 +01:00
Zed
a9034928eb Fix video duration parser 2022-01-02 10:58:02 +01:00
Zed
9dd7419ecf Cleanup 2022-01-02 07:02:02 +01:00
Zed
19a89b79f5 Remove RSS title truncation temporarily 2021-12-31 13:30:19 +01:00
Zed
1ce6ff2b2f Improve search and list error messages 2021-12-30 23:48:57 +01:00
Zed
b8a3ffb0c4 Add description and verified to video cards 2021-12-30 23:24:53 +01:00
Zed
aed31b2269 Add slug-based list RSS endpoint for compatibility 2021-12-30 20:55:10 +01:00
Zed
5501752fdb Merge branch 'rework-list' 2021-12-30 20:51:24 +01:00
jackyzy823
a25bd0855b fix datetime fromFlatty 2021-12-30 13:30:12 +01:00
jackyzy823
ef7ad67674 fix userid in list 2021-12-30 08:36:43 +01:00
jackyzy823
db090faf36 use separator in rss key for redis cache 2021-12-30 08:36:43 +01:00
jackyzy823
35bb5f9132 Rework list api 2021-12-30 08:36:43 +01:00
Zed
51c6605d3f Fix Twitter link replacements
Fixes #492
2021-12-30 05:11:05 +01:00
Zed
d96550fcce Minor code improvements 2021-12-30 04:18:40 +01:00
Zed
eed4d4033f Add canonical header to help search engines
Fixes #472
2021-12-30 04:17:58 +01:00
Zed
173dd8f016 Merge branch 'nicer-rss' 2021-12-30 02:22:39 +01:00
Zed
dcac7e4a26 Simplify default preferences handling
Closes #441
2021-12-30 02:10:42 +01:00
Zed
7590dc1cda Remove hardcoded replaceYouTube config fallback 2021-12-30 01:55:55 +01:00
Zed
80f7bc0a02 Cleanup 2021-12-30 01:48:48 +01:00
Zed
b0a5e38b3f Merge branch 'intent-userid' 2021-12-30 01:45:41 +01:00
Zed
ddc2be8439 Make gzip handling more robust 2021-12-30 01:39:00 +01:00
Zed
e3f6c72bf6 Skip list request if ID is empty 2021-12-29 08:03:00 +01:00
Zed
5e0eb02422 Improve withheld tweet rendering 2021-12-29 06:41:00 +01:00
Zed
ab94d9eb7d Bump css version 2021-12-29 06:25:52 +01:00
Zed
fb10bfc5e3 Revert breaking css change 2021-12-29 06:25:19 +01:00
jackyzy823
52af6b2746 Implement user_id to screen_name router 2021-12-28 09:30:55 +01:00
Zed
ebffb6d251
Merge pull request #443 from jackyzy823/proxy
Add proxy for outgoing request
2021-12-28 08:20:54 +01:00
Zed
c09a8d87d9 Attempt to fix occasional cursor error 2021-12-28 08:18:44 +01:00
jackyzy823
6aa913ad62 Add http proxy config 2021-12-28 07:49:49 +01:00
Zed
aa2fed19d7 Skip search requests when query is empty 2021-12-28 07:35:35 +01:00
Zed
1e1e034237 Improve Twitter regex 2021-12-28 07:01:52 +01:00
Zed
0a8fd2fce2 Improve enableRSS logic 2021-12-28 06:21:22 +01:00
Zed
9b202e414b Merge branch 'config-rss-toggle' 2021-12-28 06:18:21 +01:00
Zed
99d3c46af5 Improve API error handling 2021-12-28 05:41:41 +01:00
Zed
6bcbe0ea9f Handle decompression errors 2021-12-28 05:13:47 +01:00
Zed
4b356118a6 Bump css version 2021-12-27 18:20:33 +01:00
Zed
3f201ba846 Improve preferences page 2021-12-27 18:18:40 +01:00
Zed
3259223c9c Add more license headers 2021-12-27 02:43:27 +01:00
Zed
73b5b60ac3 Add license headers
Closes #413
2021-12-27 02:37:38 +01:00
Zed
9e413e1f8c Rename replaceUrl to replaceUrls 2021-12-27 02:27:49 +01:00
Zed
38df06e8f5 Add more link replacements to RSS preferences 2021-12-27 02:22:31 +01:00
Zed
3c45630062 Add Reddit link replacement support
Closes #306
Closes #353
2021-12-27 02:22:10 +01:00
Zed
91c0e032ee Avoid unnecessary string allocations in replaceUrl 2021-12-27 00:42:52 +01:00
Zed
a8c541954c Improve twitter.com regex string
Closes #236
Closes #237
Closes #304
2021-12-27 00:42:45 +01:00
Zed
5e5e290acc Revert "Use match instead of find, minor performance gain"
This reverts commit 759728e363.
2021-12-27 00:10:42 +01:00
Zed
759728e363 Use match instead of find, minor performance gain 2021-12-27 00:03:52 +01:00
Zed
df41405251 Fix misc Lighthouse complaints 2021-12-26 23:26:50 +01:00
Zed
a7e0f817c9 Replace Frosty with Flatty for de/serialization 2021-12-26 23:01:19 +01:00
Zed
ca867be915 Fix Redis migration logic 2021-12-26 23:00:47 +01:00
Zed
4dab817521 Minor cleanup 2021-12-26 06:55:58 +01:00
Zed
3da6c50cb8 Use gzip for API calls to lower bandwidth and RAM 2021-12-26 06:49:27 +01:00
Zed
5e49e94bf1 Refactor "withheld" parsing 2021-12-26 06:48:55 +01:00
Zed
2a40dd8059 Skip rail request if profile is protected 2021-12-26 05:02:57 +01:00
Zed
5b185c79de Improve token management logic 2021-12-20 04:19:11 +01:00
Zed
7af71ec480 Fix compiler warnings 2021-12-20 04:18:44 +01:00
alqeeu
89591b06bf
Fix user search parser (#483) 2021-12-19 21:28:13 +01:00
Rusty Bird
25191f7c40
Fix unescaped dot in Instagram regex (#471)
Similar to edb3751181 (#109)
2021-11-26 22:49:44 +01:00
jackyzy823
68136de07b
add new card kind, and do not raise error for unknown card kind (#467) 2021-11-20 23:12:33 +01:00
Timothy Bautista
2edf54d5b3 Add enableRSS setting in config file
Useful for instance owners who want to disable the RSS endpoint for
reasons such as abuse and not enough server resources to handle heavy
network traffic through that endpoint.

Resolves #437
2021-10-02 13:15:52 -06:00
mooons
5caf77481f
Add tweet card image (if any) to the timeline RSS feed. (#438) 2021-09-28 09:27:13 +02:00
alefvanoon
13a4580ce2
Add dir="auto" to Searchbox (#434) 2021-09-06 10:43:19 +02:00
Vítor
cf47c1b8ad
Handle withheld tweets (#429)
* Handle withheld tweets

* Fix format of parser.nim
2021-08-21 17:13:38 +02:00
Vítor
fd384ff33e
Add support for redis authentication (#420)
* Add support for redis authentication (Update redpool dependency)
 - Add configuration option `redisPassword`

* Reference `redisPassword` in nitter.conf
2021-08-07 00:53:16 +02:00
Faye Duxovni
9c19e70a03 truncate tweet text for titles of rss feed items 2021-07-21 19:05:01 -04:00
Faye Duxovni
26842fa0bf render linebreaks in tweets properly in RSS 2021-07-21 19:05:01 -04:00
Zed
df9f90f99c Fix http pool usage to prevent rate limit error 2021-07-18 03:36:27 +02:00
Zed
e183a9c789 Use replaceYouTube from config in rss
Fixes #372
2021-07-18 02:35:24 +02:00
Zed
2422a2b8b7 Default to Piped instead of Invidious 2021-07-18 02:15:22 +02:00
Ryan Koppenhaver
669aa2cd8b
parse token from int or str (#405) 2021-07-01 14:33:40 +02:00
3nprob
a859943871
Expand configuration (#368)
* Allow configuring httpMaxConns

default: 100

* Allow setting NITTER_CONF_FILE path env var

Co-authored-by: 3nprob <3nprob@3nprob>
2021-06-23 23:17:16 +02:00
Daveed9
46cf3e3a91
Changed procedure getRfc822Time to comply with RSS 2.0 spec (#404)
Co-authored-by: David Robinson <daveed@mailbox.org>
2021-06-23 23:15:51 +02:00
Mennaruuk
7a01f55dd3
Add "audiospace = "audiospace"" (#401)
To fix #390, at least temporarily.
2021-06-23 23:15:41 +02:00
decoy-walrus
15e1ba1322
Hack in support for the new twitter video format (#381)
This change adds ".m4s" and ".mp4" to the regex that modifies m3u8 playlist files proxied from twitter, and adds ".m4s" to the list of extensions proxied through nitter. The net effect is the new video format that twitter is using now should be supported.
2021-05-08 18:05:31 +02:00
Zed
4a38b270af Don't release empty tokens 2021-01-25 11:07:29 +01:00
Zed
67142bea6a Don't discard tokens on length errors 2021-01-25 11:04:36 +01:00
Zed
67e15bb492 Temporary (?) fix for false rate limits 2021-01-18 07:57:39 +01:00
Zed
51b1567af6 Improve token pool to prevent rate limits 2021-01-13 14:32:26 +01:00
Zed
e1b3e9db76 Add proper http support
Fixes #223
2021-01-08 02:36:06 +01:00
Zed
ecc8bc5a95 Slightly lower main tweet font size 2021-01-08 01:28:27 +01:00
Zed
ed7ecf7c8d Preload profile/tweet images, banners, and icons 2021-01-08 00:50:10 +01:00
Zed
768642a2cc Improve link preview headers 2021-01-07 23:58:29 +01:00
Zed
4e1d213488 Show error page when rate limited 2021-01-07 22:31:29 +01:00
Zed
2128b280b4 Minor cleanup 2021-01-07 22:04:19 +01:00
Zed
384b0a2033 Fix profile caching logic to ignore empty profiles 2021-01-07 22:04:01 +01:00
Zed
cd4840363c Split IDs into buckets to reduce Redis mem usage 2021-01-03 03:51:15 +01:00
Zed
b3b0654507 Use preloads and defer to speed up page loads 2021-01-03 01:39:23 +01:00
Zed
18988a6a55 Slightly lower Nitter navbar font size 2021-01-03 01:39:23 +01:00
Zed
93ec4b1e39 Fix max gif height 2021-01-02 20:11:02 +01:00
Zed
ced729c6d5 Limit height of card images 2021-01-02 19:27:49 +01:00
Zed
c327f4cc06 Downgrade Frosty again to prevent OOM
It works, let's not fuck with it any more than necessary.
2021-01-02 19:27:11 +01:00
Zed
680cc429d6 Update frosty, add migration 2020-11-15 20:18:13 +01:00
Zed
7ad6f581c2 Simpler gif fix 2020-11-15 18:11:22 +01:00
Zed
8912985beb Update css version query 2020-11-15 18:04:52 +01:00
Zed
0d4048a62e Fix inline gif regression 2020-11-15 18:03:51 +01:00
Zed
320cb47bce Switch to supersnappy, update frosty 2020-11-15 01:21:56 +01:00
Zed
3b5b4b7682 Improve tweet url and hashtag parsing 2020-11-15 01:03:04 +01:00
Zed
50218bcc4d Revert "Improve tweet url and hashtag parsing"
This reverts commit d67ed26817.
2020-11-14 23:37:07 +01:00
SolitudeSF
d67ed26817 Improve tweet url and hashtag parsing
Dry

Fixes
2020-11-14 23:28:22 +01:00
SolitudeSF
cad75845db Fix compilation error with nim 1.4.0 2020-11-10 15:55:41 +01:00
SolitudeSF
48aa8d8e48 Replace spaces in list name 2020-11-10 15:54:08 +01:00
Zed
1d0f95b79d Fix card video preview 2020-11-09 21:24:34 +01:00
Zed
af634231b9 Support card previews 2020-11-09 21:20:33 +01:00