Coder Social home page Coder Social logo

fixtweet / fxtwitter Goto Github PK

View Code? Open in Web Editor NEW
2.3K 2.3K 65.0 8.59 MB

Fix broken Twitter/X embeds! Use multiple images, videos, polls, translations and more on Discord, Telegram and others

Home Page: https://fxtwitter.com

License: MIT License

TypeScript 98.66% JavaScript 1.34%

fxtwitter's Introduction

FxTwitter / FixupX

Embed X / Twitter videos, polls, translations, & more on Discord, Telegram, and others!

Crowdin esbuild Tests Status License

Written in TypeScript as a Cloudflare Worker to scale, packed with more features and best-in-class user privacy 🔒.

Add fx before your twitter.com link to make it fxtwitter.com

OR: Add fixup before your x.com link to make it fixupx.com

For twitter.com links on Discord, send a link and type s/e/p to make twittpr.com.

Embed Videos

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. But using FxTwitter, we embed the raw mp4 file so it's compatible with just about anything supporting video embeds.

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

If you want to share the results of a Twitter poll, you can do so by just linking the post using FxTwitter.

Embed Quotes & Media

Quotes and their media can provide important context to a post. So we'll automatically add said context, and even media if there isn't already media embedded in the quote.

Translate Posts

You can translate a post into any other supported language, with the original and translated text displayed as space allows.

Just append a post with its 2-letter ISO language code. So for English, add /en at the end.

Gallery view

Use g.fxtwitter.com or g.fixupx.com to generate minimal embeds with just the post's media and author information without other distractions. This can be particularly useful for read-only channels dedicated to sharing media.

Text-only view

Basically the opposite of gallery view, use t.fxtwitter.com / t.fixupx.com to exclude photos/videos and only display text.

Direct media links

Want to link directly to a post's media without the embed? You can easily do that using FxTwitter.

Image demonstrating the feature

There are a few supported ways to do this:

  • Add d. before the domain (so, d.fxtwitter.com)
  • Add .mp4 to the end of videos or .jpg to the end of images, after the post ID

Telegram Instant View

View the full contents of tweets without leaving Telegram or opening a browser! We automatically enable instant view in these cases:

  • The domain is i.fxtwitter.com / i.fixupx.com
  • The post contains photos, translations, or is over 280 characters

In the future we plan to do even more with Instant View such as embedding entire threads.

Examples from above:

  • https://d.fxtwitter.com/example/status/1548119328498728960
  • https://fxtwitter.com/example/status/1548117889437208581.jpg

Posts with multiple images are supported, so you can do something like this and it will pick the correct one:

https://d.fxtwitter.com/example/status/1547514042146865153/photo/3

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.

Redirect to Nitter or other custom instances

If you want to redirect to Nitter or another custom Twitter interface, you can set your custom redirect domain, like so: https://fxtwitter.com/set_base_redirect?url=https://nitter.net

At this time, the cookie is only set on the domain you set it on, so if you set it up using fxtwitter.com, fixupx.com will not redirect to your custom domain unless you set it there.

Built with privacy in mind

FxTwitter doesn't save logs of what posts you're sending, nor do we have a public record of what posts are being embedded by FxTwitter.

In fact, because our core embedding and API service uses Cloudflare Workers, FxTwitter can only run when you send it a request. Its memory doesn't stick around, and it doesn't have a file system or database to read from at all. That is how we keep our privacy promise by building it into the architecture. We use Cloudflare Analytics Engine to aggregate basic, anonymous statistics, which do not include information that could identify individual users or posts. My goal is always to provide a good public service, and FxTwitter doesn't have any ads or tracking to make money off of, nor do we sell data.

Note: We use Cloudflare to cache FxTwitter responses to make repeat access faster, which have a maximum TTL of 1 hour. Temporary real-time logging in the terminal (specifically wrangler tail) may be used only by the developer while the Worker is being serviced or debugged (to make sure things work as they should), however these logs are only shown in the terminal and are never saved or used for any other purpose. URLs that cause runtime errors in the script (aka Exceptions, usually exceedingly rare unless there was a faulty update pushed out or Twitter API is down) may be logged for a developer to diagnose the issue that is preventing your embed from working.

