From b9bcf0e4ce963db8050d998fef81540d71714c73 Mon Sep 17 00:00:00 2001 From: fedorHub Date: Thu, 28 Aug 2025 15:14:23 +0200 Subject: [PATCH] feat: migrate to wg-portal2 --- .github/workflows/release.yaml | 34 ++++++++++++++++ .run/swag_build_tool.run.xml | 2 +- .run/wg-portal-migrate.run.xml | 2 +- .run/wg-portal.run.xml | 2 +- Dockerfile | 2 +- Makefile | 14 +++---- README.md | 14 +++---- SECURITY.md | 2 +- cmd/wg-portal/main.go | 34 ++++++++-------- deploy/helm/Chart.yaml | 2 +- deploy/helm/README.md | 4 +- deploy/helm/values.yaml | 2 +- .../documentation/getting-started/binaries.md | 10 ++--- docs/documentation/getting-started/docker.md | 6 +-- docs/documentation/getting-started/sources.md | 2 +- docs/documentation/monitoring/prometheus.md | 2 +- docs/documentation/rest-api/swagger.yaml | 4 +- go.mod | 2 +- internal/adapters/database.go | 4 +- internal/adapters/mailer.go | 6 +-- internal/adapters/metrics.go | 6 +-- internal/adapters/wgcontroller/local.go | 8 ++-- internal/adapters/wgcontroller/mikrotik.go | 6 +-- internal/adapters/wgquick.go | 4 +- internal/adapters/wireguard.go | 4 +- .../adapters/wireguard_integration_test.go | 4 +- .../app/api/core/assets/doc/v0_swagger.json | 2 +- .../app/api/core/assets/doc/v0_swagger.yaml | 2 +- .../app/api/core/assets/doc/v1_swagger.json | 4 +- .../app/api/core/assets/doc/v1_swagger.yaml | 4 +- .../core/middleware/csrf/middleware_test.go | 2 +- internal/app/api/core/server.go | 14 +++---- .../app/api/v0/backend/interface_service.go | 4 +- internal/app/api/v0/backend/peer_service.go | 4 +- internal/app/api/v0/backend/user_service.go | 4 +- internal/app/api/v0/handlers/base.go | 10 ++--- .../app/api/v0/handlers/endpoint_audit.go | 8 ++-- .../v0/handlers/endpoint_authentication.go | 10 ++--- .../app/api/v0/handlers/endpoint_config.go | 12 +++--- .../api/v0/handlers/endpoint_interfaces.go | 10 ++--- .../app/api/v0/handlers/endpoint_peers.go | 10 ++--- .../app/api/v0/handlers/endpoint_testing.go | 4 +- .../app/api/v0/handlers/endpoint_users.go | 10 ++--- internal/app/api/v0/handlers/model_options.go | 39 +++++++++++++++++++ .../app/api/v0/handlers/web_authentication.go | 8 ++-- internal/app/api/v0/handlers/web_session.go | 2 +- internal/app/api/v0/model/model_options.go | 4 +- internal/app/api/v0/model/models_audit.go | 2 +- .../app/api/v0/model/models_authentication.go | 2 +- internal/app/api/v0/model/models_interface.go | 6 +-- internal/app/api/v0/model/models_peer.go | 4 +- internal/app/api/v0/model/models_user.go | 2 +- .../app/api/v1/backend/interface_service.go | 4 +- .../app/api/v1/backend/metrics_service.go | 4 +- internal/app/api/v1/backend/peer_service.go | 4 +- .../api/v1/backend/provisioning_service.go | 6 +-- internal/app/api/v1/backend/user_service.go | 4 +- internal/app/api/v1/handlers/base.go | 12 +++--- .../app/api/v1/handlers/endpoint_interface.go | 8 ++-- .../app/api/v1/handlers/endpoint_metrics.go | 8 ++-- internal/app/api/v1/handlers/endpoint_peer.go | 8 ++-- .../api/v1/handlers/endpoint_provisioning.go | 8 ++-- internal/app/api/v1/handlers/endpoint_user.go | 8 ++-- .../app/api/v1/handlers/web_authentication.go | 6 +-- internal/app/api/v1/models/model_options.go | 4 +- .../app/api/v1/models/models_interface.go | 4 +- internal/app/api/v1/models/models_metrics.go | 2 +- internal/app/api/v1/models/models_peer.go | 4 +- .../app/api/v1/models/models_provisioning.go | 2 +- internal/app/api/v1/models/models_user.go | 2 +- internal/app/app.go | 4 +- internal/app/audit/audit_manager.go | 2 +- internal/app/audit/events.go | 2 +- internal/app/audit/recorder.go | 6 +-- internal/app/auth/auth.go | 8 ++-- internal/app/auth/auth_ldap.go | 6 +-- internal/app/auth/auth_oauth.go | 6 +-- internal/app/auth/auth_oidc.go | 4 +- internal/app/auth/oauth_common.go | 6 +-- internal/app/auth/oauth_common_test.go | 2 +- internal/app/auth/webauthn.go | 8 ++-- internal/app/cli.go | 2 +- internal/app/configfile/manager.go | 6 +-- internal/app/configfile/template.go | 2 +- internal/app/gorm_encryption.go | 2 +- internal/app/mail/manager.go | 4 +- internal/app/mail/template.go | 2 +- internal/app/migrate_v1.go | 6 +-- internal/app/route/routes.go | 8 ++-- internal/app/users/ldap_helper.go | 6 +-- internal/app/users/user_manager.go | 8 ++-- internal/app/webhooks/manager.go | 8 ++-- internal/app/webhooks/models/interface.go | 2 +- internal/app/webhooks/models/peer.go | 2 +- internal/app/webhooks/models/peer_metrics.go | 2 +- internal/app/webhooks/models/user.go | 2 +- internal/app/wireguard/controller_manager.go | 6 +-- internal/app/wireguard/statistics.go | 6 +-- internal/app/wireguard/statistics_test.go | 2 +- internal/app/wireguard/wireguard.go | 6 +-- .../app/wireguard/wireguard_interfaces.go | 8 ++-- internal/app/wireguard/wireguard_peers.go | 6 +-- internal/domain/interface.go | 2 +- internal/domain/peer.go | 4 +- internal/domain/peer_test.go | 2 +- internal/ldap_utils.go | 2 +- internal/lowlevel/mikrotik.go | 4 +- mkdocs.yml | 6 +-- release.config.js | 15 +++++++ 109 files changed, 368 insertions(+), 280 deletions(-) create mode 100644 .github/workflows/release.yaml create mode 100644 internal/app/api/v0/handlers/model_options.go create mode 100644 release.config.js diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml new file mode 100644 index 0000000..3defe96 --- /dev/null +++ b/.github/workflows/release.yaml @@ -0,0 +1,34 @@ +name: Weekly release +on: + schedule: + - cron: 0 8 * * 1 + workflow_dispatch: + +jobs: + release: + runs-on: ubuntu-latest + permissions: + contents: write + issues: write + pull-requests: write + id-token: write + steps: + - uses: actions/checkout@v4 + with: + ref: main + fetch-depth: 0 + - uses: actions/setup-node@v4 + with: + node-version: 20 + - run: | + npm install -g semantic-release@23.0.4 \ + @semantic-release/commit-analyzer@12.0.0 \ + @semantic-release/release-notes-generator@12.1.0 \ + @semantic-release/changelog@6.0.3 \ + @semantic-release/github@10.0.2 \ + @semantic-release/git@10.0.1 \ + @saithodev/semantic-release-backmerge@4.0.1 \ + conventional-changelog-conventionalcommits + - run: npx semantic-release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/.run/swag_build_tool.run.xml b/.run/swag_build_tool.run.xml index 2b8cf7c..d0c3582 100644 --- a/.run/swag_build_tool.run.xml +++ b/.run/swag_build_tool.run.xml @@ -3,7 +3,7 @@ - + diff --git a/.run/wg-portal-migrate.run.xml b/.run/wg-portal-migrate.run.xml index 1cb7679..d1f1659 100644 --- a/.run/wg-portal-migrate.run.xml +++ b/.run/wg-portal-migrate.run.xml @@ -9,7 +9,7 @@ - + diff --git a/.run/wg-portal.run.xml b/.run/wg-portal.run.xml index 7d3669e..a1d6bef 100644 --- a/.run/wg-portal.run.xml +++ b/.run/wg-portal.run.xml @@ -8,7 +8,7 @@ - + diff --git a/Dockerfile b/Dockerfile index f850ece..50909f4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -37,7 +37,7 @@ ARG BUILD_VERSION ARG TARGETARCH # Build the application RUN CGO_ENABLED=0 GOARCH=${TARGETARCH} go build -o /build/dist/wg-portal \ - -ldflags "-w -s -extldflags '-static' -X 'github.com/h44z/wg-portal/internal.Version=${BUILD_VERSION}'" \ + -ldflags "-w -s -extldflags '-static' -X 'github.com/fedor-git/wg-portal-2/internal.Version=${BUILD_VERSION}'" \ -tags netgo \ cmd/wg-portal/main.go diff --git a/Makefile b/Makefile index 2bf202b..0c438b3 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,10 @@ # Go parameters GOCMD=go -MODULENAME=github.com/h44z/wg-portal +MODULENAME=github.com/fedor-git/wg-portal-2 GOFILES:=$(shell go list ./... | grep -v /vendor/) BUILDDIR=dist BINARIES=$(subst cmd/,,$(wildcard cmd/*)) -IMAGE=h44z/wg-portal +IMAGE=fedor-git/wg-portal-2 NPMCMD=npm all: help @@ -76,7 +76,7 @@ clean: .PHONY: build build: build-dependencies CGO_ENABLED=0 $(GOCMD) build -o $(BUILDDIR)/wg-portal \ - -ldflags "-w -s -extldflags \"-static\" -X 'github.com/h44z/wg-portal/internal/server.Version=${ENV_BUILD_IDENTIFIER}-${ENV_BUILD_VERSION}'" \ + -ldflags "-w -s -extldflags \"-static\" -X 'github.com/fedor-git/wg-portal-2/internal/server.Version=${ENV_BUILD_IDENTIFIER}-${ENV_BUILD_VERSION}'" \ -tags netgo \ cmd/wg-portal/main.go @@ -84,7 +84,7 @@ build: build-dependencies .PHONY: build-amd64 build-amd64: build-dependencies CGO_ENABLED=0 $(GOCMD) build -o $(BUILDDIR)/wg-portal-amd64 \ - -ldflags "-w -s -extldflags \"-static\" -X 'github.com/h44z/wg-portal/internal/server.Version=${ENV_BUILD_IDENTIFIER}-${ENV_BUILD_VERSION}'" \ + -ldflags "-w -s -extldflags \"-static\" -X 'github.com/fedor-git/wg-portal-2/internal/server.Version=${ENV_BUILD_IDENTIFIER}-${ENV_BUILD_VERSION}'" \ -tags netgo \ cmd/wg-portal/main.go @@ -92,7 +92,7 @@ build-amd64: build-dependencies .PHONY: build-arm64 build-arm64: build-dependencies CGO_ENABLED=0 CC=aarch64-linux-gnu-gcc GOOS=linux GOARCH=arm64 $(GOCMD) build -o $(BUILDDIR)/wg-portal-arm64 \ - -ldflags "-w -s -extldflags \"-static\" -X 'github.com/h44z/wg-portal/internal/server.Version=${ENV_BUILD_IDENTIFIER}-${ENV_BUILD_VERSION}'" \ + -ldflags "-w -s -extldflags \"-static\" -X 'github.com/fedor-git/wg-portal-2/internal/server.Version=${ENV_BUILD_IDENTIFIER}-${ENV_BUILD_VERSION}'" \ -tags netgo \ cmd/wg-portal/main.go @@ -100,7 +100,7 @@ build-arm64: build-dependencies .PHONY: build-arm build-arm: build-dependencies CGO_ENABLED=0 CC=arm-linux-gnueabi-gcc GOOS=linux GOARCH=arm GOARM=7 $(GOCMD) build -o $(BUILDDIR)/wg-portal-arm \ - -ldflags "-w -s -extldflags \"-static\" -X 'github.com/h44z/wg-portal/internal/server.Version=${ENV_BUILD_IDENTIFIER}-${ENV_BUILD_VERSION}'" \ + -ldflags "-w -s -extldflags \"-static\" -X 'github.com/fedor-git/wg-portal-2/internal/server.Version=${ENV_BUILD_IDENTIFIER}-${ENV_BUILD_VERSION}'" \ -tags netgo \ cmd/wg-portal/main.go @@ -127,7 +127,7 @@ build-docker: docker build --progress=plain \ --build-arg BUILD_IDENTIFIER=${ENV_BUILD_IDENTIFIER} --build-arg BUILD_VERSION=${ENV_BUILD_VERSION} \ --build-arg TARGETPLATFORM=unknown . \ - -t h44z/wg-portal:local + -t fedor-git/wg-portal-2:local #< helm-docs: Generate the helm chart documentation .PHONY: helm-docs diff --git a/README.md b/README.md index 035c69f..1b2cc57 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@ # WireGuard Portal v2 -[![Build Status](https://github.com/h44z/wg-portal/actions/workflows/docker-publish.yml/badge.svg?event=push)](https://github.com/h44z/wg-portal/actions/workflows/docker-publish.yml) +[![Build Status](https://github.com/fedor-git/wg-portal-2/actions/workflows/docker-publish.yml/badge.svg?event=push)](https://github.com/fedor-git/wg-portal-2/actions/workflows/docker-publish.yml) [![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](https://opensource.org/licenses/MIT) -![GitHub last commit](https://img.shields.io/github/last-commit/h44z/wg-portal/master) -[![Go Report Card](https://goreportcard.com/badge/github.com/h44z/wg-portal)](https://goreportcard.com/report/github.com/h44z/wg-portal) -![GitHub go.mod Go version](https://img.shields.io/github/go-mod/go-version/h44z/wg-portal) -![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/h44z/wg-portal) -[![Docker Pulls](https://img.shields.io/docker/pulls/h44z/wg-portal.svg)](https://hub.docker.com/r/wgportal/wg-portal/) +![GitHub last commit](https://img.shields.io/github/last-commit/fedor-git/wg-portal-2/master) +[![Go Report Card](https://goreportcard.com/badge/github.com/fedor-git/wg-portal-2)](https://goreportcard.com/report/github.com/fedor-git/wg-portal-2) +![GitHub go.mod Go version](https://img.shields.io/github/go-mod/go-version/fedor-git/wg-portal-2) +![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/fedor-git/wg-portal-2) +[![Docker Pulls](https://img.shields.io/docker/pulls/fedor-git/wg-portal-2.svg)](https://hub.docker.com/r/wgportal/wg-portal/) ## Introduction @@ -65,4 +65,4 @@ For the complete documentation visit [wgportal.org](https://wgportal.org). > [!IMPORTANT] > Since the project was accepted by the Docker-Sponsored Open Source Program, the Docker image location has moved to [wgportal/wg-portal](https://hub.docker.com/r/wgportal/wg-portal). -> Please update the Docker image from **h44z/wg-portal** to **wgportal/wg-portal**. +> Please update the Docker image from **fedor-git/wg-portal-2** to **wgportal/wg-portal**. diff --git a/SECURITY.md b/SECURITY.md index 559eccb..835246e 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -13,7 +13,7 @@ If you believe you've found a security issue in one of the supported versions of Please do not report security vulnerabilities through public GitHub issues. -Instead, we encourage you to submit a report through GitHub [private vulnerability reporting](https://github.com/h44z/wg-portal/security). +Instead, we encourage you to submit a report through GitHub [private vulnerability reporting](https://github.com/fedor-git/wg-portal-2/security). If you prefer to submit a report without logging in to GitHub, please email *info (at) wgportal.org*. We will respond as soon as possible, but as only two people currently maintain this project, we cannot guarantee specific response times. diff --git a/cmd/wg-portal/main.go b/cmd/wg-portal/main.go index 97f0b67..71c555f 100644 --- a/cmd/wg-portal/main.go +++ b/cmd/wg-portal/main.go @@ -11,23 +11,23 @@ import ( evbus "github.com/vardius/message-bus" "gorm.io/gorm/schema" - "github.com/h44z/wg-portal/internal" - "github.com/h44z/wg-portal/internal/adapters" - "github.com/h44z/wg-portal/internal/app" - "github.com/h44z/wg-portal/internal/app/api/core" - backendV0 "github.com/h44z/wg-portal/internal/app/api/v0/backend" - handlersV0 "github.com/h44z/wg-portal/internal/app/api/v0/handlers" - backendV1 "github.com/h44z/wg-portal/internal/app/api/v1/backend" - handlersV1 "github.com/h44z/wg-portal/internal/app/api/v1/handlers" - "github.com/h44z/wg-portal/internal/app/audit" - "github.com/h44z/wg-portal/internal/app/auth" - "github.com/h44z/wg-portal/internal/app/configfile" - "github.com/h44z/wg-portal/internal/app/mail" - "github.com/h44z/wg-portal/internal/app/route" - "github.com/h44z/wg-portal/internal/app/users" - "github.com/h44z/wg-portal/internal/app/webhooks" - "github.com/h44z/wg-portal/internal/app/wireguard" - "github.com/h44z/wg-portal/internal/config" + "github.com/fedor-git/wg-portal-2/internal" + "github.com/fedor-git/wg-portal-2/internal/adapters" + "github.com/fedor-git/wg-portal-2/internal/app" + "github.com/fedor-git/wg-portal-2/internal/app/api/core" + backendV0 "github.com/fedor-git/wg-portal-2/internal/app/api/v0/backend" + handlersV0 "github.com/fedor-git/wg-portal-2/internal/app/api/v0/handlers" + backendV1 "github.com/fedor-git/wg-portal-2/internal/app/api/v1/backend" + handlersV1 "github.com/fedor-git/wg-portal-2/internal/app/api/v1/handlers" + "github.com/fedor-git/wg-portal-2/internal/app/audit" + "github.com/fedor-git/wg-portal-2/internal/app/auth" + "github.com/fedor-git/wg-portal-2/internal/app/configfile" + "github.com/fedor-git/wg-portal-2/internal/app/mail" + "github.com/fedor-git/wg-portal-2/internal/app/route" + "github.com/fedor-git/wg-portal-2/internal/app/users" + "github.com/fedor-git/wg-portal-2/internal/app/webhooks" + "github.com/fedor-git/wg-portal-2/internal/app/wireguard" + "github.com/fedor-git/wg-portal-2/internal/config" ) // main entry point for WireGuard Portal diff --git a/deploy/helm/Chart.yaml b/deploy/helm/Chart.yaml index 4f9fdf0..66eaf67 100644 --- a/deploy/helm/Chart.yaml +++ b/deploy/helm/Chart.yaml @@ -7,7 +7,7 @@ type: application home: https://wgportal.org icon: https://wgportal.org/latest/assets/images/logo.svg sources: - - https://github.com/h44z/wg-portal + - https://github.com/fedor-git/wg-portal-2 annotations: artifacthub.io/category: networking diff --git a/deploy/helm/README.md b/deploy/helm/README.md index ba07889..f957b48 100644 --- a/deploy/helm/README.md +++ b/deploy/helm/README.md @@ -8,7 +8,7 @@ WireGuard Configuration Portal with LDAP, OAuth, OIDC authentication ## Source Code -* +* ## Requirements @@ -42,7 +42,7 @@ The [Values](#values) section lists the parameters that can be configured during | revisionHistoryLimit | string | `10` | The number of old ReplicaSets to retain to allow rollback. | | workloadType | string | `"Deployment"` | Workload type - `Deployment` or `StatefulSet` | | strategy | object | `{"type":"RollingUpdate"}` | Update strategy for the workload Valid values are: `RollingUpdate` or `Recreate` for Deployment, `RollingUpdate` or `OnDelete` for StatefulSet | -| image.repository | string | `"ghcr.io/h44z/wg-portal"` | Image repository | +| image.repository | string | `"ghcr.io/fedor-git/wg-portal-2"` | Image repository | | image.pullPolicy | string | `"IfNotPresent"` | Image pull policy | | image.tag | string | `""` | Overrides the image tag whose default is the chart appVersion | | imagePullSecrets | list | `[]` | Image pull secrets | diff --git a/deploy/helm/values.yaml b/deploy/helm/values.yaml index bb103e6..14a6d31 100644 --- a/deploy/helm/values.yaml +++ b/deploy/helm/values.yaml @@ -44,7 +44,7 @@ strategy: image: # -- Image repository - repository: ghcr.io/h44z/wg-portal + repository: ghcr.io/fedor-git/wg-portal-2 # -- Image pull policy pullPolicy: IfNotPresent # -- Overrides the image tag whose default is the chart appVersion diff --git a/docs/documentation/getting-started/binaries.md b/docs/documentation/getting-started/binaries.md index 5aed082..ac19097 100644 --- a/docs/documentation/getting-started/binaries.md +++ b/docs/documentation/getting-started/binaries.md @@ -1,4 +1,4 @@ -Starting from v2, each [release](https://github.com/h44z/wg-portal/releases) includes compiled binaries for supported platforms. +Starting from v2, each [release](https://github.com/fedor-git/wg-portal-2/releases) includes compiled binaries for supported platforms. These binary versions can be manually downloaded and installed. ## Download @@ -12,19 +12,19 @@ Make sure that you download the correct binary for your architecture. The availa With `curl`: ```shell -curl -L -o wg-portal https://github.com/h44z/wg-portal/releases/download/${WG_PORTAL_VERSION}/wg-portal_linux_amd64 +curl -L -o wg-portal https://github.com/fedor-git/wg-portal-2/releases/download/${WG_PORTAL_VERSION}/wg-portal_linux_amd64 ``` With `wget`: ```shell -wget -O wg-portal https://github.com/h44z/wg-portal/releases/download/${WG_PORTAL_VERSION}/wg-portal_linux_amd64 +wget -O wg-portal https://github.com/fedor-git/wg-portal-2/releases/download/${WG_PORTAL_VERSION}/wg-portal_linux_amd64 ``` with `gh cli`: ```shell -gh release download ${WG_PORTAL_VERSION} --repo h44z/wg-portal --output wg-portal --pattern '*amd64' +gh release download ${WG_PORTAL_VERSION} --repo fedor-git/wg-portal-2 --output wg-portal --pattern '*amd64' ``` @@ -38,5 +38,5 @@ sudo install wg-portal /opt/wg-portal/ ## Unreleased versions (master branch builds) -Unreleased versions can be fetched directly from the artifacts section of the [GitHub Workflow](https://github.com/h44z/wg-portal/actions/workflows/docker-publish.yml?query=branch%3Amaster). +Unreleased versions can be fetched directly from the artifacts section of the [GitHub Workflow](https://github.com/fedor-git/wg-portal-2/actions/workflows/docker-publish.yml?query=branch%3Amaster). diff --git a/docs/documentation/getting-started/docker.md b/docs/documentation/getting-started/docker.md index 091aaf7..d40d457 100644 --- a/docs/documentation/getting-started/docker.md +++ b/docs/documentation/getting-started/docker.md @@ -1,6 +1,6 @@ ## Image Usage -The WireGuard Portal Docker image is available on both [Docker Hub](https://hub.docker.com/r/wgportal/wg-portal) and [GitHub Container Registry](https://github.com/h44z/wg-portal/pkgs/container/wg-portal). +The WireGuard Portal Docker image is available on both [Docker Hub](https://hub.docker.com/r/wgportal/wg-portal) and [GitHub Container Registry](https://github.com/fedor-git/wg-portal-2/pkgs/container/wg-portal). It is built on the official Alpine Linux base image and comes pre-packaged with all necessary WireGuard dependencies. This container allows you to establish WireGuard VPN connections without relying on a host system that supports WireGuard or using the `linuxserver/wireguard` Docker image. @@ -109,7 +109,7 @@ WireGuard Portal supports managing WireGuard interfaces through three distinct d ## Image Versioning -All images are hosted on Docker Hub at [https://hub.docker.com/r/wgportal/wg-portal](https://hub.docker.com/r/wgportal/wg-portal) or in the [GitHub Container Registry](https://github.com/h44z/wg-portal/pkgs/container/wg-portal). +All images are hosted on Docker Hub at [https://hub.docker.com/r/wgportal/wg-portal](https://hub.docker.com/r/wgportal/wg-portal) or in the [GitHub Container Registry](https://github.com/fedor-git/wg-portal-2/pkgs/container/wg-portal). Version **2** is the current stable release. Version **1** has moved to legacy status and is no longer recommended. @@ -125,7 +125,7 @@ There are different types of these tags: - Major version tags: `v2` or `2`. These tags always refer to the latest image for WireGuard Portal version **2**. - Minor version tags: `v2.x` or `2.0`. These tags always refer to the latest image for WireGuard Portal version **2.x**. - - Specific version tags (patch version): `v2.0.0` or `2.0.0`. These tags denote a very specific release. They correspond to the GitHub tags that we make, and you can see the release notes for them here: [https://github.com/h44z/wg-portal/releases](https://github.com/h44z/wg-portal/releases). Once these tags for a specific version show up in the Docker repository, they will never change. + - Specific version tags (patch version): `v2.0.0` or `2.0.0`. These tags denote a very specific release. They correspond to the GitHub tags that we make, and you can see the release notes for them here: [https://github.com/fedor-git/wg-portal-2/releases](https://github.com/fedor-git/wg-portal-2/releases). Once these tags for a specific version show up in the Docker repository, they will never change. #### The `latest` tag diff --git a/docs/documentation/getting-started/sources.md b/docs/documentation/getting-started/sources.md index 36e9b71..0b289e0 100644 --- a/docs/documentation/getting-started/sources.md +++ b/docs/documentation/getting-started/sources.md @@ -11,7 +11,7 @@ To build the application from source files, use the Makefile provided in the rep ```shell # Get source code -git clone https://github.com/h44z/wg-portal -b ${WG_PORTAL_VERSION:-master} --depth 1 +git clone https://github.com/fedor-git/wg-portal-2 -b ${WG_PORTAL_VERSION:-master} --depth 1 cd wg-portal # Build the frontend make frontend diff --git a/docs/documentation/monitoring/prometheus.md b/docs/documentation/monitoring/prometheus.md index a360fcf..348c485 100644 --- a/docs/documentation/monitoring/prometheus.md +++ b/docs/documentation/monitoring/prometheus.md @@ -27,6 +27,6 @@ scrape_configs: # Grafana Dashboard -You may import [`dashboard.json`](https://github.com/h44z/wg-portal/blob/master/deploy/helm/files/dashboard.json) into your Grafana instance. +You may import [`dashboard.json`](https://github.com/fedor-git/wg-portal-2/blob/master/deploy/helm/files/dashboard.json) into your Grafana instance. ![Dashboard](../../assets/images/dashboard.png) diff --git a/docs/documentation/rest-api/swagger.yaml b/docs/documentation/rest-api/swagger.yaml index fb6cd00..b14a539 100644 --- a/docs/documentation/rest-api/swagger.yaml +++ b/docs/documentation/rest-api/swagger.yaml @@ -580,14 +580,14 @@ definitions: info: contact: name: WireGuard Portal Project - url: https://github.com/h44z/wg-portal + url: https://github.com/fedor-git/wg-portal-2 description: |- The WireGuard Portal REST API enables efficient management of WireGuard VPN configurations through a set of JSON-based endpoints. It supports creating and editing peers, interfaces, and user profiles, while also providing role-based access control and auditing. This API allows seamless integration with external tools or scripts for automated network configuration and administration. license: name: MIT - url: https://github.com/h44z/wg-portal/blob/master/LICENSE.txt + url: https://github.com/fedor-git/wg-portal-2/blob/master/LICENSE.txt title: WireGuard Portal Public API version: "1.0" paths: diff --git a/go.mod b/go.mod index 1034df3..975fd24 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/h44z/wg-portal +module github.com/fedor-git/wg-portal-2 go 1.24.0 diff --git a/internal/adapters/database.go b/internal/adapters/database.go index 14726ae..6bb7865 100644 --- a/internal/adapters/database.go +++ b/internal/adapters/database.go @@ -19,8 +19,8 @@ import ( "gorm.io/gorm/logger" "gorm.io/gorm/utils" - "github.com/h44z/wg-portal/internal/config" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/config" + "github.com/fedor-git/wg-portal-2/internal/domain" ) // SchemaVersion describes the current database schema version. It must be incremented if a manual migration is needed. diff --git a/internal/adapters/mailer.go b/internal/adapters/mailer.go index 47a8aad..a82181f 100644 --- a/internal/adapters/mailer.go +++ b/internal/adapters/mailer.go @@ -10,9 +10,9 @@ import ( mail "github.com/xhit/go-simple-mail/v2" - "github.com/h44z/wg-portal/internal" - "github.com/h44z/wg-portal/internal/config" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal" + "github.com/fedor-git/wg-portal-2/internal/config" + "github.com/fedor-git/wg-portal-2/internal/domain" ) type MailRepo struct { diff --git a/internal/adapters/metrics.go b/internal/adapters/metrics.go index 6b9a4b7..f99f0e3 100644 --- a/internal/adapters/metrics.go +++ b/internal/adapters/metrics.go @@ -11,9 +11,9 @@ import ( "github.com/prometheus/client_golang/prometheus/promauto" "github.com/prometheus/client_golang/prometheus/promhttp" - "github.com/h44z/wg-portal/internal" - "github.com/h44z/wg-portal/internal/config" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal" + "github.com/fedor-git/wg-portal-2/internal/config" + "github.com/fedor-git/wg-portal-2/internal/domain" ) type MetricsServer struct { diff --git a/internal/adapters/wgcontroller/local.go b/internal/adapters/wgcontroller/local.go index 7f2e7fa..c6393e3 100644 --- a/internal/adapters/wgcontroller/local.go +++ b/internal/adapters/wgcontroller/local.go @@ -18,10 +18,10 @@ import ( "golang.zx2c4.com/wireguard/wgctrl" "golang.zx2c4.com/wireguard/wgctrl/wgtypes" - "github.com/h44z/wg-portal/internal" - "github.com/h44z/wg-portal/internal/config" - "github.com/h44z/wg-portal/internal/domain" - "github.com/h44z/wg-portal/internal/lowlevel" + "github.com/fedor-git/wg-portal-2/internal" + "github.com/fedor-git/wg-portal-2/internal/config" + "github.com/fedor-git/wg-portal-2/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/lowlevel" ) // region dependencies diff --git a/internal/adapters/wgcontroller/mikrotik.go b/internal/adapters/wgcontroller/mikrotik.go index 8498d34..90b5d16 100644 --- a/internal/adapters/wgcontroller/mikrotik.go +++ b/internal/adapters/wgcontroller/mikrotik.go @@ -11,9 +11,9 @@ import ( "log/slog" - "github.com/h44z/wg-portal/internal/config" - "github.com/h44z/wg-portal/internal/domain" - "github.com/h44z/wg-portal/internal/lowlevel" + "github.com/fedor-git/wg-portal-2/internal/config" + "github.com/fedor-git/wg-portal-2/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/lowlevel" ) type MikrotikController struct { diff --git a/internal/adapters/wgquick.go b/internal/adapters/wgquick.go index 992e69a..09d33f4 100644 --- a/internal/adapters/wgquick.go +++ b/internal/adapters/wgquick.go @@ -7,8 +7,8 @@ import ( "os/exec" "strings" - "github.com/h44z/wg-portal/internal" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal" + "github.com/fedor-git/wg-portal-2/internal/domain" ) // WgQuickRepo implements higher level wg-quick like interactions like setting DNS, routing tables or interface hooks. diff --git a/internal/adapters/wireguard.go b/internal/adapters/wireguard.go index 327d54a..2301a22 100644 --- a/internal/adapters/wireguard.go +++ b/internal/adapters/wireguard.go @@ -11,8 +11,8 @@ import ( "golang.zx2c4.com/wireguard/wgctrl" "golang.zx2c4.com/wireguard/wgctrl/wgtypes" - "github.com/h44z/wg-portal/internal/domain" - "github.com/h44z/wg-portal/internal/lowlevel" + "github.com/fedor-git/wg-portal-2/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/lowlevel" ) // WgRepo implements all low-level WireGuard interactions. diff --git a/internal/adapters/wireguard_integration_test.go b/internal/adapters/wireguard_integration_test.go index 349fa6a..874456a 100644 --- a/internal/adapters/wireguard_integration_test.go +++ b/internal/adapters/wireguard_integration_test.go @@ -15,8 +15,8 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/h44z/wg-portal/internal" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal" + "github.com/fedor-git/wg-portal-2/internal/domain" ) // setup WireGuard manager with no linked store diff --git a/internal/app/api/core/assets/doc/v0_swagger.json b/internal/app/api/core/assets/doc/v0_swagger.json index d4c39d1..ad3c512 100644 --- a/internal/app/api/core/assets/doc/v0_swagger.json +++ b/internal/app/api/core/assets/doc/v0_swagger.json @@ -5,7 +5,7 @@ "title": "WireGuard Portal SPA-UI API", "contact": { "name": "WireGuard Portal Developers", - "url": "https://github.com/h44z/wg-portal" + "url": "https://github.com/fedor-git/wg-portal-2" }, "version": "0.0" }, diff --git a/internal/app/api/core/assets/doc/v0_swagger.yaml b/internal/app/api/core/assets/doc/v0_swagger.yaml index bb0de5f..693365f 100644 --- a/internal/app/api/core/assets/doc/v0_swagger.yaml +++ b/internal/app/api/core/assets/doc/v0_swagger.yaml @@ -456,7 +456,7 @@ definitions: info: contact: name: WireGuard Portal Developers - url: https://github.com/h44z/wg-portal + url: https://github.com/fedor-git/wg-portal-2 description: WireGuard Portal API - UI Endpoints title: WireGuard Portal SPA-UI API version: "0.0" diff --git a/internal/app/api/core/assets/doc/v1_swagger.json b/internal/app/api/core/assets/doc/v1_swagger.json index c479a70..73a5d0b 100644 --- a/internal/app/api/core/assets/doc/v1_swagger.json +++ b/internal/app/api/core/assets/doc/v1_swagger.json @@ -5,11 +5,11 @@ "title": "WireGuard Portal Public API", "contact": { "name": "WireGuard Portal Project", - "url": "https://github.com/h44z/wg-portal" + "url": "https://github.com/fedor-git/wg-portal-2" }, "license": { "name": "MIT", - "url": "https://github.com/h44z/wg-portal/blob/master/LICENSE.txt" + "url": "https://github.com/fedor-git/wg-portal-2/blob/master/LICENSE.txt" }, "version": "1.0" }, diff --git a/internal/app/api/core/assets/doc/v1_swagger.yaml b/internal/app/api/core/assets/doc/v1_swagger.yaml index 295bd79..cabdea2 100644 --- a/internal/app/api/core/assets/doc/v1_swagger.yaml +++ b/internal/app/api/core/assets/doc/v1_swagger.yaml @@ -636,14 +636,14 @@ definitions: info: contact: name: WireGuard Portal Project - url: https://github.com/h44z/wg-portal + url: https://github.com/fedor-git/wg-portal-2 description: |- The WireGuard Portal REST API enables efficient management of WireGuard VPN configurations through a set of JSON-based endpoints. It supports creating and editing peers, interfaces, and user profiles, while also providing role-based access control and auditing. This API allows seamless integration with external tools or scripts for automated network configuration and administration. license: name: MIT - url: https://github.com/h44z/wg-portal/blob/master/LICENSE.txt + url: https://github.com/fedor-git/wg-portal-2/blob/master/LICENSE.txt title: WireGuard Portal Public API version: "1.0" paths: diff --git a/internal/app/api/core/middleware/csrf/middleware_test.go b/internal/app/api/core/middleware/csrf/middleware_test.go index 78ae770..e4faec0 100644 --- a/internal/app/api/core/middleware/csrf/middleware_test.go +++ b/internal/app/api/core/middleware/csrf/middleware_test.go @@ -7,7 +7,7 @@ import ( "strings" "testing" - "github.com/h44z/wg-portal/internal/app/api/core/request" + "github.com/fedor-git/wg-portal-2/internal/app/api/core/request" ) func TestMiddleware_Handler(t *testing.T) { diff --git a/internal/app/api/core/server.go b/internal/app/api/core/server.go index 4cc986c..75ff425 100644 --- a/internal/app/api/core/server.go +++ b/internal/app/api/core/server.go @@ -12,13 +12,13 @@ import ( "github.com/go-pkgz/routegroup" - "github.com/h44z/wg-portal/internal" - "github.com/h44z/wg-portal/internal/app/api/core/middleware/cors" - "github.com/h44z/wg-portal/internal/app/api/core/middleware/logging" - "github.com/h44z/wg-portal/internal/app/api/core/middleware/recovery" - "github.com/h44z/wg-portal/internal/app/api/core/middleware/tracing" - "github.com/h44z/wg-portal/internal/app/api/core/respond" - "github.com/h44z/wg-portal/internal/config" + "github.com/fedor-git/wg-portal-2/internal" + "github.com/fedor-git/wg-portal-2/internal/app/api/core/middleware/cors" + "github.com/fedor-git/wg-portal-2/internal/app/api/core/middleware/logging" + "github.com/fedor-git/wg-portal-2/internal/app/api/core/middleware/recovery" + "github.com/fedor-git/wg-portal-2/internal/app/api/core/middleware/tracing" + "github.com/fedor-git/wg-portal-2/internal/app/api/core/respond" + "github.com/fedor-git/wg-portal-2/internal/config" ) const ( diff --git a/internal/app/api/v0/backend/interface_service.go b/internal/app/api/v0/backend/interface_service.go index fca1fe8..d8b9679 100644 --- a/internal/app/api/v0/backend/interface_service.go +++ b/internal/app/api/v0/backend/interface_service.go @@ -4,8 +4,8 @@ import ( "context" "io" - "github.com/h44z/wg-portal/internal/config" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/config" + "github.com/fedor-git/wg-portal-2/internal/domain" ) // region dependencies diff --git a/internal/app/api/v0/backend/peer_service.go b/internal/app/api/v0/backend/peer_service.go index ab4a7a8..543ed68 100644 --- a/internal/app/api/v0/backend/peer_service.go +++ b/internal/app/api/v0/backend/peer_service.go @@ -4,8 +4,8 @@ import ( "context" "io" - "github.com/h44z/wg-portal/internal/config" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/config" + "github.com/fedor-git/wg-portal-2/internal/domain" ) // region dependencies diff --git a/internal/app/api/v0/backend/user_service.go b/internal/app/api/v0/backend/user_service.go index 74fee34..fcebd1e 100644 --- a/internal/app/api/v0/backend/user_service.go +++ b/internal/app/api/v0/backend/user_service.go @@ -3,8 +3,8 @@ package backend import ( "context" - "github.com/h44z/wg-portal/internal/config" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/config" + "github.com/fedor-git/wg-portal-2/internal/domain" ) // region dependencies diff --git a/internal/app/api/v0/handlers/base.go b/internal/app/api/v0/handlers/base.go index bee1d05..d245df9 100644 --- a/internal/app/api/v0/handlers/base.go +++ b/internal/app/api/v0/handlers/base.go @@ -6,10 +6,10 @@ import ( "github.com/go-pkgz/routegroup" - "github.com/h44z/wg-portal/internal/app/api/core" - "github.com/h44z/wg-portal/internal/app/api/core/middleware/cors" - "github.com/h44z/wg-portal/internal/app/api/core/middleware/csrf" - "github.com/h44z/wg-portal/internal/app/api/core/respond" + "github.com/fedor-git/wg-portal-2/internal/app/api/core" + "github.com/fedor-git/wg-portal-2/internal/app/api/core/middleware/cors" + "github.com/fedor-git/wg-portal-2/internal/app/api/core/middleware/csrf" + "github.com/fedor-git/wg-portal-2/internal/app/api/core/respond" ) type SessionMiddleware interface { @@ -45,7 +45,7 @@ type Handler interface { // @description WireGuard Portal API - UI Endpoints // @contact.name WireGuard Portal Developers -// @contact.url https://github.com/h44z/wg-portal +// @contact.url https://github.com/fedor-git/wg-portal-2 // @BasePath /api/v0 // @query.collection.format multi diff --git a/internal/app/api/v0/handlers/endpoint_audit.go b/internal/app/api/v0/handlers/endpoint_audit.go index f32b1f9..007562d 100644 --- a/internal/app/api/v0/handlers/endpoint_audit.go +++ b/internal/app/api/v0/handlers/endpoint_audit.go @@ -6,10 +6,10 @@ import ( "github.com/go-pkgz/routegroup" - "github.com/h44z/wg-portal/internal/app/api/core/respond" - "github.com/h44z/wg-portal/internal/app/api/v0/model" - "github.com/h44z/wg-portal/internal/config" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/app/api/core/respond" + "github.com/fedor-git/wg-portal-2/internal/app/api/v0/model" + "github.com/fedor-git/wg-portal-2/internal/config" + "github.com/fedor-git/wg-portal-2/internal/domain" ) type AuditService interface { diff --git a/internal/app/api/v0/handlers/endpoint_authentication.go b/internal/app/api/v0/handlers/endpoint_authentication.go index 26532b0..7ba69d3 100644 --- a/internal/app/api/v0/handlers/endpoint_authentication.go +++ b/internal/app/api/v0/handlers/endpoint_authentication.go @@ -11,11 +11,11 @@ import ( "github.com/go-pkgz/routegroup" - "github.com/h44z/wg-portal/internal/app/api/core/request" - "github.com/h44z/wg-portal/internal/app/api/core/respond" - "github.com/h44z/wg-portal/internal/app/api/v0/model" - "github.com/h44z/wg-portal/internal/config" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/app/api/core/request" + "github.com/fedor-git/wg-portal-2/internal/app/api/core/respond" + "github.com/fedor-git/wg-portal-2/internal/app/api/v0/model" + "github.com/fedor-git/wg-portal-2/internal/config" + "github.com/fedor-git/wg-portal-2/internal/domain" ) type AuthenticationService interface { diff --git a/internal/app/api/v0/handlers/endpoint_config.go b/internal/app/api/v0/handlers/endpoint_config.go index 9936644..b9de287 100644 --- a/internal/app/api/v0/handlers/endpoint_config.go +++ b/internal/app/api/v0/handlers/endpoint_config.go @@ -10,12 +10,12 @@ import ( "github.com/go-pkgz/routegroup" - "github.com/h44z/wg-portal/internal" - "github.com/h44z/wg-portal/internal/app/api/core/request" - "github.com/h44z/wg-portal/internal/app/api/core/respond" - "github.com/h44z/wg-portal/internal/app/api/v0/model" - "github.com/h44z/wg-portal/internal/config" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal" + "github.com/fedor-git/wg-portal-2/internal/app/api/core/request" + "github.com/fedor-git/wg-portal-2/internal/app/api/core/respond" + "github.com/fedor-git/wg-portal-2/internal/app/api/v0/model" + "github.com/fedor-git/wg-portal-2/internal/config" + "github.com/fedor-git/wg-portal-2/internal/domain" ) //go:embed frontend_config.js.gotpl diff --git a/internal/app/api/v0/handlers/endpoint_interfaces.go b/internal/app/api/v0/handlers/endpoint_interfaces.go index 5478a3b..4b06eaa 100644 --- a/internal/app/api/v0/handlers/endpoint_interfaces.go +++ b/internal/app/api/v0/handlers/endpoint_interfaces.go @@ -7,11 +7,11 @@ import ( "github.com/go-pkgz/routegroup" - "github.com/h44z/wg-portal/internal/app/api/core/request" - "github.com/h44z/wg-portal/internal/app/api/core/respond" - "github.com/h44z/wg-portal/internal/app/api/v0/model" - "github.com/h44z/wg-portal/internal/config" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/app/api/core/request" + "github.com/fedor-git/wg-portal-2/internal/app/api/core/respond" + "github.com/fedor-git/wg-portal-2/internal/app/api/v0/model" + "github.com/fedor-git/wg-portal-2/internal/config" + "github.com/fedor-git/wg-portal-2/internal/domain" ) type InterfaceService interface { diff --git a/internal/app/api/v0/handlers/endpoint_peers.go b/internal/app/api/v0/handlers/endpoint_peers.go index e60a3aa..0d0c388 100644 --- a/internal/app/api/v0/handlers/endpoint_peers.go +++ b/internal/app/api/v0/handlers/endpoint_peers.go @@ -7,11 +7,11 @@ import ( "github.com/go-pkgz/routegroup" - "github.com/h44z/wg-portal/internal/app/api/core/request" - "github.com/h44z/wg-portal/internal/app/api/core/respond" - "github.com/h44z/wg-portal/internal/app/api/v0/model" - "github.com/h44z/wg-portal/internal/config" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/app/api/core/request" + "github.com/fedor-git/wg-portal-2/internal/app/api/core/respond" + "github.com/fedor-git/wg-portal-2/internal/app/api/v0/model" + "github.com/fedor-git/wg-portal-2/internal/config" + "github.com/fedor-git/wg-portal-2/internal/domain" ) type PeerService interface { diff --git a/internal/app/api/v0/handlers/endpoint_testing.go b/internal/app/api/v0/handlers/endpoint_testing.go index 9f6909c..1e08093 100644 --- a/internal/app/api/v0/handlers/endpoint_testing.go +++ b/internal/app/api/v0/handlers/endpoint_testing.go @@ -7,8 +7,8 @@ import ( "github.com/go-pkgz/routegroup" - "github.com/h44z/wg-portal/internal/app/api/core/respond" - "github.com/h44z/wg-portal/internal/app/api/v0/model" + "github.com/fedor-git/wg-portal-2/internal/app/api/core/respond" + "github.com/fedor-git/wg-portal-2/internal/app/api/v0/model" ) type TestEndpoint struct { diff --git a/internal/app/api/v0/handlers/endpoint_users.go b/internal/app/api/v0/handlers/endpoint_users.go index 4cad7b2..2bcf4f2 100644 --- a/internal/app/api/v0/handlers/endpoint_users.go +++ b/internal/app/api/v0/handlers/endpoint_users.go @@ -6,11 +6,11 @@ import ( "github.com/go-pkgz/routegroup" - "github.com/h44z/wg-portal/internal/app/api/core/request" - "github.com/h44z/wg-portal/internal/app/api/core/respond" - "github.com/h44z/wg-portal/internal/app/api/v0/model" - "github.com/h44z/wg-portal/internal/config" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/app/api/core/request" + "github.com/fedor-git/wg-portal-2/internal/app/api/core/respond" + "github.com/fedor-git/wg-portal-2/internal/app/api/v0/model" + "github.com/fedor-git/wg-portal-2/internal/config" + "github.com/fedor-git/wg-portal-2/internal/domain" ) type UserService interface { diff --git a/internal/app/api/v0/handlers/model_options.go b/internal/app/api/v0/handlers/model_options.go new file mode 100644 index 0000000..9e2b965 --- /dev/null +++ b/internal/app/api/v0/handlers/model_options.go @@ -0,0 +1,39 @@ +package models + +import ( + "github.com/fedor-git/wg-portal-2/internal" + "github.com/fedor-git/wg-portal-2/internal/domain" +) + +type ConfigOption[T any] struct { + Value T `json:"Value"` + Overridable bool `json:"Overridable,omitempty"` +} + +func ConfigOptionFromDomain[T any](opt domain.ConfigOption[T]) ConfigOption[T] { + return ConfigOption[T]{ + Value: opt.Value, + Overridable: opt.Overridable, + } +} + +func ConfigOptionToDomain[T any](opt ConfigOption[T]) domain.ConfigOption[T] { + return domain.ConfigOption[T]{ + Value: opt.Value, + Overridable: opt.Overridable, + } +} + +func StringSliceConfigOptionFromDomain(opt domain.ConfigOption[string]) ConfigOption[[]string] { + return ConfigOption[[]string]{ + Value: internal.SliceString(opt.Value), + Overridable: opt.Overridable, + } +} + +func StringSliceConfigOptionToDomain(opt ConfigOption[[]string]) domain.ConfigOption[string] { + return domain.ConfigOption[string]{ + Value: internal.SliceToString(opt.Value), + Overridable: opt.Overridable, + } +} diff --git a/internal/app/api/v0/handlers/web_authentication.go b/internal/app/api/v0/handlers/web_authentication.go index f214739..39b3aef 100644 --- a/internal/app/api/v0/handlers/web_authentication.go +++ b/internal/app/api/v0/handlers/web_authentication.go @@ -4,10 +4,10 @@ import ( "context" "net/http" - "github.com/h44z/wg-portal/internal/app/api/core/request" - "github.com/h44z/wg-portal/internal/app/api/core/respond" - "github.com/h44z/wg-portal/internal/app/api/v0/model" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/app/api/core/request" + "github.com/fedor-git/wg-portal-2/internal/app/api/core/respond" + "github.com/fedor-git/wg-portal-2/internal/app/api/v0/model" + "github.com/fedor-git/wg-portal-2/internal/domain" ) type Scope string diff --git a/internal/app/api/v0/handlers/web_session.go b/internal/app/api/v0/handlers/web_session.go index 1e12eaa..cd54d8b 100644 --- a/internal/app/api/v0/handlers/web_session.go +++ b/internal/app/api/v0/handlers/web_session.go @@ -9,7 +9,7 @@ import ( "github.com/alexedwards/scs/v2" - "github.com/h44z/wg-portal/internal/config" + "github.com/fedor-git/wg-portal-2/internal/config" ) func init() { diff --git a/internal/app/api/v0/model/model_options.go b/internal/app/api/v0/model/model_options.go index b00eeab..d6fc3fa 100644 --- a/internal/app/api/v0/model/model_options.go +++ b/internal/app/api/v0/model/model_options.go @@ -1,8 +1,8 @@ package model import ( - "github.com/h44z/wg-portal/internal" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal" + "github.com/fedor-git/wg-portal-2/internal/domain" ) type ConfigOption[T any] struct { diff --git a/internal/app/api/v0/model/models_audit.go b/internal/app/api/v0/model/models_audit.go index 4b1b348..4a20d45 100644 --- a/internal/app/api/v0/model/models_audit.go +++ b/internal/app/api/v0/model/models_audit.go @@ -1,7 +1,7 @@ package model import ( - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/domain" ) type AuditEntry struct { diff --git a/internal/app/api/v0/model/models_authentication.go b/internal/app/api/v0/model/models_authentication.go index b7283b1..3e505c7 100644 --- a/internal/app/api/v0/model/models_authentication.go +++ b/internal/app/api/v0/model/models_authentication.go @@ -4,7 +4,7 @@ import ( "slices" "strings" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/domain" ) type LoginProviderInfo struct { diff --git a/internal/app/api/v0/model/models_interface.go b/internal/app/api/v0/model/models_interface.go index 1b22d02..a230096 100644 --- a/internal/app/api/v0/model/models_interface.go +++ b/internal/app/api/v0/model/models_interface.go @@ -3,9 +3,9 @@ package model import ( "time" - "github.com/h44z/wg-portal/internal" - "github.com/h44z/wg-portal/internal/config" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal" + "github.com/fedor-git/wg-portal-2/internal/config" + "github.com/fedor-git/wg-portal-2/internal/domain" ) type Interface struct { diff --git a/internal/app/api/v0/model/models_peer.go b/internal/app/api/v0/model/models_peer.go index b0e2f7e..bd0715f 100644 --- a/internal/app/api/v0/model/models_peer.go +++ b/internal/app/api/v0/model/models_peer.go @@ -3,8 +3,8 @@ package model import ( "time" - "github.com/h44z/wg-portal/internal" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal" + "github.com/fedor-git/wg-portal-2/internal/domain" ) const ExpiryDateTimeLayout = "\"2006-01-02\"" diff --git a/internal/app/api/v0/model/models_user.go b/internal/app/api/v0/model/models_user.go index 544bc7b..cd0b90a 100644 --- a/internal/app/api/v0/model/models_user.go +++ b/internal/app/api/v0/model/models_user.go @@ -3,7 +3,7 @@ package model import ( "time" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/domain" ) type User struct { diff --git a/internal/app/api/v1/backend/interface_service.go b/internal/app/api/v1/backend/interface_service.go index 35f0b84..0bd0c9d 100644 --- a/internal/app/api/v1/backend/interface_service.go +++ b/internal/app/api/v1/backend/interface_service.go @@ -4,8 +4,8 @@ import ( "context" "fmt" - "github.com/h44z/wg-portal/internal/config" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/config" + "github.com/fedor-git/wg-portal-2/internal/domain" ) type InterfaceServiceInterfaceManagerRepo interface { diff --git a/internal/app/api/v1/backend/metrics_service.go b/internal/app/api/v1/backend/metrics_service.go index 010c8d7..261a219 100644 --- a/internal/app/api/v1/backend/metrics_service.go +++ b/internal/app/api/v1/backend/metrics_service.go @@ -4,8 +4,8 @@ import ( "context" "fmt" - "github.com/h44z/wg-portal/internal/config" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/config" + "github.com/fedor-git/wg-portal-2/internal/domain" ) type MetricsServiceDatabaseRepo interface { diff --git a/internal/app/api/v1/backend/peer_service.go b/internal/app/api/v1/backend/peer_service.go index fbfe186..89c1331 100644 --- a/internal/app/api/v1/backend/peer_service.go +++ b/internal/app/api/v1/backend/peer_service.go @@ -5,8 +5,8 @@ import ( "errors" "fmt" - "github.com/h44z/wg-portal/internal/config" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/config" + "github.com/fedor-git/wg-portal-2/internal/domain" ) type PeerServicePeerManagerRepo interface { diff --git a/internal/app/api/v1/backend/provisioning_service.go b/internal/app/api/v1/backend/provisioning_service.go index f90bf77..c644d34 100644 --- a/internal/app/api/v1/backend/provisioning_service.go +++ b/internal/app/api/v1/backend/provisioning_service.go @@ -5,9 +5,9 @@ import ( "fmt" "io" - "github.com/h44z/wg-portal/internal/app/api/v1/models" - "github.com/h44z/wg-portal/internal/config" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/app/api/v1/models" + "github.com/fedor-git/wg-portal-2/internal/config" + "github.com/fedor-git/wg-portal-2/internal/domain" ) type ProvisioningServiceUserManagerRepo interface { diff --git a/internal/app/api/v1/backend/user_service.go b/internal/app/api/v1/backend/user_service.go index 9d2a128..0da5ef4 100644 --- a/internal/app/api/v1/backend/user_service.go +++ b/internal/app/api/v1/backend/user_service.go @@ -5,8 +5,8 @@ import ( "errors" "fmt" - "github.com/h44z/wg-portal/internal/config" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/config" + "github.com/fedor-git/wg-portal-2/internal/domain" ) type UserManagerRepo interface { diff --git a/internal/app/api/v1/handlers/base.go b/internal/app/api/v1/handlers/base.go index 760e4b5..6acb237 100644 --- a/internal/app/api/v1/handlers/base.go +++ b/internal/app/api/v1/handlers/base.go @@ -6,10 +6,10 @@ import ( "github.com/go-pkgz/routegroup" - "github.com/h44z/wg-portal/internal/app/api/core" - "github.com/h44z/wg-portal/internal/app/api/core/middleware/cors" - "github.com/h44z/wg-portal/internal/app/api/v1/models" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/app/api/core" + "github.com/fedor-git/wg-portal-2/internal/app/api/core/middleware/cors" + "github.com/fedor-git/wg-portal-2/internal/app/api/v1/models" + "github.com/fedor-git/wg-portal-2/internal/domain" ) type Handler interface { @@ -30,10 +30,10 @@ type Handler interface { // @description This API allows seamless integration with external tools or scripts for automated network configuration and administration. // @license.name MIT -// @license.url https://github.com/h44z/wg-portal/blob/master/LICENSE.txt +// @license.url https://github.com/fedor-git/wg-portal-2/blob/master/LICENSE.txt // @contact.name WireGuard Portal Project -// @contact.url https://github.com/h44z/wg-portal +// @contact.url https://github.com/fedor-git/wg-portal-2 // @securityDefinitions.basic BasicAuth diff --git a/internal/app/api/v1/handlers/endpoint_interface.go b/internal/app/api/v1/handlers/endpoint_interface.go index 1ea7241..53f33d1 100644 --- a/internal/app/api/v1/handlers/endpoint_interface.go +++ b/internal/app/api/v1/handlers/endpoint_interface.go @@ -6,10 +6,10 @@ import ( "github.com/go-pkgz/routegroup" - "github.com/h44z/wg-portal/internal/app/api/core/request" - "github.com/h44z/wg-portal/internal/app/api/core/respond" - "github.com/h44z/wg-portal/internal/app/api/v1/models" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/app/api/core/request" + "github.com/fedor-git/wg-portal-2/internal/app/api/core/respond" + "github.com/fedor-git/wg-portal-2/internal/app/api/v1/models" + "github.com/fedor-git/wg-portal-2/internal/domain" ) type InterfaceEndpointInterfaceService interface { diff --git a/internal/app/api/v1/handlers/endpoint_metrics.go b/internal/app/api/v1/handlers/endpoint_metrics.go index 5629d99..355f1c6 100644 --- a/internal/app/api/v1/handlers/endpoint_metrics.go +++ b/internal/app/api/v1/handlers/endpoint_metrics.go @@ -6,10 +6,10 @@ import ( "github.com/go-pkgz/routegroup" - "github.com/h44z/wg-portal/internal/app/api/core/request" - "github.com/h44z/wg-portal/internal/app/api/core/respond" - "github.com/h44z/wg-portal/internal/app/api/v1/models" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/app/api/core/request" + "github.com/fedor-git/wg-portal-2/internal/app/api/core/respond" + "github.com/fedor-git/wg-portal-2/internal/app/api/v1/models" + "github.com/fedor-git/wg-portal-2/internal/domain" ) type MetricsEndpointStatisticsService interface { diff --git a/internal/app/api/v1/handlers/endpoint_peer.go b/internal/app/api/v1/handlers/endpoint_peer.go index 393143e..8dd965c 100644 --- a/internal/app/api/v1/handlers/endpoint_peer.go +++ b/internal/app/api/v1/handlers/endpoint_peer.go @@ -6,10 +6,10 @@ import ( "github.com/go-pkgz/routegroup" - "github.com/h44z/wg-portal/internal/app/api/core/request" - "github.com/h44z/wg-portal/internal/app/api/core/respond" - "github.com/h44z/wg-portal/internal/app/api/v1/models" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/app/api/core/request" + "github.com/fedor-git/wg-portal-2/internal/app/api/core/respond" + "github.com/fedor-git/wg-portal-2/internal/app/api/v1/models" + "github.com/fedor-git/wg-portal-2/internal/domain" ) type PeerService interface { diff --git a/internal/app/api/v1/handlers/endpoint_provisioning.go b/internal/app/api/v1/handlers/endpoint_provisioning.go index c283424..297adef 100644 --- a/internal/app/api/v1/handlers/endpoint_provisioning.go +++ b/internal/app/api/v1/handlers/endpoint_provisioning.go @@ -7,10 +7,10 @@ import ( "github.com/go-pkgz/routegroup" - "github.com/h44z/wg-portal/internal/app/api/core/request" - "github.com/h44z/wg-portal/internal/app/api/core/respond" - "github.com/h44z/wg-portal/internal/app/api/v1/models" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/app/api/core/request" + "github.com/fedor-git/wg-portal-2/internal/app/api/core/respond" + "github.com/fedor-git/wg-portal-2/internal/app/api/v1/models" + "github.com/fedor-git/wg-portal-2/internal/domain" ) type ProvisioningEndpointProvisioningService interface { diff --git a/internal/app/api/v1/handlers/endpoint_user.go b/internal/app/api/v1/handlers/endpoint_user.go index 28902eb..841fa7c 100644 --- a/internal/app/api/v1/handlers/endpoint_user.go +++ b/internal/app/api/v1/handlers/endpoint_user.go @@ -6,10 +6,10 @@ import ( "github.com/go-pkgz/routegroup" - "github.com/h44z/wg-portal/internal/app/api/core/request" - "github.com/h44z/wg-portal/internal/app/api/core/respond" - "github.com/h44z/wg-portal/internal/app/api/v1/models" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/app/api/core/request" + "github.com/fedor-git/wg-portal-2/internal/app/api/core/respond" + "github.com/fedor-git/wg-portal-2/internal/app/api/v1/models" + "github.com/fedor-git/wg-portal-2/internal/domain" ) type UserService interface { diff --git a/internal/app/api/v1/handlers/web_authentication.go b/internal/app/api/v1/handlers/web_authentication.go index 952f978..aef6331 100644 --- a/internal/app/api/v1/handlers/web_authentication.go +++ b/internal/app/api/v1/handlers/web_authentication.go @@ -4,9 +4,9 @@ import ( "context" "net/http" - "github.com/h44z/wg-portal/internal/app/api/core/respond" - "github.com/h44z/wg-portal/internal/app/api/v0/model" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/app/api/core/respond" + "github.com/fedor-git/wg-portal-2/internal/app/api/v0/model" + "github.com/fedor-git/wg-portal-2/internal/domain" ) type Scope string diff --git a/internal/app/api/v1/models/model_options.go b/internal/app/api/v1/models/model_options.go index 7ca4bb7..9e2b965 100644 --- a/internal/app/api/v1/models/model_options.go +++ b/internal/app/api/v1/models/model_options.go @@ -1,8 +1,8 @@ package models import ( - "github.com/h44z/wg-portal/internal" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal" + "github.com/fedor-git/wg-portal-2/internal/domain" ) type ConfigOption[T any] struct { diff --git a/internal/app/api/v1/models/models_interface.go b/internal/app/api/v1/models/models_interface.go index ed14c2c..72509a5 100644 --- a/internal/app/api/v1/models/models_interface.go +++ b/internal/app/api/v1/models/models_interface.go @@ -3,8 +3,8 @@ package models import ( "time" - "github.com/h44z/wg-portal/internal" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal" + "github.com/fedor-git/wg-portal-2/internal/domain" ) // Interface represents a WireGuard interface. diff --git a/internal/app/api/v1/models/models_metrics.go b/internal/app/api/v1/models/models_metrics.go index 163d8e8..c91a7d9 100644 --- a/internal/app/api/v1/models/models_metrics.go +++ b/internal/app/api/v1/models/models_metrics.go @@ -3,7 +3,7 @@ package models import ( "time" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/domain" ) // PeerMetrics represents the metrics of a WireGuard peer. diff --git a/internal/app/api/v1/models/models_peer.go b/internal/app/api/v1/models/models_peer.go index 99679f9..fbff00f 100644 --- a/internal/app/api/v1/models/models_peer.go +++ b/internal/app/api/v1/models/models_peer.go @@ -3,8 +3,8 @@ package models import ( "time" - "github.com/h44z/wg-portal/internal" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal" + "github.com/fedor-git/wg-portal-2/internal/domain" ) const ExpiryDateTimeLayout = "2006-01-02" diff --git a/internal/app/api/v1/models/models_provisioning.go b/internal/app/api/v1/models/models_provisioning.go index 4c91efd..bbeee9c 100644 --- a/internal/app/api/v1/models/models_provisioning.go +++ b/internal/app/api/v1/models/models_provisioning.go @@ -1,6 +1,6 @@ package models -import "github.com/h44z/wg-portal/internal/domain" +import "github.com/fedor-git/wg-portal-2/internal/domain" // UserInformation represents the information about a user and its linked peers. type UserInformation struct { diff --git a/internal/app/api/v1/models/models_user.go b/internal/app/api/v1/models/models_user.go index c04f30d..ee2d949 100644 --- a/internal/app/api/v1/models/models_user.go +++ b/internal/app/api/v1/models/models_user.go @@ -3,7 +3,7 @@ package models import ( "time" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/domain" ) // User represents a user in the system. diff --git a/internal/app/app.go b/internal/app/app.go index e33cfc0..f29bc8a 100644 --- a/internal/app/app.go +++ b/internal/app/app.go @@ -7,8 +7,8 @@ import ( "log/slog" "time" - "github.com/h44z/wg-portal/internal/config" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/config" + "github.com/fedor-git/wg-portal-2/internal/domain" ) // region dependencies diff --git a/internal/app/audit/audit_manager.go b/internal/app/audit/audit_manager.go index 1656048..51edba6 100644 --- a/internal/app/audit/audit_manager.go +++ b/internal/app/audit/audit_manager.go @@ -4,7 +4,7 @@ import ( "context" "fmt" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/domain" ) type ManagerDatabaseRepo interface { diff --git a/internal/app/audit/events.go b/internal/app/audit/events.go index 18fce6a..339410e 100644 --- a/internal/app/audit/events.go +++ b/internal/app/audit/events.go @@ -1,6 +1,6 @@ package audit -import "github.com/h44z/wg-portal/internal/domain" +import "github.com/fedor-git/wg-portal-2/internal/domain" type AuthEvent struct { Username string diff --git a/internal/app/audit/recorder.go b/internal/app/audit/recorder.go index e9c5a25..9d3bbdb 100644 --- a/internal/app/audit/recorder.go +++ b/internal/app/audit/recorder.go @@ -6,9 +6,9 @@ import ( "log/slog" "time" - "github.com/h44z/wg-portal/internal/app" - "github.com/h44z/wg-portal/internal/config" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/app" + "github.com/fedor-git/wg-portal-2/internal/config" + "github.com/fedor-git/wg-portal-2/internal/domain" ) // region dependencies diff --git a/internal/app/auth/auth.go b/internal/app/auth/auth.go index c6e5232..b75547a 100644 --- a/internal/app/auth/auth.go +++ b/internal/app/auth/auth.go @@ -16,10 +16,10 @@ import ( "github.com/coreos/go-oidc/v3/oidc" "golang.org/x/oauth2" - "github.com/h44z/wg-portal/internal/app" - "github.com/h44z/wg-portal/internal/app/audit" - "github.com/h44z/wg-portal/internal/config" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/app" + "github.com/fedor-git/wg-portal-2/internal/app/audit" + "github.com/fedor-git/wg-portal-2/internal/config" + "github.com/fedor-git/wg-portal-2/internal/domain" ) // region dependencies diff --git a/internal/app/auth/auth_ldap.go b/internal/app/auth/auth_ldap.go index 64122f2..4a03222 100644 --- a/internal/app/auth/auth_ldap.go +++ b/internal/app/auth/auth_ldap.go @@ -9,9 +9,9 @@ import ( "github.com/go-ldap/ldap/v3" - "github.com/h44z/wg-portal/internal" - "github.com/h44z/wg-portal/internal/config" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal" + "github.com/fedor-git/wg-portal-2/internal/config" + "github.com/fedor-git/wg-portal-2/internal/domain" ) // LdapAuthenticator is an authenticator that uses LDAP for authentication. diff --git a/internal/app/auth/auth_oauth.go b/internal/app/auth/auth_oauth.go index 56d53c5..d6f926c 100644 --- a/internal/app/auth/auth_oauth.go +++ b/internal/app/auth/auth_oauth.go @@ -11,9 +11,9 @@ import ( "golang.org/x/oauth2" - "github.com/h44z/wg-portal/internal" - "github.com/h44z/wg-portal/internal/config" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal" + "github.com/fedor-git/wg-portal-2/internal/config" + "github.com/fedor-git/wg-portal-2/internal/domain" ) // PlainOauthAuthenticator is an authenticator that uses OAuth for authentication. diff --git a/internal/app/auth/auth_oidc.go b/internal/app/auth/auth_oidc.go index 0a4ecb0..2fcf667 100644 --- a/internal/app/auth/auth_oidc.go +++ b/internal/app/auth/auth_oidc.go @@ -10,8 +10,8 @@ import ( "github.com/coreos/go-oidc/v3/oidc" "golang.org/x/oauth2" - "github.com/h44z/wg-portal/internal/config" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/config" + "github.com/fedor-git/wg-portal-2/internal/domain" ) // OidcAuthenticator is an authenticator for OpenID Connect providers. diff --git a/internal/app/auth/oauth_common.go b/internal/app/auth/oauth_common.go index b5927cc..de7c774 100644 --- a/internal/app/auth/oauth_common.go +++ b/internal/app/auth/oauth_common.go @@ -3,9 +3,9 @@ package auth import ( "strings" - "github.com/h44z/wg-portal/internal" - "github.com/h44z/wg-portal/internal/config" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal" + "github.com/fedor-git/wg-portal-2/internal/config" + "github.com/fedor-git/wg-portal-2/internal/domain" ) // parseOauthUserInfo parses the raw user info from the oauth provider and maps it to the internal user info struct diff --git a/internal/app/auth/oauth_common_test.go b/internal/app/auth/oauth_common_test.go index 0bcca98..f119c88 100644 --- a/internal/app/auth/oauth_common_test.go +++ b/internal/app/auth/oauth_common_test.go @@ -7,7 +7,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/h44z/wg-portal/internal/config" + "github.com/fedor-git/wg-portal-2/internal/config" ) func Test_parseOauthUserInfo_no_admin(t *testing.T) { diff --git a/internal/app/auth/webauthn.go b/internal/app/auth/webauthn.go index f9c9874..e52a9b3 100644 --- a/internal/app/auth/webauthn.go +++ b/internal/app/auth/webauthn.go @@ -12,10 +12,10 @@ import ( "github.com/go-webauthn/webauthn/protocol" "github.com/go-webauthn/webauthn/webauthn" - "github.com/h44z/wg-portal/internal/app" - "github.com/h44z/wg-portal/internal/app/audit" - "github.com/h44z/wg-portal/internal/config" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/app" + "github.com/fedor-git/wg-portal-2/internal/app/audit" + "github.com/fedor-git/wg-portal-2/internal/config" + "github.com/fedor-git/wg-portal-2/internal/domain" ) type WebAuthnUserManager interface { diff --git a/internal/app/cli.go b/internal/app/cli.go index 88a8430..62380c4 100644 --- a/internal/app/cli.go +++ b/internal/app/cli.go @@ -5,7 +5,7 @@ import ( "gorm.io/gorm" - "github.com/h44z/wg-portal/internal/config" + "github.com/fedor-git/wg-portal-2/internal/config" ) // HandleProgramArgs handles program arguments and returns true if the program should exit. diff --git a/internal/app/configfile/manager.go b/internal/app/configfile/manager.go index 94f06ae..449180c 100644 --- a/internal/app/configfile/manager.go +++ b/internal/app/configfile/manager.go @@ -13,9 +13,9 @@ import ( "github.com/yeqown/go-qrcode/v2" "github.com/yeqown/go-qrcode/writer/compressed" - "github.com/h44z/wg-portal/internal/app" - "github.com/h44z/wg-portal/internal/config" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/app" + "github.com/fedor-git/wg-portal-2/internal/config" + "github.com/fedor-git/wg-portal-2/internal/domain" ) // region dependencies diff --git a/internal/app/configfile/template.go b/internal/app/configfile/template.go index 773ab8c..b5686ff 100644 --- a/internal/app/configfile/template.go +++ b/internal/app/configfile/template.go @@ -7,7 +7,7 @@ import ( "io" "text/template" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/domain" ) //go:embed tpl_files/* diff --git a/internal/app/gorm_encryption.go b/internal/app/gorm_encryption.go index 4ffcc61..2554fc5 100644 --- a/internal/app/gorm_encryption.go +++ b/internal/app/gorm_encryption.go @@ -12,7 +12,7 @@ import ( "gorm.io/gorm/schema" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/domain" ) // GormEncryptedStringSerializer is a GORM serializer that encrypts and decrypts string values using AES256. diff --git a/internal/app/mail/manager.go b/internal/app/mail/manager.go index 7b9b3b9..8b8e954 100644 --- a/internal/app/mail/manager.go +++ b/internal/app/mail/manager.go @@ -6,8 +6,8 @@ import ( "io" "log/slog" - "github.com/h44z/wg-portal/internal/config" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/config" + "github.com/fedor-git/wg-portal-2/internal/domain" ) // region dependencies diff --git a/internal/app/mail/template.go b/internal/app/mail/template.go index 722d534..c30bf60 100644 --- a/internal/app/mail/template.go +++ b/internal/app/mail/template.go @@ -8,7 +8,7 @@ import ( "io" "text/template" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/domain" ) //go:embed tpl_files/* diff --git a/internal/app/migrate_v1.go b/internal/app/migrate_v1.go index 9853f40..609f10c 100644 --- a/internal/app/migrate_v1.go +++ b/internal/app/migrate_v1.go @@ -9,9 +9,9 @@ import ( "gorm.io/gorm" - "github.com/h44z/wg-portal/internal/adapters" - "github.com/h44z/wg-portal/internal/config" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/adapters" + "github.com/fedor-git/wg-portal-2/internal/config" + "github.com/fedor-git/wg-portal-2/internal/domain" ) func migrateFromV1(db *gorm.DB, source, typ string) error { diff --git a/internal/app/route/routes.go b/internal/app/route/routes.go index c87bcaf..c0969a4 100644 --- a/internal/app/route/routes.go +++ b/internal/app/route/routes.go @@ -10,10 +10,10 @@ import ( "golang.zx2c4.com/wireguard/wgctrl" "golang.zx2c4.com/wireguard/wgctrl/wgtypes" - "github.com/h44z/wg-portal/internal/app" - "github.com/h44z/wg-portal/internal/config" - "github.com/h44z/wg-portal/internal/domain" - "github.com/h44z/wg-portal/internal/lowlevel" + "github.com/fedor-git/wg-portal-2/internal/app" + "github.com/fedor-git/wg-portal-2/internal/config" + "github.com/fedor-git/wg-portal-2/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/lowlevel" ) // region dependencies diff --git a/internal/app/users/ldap_helper.go b/internal/app/users/ldap_helper.go index 938af35..aef0d95 100644 --- a/internal/app/users/ldap_helper.go +++ b/internal/app/users/ldap_helper.go @@ -7,9 +7,9 @@ import ( "github.com/go-ldap/ldap/v3" - "github.com/h44z/wg-portal/internal" - "github.com/h44z/wg-portal/internal/config" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal" + "github.com/fedor-git/wg-portal-2/internal/config" + "github.com/fedor-git/wg-portal-2/internal/domain" ) func convertRawLdapUser( diff --git a/internal/app/users/user_manager.go b/internal/app/users/user_manager.go index 11e8ac8..b4ec32a 100644 --- a/internal/app/users/user_manager.go +++ b/internal/app/users/user_manager.go @@ -12,10 +12,10 @@ import ( "github.com/go-ldap/ldap/v3" "github.com/google/uuid" - "github.com/h44z/wg-portal/internal" - "github.com/h44z/wg-portal/internal/app" - "github.com/h44z/wg-portal/internal/config" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal" + "github.com/fedor-git/wg-portal-2/internal/app" + "github.com/fedor-git/wg-portal-2/internal/config" + "github.com/fedor-git/wg-portal-2/internal/domain" ) // region dependencies diff --git a/internal/app/webhooks/manager.go b/internal/app/webhooks/manager.go index b8d010c..d04e82e 100644 --- a/internal/app/webhooks/manager.go +++ b/internal/app/webhooks/manager.go @@ -7,10 +7,10 @@ import ( "log/slog" "net/http" - "github.com/h44z/wg-portal/internal/app" - "github.com/h44z/wg-portal/internal/app/webhooks/models" - "github.com/h44z/wg-portal/internal/config" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/app" + "github.com/fedor-git/wg-portal-2/internal/app/webhooks/models" + "github.com/fedor-git/wg-portal-2/internal/config" + "github.com/fedor-git/wg-portal-2/internal/domain" ) // region dependencies diff --git a/internal/app/webhooks/models/interface.go b/internal/app/webhooks/models/interface.go index c3a0eea..fcb2444 100644 --- a/internal/app/webhooks/models/interface.go +++ b/internal/app/webhooks/models/interface.go @@ -3,7 +3,7 @@ package models import ( "time" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/domain" ) // Interface represents an interface model for webhooks. For details about the fields, see the domain.Interface struct. diff --git a/internal/app/webhooks/models/peer.go b/internal/app/webhooks/models/peer.go index c7a5919..e17af82 100644 --- a/internal/app/webhooks/models/peer.go +++ b/internal/app/webhooks/models/peer.go @@ -3,7 +3,7 @@ package models import ( "time" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/domain" ) // Peer represents a peer model for webhooks. For details about the fields, see the domain.Peer struct. diff --git a/internal/app/webhooks/models/peer_metrics.go b/internal/app/webhooks/models/peer_metrics.go index f380d2c..06384e1 100644 --- a/internal/app/webhooks/models/peer_metrics.go +++ b/internal/app/webhooks/models/peer_metrics.go @@ -3,7 +3,7 @@ package models import ( "time" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/domain" ) // PeerMetrics represents a peer metrics model for webhooks. diff --git a/internal/app/webhooks/models/user.go b/internal/app/webhooks/models/user.go index defe962..b2b1037 100644 --- a/internal/app/webhooks/models/user.go +++ b/internal/app/webhooks/models/user.go @@ -3,7 +3,7 @@ package models import ( "time" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/domain" ) // User represents a user model for webhooks. For details about the fields, see the domain.User struct. diff --git a/internal/app/wireguard/controller_manager.go b/internal/app/wireguard/controller_manager.go index ab1eaa9..cddabdf 100644 --- a/internal/app/wireguard/controller_manager.go +++ b/internal/app/wireguard/controller_manager.go @@ -7,9 +7,9 @@ import ( "maps" "slices" - "github.com/h44z/wg-portal/internal/adapters/wgcontroller" - "github.com/h44z/wg-portal/internal/config" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/adapters/wgcontroller" + "github.com/fedor-git/wg-portal-2/internal/config" + "github.com/fedor-git/wg-portal-2/internal/domain" ) type InterfaceController interface { diff --git a/internal/app/wireguard/statistics.go b/internal/app/wireguard/statistics.go index 78ca6eb..a8d732b 100644 --- a/internal/app/wireguard/statistics.go +++ b/internal/app/wireguard/statistics.go @@ -6,9 +6,9 @@ import ( "sync" "time" - "github.com/h44z/wg-portal/internal/app" - "github.com/h44z/wg-portal/internal/config" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/app" + "github.com/fedor-git/wg-portal-2/internal/config" + "github.com/fedor-git/wg-portal-2/internal/domain" ) type StatisticsDatabaseRepo interface { diff --git a/internal/app/wireguard/statistics_test.go b/internal/app/wireguard/statistics_test.go index dc1ba43..6028f9e 100644 --- a/internal/app/wireguard/statistics_test.go +++ b/internal/app/wireguard/statistics_test.go @@ -5,7 +5,7 @@ import ( "testing" "time" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/domain" ) func Test_getSessionStartTime(t *testing.T) { diff --git a/internal/app/wireguard/wireguard.go b/internal/app/wireguard/wireguard.go index b28f70e..738d944 100644 --- a/internal/app/wireguard/wireguard.go +++ b/internal/app/wireguard/wireguard.go @@ -6,9 +6,9 @@ import ( "sync" "time" - "github.com/h44z/wg-portal/internal/app" - "github.com/h44z/wg-portal/internal/config" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/app" + "github.com/fedor-git/wg-portal-2/internal/config" + "github.com/fedor-git/wg-portal-2/internal/domain" ) // region dependencies diff --git a/internal/app/wireguard/wireguard_interfaces.go b/internal/app/wireguard/wireguard_interfaces.go index 1a09822..75decdb 100644 --- a/internal/app/wireguard/wireguard_interfaces.go +++ b/internal/app/wireguard/wireguard_interfaces.go @@ -9,10 +9,10 @@ import ( "slices" "time" - "github.com/h44z/wg-portal/internal/app" - "github.com/h44z/wg-portal/internal/app/audit" - "github.com/h44z/wg-portal/internal/config" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/app" + "github.com/fedor-git/wg-portal-2/internal/app/audit" + "github.com/fedor-git/wg-portal-2/internal/config" + "github.com/fedor-git/wg-portal-2/internal/domain" ) // GetImportableInterfaces returns all physical interfaces that are available on the system. diff --git a/internal/app/wireguard/wireguard_peers.go b/internal/app/wireguard/wireguard_peers.go index 99ccdcf..fb805ed 100644 --- a/internal/app/wireguard/wireguard_peers.go +++ b/internal/app/wireguard/wireguard_peers.go @@ -8,9 +8,9 @@ import ( "slices" "time" - "github.com/h44z/wg-portal/internal/app" - "github.com/h44z/wg-portal/internal/app/audit" - "github.com/h44z/wg-portal/internal/domain" + "github.com/fedor-git/wg-portal-2/internal/app" + "github.com/fedor-git/wg-portal-2/internal/app/audit" + "github.com/fedor-git/wg-portal-2/internal/domain" ) // CreateDefaultPeer creates a default peer for the given user on all server interfaces. diff --git a/internal/domain/interface.go b/internal/domain/interface.go index 32fc1c0..c1cc692 100644 --- a/internal/domain/interface.go +++ b/internal/domain/interface.go @@ -12,7 +12,7 @@ import ( "golang.org/x/sys/unix" - "github.com/h44z/wg-portal/internal" + "github.com/fedor-git/wg-portal-2/internal" ) const ( diff --git a/internal/domain/peer.go b/internal/domain/peer.go index 769730d..94d13c8 100644 --- a/internal/domain/peer.go +++ b/internal/domain/peer.go @@ -8,8 +8,8 @@ import ( "golang.zx2c4.com/wireguard/wgctrl/wgtypes" - "github.com/h44z/wg-portal/internal" - "github.com/h44z/wg-portal/internal/config" + "github.com/fedor-git/wg-portal-2/internal" + "github.com/fedor-git/wg-portal-2/internal/config" ) type PeerIdentifier string diff --git a/internal/domain/peer_test.go b/internal/domain/peer_test.go index e1b6a87..65deb02 100644 --- a/internal/domain/peer_test.go +++ b/internal/domain/peer_test.go @@ -4,8 +4,8 @@ import ( "testing" "time" + "github.com/fedor-git/wg-portal-2/internal/config" "github.com/stretchr/testify/assert" - "github.com/h44z/wg-portal/internal/config" ) func TestPeer_IsDisabled(t *testing.T) { diff --git a/internal/ldap_utils.go b/internal/ldap_utils.go index 45e1ad4..8c1a6fe 100644 --- a/internal/ldap_utils.go +++ b/internal/ldap_utils.go @@ -8,7 +8,7 @@ import ( "github.com/go-ldap/ldap/v3" - "github.com/h44z/wg-portal/internal/config" + "github.com/fedor-git/wg-portal-2/internal/config" ) type RawLdapUser map[string]any diff --git a/internal/lowlevel/mikrotik.go b/internal/lowlevel/mikrotik.go index 49ef1d7..0986933 100644 --- a/internal/lowlevel/mikrotik.go +++ b/internal/lowlevel/mikrotik.go @@ -14,8 +14,8 @@ import ( "strings" "time" - "github.com/h44z/wg-portal/internal" - "github.com/h44z/wg-portal/internal/config" + "github.com/fedor-git/wg-portal-2/internal" + "github.com/fedor-git/wg-portal-2/internal/config" ) // region models diff --git a/mkdocs.yml b/mkdocs.yml index 7184e3c..ba21c07 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -2,8 +2,8 @@ site_name: WireGuard Portal site_description: Manage WireGuard Peers and Interface using a beautiful and simple web UI. site_url: https://wgportal.org/ -repo_name: h44z/wg-portal -repo_url: https://github.com/h44z/wg-portal +repo_name: fedor-git/wg-portal-2 +repo_url: https://github.com/fedor-git/wg-portal-2 copyright: Copyright © 2023-2025 WireGuard Portal Project extra_css: @@ -46,7 +46,7 @@ extra: default: latest social: - icon: fontawesome/brands/github-alt - link: https://github.com/h44z/wg-portal + link: https://github.com/fedor-git/wg-portal-2 - icon: fontawesome/brands/docker link: https://hub.docker.com/r/wgportal/wg-portal - icon: fontawesome/brands/twitter diff --git a/release.config.js b/release.config.js new file mode 100644 index 0000000..48e99b2 --- /dev/null +++ b/release.config.js @@ -0,0 +1,15 @@ +const config = { + branches: ['main'], + plugins: [ + '@semantic-release/commit-analyzer', + '@semantic-release/release-notes-generator', + ["@semantic-release/git", + { + assets: "CHANGELOG.md", + message: "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}" + }], + '@semantic-release/github' + ] + }; + +module.exports = config; \ No newline at end of file