Commit graph

991 commits

Author SHA1 Message Date
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
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
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
Ben Schwartz
f6be0dd6b0 fix(sec): Use longer passwords 2022-05-13 15:35:14 -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
Ben Schwartz
a2562d690b Avoid passing objects across the boundary 2022-03-25 13:44:36 -04:00
Ben Schwartz
62b365979c Refactor 2022-03-17 17:15:22 -04:00
Ben Schwartz
06d2f8d781 Merge branch 'master' into bemasc-scope 2022-03-17 15:57:28 -04:00
Ben Schwartz
733f49c891 fix: Avoid CI failure due to deprecated go get 2022-03-17 13:12:08 -04:00
Ben Schwartz
7dec0bd2bc fix: Limit trust anchor scope to a single host 2022-03-17 10:37:14 -04:00
Vinicius Fortuna
44091547b1
Merge pull request #1053 from nmcc1212/patch-1
Exit the script if using an unsupported processor
2022-03-15 17:24:11 -04:00
Vinicius Fortuna
e8d19a1a73
Fix lint 2022-03-15 17:01:17 -04:00
Vinicius Fortuna
0b6c42ca12
Tweak wording 2022-03-15 16:58:20 -04:00
Nial McCallister
a215562040
Update install_server.sh 2022-03-15 20:51:12 +00:00
Nial McCallister
afd5b6de42
Update install_server.sh 2022-03-15 20:45:50 +00:00
dependabot[bot]
2431f0442a
Bump karma from 5.2.3 to 6.3.16
Bumps [karma](https://github.com/karma-runner/karma) from 5.2.3 to 6.3.16.
- [Release notes](https://github.com/karma-runner/karma/releases)
- [Changelog](https://github.com/karma-runner/karma/blob/master/CHANGELOG.md)
- [Commits](https://github.com/karma-runner/karma/compare/v5.2.3...v6.3.16)

---
updated-dependencies:
- dependency-name: karma
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-15 20:45:07 +00:00
dependabot[bot]
e20d7797f3
Merge pull request #1057 from Jigsaw-Code/dependabot/npm_and_yarn/node-fetch-2.6.7 2022-03-15 20:43:51 +00:00