On a different note, if the person who posted a FxTwitter link forgot to strip tracking parameters (like ?s and &t), we strip it upon redirecting to the post as they are only used for Twitter telemetry and advertising.


Why use FxTwitter?

In many ways, FxTwitter has richer embeds and does more. Here's a table comparing some of FxTwitter's features compared to Twitter default embeds as well as other embedding services

FxTwitter Twitter default vxTwitter (BetterTwitFix)
Embed Posts / Images ✔️ ✔️ ✔️
Embed profile pictures on text posts ✔️ ✔️
Embed Twitter Videos ✔️ ✔️
Embed External Videos (YouTube, etc.) ✔️⁴ ❌³
Embed Poll results ✔️ ✔️
Embed Quotes ✔️ ☑️ Without Media
Embed Multiple Images ✔️ ✔️
Translate Posts ✔️
Replace t.co with original links ✔️ ✔️
Redirect to media file (without embed) ✔️ ☑️ Subdomain broken, no images
Gallery view ✔️
Strip tracking info on redirect ✔️ ✔️
Show retweet, like, reply, view counts ➖ Discord / Telegram Instant View ☑️ No replies / views
Discord sed replace (s/) friendly ☑️ twittpr.com N/A
Domain for X.com links ☑️ fixupx.com N/A ☑️ fixvx.com
Telegram Instant View ✔️
Status fetch API for Developers ✔️ N/A ✔️
Last commit N/A

¹ Discord will attempt to embed Twitter's video player, but it is unreliable and does not work on mobile

² Discord uses a custom embed container for Twitter.com to enable multi-image, which is unfortunately not available to other websites.

³ On GitHub, BetterTwitFix (vxTwitter) claims to support this feature, however in my testing as of December 2023, this does not seem to work.

⁴ 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.


Why FxTwitter is nicer to develop for and deploy

FxTwitter was originally designed for edge computing in mind meaning it's easy to run closer to your users (which has significant latency advantages for people in a lot of regions). The way we use it and recommend deployment is using Cloudflare Workers, which are completely free for up to 100,000 requests per day, per account. Cloudflare Workers are fast to set up and your script is distributed in their datacenters around the world for lower latency. It may be possible to run it on other platforms that support Hono, but at this time we do not provide documentation to do so yet.

FxTwitter does not need a database nor a Twitter API key: It takes a similar approach to youtube-dl where it pretends to be a logged-out Twitter web user, fetching a guest token and making API requests from there. At one point, this meant "unlimited" read-only access to Twitter's API, including things they don't expose in their public API, useful for polls and other features. It's been locked down pretty heavily after Elon Musk took over Twitter, but the guest token API does still work.

Deploy FxTwitter yourself

ℹ️ Currently, we only provide assistance with deploying with Cloudflare Workers, but it may be possible to run on other web standards-compliant runtimes.

Clone the repo, install Node.js and run npm install in the repo directory. Copy wrangler.example.toml to wrangler.toml and add your Cloudflare account ID, and change the name of your worker if you need to. Also copy .env.example to .env and change HOST_URL, DIRECT_MEDIA_DOMAINS to your desired domain and whatever else you need to do. Authenticate with Cloudflare with npx wrangler login, then do npm run deploy (or npx wrangler deploy --no-bundle).

If you have more questions about setting up Cloudflare Workers, check out their Getting Started guide.

Once you're set up with your worker on *.workers.dev, add your worker to your custom domain.

Populate Sentry details in your .env to use Sentry in your product to catch exceptions.

In 2023, Twitter began blocking posts with NSFW media from the guest API. We use a service binding code-named elongator, which use empty Twitter accounts to make these requests successfully. This is an optional component and is only necessary for those who plan to support embedding NSFW tweets. This method also means you never have to pay Elon Musk to use Twitter's official API.


FAQ

What's the difference between fxtwitter.com, twittpr.com, and fixupx.com?

They all run the exact same worker and function identically... mostly.

