From bd078acb3225dde7478820806b1aebdd42d169b7 Mon Sep 17 00:00:00 2001 From: dangered wolf Date: Sat, 23 Jul 2022 14:53:01 -0400 Subject: [PATCH 1/8] Update README.md --- README.md | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index fa5fb85..d866417 100644 --- a/README.md +++ b/README.md @@ -58,22 +58,22 @@ Otherwise, it will default to the first image. In many ways, pxTwitter has richer embeds and does more. Here's a table comparing some of pxTwitter's features compared to Twitter default embeds as well as other embedding services -| | pxTwitter | Twitter default | vxTwitter (BetterTwitFix) | Twxtter (sixFix) | -| --------------------------------------- | :---------------------------------: | :---------------------------------------: | :-----------------------------------: | :-----------------------------------: | -| Embed Tweets / Images | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | -| Embed profile pictures on text Tweets | :heavy_check_mark: | :x: | :heavy_check_mark: | :heavy_check_mark: | -| Embed Twitter Videos | :heavy_check_mark: | :x:¹ | :heavy_check_mark: | :heavy_check_mark: | -| Embed External Videos (YouTube, etc.) | :heavy_check_mark: | :x: | :x:⁴ | :x: | -| Embed Poll results | :heavy_check_mark: | :x: | :x: | :x: | -| Embed Quote Tweets | :heavy_check_mark: | :x: | :ballot_box_with_check: Without Media | :ballot_box_with_check: Without Media | -| Embed Multiple Images | :heavy_minus_sign: Except Telegram⁵ | :heavy_minus_sign: Discord Only³ | With c.vxtwitter.com | :x: | -| Publicly accessible embed index | :x:² | N/A | :x:² | :heavy_check_mark: | -| Replace t.co with original links | :heavy_check_mark: | :x: | :x: | :x: | -| Media-based embed colors on Discord | :heavy_check_mark: | :x: | :x: | :x: | -| Redirect to media file (wihout embed) | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | -| Strip Twitter tracking info on redirect | :heavy_check_mark: | :x: | :heavy_check_mark: | :heavy_check_mark: | -| Show retweet, like, reply counts | :heavy_check_mark: | :heavy_minus_sign: Likes in Discord Only³ | :ballot_box_with_check: No replies | :ballot_box_with_check: No replies | -| Discord sed replace (`s/`) friendly | twittpr.com | :x: | :x: | :heavy_check_mark: | +| | pxTwitter | Twitter default | vxTwitter (BetterTwitFix) | Twxtter (sixFix) | +| --------------------------------------- | :--------------------------------------: | :---------------------------------------: | :-----------------------------------: | :-----------------------------------: | +| Embed Tweets / Images | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| Embed profile pictures on text Tweets | :heavy_check_mark: | :x: | :heavy_check_mark: | :heavy_check_mark: | +| Embed Twitter Videos | :heavy_check_mark: | :x:¹ | :heavy_check_mark: | :heavy_check_mark: | +| Embed External Videos (YouTube, etc.) | :heavy_check_mark: | :x: | :x:⁴ | :x: | +| Embed Poll results | :heavy_check_mark: | :x: | :x: | :x: | +| Embed Quote Tweets | :heavy_check_mark: | :x: | :ballot_box_with_check: Without Media | :ballot_box_with_check: Without Media | +| Embed Multiple Images | :ballot_box_with_check: Except Telegram⁵ | :heavy_minus_sign: Discord Only³ | With c.vxtwitter.com | :x: | +| Publicly accessible embed index | :x:² | N/A | :x:² | :heavy_check_mark: | +| Replace t.co with original links | :heavy_check_mark: | :x: | :x: | :x: | +| Media-based embed colors on Discord | :heavy_check_mark: | :x: | :x: | :x: | +| Redirect to media file (wihout embed) | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | +| Strip Twitter tracking info on redirect | :heavy_check_mark: | :x: | :heavy_check_mark: | :heavy_check_mark: | +| Show retweet, like, reply counts | :heavy_check_mark: | :heavy_minus_sign: Likes in Discord Only³ | :ballot_box_with_check: No replies | :ballot_box_with_check: No replies | +| Discord sed replace (`s/`) friendly | twittpr.com | :x: | :x: | :heavy_check_mark: | ¹ Discord will attempt to embed Twitter's video player, but it is unreliable From 4b426dda6574ed3cdfde16646b542d62be1a2bc4 Mon Sep 17 00:00:00 2001 From: dangered wolf Date: Sat, 23 Jul 2022 15:03:10 -0400 Subject: [PATCH 2/8] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index d866417..3bb02da 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,8 @@ ### Otherwise, just add `px` before `twitter` to make `pxtwitter.com` +![](https://cdn.discordapp.com/attachments/165560751363325952/1000477470241333368/pxtwitter.webp) + ![https://cdn.discordapp.com/attachments/165560751363325952/997386462343462972/pxtwitter.png](https://cdn.discordapp.com/attachments/165560751363325952/997386462343462972/pxtwitter.png) :heavy_check_mark: **Embed Videos** (Including Twitter videos and compatible external providers, such as YouTube) From f00ef74ce89fdd998f2c60e2e541fae12428bc74 Mon Sep 17 00:00:00 2001 From: dangered wolf Date: Sat, 23 Jul 2022 15:09:22 -0400 Subject: [PATCH 3/8] Update README.md --- README.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 3bb02da..ffaa6c0 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,18 @@ -# pxTwitter (Twittpr) +# pxTwitter // Twittpr + +![](https://skillicons.dev/icons?i=typescript,webpack,workers) [![Webpack](https://github.com/dangeredwolf/pxtwitter/actions/workflows/webpack.yml/badge.svg)](https://github.com/dangeredwolf/pxtwitter/actions/workflows/webpack.yml) -## A TwitFix-like service that _does more_ with better privacy in mind. Written in TypeScript for Cloudflare Workers! +## A TwitFix-like service that _does more_ with better privacy in mind. + + ### Embed videos, polls, and more on Discord, Telegram, and others! -### On Discord, send a Twitter link and type `s/e/p` to make `twittpr.com`. +#### On Discord, send a Twitter link and type `s/e/p` to make `twittpr.com`. -### Otherwise, just add `px` before `twitter` to make `pxtwitter.com` - -![](https://cdn.discordapp.com/attachments/165560751363325952/1000477470241333368/pxtwitter.webp) +#### Otherwise, just add `px` before `twitter` to make `pxtwitter.com` ![https://cdn.discordapp.com/attachments/165560751363325952/997386462343462972/pxtwitter.png](https://cdn.discordapp.com/attachments/165560751363325952/997386462343462972/pxtwitter.png) From 11bbf2654c0e95d95be8ff8cf15e42b1e4f1935e Mon Sep 17 00:00:00 2001 From: dangered wolf Date: Sat, 23 Jul 2022 16:18:03 -0400 Subject: [PATCH 4/8] Revamp feature list --- README.md | 48 ++++++++++++++++++++++++++++++++---------------- 1 file changed, 32 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index ffaa6c0..f6d0b51 100644 --- a/README.md +++ b/README.md @@ -4,9 +4,7 @@ [![Webpack](https://github.com/dangeredwolf/pxtwitter/actions/workflows/webpack.yml/badge.svg)](https://github.com/dangeredwolf/pxtwitter/actions/workflows/webpack.yml) -## A TwitFix-like service that _does more_ with better privacy in mind. - - +## A TwitFix-like service that _does way more_ with better privacy in mind. ### Embed videos, polls, and more on Discord, Telegram, and others! @@ -14,27 +12,31 @@ #### Otherwise, just add `px` before `twitter` to make `pxtwitter.com` -![https://cdn.discordapp.com/attachments/165560751363325952/997386462343462972/pxtwitter.png](https://cdn.discordapp.com/attachments/165560751363325952/997386462343462972/pxtwitter.png) + -:heavy_check_mark: **Embed Videos** (Including Twitter videos and compatible external providers, such as YouTube) +## Embed Videos -:heavy_check_mark: **Embed Poll results** +Let's face it — we all have videos of memes and other things we want to quickly share with friends. With normal Twitter links, embedding videos is impossible on Telegram and often broken on Discord. -:heavy_check_mark: **Embed Quote Tweets** (Including their media, if it doesn't conflict with the linked tweet) +![](https://cdn.discordapp.com/attachments/165560751363325952/1000495191817453578/pxTwitter.png) -:heavy_check_mark: **Replace embedded t.co shortener with original links** +We'll also automatically embed videos from other platforms, such as YouTube, so they can play without having to open a browser. -:heavy_check_mark: **Creates media/profile picture color-matching theme-color** (looks great on Discord!) +## Embed Polls -:heavy_check_mark: **Better privacy: We don't save tweets or their media** (Outside of temporary Cloudflare caching for speed) +If you want to share the results of a Twitter poll, you can do so by just linking the Tweet using pxTwitter. ---- +![](https://cdn.discordapp.com/attachments/165560751363325952/1000487446393397328/pxTwitter.png) -## Advanced features +## Embed Quote Tweets & Media -### Direct media links +Quote tweets and their media can provide important context to a Tweet. So we'll automatically add said context, and even media if there isn't already media embedded in the quote. -Want to link directly to a Tweet's media without the embed? You can do that with pxTwitter. +![](https://cdn.discordapp.com/attachments/165560751363325952/1000490187190702190/pxTwitter.png) + +## Direct media links + +Want to link directly to a Tweet's media without the embed? You can do easily do that using pxTwitter. ![Image demonstrating the feature](https://pxtwitter.com/dangeredwolf/status/1548119328498728960.jpg) @@ -56,6 +58,20 @@ Tweets with multiple images are supported, so you can do something like this and Otherwise, it will default to the first image. +## Replace t.co shorteners with original link + +The default Twitter embeds include t.co link shorteners, which make it difficult to know where the link is heading. We automatically replace t.co links with their original links to make things clearer. + +## Color-matched embeds on Discord + +We use Twitter's color data for either the first image/video of the tweet, or the author's profile picture. It makes the embed's appearance more *aesthetic*, as well as in line with the content of the Tweet. + +## Built with privacy in mind + +We don't save logs of what tweets you're sending, nor do we have a public record of what tweets are being embedded by pxTwitter. We use Cloudflare to cache pxTwitter responses to make repeat access faster. + +Furthermore, if the person who posted a pxTwitter link forgot to strip tracking, we strip it upon redirecting to the Tweet. + --- ## Why use pxTwitter? @@ -77,7 +93,7 @@ In many ways, pxTwitter has richer embeds and does more. Here's a table comparin | Redirect to media file (wihout embed) | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | | Strip Twitter tracking info on redirect | :heavy_check_mark: | :x: | :heavy_check_mark: | :heavy_check_mark: | | Show retweet, like, reply counts | :heavy_check_mark: | :heavy_minus_sign: Likes in Discord Only³ | :ballot_box_with_check: No replies | :ballot_box_with_check: No replies | -| Discord sed replace (`s/`) friendly | twittpr.com | :x: | :x: | :heavy_check_mark: | +| Discord sed replace (`s/`) friendly | twittpr.com | N/A | :x: | :heavy_check_mark: | ¹ Discord will attempt to embed Twitter's video player, but it is unreliable @@ -113,7 +129,7 @@ Once you're set up with your worker on `*.workers.dev`, [add your worker to your ### Things to tackle in the future -- [Combining multiple images together (would be outside CF Worker)](https://github.com/dangeredwolf/pxTwitter-Combinator) +- Returning JPG with multi-image for Telegram as it doesn't support WebP in embeds for some reason - Feature: Translating Tweets within pxTwitter ### Bugs or issues? From 7e750a9ffe96b76262d13643441129049eb78386 Mon Sep 17 00:00:00 2001 From: dangered wolf Date: Sat, 23 Jul 2022 16:19:56 -0400 Subject: [PATCH 5/8] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f6d0b51..5b9ba3c 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ Let's face it — we all have videos of memes and other things we want to quickl ![](https://cdn.discordapp.com/attachments/165560751363325952/1000495191817453578/pxTwitter.png) -We'll also automatically embed videos from other platforms, such as YouTube, so they can play without having to open a browser. +On Discord, we'll also automatically embed videos linked from other platforms, such as YouTube, so they can play without having to open a browser. ## Embed Polls From b46fadeabb1621a7f916b792f956df7affeeafa7 Mon Sep 17 00:00:00 2001 From: dangered wolf Date: Sat, 23 Jul 2022 16:21:10 -0400 Subject: [PATCH 6/8] Updated issues link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5b9ba3c..ba55d52 100644 --- a/README.md +++ b/README.md @@ -134,4 +134,4 @@ Once you're set up with your worker on `*.workers.dev`, [add your worker to your ### Bugs or issues? -Feel free to [open an issue](https://github.com/dangeredwolf/pxTwitter/issues), or [ping me on Twitter and I'll see what I can do](https://twitter.com/dangeredwolf). +Feel free to [open an issue](https://github.com/pxTwitter/pxTwitter/issues), or [ping me on Twitter and I'll see what I can do](https://twitter.com/dangeredwolf). From 3bf94b7163ab4ef1f8385a77965bb459769bfcea Mon Sep 17 00:00:00 2001 From: dangered wolf Date: Sat, 23 Jul 2022 16:28:52 -0400 Subject: [PATCH 7/8] Update README.md --- README.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index ba55d52..b8ad0e9 100644 --- a/README.md +++ b/README.md @@ -83,7 +83,7 @@ In many ways, pxTwitter has richer embeds and does more. Here's a table comparin | Embed Tweets / Images | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | | Embed profile pictures on text Tweets | :heavy_check_mark: | :x: | :heavy_check_mark: | :heavy_check_mark: | | Embed Twitter Videos | :heavy_check_mark: | :x:¹ | :heavy_check_mark: | :heavy_check_mark: | -| Embed External Videos (YouTube, etc.) | :heavy_check_mark: | :x: | :x:⁴ | :x: | +| Embed External Videos (YouTube, etc.) | :heavy_check_mark:⁶ | :x: | :x:⁴ | :x: | | Embed Poll results | :heavy_check_mark: | :x: | :x: | :x: | | Embed Quote Tweets | :heavy_check_mark: | :x: | :ballot_box_with_check: Without Media | :ballot_box_with_check: Without Media | | Embed Multiple Images | :ballot_box_with_check: Except Telegram⁵ | :heavy_minus_sign: Discord Only³ | With c.vxtwitter.com | :x: | @@ -92,7 +92,7 @@ In many ways, pxTwitter has richer embeds and does more. Here's a table comparin | Media-based embed colors on Discord | :heavy_check_mark: | :x: | :x: | :x: | | Redirect to media file (wihout embed) | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | | Strip Twitter tracking info on redirect | :heavy_check_mark: | :x: | :heavy_check_mark: | :heavy_check_mark: | -| Show retweet, like, reply counts | :heavy_check_mark: | :heavy_minus_sign: Likes in Discord Only³ | :ballot_box_with_check: No replies | :ballot_box_with_check: No replies | +| Show retweet, like, reply counts | :heavy_check_mark: | :heavy_minus_sign: Discord Only³ | :ballot_box_with_check: No replies | :ballot_box_with_check: No replies | | Discord sed replace (`s/`) friendly | twittpr.com | N/A | :x: | :heavy_check_mark: | ¹ Discord will attempt to embed Twitter's video player, but it is unreliable @@ -103,7 +103,9 @@ In many ways, pxTwitter has richer embeds and does more. Here's a table comparin ⁴ On GitHub, BetterTwitFix (vxTwitter) claims to support this feature, however in my testing as of mid-July 2022, this does not seem to work. -⁵ Telegram does not support WebP in embeds. We use WebP for multi-image mosaic for its combination of smaller file size and better text readability which makes it overall a better format than JPG or PNG for this purpose. +⁵ Telegram does not support WebP in embeds. We use WebP for multi-image mosaic for its combination of smaller file size and better text readability which makes it overall a better format than JPG or PNG for this purpose. In the future we will likely add a compatibility mode for Telegram. + +⁶ External media requiring web containers, such as YouTube, won't embed in Telegram because Telegram doesn't support it. Plain media will work in Telegram, and it works either way inside Discord. --- From 5a61dc39a3a5aba0914b8b4a34916efffd1c9995 Mon Sep 17 00:00:00 2001 From: dangered wolf Date: Sat, 23 Jul 2022 16:31:41 -0400 Subject: [PATCH 8/8] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b8ad0e9..13c9b08 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ ## Embed Videos -Let's face it — we all have videos of memes and other things we want to quickly share with friends. With normal Twitter links, embedding videos is impossible on Telegram and often broken on Discord. +Let's face it — we all have videos of memes and other things from Twitter we want to quickly share with friends. With normal Twitter links, embedding videos is often broken on Discord and impossible on Telegram. ![](https://cdn.discordapp.com/attachments/165560751363325952/1000495191817453578/pxTwitter.png) @@ -86,7 +86,7 @@ In many ways, pxTwitter has richer embeds and does more. Here's a table comparin | Embed External Videos (YouTube, etc.) | :heavy_check_mark:⁶ | :x: | :x:⁴ | :x: | | Embed Poll results | :heavy_check_mark: | :x: | :x: | :x: | | Embed Quote Tweets | :heavy_check_mark: | :x: | :ballot_box_with_check: Without Media | :ballot_box_with_check: Without Media | -| Embed Multiple Images | :ballot_box_with_check: Except Telegram⁵ | :heavy_minus_sign: Discord Only³ | With c.vxtwitter.com | :x: | +| Embed Multiple Images | :ballot_box_with_check: Except Telegram⁵ | :heavy_minus_sign: Discord Only³ | :ballot_box_with_check: With c.vxtwitter.com | :x: | | Publicly accessible embed index | :x:² | N/A | :x:² | :heavy_check_mark: | | Replace t.co with original links | :heavy_check_mark: | :x: | :x: | :x: | | Media-based embed colors on Discord | :heavy_check_mark: | :x: | :x: | :x: |