{"id":13397525,"url":"https://github.com/mozilla-services/screenshots","last_synced_at":"2025-03-14T00:32:27.375Z","repository":{"id":23425357,"uuid":"26788257","full_name":"mozilla-services/screenshots","owner":"mozilla-services","description":"Firefox Screenshots: the best way to take screenshots on the web.","archived":true,"fork":false,"pushed_at":"2023-01-17T19:04:51.000Z","size":20956,"stargazers_count":620,"open_issues_count":159,"forks_count":128,"subscribers_count":47,"default_branch":"master","last_synced_at":"2024-07-31T18:20:46.251Z","etag":null,"topics":["firefox","firefox-screenshots","javascript"],"latest_commit_sha":null,"homepage":"https://screenshots.firefox.com","language":"FreeMarker","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mozilla-services.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null}},"created_at":"2014-11-18T02:28:36.000Z","updated_at":"2024-07-01T21:36:36.000Z","dependencies_parsed_at":"2023-02-10T11:31:05.759Z","dependency_job_id":null,"html_url":"https://github.com/mozilla-services/screenshots","commit_stats":null,"previous_names":[],"tags_count":99,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mozilla-services%2Fscreenshots","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mozilla-services%2Fscreenshots/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mozilla-services%2Fscreenshots/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mozilla-services%2Fscreenshots/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mozilla-services","download_url":"https://codeload.github.com/mozilla-services/screenshots/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243504781,"owners_count":20301504,"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":["firefox","firefox-screenshots","javascript"],"created_at":"2024-07-30T18:01:28.645Z","updated_at":"2025-03-14T00:32:26.018Z","avatar_url":"https://github.com/mozilla-services.png","language":"FreeMarker","readme":"## [Firefox Screenshots](https://screenshots.firefox.com/)\n\n[![CircleCI Build Status](https://circleci.com/gh/mozilla-services/screenshots.svg?style=shield)](https://circleci.com/gh/mozilla-services/screenshots)\n\n[Screenshots server status page](https://status.services.mozilla.com/)\n\n[Clarifying the Future of Firefox Screenshots](https://blog.mozilla.org/futurereleases/2019/01/24/clarifying-the-future-of-firefox-screenshots/)\n\n----\n### Important Note\nThe frontend for screenshots is now maintianed in mozilla-central. Bugs should now be filed in bugzilla under Firefox::screenshots.\nThis repo currently contains server code that has been disabled. We are archiving this repo, and all future bugs should be directed to bugzilla.\n\n----\n\n\nThis is a screenshot tool for Firefox. It is available in Firefox 56 and later versions, as part of the default Firefox distribution.\n\nThe project was initially launched through [Test Pilot](https://testpilot.firefox.com/) as [Page Shot](https://testpilot.firefox.com/experiments/page-shot).\n\nIt is made up of both an add-on (using [WebExtensions](https://developer.mozilla.org/Add-ons/WebExtensions)) and a website using Node.js.  The add-on is in `webextension/`, and the website is in `server/`\n\nIan has been blogging about the [design, definition, and development process](http://www.ianbicking.org/tag/product-journal.html).\n\n(This project used to include general page freezing; this functionality has been forked off into [pagearchive](https://github.com/ianb/pagearchive).)\n\nYou can find more information about Firefox Screenshots at the Mozilla Wiki page: https://wiki.mozilla.org/Firefox/Screenshots\n\n### Installation and Setup\n\nInstall [Nightly or Developer Edition](https://www.mozilla.org/en-US/firefox/channel/desktop/).\n\n(Skip this step if you do not want to run a local server.) Install [Postgres](http://www.postgresql.org/).  And do _one_ of the following:\n- Ensure the locale for your Postgres messages is US English ([Here's why](https://github.com/chilts/pg-patcher/blob/master/pg-patcher.js#L101))\n- Run the [first migration](https://github.com/mozilla-services/screenshots/blob/master/server/db-patches/patch-0-1.sql) manually\n\nInstall [Node.js](https://nodejs.org/). Version 8.x is required.\n\nClone the [repository](https://github.com/mozilla-services/screenshots/).  Navigate to the project directory and run `npm install`.\n\nThere are two scripts to run the server locally and develop the add-on:\n\n- `./bin/run-server` will run the server on `http://localhost:10080` and automatically restart if there are changes.\n    - If nodemon crashes you can try to start the server with `./bin/run-server --restart`\n    - Take a look at and/or source [`.env.dev`](https://github.com/mozilla-services/screenshots/blob/master/.env.dev) for some of the options available through environment variables.\n- `./bin/run-addon` will build a few parts of the addon (into `addon/webextension/build/`) and start Firefox with the add-on installed.  The add-on will be refreshed automatically as you change files.  We recommend you open `about:debugging` to help debug the extension.\n- `./bin/run-addon --setup-profile` will setup a Firefox profile for your development; this way you can make persistent changes to the profile that you will use just for Screenshots development. (note: this will only look for the `firefox` command or Nightly, Developer Edition, Aurora editions on OSX)\n\n**If you want to develop the add-on but not the server** you can run `./bin/run-addon -s https://screenshots.dev.mozaws.net`\n\nBy default, Screenshots will connect to a Postgres database on localhost:5432. To change which database and user it connects to set/export the environmental variables: `RDS_USERNAME`, `RDS_PASSWORD`, and `RDS_HOSTNAME`\n\nThe server will automatically setup the tables in your database, and keep them up to date over time (using [pg-patcher](https://github.com/chilts/pg-patcher/)).\n\nIf you have growl and growlnotify installed on Mac OS X, you will get growl notifications when the server build has started and completed.\n\nWe apologize but we have no story for development on Windows (though the add-on runs on Windows).  [We welcome feedback](https://github.com/mozilla-services/screenshots/issues/4289).\n\n### Linting and Testing\n\n`npm run test` will run tests as well as eslint.  You can control the tests with the following shell/environment variables:\n- `MOZ_HEADLESS` - when this variable is set, the Selenium tests will run in [headless mode](https://developer.mozilla.org/en-US/Firefox/Headless_mode).\n- `SCREENSHOTS_BACKEND` - the server where the addon will try to save shots if the default http://localhost:10080 is not available or desirable.\n\nFor example, `MOZ_HEADLESS=1 SCREENSHOTS_BACKEND=https://screenshots.dev.mozaws.net npm run test` will run the tests headlessly against https://screenshots.dev.mozaws.net.\n\n`npm run test:server` will run the server tests.  This require Python and the local server running on http://localhost:10080.\n\n### Getting to know the code\n\nThere is documentation in [`webextension/`](https://github.com/mozilla-services/screenshots/blob/master/webextension/), [`webextension/background/`](https://github.com/mozilla-services/screenshots/blob/master/webextension/background/), and [`webextension/selector/`](https://github.com/mozilla-services/screenshots/blob/master/webextension/selector) that talks about the code layout and architecture of the webextension.\n\n[`server/view-docs.md`](https://github.com/mozilla-services/screenshots/blob/master/server/views-docs.md) talks about how the server React pages are setup, along with the server-side rendering of pages.\n\nThere is also documentation in [`docs/`](https://github.com/mozilla-services/screenshots/blob/master/docs/).\n\n### Participation\n\nThere is an IRC channel `#screenshots` on irc.mozilla.org (you can use [this link](https://kiwiirc.com/nextclient/irc.mozilla.org/screenshots) for chat access via the web if you do not otherwise use IRC).  There are [IRC logs available](https://mozilla.logbot.info/screenshots).\n\nIf you'd like to contribute code, start with our [`good-first-issue` bugs](https://github.com/mozilla-services/screenshots/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22). If there aren't many of them, or they don't seem too interesting, the Stretch milestone contains things we'd like to get to, but aren't a high priority. If you're interested in working on an issue, it's a good idea to comment in the issue on github, or say hello on IRC, so that we can double-check that the issue is still good, provide any context you might need, and assign it to you.  \n\nPlanning and ideation is happening in the [issue tracker](https://github.com/mozilla-services/screenshots/issues).  We have several [milestones](https://github.com/mozilla-services/screenshots/milestones):\n\n* [Issues with no milestone](https://github.com/mozilla-services/screenshots/issues?q=is%3Aopen+is%3Aissue+no%3Amilestone) are awaiting triage\n* [Issues in Stretch](https://github.com/mozilla-services/screenshots/milestone/9) are immediately actionable but just nice-to-haves, not blockers.\n* [Issues in Blue Sky](https://github.com/mozilla-services/screenshots/milestone/3) are things we would like to do, but have no immediate plans to work on them.  (If you see something you care about there, comment on it -- otherwise we may not notice it)\n* [Look in Milestones](https://github.com/mozilla-services/screenshots/milestones) for other shorter-lived milestones.\n\nIssue tags otherwise aren't very structured. [Research](https://github.com/mozilla-services/screenshots/issues?q=is%3Aopen+is%3Aissue+label%3Aresearch) is primarily analysis of other products that do something interesting, or some source material that could provide insight.  Input on these (things like \"I like this product because...\") is very helpful!\n\nWe do some research on other projects, [collecting the results in this Google Drive folder](https://drive.google.com/drive/folders/0B8i2m8Kt5pnBaHlMNWtYdV8xNTg?usp=sharing).\n\n### Localization\n\nFirefox Screenshots localization is managed via [Pontoon](https://pontoon.mozilla.org/projects/firefox-screenshots/), not direct pull requests to the repository. If you want to fix a typo, add a new language, or simply know more about localization, please get in touch with the [existing localization team](https://pontoon.mozilla.org/teams/) for your language, or Mozilla’s [l10n-drivers](https://wiki.mozilla.org/L10n:Mozilla_Team#Mozilla_Corporation) for guidance.\n","funding_links":[],"categories":["FreeMarker","firefox"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmozilla-services%2Fscreenshots","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmozilla-services%2Fscreenshots","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmozilla-services%2Fscreenshots/lists"}