zulip/docs
Alex Vandiver b982222e03 camo: Replace with go-camo implementation.
The upstream of the `camo` repository[1] has been unmaintained for
several years, and is now archived by the owner.  Additionally, it has
a number of limitations:
 - It is installed as a sysinit service, which does not run under
   Docker
 - It does not prevent access to internal IPs, like 127.0.0.1
 - It does not respect standard `HTTP_proxy` environment variables,
   making it unable to use Smokescreen to prevent the prior flaw
 - It occasionally just crashes, and thus must have a cron job to
   restart it.

Swap camo out for the drop-in replacement go-camo[2], which has the
same external API, requiring not changes to Django code, but is more
maintained.  Additionally, it resolves all of the above complaints.

go-camo is not configured to use Smokescreen as a proxy, because its
own private-IP filtering prevents using a proxy which lies within that
IP space.  It is also unclear if the addition of Smokescreen would
provide any additional protection over the existing IP address
restrictions in go-camo.

go-camo has a subset of the security headers that our nginx reverse
proxy sets, and which camo set; provide the missing headers with `-H`
to ensure that go-camo, if exposed from behind some other non-nginx
load-balancer, still provides the necessary security headers.

Fixes #18351 by moving to supervisor.
Fixes zulip/docker-zulip#298 also by moving to supervisor.

[1] https://github.com/atmos/camo
[2] https://github.com/cactus/go-camo
2021-11-19 15:58:26 -08:00
..
_static readthedocs: Add proper backlink to the Zulip homepage. 2021-07-06 10:59:59 -07:00
_templates docs: Follow Sphinx 4 rename of master_doc to root_doc. 2021-08-31 14:24:16 -07:00
contributing docs: Change chat.zulip.org links to zulip.com/developer-community. 2021-11-17 22:25:55 -08:00
development docs: Change chat.zulip.org links to zulip.com/developer-community. 2021-11-17 22:25:55 -08:00
documentation documentation: Expand documentation processes in new feature tutorial. 2021-11-02 14:03:34 -07:00
git docs: Format Markdown with Prettier. 2021-09-08 12:06:24 -07:00
images docs: Add missing width to Zulip logo. 2021-02-05 09:49:33 -08:00
overview puppet: Default to installing smokescreen on application frontends. 2021-11-19 15:29:28 -08:00
production camo: Replace with go-camo implementation. 2021-11-19 15:58:26 -08:00
subsystems misc: Rename "dark mode" to "dark theme". 2021-11-18 16:57:11 -08:00
testing docs: Update all links to Django docs to point to version /3.2/. 2021-11-08 18:06:16 -08:00
translating docs: Format Markdown with Prettier. 2021-09-08 12:06:24 -07:00
tutorials docs: Change chat.zulip.org links to zulip.com/developer-community. 2021-11-17 22:25:55 -08:00
.gitignore gitignore: Anchor patterns that should be anchored. 2017-07-19 14:03:49 -07:00
Makefile docs: Replace Makefile based on output of newer sphinx-quickstart. 2019-12-02 18:39:33 -08:00
README.md docs: Capitalize Markdown consistently. 2020-08-11 10:23:06 -07:00
THIRDPARTY nagios: Replace check_website_response with standard check_http plugin. 2021-07-09 16:47:03 -07:00
code-of-conduct.md repository: Add CODE_OF_CONDUCT.md. 2017-06-14 18:43:08 -07:00
conf.py docs: Enable sphinx_rtd_theme as an extension. 2021-11-04 11:55:15 -07:00
index.md docs: Format Markdown with Prettier. 2021-09-08 12:06:24 -07:00
requirements.readthedocs.txt requirements: Rename requirements files. 2017-11-21 02:38:26 +05:30

README.md

Zulip Markdown documentation hosted elsewhere

The Markdown files in this directory ( /zulip/docs ) are not intended to be read on GitHub. Instead, visit our ReadTheDocs to read the Zulip documentation.