Difference between revisions of "Glitch"
(CDN assets can't be complete, because we discover those from git, and we haven't got all of git yet. --pabs) |
m (Use private parameter to indicate restricted collection) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 5: | Line 5: | ||
| image = Glitch-screenshot.png | | image = Glitch-screenshot.png | ||
| project_status = {{closing}} | | project_status = {{closing}} | ||
| archiving_status = {{saved}} <small>(public project metadata)</small><br>{{ | | archiving_status = {{saved}} <small>(public project metadata)</small><br>{{partial}} <small>(repo assets e.g. source code)</small><ref>[[Talk:Glitch#CDN archiving and current project status|CDN archiving and current project status - Talk:Glitch]]</ref><br>{{partial}} <small>(non-repo assets e.g. CDN)<ref>[[Talk:Glitch#CDN archiving and current project status|CDN archiving and current project status - Talk:Glitch]]</ref></small> | ||
| archiving_type = [[DPoS]] | | archiving_type = [[DPoS]] | ||
| tracker = [https://tracker.archiveteam.org/glitch/ glitch] | | tracker = [https://tracker.archiveteam.org/glitch/ glitch] | ||
| source = [https://github.com/ArchiveTeam/glitch-grab glitch-grab], [https://github.com/ArchiveTeam/glitch-items glitch-items] | | source = [https://github.com/ArchiveTeam/glitch-grab glitch-grab], [https://github.com/ArchiveTeam/glitch-items glitch-items] | ||
| irc = ditched | | irc = ditched | ||
| data = {{IA id|archiveteam_glitch}} | | data = {{IA id|archiveteam_glitch|private=1}} | ||
| topic = Archiving G̳̮͇͑̃͗l̤̣̠̀̂̔ȋ̝̼͖͘͡t̡̜̲̑̐̃c̣͙̑͋͘͜h̲̯̟̐̈̚ | https://wiki.archiveteam.org/index.php/Glitch | | topic = Archiving G̳̮͇͑̃͗l̤̣̠̀̂̔ȋ̝̼͖͘͡t̡̜̲̑̐̃c̣͙̑͋͘͜h̲̯̟̐̈̚ | https://wiki.archiveteam.org/index.php/Glitch | ||
}} | }} |
Latest revision as of 11:34, 17 September 2025
Glitch | |
![]() | |
![]() | |
URL | https://glitch.com/ |
Status | Closing |
Archiving status | Saved! (public project metadata) Partially saved (repo assets e.g. source code)[1] Partially saved (non-repo assets e.g. CDN)[2] |
Archiving type | DPoS |
Project source | glitch-grab, glitch-items |
Project tracker | glitch |
IRC channel | #ditched (on hackint) |
Data[how to use] | archiveteam_glitch🔒 |
Glitch is a website where users can create web applications (projects) and share them. It supports static, as well as dynamic websites though 11ty or NodeJS - the latter are only online for limited amounts of time every month.
Shutdown
The shutdown was announced on 2025-05-22, where project hosting and user profiles will be inaccessible to the public on 2025-07-08. Users are still able to export their projects through the end of 2025.[3]
Important Changes are Coming to Glitch
[...]
We’ve got an important update for the Glitch community today: We’ll be ending web hosting for your apps on Glitch. In this message, we’ll explain what that means for you and for the Glitch community.
On July 8, 2025 Glitch project hosting and user profiles will be shut down. Your Glitch dashboard will remain available as usual through the end of 2025, with access to download all of your code for your projects, as well as a new feature to set up redirects for your project subdomains so your URLs keep working.
There are a couple of reasons we’re making this decision right now. It takes a lot of time and money to run millions of apps, and that has greatly increased as the platform has gotten older and bad actors try to misuse the platform. But while that is true, there’s also another motivation that made it clear that it’s time for a bigger change.
[...]
Right now, our number one job is to take care of everyone in the Glitch community during this big change. Here’s what we’re doing first:
- Your Glitch dashboard will be available through the end of 2025 with code downloads for all of your projects
- In the coming days, your dashboard will get a new feature to set up redirects for your project subdomains, so all your links will keep working. Make sure your redirects are set up before December 31, 2025. (We’ll make sure they stay active at least through the end of 2026.)
- We’re working on preparing a guide to help you export your project, create git repos, and migrate your projects to new platforms. And we expect to update the guide as our friends at other platforms make it easy to move your projects over to their sites. Until then, please join us in the Community Forum to ask questions and get tips on migrating.
- We’ll turn off new Glitch Pro subscriptions effective immediately. All current Glitch Pro subscriptions will be honored until July 8, and we’ll issue refunds for unused time. We’ll send a separate email to Glitch Pro subscribers with additional details on your membership by June 2, 2025.
[...]
Discovery
Users and projects can be enumerated using the API. Request these two URLs and continuously fetch the nextPage
field of the resulting JSON. Python scripts for that are available[1] [2]. Enumeration API call lists are available[3] [4] and were run in ArchiveBot. Enumerated user data available for avatarThumbnailUrl avatarUrl login and projects domain gitRepoUrl redirectUrl. ArchiveBot !ao <
jobs were run for the gitRepoUrl
and redirectUrls
lists.
https://api.glitch.com/v1/users/?limit=1000 https://api.glitch.com/v1/projects/?limit=1000
Archiving
Basic information about a user or project are on https://glitch.com/@user and https://glitch.com/~project, which use JavaScript, but might be archivable by hard-coding the behaviour of the page JS in a DPoS script.
Projects can be made private with Glitch Pro. They're still accessible on their subdomain, but getting metadata and source code is disabled.
Project web servers
Each project has its web server ran on a subdomain of glitch.me, thus until July 8th 2025 it'll be possible to access the user-facing part there. JavaScript usage in these projects varies heavily. Some projects may be on custom domains. After the deadline, accounts will still be able to download their projects "through the end of 2025".
Glitch is able to host both static and server-side projects. Server-side ones can "fall asleep" (be stopped) after five minutes of inactivity if its owner doesn't pay for Glitch Pro. When accessing a sleeping project's web server, Glitch will attempt to "wake up" (restart) the project. If your user agent contains Mozilla
and your Accept header accepts text/html
, Glitch will serve you a placeholder page telling you this, which should not be archived. If one of those headers are missing, Glitch instead waits for the app and lets it handle the response, as if it was just lagging. An example of a sleeping app can be seen at deliberately-broken-app.glitch.me (which will never wake up).
Project git repositories
For public projects, their git repository can usually be cloned anonymously with the URL format https://api.glitch.com/git/PROJECT-SLUG
, replacing PROJECT-SLUG with the actual project slug, e.g. PROJECT-SLUG.glitch.me
or glitch.com/~PROJECT-SLUG
. However, the git repository may not be accessible for projects using outdated versions of Node, or suspended users.
The git repositories do not include any uploaded "assets", nor databases or other data (typically stored under .data/), nor the .env file, among other things. They usually include a .glitch-assets
file, which is a JSONL file enumerating assets uploaded to the Assets tab of that project (or a project's ancestor). The url
and thumbnail
properties of each object link to the CDN servers, which are usually on the domains cdn.glitch.global, cdn.glitch.me or cdn.hyperdev.com for older projects. Only the latest version of the file needs processing, because file deletions just add a new item for the uuid
with deleted
set to true
, and the old URL is still present and still works. The CDN assets will be available for longer.
Project types
The project type can be checked in advance to try to avoid scraping too many server-side apps at a time, but it can be incorrect. To check it, access https://api.glitch.com/projects/PROJECT-SLUG
. appType
will be static if the project was using static hosting.
Many projects are made using templates, which will have the correct type. Glitch is also able to re-evaluate the type (in case a server-side app goes static or vice versa) but it's done when the project's web server is accessed.
As an example of an edge case, when creating a project by importing from your own Git repository, its metadata starts as a static project even if it has server-related files. Glitch will notice these on re-evaluation and spin up a server for the app.