/threads-web-client

A web client for Meta's new Threads app

Primary LanguageTypeScriptGNU General Public License v3.0GPL-3.0

Instagram Threads Web Client

Docker Pulls Average time to resolve an issue

This project provides a desktop web client for Threads. Meta is too slow to implement, so I'm working on it. Mobile is not the best experience to work with.

DISCLAIMER: This software is made without any support from Meta and is in no way related to the company or any of its developers. This client makes the experience similar to Twitter but it is much different in implementation (original is in bootstrap while this one uses Tailwind, with different iconography). Use of the GPLv3 license is a notice of intent that there be no financial reward for an end-resulting usage or implementation of this software - it is simply a hobby project, though personal donations to its contributors are welcome.
NOTICE: Instagram's Threads API is undocumented so we cannot guarantee that you will not be suspended using this client.
Please see LICENSE for a notice of non-warranty and non-liability.

Running

docker run -it -p 3000:3000 stevenlafl/threads-web-client:latest

Open http://localhost:3000 with your browser to see the result.

Now you are presented with a login screen. This login screen only exchanges a username/password combination for a token and stores it on your browser in localStorage along with the application state. Subsequent requests use that localStorage's token value to do everything. This has no backend storage, so any browser session will work perfectly fine. I run the one instance and have multiple people accessing it for their feeds.

You'll be presented a page like this:

Enter your credentials. Then you will have access to the client. Here are some screenshots (click to view larger version):

Contributing

First, run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev

Then it's the same steps as above, minus the docker portion. Everything should behave like a standard NextJS project.

Roadmap

Right now this just displays the regular feed with likes and reply counts. It displays images and it displays video properly.

Todo:

  1. View threads
  2. View replies
  3. Add posting
  4. Add replying
  5. View images
  6. View videos
  7. View quotes
  8. View repost
  9. Add liking
  10. Add reposting
  11. Add quote posting
  12. Add account switching
  13. Follow/unfollow
  14. User search
  15. Recommended users sidebar
  16. ???

Credits

Uses NextJS and threads.js at the core

For the frontend tailwind work, this great UI by @hiravesonali

https://tailwindcomponents.com/component/twitter-clone