2022-03-26 14:30:13 +00:00
|
|
|
# compy
|
|
|
|
|
2022-03-26 21:19:39 +00:00
|
|
|
> Compy is an HTTP/HTTPS forward proxy with content compression/transcoding capabilities.
|
|
|
|
> One use case is to reduce bandwidth usage when browsing on limited mobile broadband connection.
|
2022-03-26 14:30:13 +00:00
|
|
|
|
|
|
|
<!-- metadata -->
|
|
|
|
|
|
|
|
* **Category**: Apps
|
2022-03-26 21:19:39 +00:00
|
|
|
* **Status**: 1, alpha
|
|
|
|
* **Image**: [`compy`](https://hub.docker.com/r/thecoopcloud/compy), 0, own
|
2022-03-26 14:30:13 +00:00
|
|
|
* **Healthcheck**: No
|
|
|
|
* **Backups**: No
|
2022-03-26 21:19:39 +00:00
|
|
|
* **Email**: N/A
|
2022-03-26 14:30:13 +00:00
|
|
|
* **Tests**: No
|
|
|
|
* **SSO**: No
|
|
|
|
|
|
|
|
<!-- endmetadata -->
|
|
|
|
|
|
|
|
## Quick start
|
|
|
|
|
|
|
|
* `abra app new compy --secrets`
|
|
|
|
* `abra app config <app-name>`
|
|
|
|
* `abra app deploy <app-name>`
|
|
|
|
|
2022-03-27 15:31:01 +00:00
|
|
|
(For more `abra` commands, see [`docs.coopcloud.tech`](https://docs.coopcloud.tech).)
|
|
|
|
|
|
|
|
Then, configure an HTTP proxy (either system-wide, or in your app), using:
|
|
|
|
|
|
|
|
* Address/hostname: (your configured domain)
|
|
|
|
* Port: 9999
|
|
|
|
* Authentication: None (so far..)
|
2022-03-26 21:19:39 +00:00
|
|
|
|
|
|
|
## SSL (and Man-in-the-Middle)
|
|
|
|
|
2022-03-27 15:31:01 +00:00
|
|
|
To enable SSL (recommended), to encrypt the connection between you and Compy,
|
2022-10-18 21:30:52 +00:00
|
|
|
and to enable Man-in-the-Middle (MitM) to prevent hordes of certificate warnings:
|
2022-03-27 15:31:01 +00:00
|
|
|
|
|
|
|
1. `abra app config <app-name>`
|
|
|
|
2. (uncomment the SSL section)
|
|
|
|
3. `abra app deploy <app-name> --force`
|
|
|
|
|
|
|
|
When using SSL, there are a few extra steps to set up your client:
|
|
|
|
|
|
|
|
1. Download the generated Certificate Authority certificate:
|
|
|
|
`abra app cp <app-name> app:/certs/ca.crt .`
|
|
|
|
2. Import and trust this CA -- e.g. for Firefox, "Settings" → "Privacy and
|
|
|
|
Security" → "Certificates" → "Authorities" → "Import".
|
|
|
|
3. Add a security exception for the self-signed certificate that Compy uses for
|
|
|
|
its own connection (see #1), e.g. by visiting `https://<your-domain>:9999` in
|
|
|
|
your browser.
|
|
|
|
4. You may need to clear a certificate cache, if there is one (see below for
|
|
|
|
Firefox)
|
|
|
|
|
|
|
|
## Troubleshooting
|
|
|
|
|
|
|
|
### Firefox `cert9.db`
|
|
|
|
|
|
|
|
Firefox has a certificate cache, including HSTS information, which can prevent
|
|
|
|
Compy from working. Clear it by deleting or renaming
|
|
|
|
`$HOME/.mozilla/firefox/<your-profile>/cert9.db`
|
|
|
|
|
|
|
|
### Firefox & FoxyProxy
|
2022-03-26 21:19:39 +00:00
|
|
|
|
2022-03-27 15:31:01 +00:00
|
|
|
FoxyProxy is great. As of March 2022, it doesn't support Proxy Access
|
|
|
|
Configuration files, which Compy needs for working good (FoxyProxy say it's
|
|
|
|
because of [an unresolved bug in
|
|
|
|
Firefox](https://bugzilla.mozilla.org/show_bug.cgi?id=1396485#c3)). No solution
|
|
|
|
is known at this time 😕
|