{"id":13810504,"url":"https://github.com/stevenlafl/threads-web-client","last_synced_at":"2025-05-07T04:23:08.417Z","repository":{"id":180037339,"uuid":"664465730","full_name":"stevenlafl/threads-web-client","owner":"stevenlafl","description":"A web client for Meta's new Threads app","archived":false,"fork":false,"pushed_at":"2023-07-19T03:46:28.000Z","size":563,"stargazers_count":40,"open_issues_count":5,"forks_count":10,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-31T06:19:12.225Z","etag":null,"topics":["instagram","instagram-threads","meta","nextjs","node","threads","threadsjs","web"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stevenlafl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-07-10T03:28:15.000Z","updated_at":"2024-10-28T05:10:59.000Z","dependencies_parsed_at":"2024-01-15T13:33:45.805Z","dependency_job_id":null,"html_url":"https://github.com/stevenlafl/threads-web-client","commit_stats":null,"previous_names":["stevenlafl/threads-web-client"],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stevenlafl%2Fthreads-web-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stevenlafl%2Fthreads-web-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stevenlafl%2Fthreads-web-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stevenlafl%2Fthreads-web-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stevenlafl","download_url":"https://codeload.github.com/stevenlafl/threads-web-client/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252811189,"owners_count":21807905,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["instagram","instagram-threads","meta","nextjs","node","threads","threadsjs","web"],"created_at":"2024-08-04T02:00:56.803Z","updated_at":"2025-05-07T04:23:08.390Z","avatar_url":"https://github.com/stevenlafl.png","language":"TypeScript","readme":"# Instagram Threads Web Client\n\n\u003cdiv align=\"center\"\u003e\n  \n[![Docker Pulls](https://badgen.net/docker/pulls/stevenlafl/threads-web-client?icon=docker\u0026label=pulls)](https://hub.docker.com/r/stevenlafl/threads-web-client/)\n[![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/stevenlafl/threads-web-client.svg)](http://isitmaintained.com/project/stevenlafl/threads-web-client \"Average time to resolve an issue\")\n\n\u003c/div\u003e\n\nThis 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.\n\n##### 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.\n\n##### NOTICE: Instagram's Threads API is undocumented so we cannot guarantee that you will not be suspended using this client. \u003cbr/\u003e Please see [LICENSE](https://github.com/stevenlafl/threads-web-client/blob/master/LICENSE) for a notice of non-warranty and non-liability.\n\n## Running\n\n```\ndocker run -it -p 3000:3000 stevenlafl/threads-web-client:latest\n```\n\nOpen [http://localhost:3000](http://localhost:3000) with your browser to see the result.\n\nNow 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.\n\nYou'll be presented a page like this:\n\n\u003cimg src=\"https://github.com/stevenlafl/threads-web-client/assets/2539092/864eaa01-f722-49fd-8d0d-bdfcbfddac16\" width=\"400\"/\u003e\n\n\nEnter your credentials. Then you will have access to the client. Here are some screenshots (click to view larger version):\n\n\u003cimg src=\"https://github.com/stevenlafl/threads-web-client/assets/2539092/c3d974b8-757c-41b9-82fa-02de50fc35ec\" width=\"400\" /\u003e\n\n\u003cimg src=\"https://github.com/stevenlafl/threads-web-client/assets/2539092/6584558d-ab7f-45a7-be2c-ae44f3ab9537\" width=\"400\" /\u003e\n\n\u003cimg src=\"https://github.com/stevenlafl/threads-web-client/assets/2539092/02929168-dca2-4d38-903f-9a41cd94dc86\" width=\"400\" /\u003e\n\n\u003cimg src=\"https://github.com/stevenlafl/threads-web-client/assets/2539092/9e1dc7aa-0a55-495b-a0a6-e3f2e526b492\" width=\"400\" /\u003e\n\n\n\n\n## Contributing\n\nFirst, run the development server:\n\n```bash\nnpm run dev\n# or\nyarn dev\n# or\npnpm dev\n```\n\nThen it's the same steps as above, minus the docker portion. Everything should behave like a standard NextJS project.\n\n## Roadmap\n\nRight now this just displays the regular feed with likes and reply counts. It displays images and it displays video properly.\n\nTodo:\n\n1. ~~View threads~~\n2. ~~View replies~~\n3. ~~Add posting~~\n4. ~~Add replying~~\n5. ~~View images~~\n6. ~~View videos~~\n7. ~~View quotes~~\n5. ~~View repost~~\n6. ~~Add liking~~\n7. ~~Add reposting~~\n8. Add quote posting\n9. Add account switching\n10. ~~Follow/unfollow~~\n11. ~~Mute/Unmute~~\n12. ~~Block/unblock~~\n13. ~~Emoji picker~~\n14. ~~User search~~\n15. ~~Recommended users sidebar~~\n16. Optimized/pretty post formatting\n17. Character limiter on text entry for posting\n18. ???\n\n### Credits\n\nUses [NextJS](https://github.com/vercel/next.js/) and [threads.js](https://github.com/threadsjs/threads.js) at the core\n\nFor the frontend tailwind work, this great UI by @hiravesonali\n\nhttps://tailwindcomponents.com/component/twitter-clone\n","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstevenlafl%2Fthreads-web-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstevenlafl%2Fthreads-web-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstevenlafl%2Fthreads-web-client/lists"}