fxtwitter.com is the primary domain and fixupx.com exists to make it easy to fix x.com links as well (Very short .com domains are expensive, sorry I didn't get something shorter). Also, with twittpr.com you can do quick sed replacement on Twitter links by sending a Twitter link and sending s/e/p afterward to automatically edit it.

How come embedding takes so long / is not working in Telegram?

Telegram's embedding servers sometimes never even send us a request to embed a URL, possibly due to their servers being overloaded. If you have a link that is broken you can try one of our other domains (fxtwitter.com, fixupx.com) or use Webpage Bot to try to clear the cache of the embed.

Why do video embeds look different on Discord?

Discord hides the text when videos are attached to a website embed. As a result, we have to mess around with other parameters to display embeds correctly.

What if I don't want FxTwitter to combine my post's images together with multi-image?

No problem! You can pick any specific photo from a post using Twitter's own URL syntax (/photo/1 is the first photo of a post) and we'll render you the full-resolution original image.


Licensed under the permissive MIT license. Feel free to send a pull request!

Star History

Star History Chart

Bugs or issues?

Feel free to open an issue

Additional Credits

Mosaic Multi-image combiner by Antonio32A

& other contributions by Antonio32A, Burner, Deer-Spangle, Eramdam, SirStendec, SpeedyFolf, Wazbat

Disclaimer

Twitter, Tweet, and X are trademarks of X Corp. This project is not affiliated in any way with X Corp or Twitter.

fxtwitter's People

Contributors

antonio32a avatar burnerwah avatar dangeredwolf avatar deer-spangle avatar dependabot[bot] avatar eramdam avatar isovel avatar mokou avatar renovate[bot] avatar sirstendec avatar speedyfolf avatar thepotato97 avatar wazbat avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fxtwitter's Issues

Add fx support for x.com links

Hey, since Twitter's rebranding, Twitter apps copy links in the x.com URL.

Is it possible fx/fxx can be supported? It would people to type the word Twitter entirely on the URL edit (bots cannot be used in DMs/Group Chats)

Thank you!

[API] Some Tweets Lack `id`

Noticed this one today on a data request.

Tweet: https://twitter.com/LiftForever67/status/1711069098283774460
API call: https://api.fxtwitter.com/status/1711069098283774460
Result:

{
    "code": 200,
    "message": "OK",
    "tweet": {
        "url": "https://twitter.com/LiftForever67/status/undefined",
        "text": "Why the ancients carved a ball inside.  😺\n\n#Caturday \n#CatsLover #CatsOfTwitter",
        "author": {
            "id": "933784102834020352",
            "name": "Jeffrey Ⓥ",
            "screen_name": "LiftForever67",
            "avatar_url": "https://pbs.twimg.com/profile_images/1538276691763556352/HI_VIeJf_200x200.jpg",
            "avatar_color": null,
            "banner_url": "https://pbs.twimg.com/profile_banners/933784102834020352/1667427260",
            "description": "🌊🌈💞🌎🐾🌲🌱🏋️‍♂️🚴‍♂️ Always left coast. Critter loving, tree growing vegan.\n#Resistance #Equality #Climate #AnimalRights #Vegan #Workout",
            "location": "Pacific Northwest",
            "url": "https://twitter.com/LiftForever67",
            "followers": 38327,
            "following": 38388,
            "joined": "Thu Nov 23 19:47:33 +0000 2017",
            "tweets": 144421,
            "likes": 290768,
            "website": null
        },
        "replies": 35,
        "retweets": 149,
        "likes": 985,
        "color": null,
        "twitter_card": "player",
        "created_at": "Sun Oct 08 17:20:37 +0000 2023",
        "created_timestamp": 1696785637,
        "possibly_sensitive": false,
        "views": 13849,
        "is_note_tweet": false,
        "lang": "en",
        "replying_to": null,
        "replying_to_status": null,
        "media": {
            "all": [
                {
                    "url": "https://video.twimg.com/ext_tw_video/1711068542991523840/pu/vid/avc1/480x854/gWvgHO385rf2kqxs.mp4?tag=12",
                    "thumbnail_url": "https://pbs.twimg.com/ext_tw_video_thumb/1711068542991523840/pu/img/pBZaal_kxUhCKS7I.jpg",
                    "duration": 12.8,
                    "width": 480,
                    "height": 854,
                    "format": "video/mp4",
                    "type": "video"
                }
            ],
            "videos": [
                {
                    "url": "https://video.twimg.com/ext_tw_video/1711068542991523840/pu/vid/avc1/480x854/gWvgHO385rf2kqxs.mp4?tag=12",
                    "thumbnail_url": "https://pbs.twimg.com/ext_tw_video_thumb/1711068542991523840/pu/img/pBZaal_kxUhCKS7I.jpg",
                    "duration": 12.8,
                    "width": 480,
                    "height": 854,
                    "format": "video/mp4",
                    "type": "video"
                }
            ]
        }
    }
}

Note the lack of an id in the tweet data and the value of url: https://twitter.com/LiftForever67/status/undefined

Some Tweets from NSFW accounts will not embed due to Twitter API changes

Twitter's API can no longer query Tweets from NSFW accounts containing media. This affects not only FixTweet but other software relying on guest token access to the API, including vxTwitter, youtube-dl/yt-dlp, and others.

A workaround / solution to this issue is still pending. If you like breaking Twitter's API and come up with a workable solution to this issue I'd love to hear about it ASAP.

Note that while the timing of this is similar to Twitter shutting down API access for developers, this is not directly caused by that, and FixTweet can still currently embed the vast majority of Tweets on the platform. They did, however, modify their API causing this error.

For the more technically inclined, we use Twitter API v2 /2/timeline/conversation/{id}.json along with a guest token to perform Tweet fetches. Affected Tweets are instead labeled with "This Tweet is unavailable." tombstones while other Tweets load. There is also /1.1/statuses/show.json?id={id}, which for affected Tweets returns a 404 Not Found with JSON-embedded message Sorry, that page does not exist..

Support for followers on twitter account embeds

The native discord embed of twitter used to show not only the bio but the amount of followers as well when linking to a twitter account. I think it's a great feature. It seems to be missing with fxtwitter.
eg.
image

Translated tweet embed does not show the tweet in it's original language

According to the readme for FixTweet, tweets show translated with the original tweet untranslated below:

image

As of now, the embed looks like the following:

image

Is this something that was intentionally changed, and if not, is it possible to add functionality to show the original language within the embed?

you are a legend!

may we have the whole story sir?

it seems you gotten a hold of the original OG domain, fxtwitter . com. can you please tell us a bit more?

No seek bar on d.fx/dl.fx on mobile (android)

Hi there,

Don't know if this is a FixTweet thing or a Discord thing, but when using d.fxtwitter.com or dl.fx subdomain my friends and I aren't getting a seek bar on mobile. Shows up fine when using normal fxtwitter.com or even fxtwitter.com/tweet.mp4 which is weird considering d.fx and .mp4 should do the same thing, right?
And I've just now learned that using .com/dir/username and /dl/username also remove the seek bar.
Same story on twittpr.com, weird man.
Really, I'm assuming this is a Discord thing and using this as a warning to anyone that might be confused. :)

NO SEEK BAR
image

SEEK BAR VISIBLE
image image

Tweets from suspended accounts throws private account error

If you link to a Tweet from a suspended account, it displays "I can't embed Tweets from private accounts, sorry about that :(" instead of an error pertaining to the account being suspended. It would be a good idea to detect a suspended account and respond differently.

Multi-image direct link gets wrong image

Using the https://d.twittpr.com/dangeredwolf/status/1547514042146865153/photo/3-style link (or any other formatting with the same functionality) gives the wrong image. Specifically, it gives the image one further into the post than requested (looping around to the start if you go past the end). The example link gives the fourth image in the post, where a plain Twitter link would give the third image.

As /photo/0 gives the first image, this seems to be a simple off-by-one error, where Twitter uses 1-indexing for their links and the FixTweet system uses 0-indexing.

`<meta name=...>` and `<meta property=...>` used inconsistently

I stumbled upon this because I have a regex that parses HTML (yes I know), probably low-priority since other people use real parsers.
Example:

<meta name="og:image" content="https://pbs.twimg.com/media/FUBKu4QXoAAqMIL.jpg"/>
[...] <meta content="jack (@jack)" property="og:title"/>

Mozilla documentation suggests only name is valid while the Opengraph spec consistently uses property.
I'd suggest consistently using the latter.

Replies and/or threads in API?

Not sure whether this is out of scope, to be honest, but I was wondering about parsing twitter threads with the fxtwitter API.

Is that something it would be possible or practical to support on your side?
I guess you could support climbing "up" threads with the replying_to_status parameter, but would it be possible to add some way to go down them?

Multi-image still borked in Telegram

Certain images, mainly multiple larger ones, just are refused to be embedded by Telegram while Discord is fine. We've temporarily disabled multi-image for Telegram until we can figure out how to fix this properly.

JSON API includes escaped html entities

Example https://api.fxtwitter.com/RachelTobac/status/1554444909993607170

{"code":200,"message":"OK","tweet":{"url":"https://twitter.com/RachelTobac/status/1554444909993607170",
"id":"1554444909993607170",
"text":"*ANNOUNCEMENT*\nPresenting: the trailer for our new 🎶MUSICAL🎶 &amp; spoken Security Awareness Videos! After the infosec sea shanty, dozens of teams DM’d me saying \"The song worked! MFA usage up, reporting way up, pls make more songs!\" So we got to work &amp; you all it's finally here!🤖","...":null}}

I would expect the text to not include &amp; but &

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Awaiting Schedule

These updates are awaiting their schedule. Click on a checkbox to get an update now.

  • Lock file maintenance

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

github-actions
.github/workflows/build.yml
  • actions/checkout v4
  • actions/setup-node v4
.github/workflows/eslint.yml
  • actions/checkout v4
  • actions/setup-node v4
  • github/codeql-action v3
.github/workflows/tests.yml
  • actions/checkout v4
  • actions/setup-node v4
npm
package.json
  • @hono/sentry ^1.0.1
  • hono ^3.12.12
  • @cloudflare/workers-types ^4.20240312.0
  • @microsoft/eslint-formatter-sarif ^3.0.0
  • @sentry/esbuild-plugin ^2.15.0
  • @sentry/integrations ^7.107.0
  • @types/jest ^29.5.12
  • @typescript-eslint/eslint-plugin ^7.2.0
  • @typescript-eslint/parser ^7.2.0
  • dotenv ^16.4.5
  • eslint ^8.57.0
  • eslint-config-prettier ^9.1.0
  • eslint-config-typescript ^3.0.0
  • eslint-plugin-optimize-regex ^1.2.1
  • eslint-plugin-sonarjs ^0.24.0
  • jest ^29.7.0
  • jest-environment-miniflare ^2.14.2
  • prettier ^3.2.5
  • ts-jest ^29.1.2
  • ts-loader ^9.5.1
  • typescript ^5.4.2
  • wrangler ^3.34.1

  • Check this box to trigger a request for Renovate to run again on this repository

[API] Tweets That Retweet a Deleted Tweet Error

Expected behavior:
https://api.fxtwitter.com/status/1493696926608502784 should return JSON with some kind of error in the quote field to show the quoted tweet is deleted.

Actual behavior:
https://api.fxtwitter.com/status/1493696926608502784 returns HTML saying there was an error and a 200 status.

<!DOCTYPE html>
<html lang="en">

<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<meta content="FixTweet" property="og:title" />
	<meta content="Owie, you crashed FixTweet :(

This is caused by Twitter API downtime or a new bug. Try again in a little while." property="og:description" />
</head>
<title>:(</title>
<style>
	body {
		font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
		padding: 0 20px;
	}

	h1 {
		font-size: 4em;
		font-weight: 900;
		margin-bottom: 0;
	}

	p {
		font-size: 10px;
		opacity: 0.3;
	}
</style>
</head>

<body>
	<h1>Owie :(</h1>
	<h2>You hit a snag that broke FixTweet. It's not your fault though&mdash;This is usually caused by a Twitter outage
		or a new bug.</h2>
	<p>fixtweet-main-e16bd91-2023-10-15T18:37:00</p>
</body>

</html>

I mentioned this URL in #425

Add clarification for deploying without Cloudflare

Summary

In the current README, the project expects the developer/user to deploy the system onto a Cloudflare Worker - perhaps a clarification could be added for users who do not wish to deploy onto such service?

Feature request: Indicate in the API response whether a Tweet is marked NSFW

I'm working on an iOS Shortcut to take a link copied via the Twitter app and automatically rewrite it to use fx instead. Since on iOS proxy domains like fx don't open Twitter when you click on them within Discord, I want to be able to use the native Twitter embeds whenever possible (which realistically is text-only posts and single image posts). However, since NSFW images don't create embeds with default Twitter links, it'd be nice to have a way to differentiate between the two via the API to know when I need to use one domain over another.

Include Date and Time in Embed

Currently the embed does not include the date or time of the tweet. Quite a lot of context to a tweet is lost without knowing when it was posted. Is it possible to include that in the embed?

Decouple API and presentation code

Currently FixTweet sets headers and stuff directly within the code, which is problematic in terms of developing an open API for it.

This work will happen in the api branch (https://github.com/dangeredwolf/FixTweet/tree/api) and won't be deployed until it is stable. FYI canary.fxtwitter.com is used for the test version of the worker, zero guarantees about it working at any given time though.

Post tweet text without image/media.

I wish fxtwitter had a setting for only posting the text of a tweet and hide the image and maybe video, It should also work with translation of the text.

Sometimes you want to post a tweet because of the text or translation of the text but then discord AI decides that the image is explicit and just hides the embed entirely, image text and all but the link still works. There are probably other reasons why you only want to post the text, maybe the image distracting from the text or irrelevant?

Basically the opposite of d.fxtwitter.com.

Some (most) embeds with video don't seem to be working. Strangely, they (sometimes) work if set to translate.

  • When trying to post a tweet with video using pxtwitter, fxtwitter, and twittpr domains, frequently nothing happens:
    image

  • But they do work if an ISO language code is tacked on the end to translate them:
    image

  • With the important exception of adding /en to a tweet already in English: this does not work. Strangely, though, adding a nonsense language code will cause the embed to function correctly and display the tweet in English:
    image

  • This behavior when trying to translate to the language the tweet is written in does not appear to extend to other languages. This tweet was written in Ukrainian; trying to translate it to uk just posts it normally:
    image

  • Also, embeds seem to work when extracting the video with the d. subdomain:
    image

  • Tweets without video/gifs seem to work, including those with quoted tweets, still images, and multiple images.

  • Sometimes nothing works:
    image

Feature request: Fetch user profiles

I was looking through the source code and noticed the ability to request data as tweets JSON which is super useful!

I was looking though and it appears the user endpoints only redirect back to the main profile. It'd be pretty useful to be able to fetch user profiles via this endpoint. This could also resolve #110

I might be down to try implementing this myself if you'd like that, as the whole project is well structured and it looks easy enough to do. I think it'd be a good way to lay the ground work for a special user embedd, as I noticed in a comment this was something that could be done in the future

Inverting Tweet Content and Account

Currently the Tweet text is show at the top with the account shown bellow

Could it be possible to "invert" the position so that it would look like the normal embed

image

image

GIFs don't embed

It's exactly what it sounds like, GIFs on Twitter don't embed using pxTwitter at the moment

Feature Request: gif support

Twitter, as far as I know, pretends .mp4s are .gifs. If you could add ".gif" (or maybe even ".apng") to the end of a twitter link and it would embed the gif as a native gif, I feel like that could be a pretty neat feature. I don't know how hard this would be to implement.

Feature Request: Hidden option (cookie?) to redirect to Nitter instead of Twitter

Hello! Absolutely love having fxtwitter around to use.

I already have a browser extension for redirecting Twitter links to Nitter, but it would be great if there was some hidden option to have FixTwitter redirect to a Nitter instance instead of to Twitter directly. In particular I'd really like it on my phone, where the redirect extension doesn't always work properly, so I end up having to reload the horrible Twitter mobile webpage a few times before the redirect kicks in.

Perhaps maybe setting a client-side cookie that gets checked for when redirecting the user? Add a hidden URL at something like https://fxtwitter.com/redirect_domain?domain=nitter.nl to set the cookie in the user's browser, and some similar URL to reset it back to the default (to go to twitter.com).

Just a thought.
Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.