Commit graph

32 commits

Author SHA1 Message Date
Sander Bruens
4f59eea8a9
chore(server): update Prometheus to LTS (#1655)
* chore(server): update Prometheus to LTS

* Add arm64 archives.
2025-03-21 11:58:19 -04:00
Sander Bruens
e281ec3068
clean(devtools/build): remove unused jsign files (#1569) 2024-07-30 09:52:30 -04:00
Vinicius Fortuna
cffcf65433
Remove Makefile (#1540) 2024-04-19 10:50:43 -06:00
Vinicius Fortuna
6556d7e595
build: use Task (#1535) 2024-04-17 19:48:23 -04:00
Sander Bruens
2901a256f4
feat(server): add an experimental opt-in API to enable ASN metrics (#1523)
* Update `update_mmdb.sh` script to download ASN database.

* Provide the `ASN` db file to `outline-ss-server`.

* Add an API to opt-in to the ASN metrics.

* Remove unused import.

* Add the ASN setting to the persisted server config.

* Continue trying to find other database if 1 of them fails.

* Resolve lint warning

* Use `outline-ss-server` v1.5.0.
2024-03-29 09:50:33 -04:00
cd
471668027a
feat: build upgrade for aarch64/arm64 architecture (#1399) 2023-09-29 09:14:16 -06:00
Vinicius Fortuna
e0a9ae298e
chore: revamp third-party downloads (#1359)
No more need to depend on curl, wget or shasum!
2023-06-09 15:07:26 -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
Vinicius Fortuna
ba135267d1
chore(server): upgrades (#1211)
- Upgrade Prometheus to 2.37.1
- Upgrade outline-ss-server to 1.4.0
- Fetch Prometheus and outline-ss-server binaries on demand. Remove from repo because of file size limit
- Upgrade base node image.
2022-10-27 11:59:48 -05: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
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
Vinicius Fortuna
3034e59f9f Fix lint 2022-03-09 23:10:15 +00:00
Vinicius Fortuna
7212ade5d5 Update prometheus 2022-03-08 21:48:37 +00:00
Daniel LaCosse
9d80b6d448
Migrate from Yarn to Node lts/gallium (#1004)
* attempt upgrade over CI

update shadowbox build node version

wild guess

try other image, not holding my breath

switch image back, try no --upgrade? lol

whoops wrong SHA

trying this tip out of hand - will make platform a env var next

apparently buildx is supposed to detect the platform - lets see

find replace yarn w/ npm

fix git hook

cache npm deps

proper lock and enforce engine

licenses are... generated by yarn lmao

some weird leftovers

explode out test workflow jobs

Title Case and check for cache hit

upgrade NPM

check version...

eh, worth a try

reinstall deps for now so we can debug downstream issues

use root bin

fix npm workspace, merge lint w/ setup

HMMM

attempt cache load

fix keys

remove restore-keys

regular install

attempt more "correct" npm approach

annoyingly caching ~/.npm doesn't cache the global npm version

less correct node_module cache, will roll back if doesn't work

er... node 15 :/, restore keys

changing key...?

permission setting so cache can properly hit

separate dependecy permission task

verbose chmod

fix sentry webhook

consistency thing

* print architecture

* attempt amd64-explicit node image

* attempt nodev16 upgrade

* ah, okay, let's try picking this hash

* fix node version reference and npm run clean

* revert untouched files caught in squash

* remove yarn from travis.yml

* testing ci

* npmrc comment, revert one of cis

* Update src/server_manager/web_app/run_gallery_action.sh

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

* Update src/server_manager/web_app/run_action.sh

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

* licenses change

* fix package-lock regression

* fix webpack-dev-server properly

* set install to ci in Dockerfile

* forgot to include the README

* add ci where it makes sense

* delete this part of the README

* missed one

* testing sub-node_modules

* better chmod

* prefer glob

* reset .github/workflows/test.yml

* oops, yarn in ci

* rename everything (#1006)

* Update test.yml

* check_requirements (#1008)

* reqcheck draft

* finish drafting script - need to test and add to hooks

* attempt to roll our own setup...

* remove setup script and rename a couple things

* remove this nightmare lol

* Update release_manager.yml

* Update test.yml

* 'do' -> 'action'

* run -> start

* Update src/shadowbox/docker/build.action.sh

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

* Update README.md

* Update README.md

Co-authored-by: Benjamin M. Schwartz <bemasc@google.com>

* rename 'action' to action

* add action list to run action itself

* Update src/shadowbox/README.md

Co-authored-by: Benjamin M. Schwartz <bemasc@google.com>

* Update README.md

Co-authored-by: Benjamin M. Schwartz <bemasc@google.com>

* Update scripts/run_action.sh

Co-authored-by: Benjamin M. Schwartz <bemasc@google.com>

* Update src/server_manager/scripts/fill_packaging_opts.sh

Co-authored-by: Benjamin M. Schwartz <bemasc@google.com>

* style guide fixes

* lower case fixes

* enforce major version

* Update scripts/run_action.sh

Co-authored-by: Benjamin M. Schwartz <bemasc@google.com>

* Update package.json

Co-authored-by: Benjamin M. Schwartz <bemasc@google.com>

Co-authored-by: Vinicius Fortuna <fortuna@users.noreply.github.com>
Co-authored-by: Benjamin M. Schwartz <bemasc@google.com>
2021-11-05 16:40:34 -04:00
Jonathan Cohen
583ef409cd
Upgrade outline-ss-server (#883) 2021-04-28 20:26:31 -04:00
Ben Schwartz
71ec965760 Fix shellcheck installation on macOS
The shellcheck download verification step was relying on `sha256sum`,
which is not present in the macOS default install.
2021-02-24 14:44:22 -05:00
Ben Schwartz
33608cd1be DOWNLOAD -> DOWNLOAD_DIR 2021-02-19 13:57:53 -05:00
Ben Schwartz
562c610b86 Download a pinned version of Shellcheck 2021-02-18 21:52:28 -05:00
Ben Schwartz
0215f1f69b Release outline-ss-server 1.3.3 2020-11-06 13:52:45 -05:00
Vinicius Fortuna
cf45895891 Release 1.5.2 (o-ss-s 1.3.2) 2020-11-03 10:46:27 -05:00
Vinicius Fortuna
0668941722 Release outline-ss-server v1.3.1 2020-10-26 22:28:45 -04:00
Vinicius Fortuna
cfb23b84e5 Upgrade outline-ss-server to 1.2.1 2020-08-27 16:12:59 -04:00
Vinicius Fortuna
acf826bd65 Upgrade outline-ss-server 2020-08-27 11:13:01 -04:00
Vinicius Fortuna
b8b7ee1a09 Add binaries 2020-07-07 14:24:03 -04:00
Vinicius Fortuna
867366231c Upgrade outline-ss-server to v1.1.7 2020-07-07 14:21:41 -04:00
Vinicius Fortuna
ad62724d45 Update outline-ss-server to v1.1.6 2020-07-06 22:49:02 -04:00
Vinicius Fortuna
292a8328a3 Upgrade outline-ss-server to v1.1.5 2020-06-11 18:07:31 -04:00
alalamav
604e34a6b5
Fix shadowbox node run action; enable shadowbox docker on macOS (#674) 2020-06-02 18:17:06 -04:00
Vinicius Fortuna
2af4d16523 Upgrade Prometheus to 2.18.1 2020-05-14 19:03:43 -04:00
Jonathan Cohen
db6aba33b2
Use DB-IP's Geolocation database instead of MaxMind's (#557)
* Use DB-IP's free IP-to-Country database instead of MaxMind's

This avoids the necesseity to either (1) bundle MaxMind's database in
our docker image or (2) require server admins to individually create
MaxMind accounts due to the new requirements for using GeoLite2
databases.  See https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases/

* Add attribution to DB-IP for the GeoIP database

* Make sure that we deal with lag between the changeover of the current
month and release of new versions of the DB-IP database

* Respond to review comments

* Attribute DB-IP in the update script

* Respond to review comments

* Respond to review comments
2020-01-16 18:08:29 -05:00
Vinicius Fortuna
d0c24172d3
Add Prometheus metrics, based on rollout parameter 2018-10-11 11:12:05 -04:00
Ben Schwartz
c013f782cd Switch from freegeoip.net to local maxmind geoip
This change switches metrics computations to the
node-maxmind package and a locally downloaded copy
of the maxmind IP to country database.
2018-06-22 13:17:13 -04:00