{"id":15452323,"url":"https://github.com/willscott/activist","last_synced_at":"2025-07-02T16:39:38.861Z","repository":{"id":14581291,"uuid":"17297687","full_name":"willscott/activist","owner":"willscott","description":"activist.js is a drop-in library for resilience to network interference","archived":false,"fork":false,"pushed_at":"2022-03-15T14:43:48.000Z","size":1529,"stargazers_count":32,"open_issues_count":6,"forks_count":8,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-04-30T17:51:06.995Z","etag":null,"topics":["censorship-circumvention","resilience"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/willscott.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-02-28T19:49:49.000Z","updated_at":"2025-03-25T05:58:45.000Z","dependencies_parsed_at":"2022-08-24T13:31:03.124Z","dependency_job_id":null,"html_url":"https://github.com/willscott/activist","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/willscott/activist","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/willscott%2Factivist","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/willscott%2Factivist/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/willscott%2Factivist/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/willscott%2Factivist/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/willscott","download_url":"https://codeload.github.com/willscott/activist/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/willscott%2Factivist/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263177449,"owners_count":23425965,"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":["censorship-circumvention","resilience"],"created_at":"2024-10-01T21:41:57.522Z","updated_at":"2025-07-02T16:39:38.799Z","avatar_url":"https://github.com/willscott.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"activist.js\n===========\n\nactivist.js is a standalone library for making your site resilient to unexpected\nnetwork events.\n\nActivist comes in 2 versions, which offer a trade-off between how much work you\nneed to do to add the library to your site, and how many of your users will be\nable to take advantage of the work.  New browsers provide features that make\nthe installation of activist.js as simple as adding a script tag to your home\npage, however this version of the library will only work for a small percentage\nof your user base (up-to-date chrome users). Activist also is packaged with a\ndrop-in application cache manifst, which will extend the benefit to most users,\nbut can require wider site changes.\n\nDeploying\n---------\n\n1. Add `activist.js` to your site.\n\n    ```html\n    \u003cscript type='text/javascript' src='activist.js' async\u003e\u003c/script\u003e\n    ```\n\n2. Add Offline Cache (recommended)\n\n    Adding an application cache manifest will allow activist.js to run on most\n    browsers, and is strongly recommended. Adding this cache is a 2 step\n    process. First, modify the ```html``` tag of your pages to reference\n    the cache. It should look something like this:\n    \n    ```html\n    \u003chtml manifest=\"/activist.appcache\"\u003e\n    ```\n    \n    A sample appcache is available in the gh-pages branch of this repo.\n    \n    The application cache needs to be served with the mime type of\n    'text/cache-manifest' to work on old versions of internet explorer.\n\n    More information on application cache mechanics are available on the\n    [w3 website](http://www.whatwg.org/specs/web-apps/current-work/multipage/offline.html).\n\nHow?\n----\n\nActivist tries really hard to keep your content accessible in the face of\nadversity.  In practice this results in several independent processes that kick\ninto action when your server is unavailable.\n\nThe first line of access is to preserve a reasonable cache of your site to\nallow users to see existing content even if they can't get new updates.  To\nthis end, Activist maintains a cache of your content on client machines and\nshows that content when needed.\n\nTo retreive updates, Activist attempts to establish connectivity through CDNs\nand other rendezvous services. These rendezvous services update while Activist\nis online, and aim to force interference with a large quantity of content to\nsuccessfully disrupt.\n\nContributing\n------------\n\nContribution and help are welcome! activist.js development is centered on\ngithub, and open tasks can be found in the issues area of this repository.\n\n![A](https://quimian.com/a.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwillscott%2Factivist","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwillscott%2Factivist","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwillscott%2Factivist/lists"}