Commit graph

715 commits

Author SHA1 Message Date
Daniel LaCosse
c0606fc334 fix(manager/electron): separate main and renderer sentry libraries 2023-11-16 17:53:11 -05:00
Daniel LaCosse
3574b5f5e0
chore: upgrade webpack to v5 to support lts/hydrogen (#1422)
* upgrade dependencies and fix API changes

* skipLibCheck

* attempt test fixes

* fix attempt

* stream-http

* fix final thing i think
2023-10-11 10:44:36 -04:00
Daniel LaCosse
7d5dffcdc9
fix(server_manager): explicitly set build target architecture (#1414) 2023-10-04 11:45:31 -04:00
Mikhail Kopylov
51a86b0cc8
fix: improve Docker container existence detection in install_server.sh 2023-09-28 16:28:50 -04:00
Sander Bruens
33a7886864
chore: add new translations (#1394) 2023-09-22 17:23:49 -04:00
Daniel LaCosse
1ac9f23813
feat(manager/electron): support windows cloud signing (#1360)
* feat: support windows cloud signing

* Update get_electron_build_flags.mjs

* Update get_electron_build_flags.mjs

* Update get_electron_build_flags.mjs

* flip quotes

* ...

* try this
2023-06-30 22:35:38 -04:00
Daniel LaCosse
b2639d09c3
feat(devtools/build): allow version name injection into the outline manager (#1354)
* feat(build): allow version name injection into the outline manager

* add default version name

* ah?

* this?

* this works on other platforms?

* lmao

* try this

* oops i meant this

* put back

* ah
2023-05-31 11:19:25 -04:00
J. Yi
0006499f28
fix(manager): 💊 integrate with the latest Sentry library (#1309)
In this PR, I integrated Outline Manager with the latest Sentry library and re-enabled the user feedback form. Sentry was not working because of two reasons:
1. Electron enabled sandbox to its `preload.js` script, therefore calling `Sentry.init` in `preload` is not enough (and not necessary), we must call `Sentry.init` in every renderer process as well
2. `SENTRY_DSN` is not injected into electron, we read it from `process.env.SENTRY_DSN`, but this is a runtime environment variable (which will be `undefined`)

So basically my fix is straightforward:
1. Calling `Sentry.init` in `web_app/app.ts`, which is the entrypoint of renderer process
2. Use `webpack` to inject `SENTRY_DSN_` variable into `electron_app/index.ts` during build

In order to be consistent (and to minify the result js file), I also introduced webpack to build the `preload.ts` script as well.

Finally I upgraded electron to the latest version that does not have [API restrictions](https://www.electronjs.org/docs/latest/breaking-changes#default-changed-renderers-without-nodeintegration-true-are-sandboxed-by-default) to `preload` script (we are using `crypto` package which will be forbidden). A refactoring is required in order to upgrade to any newer versions of electron.
2023-03-16 16:33:20 -04:00
J. Yi
494389944e
chore(manager): 📄 re-generate dependency licenses (#1305)
Our [`licenses.txt`](508a5a2af5/src/server_manager/web_app/ui_components/licenses/licenses.txt) file for Outline Manager is not correct, it is just a simple duplication of the [`README.md`](508a5a2af5/src/server_manager/README.md). In this PR, I re-generate the `licenses.txt` file with all dependencies and update the steps in order to correctly generate it.
2023-03-09 00:05:02 -05:00
Daniel LaCosse
753a00ae00
fix(server_manager): data collection info url (#1299) 2023-02-28 11:47:02 -05:00
J. Yi
e614da1393
chore(manager): 🎉 release v1.14.0 for all platforms (#1286)
**Changelog**

- support more languages
- disable the feedback form temporarily due to backend issue
- fix UI bugs
2023-02-08 15:23:24 -05:00
J. Yi
4041b62bcb
feat(manager): 🌐 support 11 more languages (#1285)
In this PR, I added the support of the following languages to Outline Manager:

- `af`: Afrikaans
- `bn`: Bengali
- `is`: Icelandic
- `ms`: Malay
- `mr`: Marathi
- `sw`: Swahili (Outline only)
- `ta`: Tamil
- `lo`: Lao
- `mn`: Mongolian
- `ne`: Nepali
- `si`: Sinhala
2023-02-06 18:05:52 -05:00
Danil Shaymurzin ⚡️
8225de26b7
feat: add getAccessKey method to the management API(#1142) 2023-01-18 12:04:36 -06:00
J. Yi
244ef06226
build(devtools/build): 👷 exclude jsign.jar from the repository (#1263)
According to #1250 , we are not allowed to include binaries in this repository. In this PR, I removed `./third_party/jsign/jsign-4.2.jar`, it will be downloaded during build process on demand. The workflow is:

* If we are not building for Windows, nothing happens
* If we are building for Windows but not signing the binaries (for example dev builds), nothing happens
* If we are building and signing Windows binaries:
  * If `jsign-4.2.jar` already exists and matches checksum, nothing happens
  * otherwise, we will download it from [jsign's official GitHub releases](https://github.com/ebourg/jsign/releases)
2023-01-06 19:07:40 -05:00
Daniel LaCosse
8780b4b80d
fix: remove broken feedback form (#1252)
* remove feedback

* switch to comment
2022-12-16 10:34:26 -05:00
Daniel LaCosse
3ab7c441b1
upgrading electron builder seems to work (#1239) 2022-12-15 17:45:42 -05:00
J. Yi
9e314c5532
fix(manager/web): 💊 show Sydney flag in DO region page (#1237)
The Sydney flag and its city name was not displayed appropriately in DigitalOcean's region selection page. It was a simple fix by just adding it to the available regions. Also [`substr` function is deprecated](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substr), I replaced it with the [standard `substring` function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substring).

**after fix**

<img width="780" alt="image" src="https://user-images.githubusercontent.com/93548144/204391281-b791dc4e-b8b2-47b0-9e7d-f469d6349c7c.png">
2022-11-28 17:22:26 -05:00
J. Yi
8e2306a59b
chore: 🎉 release v1.13.0 for all platforms (#1225) 2022-11-18 13:55:05 -05:00
Daniel LaCosse
710e40f58c
feat(manager/web): chunked invite flow - phase zero (#1198)
* phase 0 init

* copy translations from internal TC

* update pr checks, change to link

* Update src/server_manager/web_app/ui_components/outline-share-dialog.ts

Co-authored-by: Vinicius Fortuna <fortuna@users.noreply.github.com>

Co-authored-by: jyyi1 <yijunyi@google.com>
Co-authored-by: Vinicius Fortuna <fortuna@users.noreply.github.com>
2022-11-01 09:23:50 -04:00
Amir Omidi
6ea0c1d084
Add icanhazip.com as IP source (#1207)
Add icanhazip.com as an alternative. Both ipinfo and checkip are sometimes inaccessible from certain areas.
2022-10-24 15:37:55 -05:00
Daniel LaCosse
1d5b86b20c
upgrade minor version (#1181) 2022-10-11 14:42:30 -04:00
J. Yi
9531932be9
build(manager/electron): 👷 add option to use GCP KMS for signing (#1168)
In this changeset:

- upgraded `jsign.jar` to version `4.2`
- add an option to leverage `gcp-hsm` certificate to sign Windows executables
- please note that [GCP does not support SHA-1](https://cloud.google.com/kms/docs/algorithms#asymmetric_signing_algorithms), and here are the consequences of not adding SHA-1 to the binary signatures:
   1. [SHA-1 is deprecated by Microsoft](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/sha-1-windows-content-to-be-retired-august-3-2020/ba-p/1544373)
   2. The only affected OSes are Windows 7 and below ([support ended already](https://www.microsoft.com/en-us/windows/end-of-support)). Windows 7 (6.1.7600) users can still upgrade to Windows 7 SP1 (6.1.7601) which supports SHA-2.
   3. Users can still run our app on old Windows systems (Windows 7), despite that the following warning dialog might show up:
![image](https://user-images.githubusercontent.com/93548144/193613642-bf153ea1-d05e-47a2-91b6-73ac2d28ad15.png)
2022-10-11 12:42:36 -04:00
Daniel LaCosse
6cbf4ed339
Revert "refactor(manager): replace share s3 flow with self-contained instructions (#1133)" (#1166)
This reverts commit f529b48c91.
2022-10-05 11:12:25 -04:00
Daniel LaCosse
46923aef8c
Revert "chore: updated translations for Outline manager" (#1169)
* Revert "delete iw.json"

This reverts commit a7e4465db3.

* Revert "delete messages.json"

This reverts commit ba783e7576.

* Revert "updated translations for Outline manager"

This reverts commit cbf6b1cd5c.
2022-10-05 11:12:16 -04:00
Cathal Garvey
75c358148c
fix(manager): specify a higher per_page for DigitalOcean API call (#1113)
* Fixes #999. Specify a higher per_page for DigitalOcean API call to get droplets.

* Review feedback: Add TODOs for proper pagination, extend other 'droplets' DO API call to use 100 as well. 100 is the tested limit, and a sane default until proper pagination
2022-10-05 04:11:37 -04:00
Kevin Damm
1440a89de0 chore: update package.json to set version as 1.11.0 2022-09-30 09:54:39 -04:00
Kevin Damm
b09a8baab3 Update package.json 2022-09-08 18:04:17 -04:00
Kevin Damm
0d60f44154 chore: update version of Outline Manager to 1.10.1 2022-09-08 18:04:17 -04:00
Kevin Damm
a7e4465db3 delete iw.json 2022-09-07 19:44:12 -04:00
Kevin Damm
ba783e7576 delete messages.json
This file does not need to be tracked in github
2022-09-07 19:44:12 -04:00
Kevin Damm
cbf6b1cd5c updated translations for Outline manager 2022-09-07 19:44:12 -04:00
Kevin Damm
56f4a0f25a Comment on placement of server.close for success 2022-08-29 17:54:25 -04:00
Kevin Damm
e7842d3bda move server.close timeout to after server creation
Also add a constant definition for the timeout duration.
2022-08-29 17:54:25 -04:00
Kevin Damm
46a4d65fc6 Update digitalocean_oauth.ts 2022-08-29 17:54:25 -04:00
Kevin Damm
500fdfc7fa fix: Don't close the oauth callback server on bad requests.
Changes the behavior of the local server for receiving oauth callbacks
from Digital Ocean by not closing it on invalid requests.  This avoids
the problem where a malicious actor prematurely closes the
callback-handling server (a DoS of the authentication flow).

Also added a timeout to close the server after 30 seconds.
2022-08-29 17:54:25 -04:00
Vinicius Fortuna
9fc83859c2
chore(manager): clean up Manager errors (#1151)
Move errors to more appropriate places.
2022-08-23 20:19:05 -04:00
Vinicius Fortuna
27931733d5
feat(manager): upgrade DigitalOcean image (#1148)
* Upgrade DO image to Ubuntu 20
* Install droplet agent for web console after server is ready
2022-08-22 15:00:16 -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
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