Commit graph

1286 commits

Author SHA1 Message Date
Vinicius Fortuna
ecb28223af Create Code Design page 2022-08-19 13:00:31 -04:00
Daniel LaCosse
3b0e6154b8
fix(manager): removes special case for manager connection key (#1138)
* seems to work

* remove additional assets

* put back getConnectedHelpBubble

* lil tweak
2022-08-16 10:05:31 -04:00
Daniel LaCosse
f529b48c91
refactor(manager): replace share s3 flow with self-contained instructions (#1133)
* initial commit - need to test

* update en.json

* update messages

* revert my access key event rerouting

* type errors

* add message descriptions

* good enough

* just one block o' text

* almost there

* put back pre-wrap

* switch to <br>

* line break to master messages
2022-08-04 15:21:22 -04:00
J. Yi
46dc821f92
refactor(manager): ♻️ change electron-updater's url to S3 (#1135)
In this PR, I switched `electron-updater`'s checking-update-url to Amazon S3, so [`outline-releases` GitHub repository](https://github.com/Jigsaw-Code/outline-releases/tree/master/manager) can be deprecated (but we still need to update the yaml files for backward compatibility).
2022-08-03 12:54:23 -04:00
Vinicius Fortuna
19ddaa2b15
Merge pull request #1134 from Jigsaw-Code/fortuna-key
feat(server): increase TLS key size
2022-08-03 12:45:56 -04:00
Vinicius Fortuna
3d6752c048 Increase size of TLS key 2022-08-02 21:45:41 +00:00
Vinicius Fortuna
bf4f4af734 Fix integration test 2022-08-02 21:45:30 +00:00
Kevin Damm
16b627cfc6 Avoid malicious path traversal in manager's Electron method.
There is an Electron IPC event 'open-image' that accepts any path,
including relative paths that would expose system filenames such as
/etc/passwd.  This change resolves all paths to be rooted at the base
directory for ...server_manager/web_app.
2022-08-02 11:56:26 -04:00
Daniel LaCosse
8d2791e006
remove dev tools (#1130) 2022-07-28 15:05:54 -04:00
J. Yi
3a25236bb8
chore(manager): 🌐 add translations for DO messages (#1126) 2022-07-28 12:26:59 -04:00
Daniel LaCosse
b9a0f30add
chore: update electron notarize (#1128)
* ...

* apple password, apple team id
2022-07-28 11:39:09 -04:00
Daniel LaCosse
84f978d9e0
inflation (#1118) 2022-07-12 17:09:06 -04:00
J. Yi
5624202861
fix(manager): 🌐 update some translation texts (#1120) 2022-07-06 17:27:24 -04:00
Daniel LaCosse
97cabe60a9
fix: remove outdated RELEASES_REPOSITORY (#1119)
* remove releases repository

* make github explicit

* remove ci docs

* generic = raw url download
2022-07-01 16:51:27 -05:00
J. Yi
7ca6d366d3
fix(manager): 💊 manager's icon is not shown in Ubuntu Dock (#1117)
Our app's icon is not shown in Ubuntu Dock because of the wrong image path:

<img width="870" alt="image" src="https://user-images.githubusercontent.com/93548144/176346973-d3285140-bbab-443d-97ad-04180c9094ac.png">

After the fix, the icon is shown correctly on all platforms:

<img width="967" alt="image" src="https://user-images.githubusercontent.com/93548144/176346203-fe213ac6-d673-40b1-bdf9-52f385fb6649.png">

<img width="143" alt="image" src="https://user-images.githubusercontent.com/93548144/176458625-0a68f88a-4b72-4097-9b66-3357139e033c.png">

<img width="292" alt="image" src="https://user-images.githubusercontent.com/93548144/176459397-a6015e2a-50c0-4b90-9289-fe0c56d6d24b.png">


Related PR: https://github.com/Jigsaw-Code/outline-client/pull/1327
2022-06-29 15:05:04 -04:00
Benjamin M. Schwartz
ae2b3137ab
Merge pull request #1116 from Jigsaw-Code/bemasc-gcp-enable
chore(manager): show the GCP magic flow by default
2022-06-27 13:49:06 -04:00
Ben Schwartz
3424df3c79 Show the GCP magic flow by default
"Advanced" GCP flow (now legacy) is available by setting
GCP_AUTH_ENABLED=false.
2022-06-27 11:43:23 -04:00
Daniel LaCosse
a61029dd8a
Delete macos-signing-certificate.p12.enc (#1115) 2022-06-24 14:40:33 -05:00
Daniel LaCosse
15cf404361
feat(devtools): partial import restrictions (#1114)
* add restrictions - bypassing for draft

* this feels like the correct list?

* this feels like the actual actual correct list?

* comment out rules for later fixing

* upgrade node setup for windows
2022-06-23 17:52:30 -05:00
Daniel LaCosse
f0fd12997c
update version to 1.10.0 (#1112) 2022-06-17 16:49:07 -04:00
Daniel LaCosse
da35bd8c65
fix broken link (#1111) 2022-06-16 13:45:58 -04:00
J. Yi
5dc445c203
build(manager): 👷 sign Windows apps during electron build (#1104)
#### Description

In this PR, I introduced the cross-platform Windows binary signing tools to the server manager. [Jsign](https://ebourg.github.io/jsign/) is included as one of the `third_party` dependencies. In the future, we can leverage GCP KMS based certificate to do the signing as well.

#### Environment Variables

- `WINDOWS_SIGNING_CERT_TYPE`: `none|pfx|digicert-usb`
- `WINDOWS_SIGNING_CERT_PASSWORD`: password of the certificate (store)
- `WINDOWS_SIGNING_PFX_CERT`: ".pfx" certificate path if the type is `pfx`
- `WINDOWS_SIGNING_EV_CERT_SUBJECT`: [optional] subject of the EV certificate if type is `digicert-usb` (in our case, you can use `Jigsaw Operations LLC`)
2022-06-07 16:21:44 -04:00
J. Yi
9b37c454cc
feat(manager): 🌐 introduce new i18n languages support (#1100)
In this PR, I introduced 9 more language support to the Manager, including:

* bs
* en-GB
* es
* et
* hy
* ka
* mk
* pt-PT
* sq

In order to display the new languages in the UI, I updated the language list as well. The language names come from the official [Google Account language settings page](https://myaccount.google.com/language).

I also updated the translations for the following languages:

* fa
* kk
* my
* nl
2022-06-03 16:07:13 -04:00
Daniel LaCosse
2d3481574f
chore(devtools): non-build updates from client (#1103)
* okay put this up see where we're at

* update builds here

* check browserslist

* add badge

* Update build_and_test_debug.yml

* scopes & electron version
2022-06-03 10:08:21 -04:00
J. Yi
c69c7167c0
build(manager): 👷 upgrade packages to fix manager's local build (#1101)
In this PR, I fixed two build errors when starting manager locally on macOS:

1. **Cannot find python** (caused by out-dated `electron-builder`)

> ```
> $ BUILD_ENV=development npm run action server_manager/electron_app/start mac
> ...
> + electron-builder --mac --config.mac.icon=icons/mac/icon.icns --projectDir=build/server_manager/electron_app/static --config.asarUnpack=server_manager/web_app/images --publish=never '--config.artifactName="Outline-Manager.${ext}"'
> ...
>     ⨯ Exit code: ENOENT. spawn /usr/bin/python ENOENT
> ...
> ```

2. **Cannot run `serve`** (caused by out-dated `webpack-cli`)

> ```
> $ npm run action server_manager/web_app/start
> ...
> TypeError: Class constructor ServeCommand cannot be invoked without 'new'
> ...
> ```

I also added [`@webpack-cli/serve`](https://www.npmjs.com/package/@webpack-cli/serve) as a global package because it is required by `webpack-cli`] when you run `npm run action server_manager/web_app/start`:

```
$ npm run action server_manager/web_app/start
...
Would you like to install serve? (That will run npm install -D @webpack-cli/serve) (yes/NO) : 
@webpack-cli/serve needs to be installed in order to run the command.
...
```
2022-05-31 15:22:33 -04:00
Benjamin M. Schwartz
95f679a8c9
Merge pull request #1092 from Jigsaw-Code/bemasc-droplet-limit
fix(do): Degrade more gracefully when the droplet limit is reached
2022-05-19 12:26:38 -04:00
Ben Schwartz
22b680b183 Combine status and message 2022-05-16 11:43:09 -04:00
Ben Schwartz
8a918a3d2f Relax checks when loading an existing account 2022-05-13 16:36:53 -04:00
Ben Schwartz
84d323b9b9 Use templated strings 2022-05-13 16:26:59 -04:00
Benjamin M. Schwartz
1f322c9bfe
Merge pull request #1098 from Jigsaw-Code/bemasc-pw-length
fix(sec): Use longer passwords
2022-05-13 15:54:11 -04:00
Ben Schwartz
f6be0dd6b0 fix(sec): Use longer passwords 2022-05-13 15:35:14 -04:00
dependabot[bot]
7ce5627833
Merge pull request #1096 from Jigsaw-Code/dependabot/npm_and_yarn/follow-redirects-1.15.0 2022-05-13 19:33:08 +00:00
dependabot[bot]
8b42036d14
Merge pull request #1097 from Jigsaw-Code/dependabot/npm_and_yarn/ejs-3.1.8 2022-05-13 19:30:46 +00:00
dependabot[bot]
3a025178b4
Bump follow-redirects from 1.14.4 to 1.15.0
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.14.4 to 1.15.0.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.14.4...v1.15.0)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-13 19:20:50 +00:00
dependabot[bot]
5070683542
Bump ejs from 3.1.6 to 3.1.8
Bumps [ejs](https://github.com/mde/ejs) from 3.1.6 to 3.1.8.
- [Release notes](https://github.com/mde/ejs/releases)
- [Changelog](https://github.com/mde/ejs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mde/ejs/compare/v3.1.6...v3.1.8)

---
updated-dependencies:
- dependency-name: ejs
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-13 19:20:50 +00:00
Benjamin M. Schwartz
1acb7dc5a8
Merge pull request #1090 from Jigsaw-Code/bemasc-custom-fetch
fix(manager): Proxy Shadowbox HTTP requests through Node
2022-05-13 15:19:40 -04:00
Ben Schwartz
5138eedd91 Move hasReachedLimit 2022-05-13 14:58:12 -04:00
Ben Schwartz
1295d3d9e7 Refactor 2022-05-13 14:33:05 -04:00
Ben Schwartz
263974e1ae Refactor 2022-05-13 11:58:52 -04:00
Ben Schwartz
e3fda57b25 Pipe through any warning message 2022-05-11 16:32:54 -04:00
Ben Schwartz
41ae0f6dbb Restructure per PR suggestions 2022-05-11 12:46:06 -04:00
Ben Schwartz
1b48be653c WIP: Degrade more gracefully when the droplet limit is reached 2022-05-04 17:23:19 -04:00
Ben Schwartz
2633379ec5 fix(manager): Proxy Shadowbox HTTP requests through Node
Currently, the Outline Server manager accesses Shadowbox APIs
using the browser's `fetch()` capability.  To allow the use
of self-signed certificates, the main process maintains a
list of trusted self-signed certificates and overrides the
browser's certificate verification errors when these
certificates are received.  This works well for a single
server, but creates potential security concerns when multiple
servers are enabled, because these servers necessarily share
the global trusted certificate list, as well as other state in
the browser network stack (e.g. the socket pool).

This change moves all communication with the Shadowbox server
to the Node.js HTTP client, which enables detailed control over
TLS configuration and does not rely on any shared state.

This is an alternative to #1086.
2022-05-03 12:40:05 -04:00
Benjamin M. Schwartz
4664384be0
Merge pull request #1085 from Jigsaw-Code/bemasc-update
chore: Update electron to 18.1.0
2022-04-26 12:59:05 -04:00
Ben Schwartz
7c7b51ef43 Update Puppeteer and make tests pass 2022-04-26 11:14:56 -04:00
Ben Schwartz
4f87cae818 fix: Server manager start action is missing its OS target 2022-04-25 17:53:33 -04:00
Ben Schwartz
ab0caccb09 chore: Update electron to 18.1.0
This includes changes to the tsconfig recommended for Node.JS 16
and a required change to remove an obsolete attribute.
2022-04-25 17:51:14 -04:00
dependabot[bot]
738bee7bb4
Merge pull request #1081 from Jigsaw-Code/dependabot/npm_and_yarn/plist-3.0.5 2022-04-13 22:48:21 +00:00
dependabot[bot]
764486ffa9
Bump plist from 3.0.4 to 3.0.5
Bumps [plist](https://github.com/TooTallNate/node-plist) from 3.0.4 to 3.0.5.
- [Release notes](https://github.com/TooTallNate/node-plist/releases)
- [Changelog](https://github.com/TooTallNate/plist.js/blob/master/History.md)
- [Commits](https://github.com/TooTallNate/node-plist/commits)

---
updated-dependencies:
- dependency-name: plist
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-11 13:55:16 +00:00
dependabot[bot]
c50d1c3f07
Merge pull request #1079 from Jigsaw-Code/dependabot/npm_and_yarn/moment-2.29.2 2022-04-11 13:54:04 +00:00