Skip to content

Commit a9cdbe6

Browse files
authored
Merge branch 'master' into send-ports-forwarded-to-control-server
2 parents 3f29f16 + cd6f949 commit a9cdbe6

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

89 files changed

+13600
-13106
lines changed

.devcontainer/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
FROM qmcgaw/godevcontainer:v0.20-alpine
1+
FROM ghcr.io/qdm12/godevcontainer:v0.21-alpine
22
RUN apk add wireguard-tools htop openssl

.devcontainer/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,16 @@ It works on Linux, Windows (WSL2) and OSX.
1919
mkdir -p ~/.ssh
2020
```
2121

22-
1. **For Docker on OSX**: ensure the project directory and your home directory `~` are accessible by Docker.
22+
1. **For OSX hosts**: ensure the project directory and your home directory `~` are accessible by Docker.
2323
1. Open the command palette in Visual Studio Code (CTRL+SHIFT+P).
24-
1. Select `Dev Containers: Open Folder in Container...` and choose the project directory.
24+
1. Select `Dev-Containers: Open Folder in Container...` and choose the project directory.
2525

2626
## Customization
2727

2828
For any customization to take effect, you should "rebuild and reopen":
2929

3030
1. Open the command palette in Visual Studio Code (CTRL+SHIFT+P)
31-
2. Select `Dev Containers: Rebuild Container`
31+
2. Select `Dev-Containers: Rebuild Container`
3232

3333
Changes you can make are notably:
3434

.devcontainer/devcontainer.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,9 @@
8282
"gopls": {
8383
"usePlaceholders": false,
8484
"staticcheck": true,
85+
"ui.diagnostic.analyses": {
86+
"ST1000": false
87+
},
8588
"formatting.gofumpt": true,
8689
},
8790
"go.lintTool": "golangci-lint",

.github/ISSUE_TEMPLATE/provider.md

Lines changed: 30 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,35 @@ labels: ":bulb: New provider"
66

77
---
88

9-
One of the following is required:
9+
Important notes:
1010

11-
- Publicly accessible URL to a zip file containing the Openvpn configuration files
12-
- Publicly accessible URL to a structured (JSON etc.) list of servers **and attach** an example Openvpn configuration file for both TCP and UDP
13-
- Publicly accessible URL to the list of servers **and attach** an example Openvpn configuration file for both TCP and UDP
11+
- There is no need to support both OpenVPN and Wireguard for a provider, but it's better to support both if possible
12+
- We do **not** implement authentication to access servers information behind a login. This is way too time consuming unfortunately
13+
- If it's not possible to support a provider natively, you can still use the [the custom provider](https://github.com/qdm12/gluetun-wiki/blob/main/setup/providers/custom.md)
14+
15+
## For Wireguard
16+
17+
Wireguard can be natively supported ONLY if:
18+
19+
- the `PrivateKey` field value is the same across all servers for one user account
20+
- the `Address` field value is:
21+
- can be found in a structured (JSON etc.) list of servers publicly available; OR
22+
- the same across all servers for one user account
23+
- the `PublicKey` field value is:
24+
- can be found in a structured (JSON etc.) list of servers publicly available; OR
25+
- the same across all servers for one user account
26+
- the `Endpoint` field value:
27+
- can be found in a structured (JSON etc.) list of servers publicly available
28+
- can be determined using a pattern, for example using country codes in hostnames
29+
30+
If any of these conditions are not met, Wireguard cannot be natively supported or there is no advantage compared to using a custom Wireguard configuration file.
1431

15-
If the list of servers requires to login **or** is hidden behind an interactive configurator,
16-
you can only use a custom Openvpn configuration file.
17-
[The Wiki's OpenVPN configuration file page](https://github.com/qdm12/gluetun-wiki/blob/main/setup/openvpn-configuration-file.md) describes how to do so.
32+
If **all** of these conditions are met, please provide an answer for each of them.
33+
34+
## For OpenVPN
35+
36+
OpenVPN can be natively supported ONLY if one of the following can be provided, by preference in this order:
37+
38+
- Publicly accessible URL to a structured (JSON etc.) list of servers **and attach** an example Openvpn configuration file for both TCP and UDP; OR
39+
- Publicly accessible URL to a zip file containing the Openvpn configuration files; OR
40+
- Publicly accessible URL to the list of servers **and attach** an example Openvpn configuration file for both TCP and UDP

.github/pull_request_template.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Description
2+
3+
<!-- Please describe the reason for the changes being proposed. -->
4+
5+
# Issue
6+
7+
<!-- Please link to the issue(s) this change relates to. -->
8+
9+
# Assertions
10+
11+
* [ ] I am aware that we do not accept manual changes to the servers.json file <!-- If this is your goal, please consult https://github.com/qdm12/gluetun-wiki/blob/main/setup/servers.md#update-using-the-command-line -->
12+
* [ ] I am aware that any changes to settings should be reflected in the [wiki](https://github.com/qdm12/gluetun-wiki/)

.github/workflows/ci.yml

Lines changed: 35 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
env:
3838
DOCKER_BUILDKIT: "1"
3939
steps:
40-
- uses: actions/checkout@v4
40+
- uses: actions/checkout@v5
4141

4242
- uses: reviewdog/action-misspell@v1
4343
with:
@@ -66,22 +66,49 @@ jobs:
6666
- name: Build final image
6767
run: docker build -t final-image .
6868

69+
verify-private:
70+
if: |
71+
github.repository == 'qdm12/gluetun' &&
72+
(
73+
github.event_name == 'push' ||
74+
github.event_name == 'release' ||
75+
(github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository && github.actor != 'dependabot[bot]')
76+
)
77+
needs: [verify]
78+
runs-on: ubuntu-latest
79+
environment: secrets
80+
steps:
81+
- uses: actions/checkout@v5
82+
83+
- run: docker build -t qmcgaw/gluetun .
84+
85+
- name: Setup Go for CI utility
86+
uses: actions/setup-go@v6
87+
with:
88+
go-version-file: ci/go.mod
89+
90+
- name: Build utility
91+
run: go build -C ./ci -o runner ./cmd/main.go
92+
93+
- name: Run Gluetun container with Mullvad configuration
94+
run: echo -e "${{ secrets.MULLVAD_WIREGUARD_PRIVATE_KEY }}\n${{ secrets.MULLVAD_WIREGUARD_ADDRESS }}" | ./ci/runner mullvad
95+
6996
codeql:
7097
runs-on: ubuntu-latest
7198
permissions:
7299
actions: read
73100
contents: read
74101
security-events: write
75102
steps:
76-
- uses: actions/checkout@v4
77-
- uses: actions/setup-go@v5
103+
- uses: actions/checkout@v5
104+
- uses: actions/setup-go@v6
78105
with:
79-
go-version: "^1.23"
80-
- uses: github/codeql-action/init@v3
106+
go-version-file: go.mod
107+
- uses: github/codeql-action/init@v4
81108
with:
82109
languages: go
83-
- uses: github/codeql-action/autobuild@v3
84-
- uses: github/codeql-action/analyze@v3
110+
- uses: github/codeql-action/autobuild@v4
111+
- uses: github/codeql-action/analyze@v4
85112

86113
publish:
87114
if: |
@@ -98,7 +125,7 @@ jobs:
98125
packages: write
99126
runs-on: ubuntu-latest
100127
steps:
101-
- uses: actions/checkout@v4
128+
- uses: actions/checkout@v5
102129

103130
# extract metadata (tags, labels) for Docker
104131
# https://github.com/docker/metadata-action

.github/workflows/closed-issue.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ jobs:
99
issues: write
1010
runs-on: ubuntu-latest
1111
steps:
12-
- uses: peter-evans/create-or-update-comment@v4
12+
- uses: peter-evans/create-or-update-comment@v5
1313
with:
1414
token: ${{ github.token }}
1515
issue-number: ${{ github.event.issue.number }}

.github/workflows/configs/mlc-config.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
"retryOn429": false,
99
"fallbackRetryDelay": "30s",
1010
"aliveStatusCodes": [
11-
200
11+
200,
12+
429
1213
]
1314
}

.github/workflows/labels.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
issues: write
1212
runs-on: ubuntu-latest
1313
steps:
14-
- uses: actions/checkout@v4
14+
- uses: actions/checkout@v5
1515
- uses: crazy-max/ghaction-github-labeler@v5
1616
with:
1717
yaml-file: .github/labels.yml

.github/workflows/markdown.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@ jobs:
1818
actions: read
1919
contents: read
2020
steps:
21-
- uses: actions/checkout@v4
21+
- uses: actions/checkout@v5
2222

23-
- uses: DavidAnson/markdownlint-cli2-action@v18
23+
- uses: DavidAnson/markdownlint-cli2-action@v20
2424
with:
2525
globs: "**.md"
26-
config: .markdownlint.json
26+
config: .markdownlint-cli2.jsonc
2727

2828
- uses: reviewdog/action-misspell@v1
2929
with:

0 commit comments

Comments
 (0)