Commit graph

1460 commits

Author SHA1 Message Date
Sarah Laplante
38eca18e93
Merge pull request #1700 from oceanapplications/master
chore(server): port shadowbox Docker image to arm64
2026-04-14 16:43:34 +02:00
Sean Baker
847d66f8e4 Use original test 2026-04-07 19:39:31 +08:00
Sean Baker
eb1ae915a8 Update build_and_test_debug.yml
Use go.mod
2026-04-07 18:44:45 +08:00
Sean Baker
1f1c03cfc4 Update build_and_test_debug.yml 2026-04-07 08:33:54 +08:00
Sean Baker
23e468b434 Skip Chromium install on arm64
Tests passing on ACT
2026-04-06 23:20:18 +08:00
Sean Baker
fa185b0f90 Added support for MacOS and Linux ARM64 2026-03-25 14:49:02 -06:00
Sarah Laplante
326b527d0f
Merge pull request #1690 from OutlineFoundation/new-watchtower
fix(server): switch to maintained watchtower fork
2026-02-23 15:39:42 +01:00
J. Yi
f9ea8edbb5
chore: update Jigsaw-Code references to OutlineFoundation (#1693) 2026-01-08 13:03:17 -05:00
Sarah Laplante
db19f85194 switch from github name to container name 2026-01-07 16:58:54 +01:00
Sarah Laplante
48d336d95b switch to maintained watchtower fork 2026-01-07 16:58:54 +01:00
Sarah Laplante
3370399012
Merge pull request #1691 from OutlineFoundation/update-name-linter
chore: update PR name linter
2026-01-07 16:58:08 +01:00
Sarah Laplante
3d2ce1f93e revert to node 18 2026-01-06 14:02:14 +01:00
Sarah Laplante
846c0685c3 update node version 2026-01-06 13:43:10 +01:00
Sarah Laplante
9b44fe58b1 update PR name linter 2026-01-06 13:38:45 +01:00
Daniel LaCosse
26803710c9
chore(server): remove bandwidth spot query (#1656) 2025-03-31 11:02:33 -04:00
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
dependabot[bot]
0bfa80262c
chore: bump braces from 3.0.2 to 3.0.3 (#1559)
Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-19 14:03:06 -04:00
dependabot[bot]
9dbfc44a06
chore: bump golang.org/x/crypto from 0.18.0 to 0.31.0 (#1625)
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.18.0 to 0.31.0.
- [Commits](https://github.com/golang/crypto/compare/v0.18.0...v0.31.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-19 13:23:27 -04:00
Sander Bruens
9013feafa7
chore(server): set Content-Type header (#1651) 2025-03-10 14:25:18 -04:00
Sander Bruens
d9aa8560ce
ci(sentry_webhook): pin Ubuntu due to Chromium bug (via Puppeteer) (#1652) 2025-03-04 20:24:13 -05:00
Sander Bruens
067d0d47ae
revert(server): revert upgrade of outline-ss-server version (#1645)
* Revert "fix(server): set empty IP to bind on all available networks (#1640)"

This reverts commit 47f24520d3.

* Revert "refactor(server): use the new service config format (#1628)"

This reverts commit 13f62390bf.
2025-02-24 18:07:13 -05:00
Daniel LaCosse
d262f5242f
feat: cache recent prometheus queries in memory (#1643)
* [DO NOT MERGE] prometheus query timer

* add cache layer

* add query result data

* ready for a look

* remove logger
2025-02-21 17:00:59 -05:00
Sander Bruens
15a9e54e5e
refactor(server): use a reusable http.Agent (#1644) 2025-02-21 16:15:14 -05:00
Sander Bruens
47f24520d3
fix(server): set empty IP to bind on all available networks (#1640)
* fix(server): set empty IP to bind on all available networks

* upgrade `outline-ss-server`
2025-02-19 08:54:25 -05:00
Sander Bruens
34b5e7a2e8
chore: remove lastConnected property and update OpenAPI spec (#1639)
* chore: remove `lastConnected` property

* Update OpenAPI spec.
2025-02-14 16:51:07 -05:00
Sander Bruens
2cc12e0cb3
feat(server): use rate() over increase() for bandwidth calculations (#1638)
* feat(server): use `rate()` instead of `increase()` for bandwidth calculations

* Add total data transferred a separate top-level metric so we don't have to calculate it client-side.
2025-02-12 12:32:25 -05:00
Sander Bruens
76a23c6e81
feat(server): add bandwidth stats to the server metrics (#1636) 2025-02-12 11:08:41 -05:00
Sander Bruens
dbca08fce3
feat(server): add connection stats to the access key metrics (#1634)
* Make it clear that the first value is a timestamp.

* Use `Promise.all()` to make send the network requests concurrently.

* Add a function to send a range query.

* Add `lastConnected` and `lastTrafficSeen` metrics.

* Add `peakDevices` metrics.

* Account for missing ASN or ASOrg data.

* Align `getServerMetricsAccessKeyEntry()` with `getServerMetricsServerEntry()`.

* Update test cases for manager metrics.

* Fix comment "down" -> "up".

* Remove `@throws` JSDoc comments.

* Remove duplication across query functions.

* Change from `Date` to `number` type.

* Remove the use a heap in `findPeak()`.
2025-02-10 11:50:21 -05:00
Sander Bruens
13f62390bf
refactor(server): use the new service config format (#1628)
* refactor(server): use the new service config format

* Keep the original filter to filter out inactive keys first.

* Do the transformation at config writing time.
2025-01-07 16:51:47 -05:00
Daniel LaCosse
bfcf59a7bb
fix(server): fix and validate open API spec (#1626)
* fix(server): fix and validate open API spec

* fix type

* Experimental tag not server
2024-12-18 10:51:02 -05:00
Daniel LaCosse
9d9f76b9a5
feat(server): unified metrics endpoint (#1616)
* draft of unified metrics endpoint

* ok, empty state works

* I think it's there?

* prefix with 'fake'

* some feedback

* continue feedback

* test refactor

* remove unused imports

* bad refactor

* partial feedback

* move time range parsing logic

* full union

* feedback
2024-11-22 17:33:40 -05:00
Alexey Palazhchenko
f558117b29
feat(server): allow running Outline on a server with another Watchtower (#1255)
See https://containrrr.dev/watchtower/running-multiple-instances/

`com.centurylinklabs.watchtower.enable` and `--label-enable` are kept for backward compatibility.

Closes #48.
2024-11-14 12:42:36 -05:00
Sander Bruens
e416938950
feat(server): add tunnel time metric to opt-in server usage report (#1551)
* feat(server): add ASN metric to opt-in server usage report

* feat(server): add tunnel time metric to opt-in server usage report

* Rename variable.

* Let Prometheus join the metrics.

* Use a Map.

* Revert changes to `prometheus_scraper.ts`.

* Rename `LocationUsage` to `ReportedUsage`.

* Add test cases for different ASN+country combinations.

* Use a different approach where we don't let Prometheus combine the series.
2024-10-18 18:08:34 -04:00
Sander Bruens
845c02373b
feat(server): add ASN metric to opt-in server usage report (#1610)
* feat(server): add ASN metric to opt-in server usage report

* Rename `LocationUsage` to `ReportedUsage`.

* Add test cases for different ASN+country combinations.
2024-10-17 13:05:30 -04:00
Sander Bruens
91046e30d2
feat(sentry_webhook): handle outreachConsent Sentry tag (#1606)
* feat(sentry_webhook): handle `outreachConsent` Sentry tag

* Strict type check.
2024-10-04 14:16:28 -04:00
Sander Bruens
2f4b35f9d8
chore(server): update outline-ss-server dependency to version 1.7.3 (#1604) 2024-10-03 11:44:05 -04:00
Sander Bruens
a2c7378e10
chore(server): update outline-ss-server dependency to version 1.7.2 (#1598) 2024-09-23 10:37:53 -04:00
Sander Bruens
13151a4fc6
chore: update outline-ss-server dependency to latest version (#1593)
* chore: update `outline-ss-server` to latest version

* Update to `1.7.1`.
2024-09-19 11:37:41 -04:00
Vinicius Fortuna
b2d0a61ba3
chore: update shadowsocks.md (#1592) 2024-09-10 15:01:13 -04:00
Sander Bruens
fa3d7c51fa
fix(server): fix version parsing (#1586)
* fix(server): fix version parsing

* Revert to `SB_VERSION` and set it in the `Node.js` app build step.

* Revert port change.

* Set `SB_VERSION` env variable only where it's needed.
2024-09-03 14:00:35 -04:00
Daniel LaCosse
a1a819cb0a
chore(docs): make it clearer what the local apiUrl is (#1584) 2024-08-30 11:50:55 -04:00
Sander Bruens
b3087dd012
feat: roll out ASN metrics to all servers (#1585) 2024-08-30 09:39:44 -04:00
Sander Bruens
31a3fd48be
clean: add missing license headers and add a CI check (#1572) 2024-08-12 10:56:11 -04:00
Sander Bruens
e281ec3068
clean(devtools/build): remove unused jsign files (#1569) 2024-07-30 09:52:30 -04:00
cornzzy
ee039ca596
fix(server): block access when traffic limit is set to 0 bytes
* Fix isOverDataLimit logic to stop allowing 0 traffic byte

issue #1515 

This if statement is just wrong and doesn't block access when traffic limit is set to 0 byte. This one character fixes it.

Now if we create a new access key, set the limit to 0 before first usage, the client no longer will be able to connect.

* Rename `isOverDataLimit` to `reachedDataLimit`.

* Add a test case to prevent regression.

* Rename old variable.

* Update comment now that variable has changed meaning slightly.

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

---------

Co-authored-by: sbruens <sbruens@users.noreply.github.com>
Co-authored-by: Vinicius Fortuna <fortuna@users.noreply.github.com>
2024-07-24 15:21:29 -04:00
Sander Bruens
b5dbe650f5
test(server): remove custom util container (#1568) 2024-07-23 14:33:14 -04:00
Sander Bruens
69f8e02daf
chore: add lint rule to prevent unnecessary public modifiers (#1557) 2024-07-23 14:28:57 -04:00
Sander Bruens
00f345ad98
ci(server): run CI job daily so we catch issues with runner changes (#1567)
* ci(server): run CI job daily so we catch issues with runner changes

* Format.
2024-07-23 14:28:42 -04:00
Sander Bruens
b16fc38649
docs: update link to Taskfile (#1565) 2024-07-23 14:28:31 -04:00
Sander Bruens
6001281f43
test(server): fix integration test by downgrading to Alpine 3.18 (#1566)
* Debug docker on runner.

* Revert "Debug docker on runner."

This reverts commit bb44ceb6c3.

* Pin to alpine3.18.

* Add comment to Dockerfile.
2024-07-23 14:13:14 -04:00