Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions .github/workflows/dev-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Dev deploy (self-hosted)
on:
release:
types: [published]

jobs:
deploy:
runs-on: [self-hosted, Linux, dev]
steps:
- name: Pull latest compose
run: |
cd /opt/EasyVPN.dev
docker-compose --profile init pull

- name: Restart Docker Compose
run: |
cd /opt/EasyVPN.dev
docker-compose --profile init up -d
30 changes: 30 additions & 0 deletions .github/workflows/prod-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Production deploy (self-hosted)
on:
workflow_dispatch:
inputs:
confirm_secret:
description: 'Confirm deploy in **PROD**'
required: true

jobs:
deploy:
runs-on: [self-hosted, Linux, prod]
steps:
- name: Secret check
run: |
if [ "${{ github.event.inputs.confirm_secret }}" != "${{ secrets.PROD_DEPLOY_SECRET }}" ]; then
echo "❌ Invlid secret. Stoping."
exit 1
fi
shell: bash

- name: Pull latest compose
run: |
cd /opt/EasyVPN
curl -L -o docker-compose.yml https://raw.githubusercontent.com/F1st3K/EasyVPN/refs/heads/main/docker-compose.yml
docker-compose pull

- name: Restart Docker Compose
run: |
cd /opt/EasyVPN
docker-compose up -d
2 changes: 1 addition & 1 deletion .github/workflows/publish-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ jobs:

- name: Configure release note
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ secrets.PAT }}
run: |
gh release create $(cat VERSION) \
--repo="$GITHUB_REPOSITORY" \
Expand Down
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# Changelog

## `1.1.0` (2025-05-22)

### Features

- backend: Hide swagger documentation by env variable
- backend: Add version for response health
- Single Deploy: Reject HTTPS in app
- Single Deploy: Add deployment for dev and prod enviroment by workflow

## `1.0.0` (2025-05-20)

### Features
Expand Down
8 changes: 7 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,19 @@

# EasyVPN

[![GitHub Release](https://img.shields.io/github/v/release/F1st3K/EasyVPN)](https://hub.docker.com/u/easyvpn)

[![Build](https://github.com/F1st3K/EasyVPN/actions/workflows/test-single-deploy.yml/badge.svg)](https://github.com/F1st3K/EasyVPN/actions/workflows/test-single-deploy.yml)
[![DEV](https://img.shields.io/badge/dynamic/json?label=DEV&url=https%3A%2F%2Fdev.easy-vpn.f1st3k.tw1.su%2Fapi%2Fhealth&query=%24.version&color=yellowgreen)](https://dev.easy-vpn.f1st3k.tw1.su)
[![PROD](https://img.shields.io/badge/dynamic/json?label=PROD&url=https%3A%2F%2Feasy-vpn.f1st3k.tw1.su%2Fapi%2Fhealth&query=%24.version&color=brightgreen)](https://easy-vpn.f1st3k.tw1.su)



[![GitHub Release](https://img.shields.io/github/v/release/F1st3K/EasyVPN)](https://hub.docker.com/u/easyvpn)
[![License: CC BY-NC 4.0](https://img.shields.io/badge/License-CC_BY--NC_4.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc/4.0/)
[![GitHub contributors](https://img.shields.io/github/contributors/F1st3K/EasyVPN)](https://GitHub.com/F1st3K/EasyVPN/graphs/contributors/)
[![GitHub Stars](https://img.shields.io/github/stars/F1st3K/EasyVPN.svg)](https://github.com/F1st3K/EasyVPN/stargazers)


Простое VPN + Backend + Frontend приложение на одном сервере!

[![System Design](.img/SystemDesign.excalidraw.svg)**💻 Watch**](https://www.youtube.com/watch?v=nR8FZ8_98pk)
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.0.0
1.1.0
2 changes: 1 addition & 1 deletion backend/src/EasyVPN.Api/EasyVPN.Api.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<TargetFramework>net8.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<Version>1.0.0</Version>
<Version>1.1.0</Version>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<NoWarn>$(NoWarn);1591</NoWarn>
</PropertyGroup>
Expand Down
6 changes: 4 additions & 2 deletions backend/src/EasyVPN.Api/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@

var builder = WebApplication.CreateBuilder(args);
{
builder.Services.Configure<Options.Features>(
builder.Configuration.GetSection(Options.Features.SectionName));

builder.Services.AddCors(options =>
options.AddPolicy("AllowAll", policy =>
policy.AllowAnyOrigin()
Expand All @@ -21,8 +24,7 @@

var app = builder.Build();
{
var f = new Options.Featuers();
app.Configuration.Bind(Options.Featuers.SectionName, f);
var f = app.Services.GetRequiredService<IOptions<Options.Features>>().Value;

if (f.UseDocumentationEndpoint)
app.UseDocumentationEndpoint();
Expand Down
2 changes: 1 addition & 1 deletion backend/src/EasyVPN.Application/EasyVPN.Application.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<Version>1.0.0</Version>
<Version>1.1.0</Version>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\EasyVPN.Domain\EasyVPN.Domain.csproj" />
Expand Down
2 changes: 1 addition & 1 deletion backend/src/EasyVPN.Contracts/EasyVPN.Contracts.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<Version>1.0.0</Version>
<Version>1.1.0</Version>
</PropertyGroup>
</Project>
2 changes: 1 addition & 1 deletion backend/src/EasyVPN.Domain/EasyVPN.Domain.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<Version>1.0.0</Version>
<Version>1.1.0</Version>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="ErrorOr" Version="2.0.1" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<Version>1.0.0</Version>
<Version>1.1.0</Version>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\EasyVPN.Application\EasyVPN.Application.csproj" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ namespace EasyVPN.Infrastructure.Settings;

public static partial class Options
{
public class Featuers
public class Features
{
public const string SectionName = "Featuers";
public const string SectionName = "Features";

public bool UseDocumentationEndpoint { get; init; }
public bool UseExceptionHandler { get; init; }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
<Version>1.0.0</Version>
<Version>1.1.0</Version>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="FluentAssertions" Version="7.0.0-alpha.4" />
Expand Down
4 changes: 2 additions & 2 deletions frontend/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion frontend/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "easy-vpn-frontend",
"version": "1.0.0",
"version": "1.1.0",
"private": true,
"dependencies": {
"@emotion/react": "^11.13.3",
Expand Down
2 changes: 1 addition & 1 deletion init/init.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/sh
VERSION=1.0.0
VERSION=1.1.0

echo ""
echo "🔧 Data Initialization Script"
Expand Down
2 changes: 1 addition & 1 deletion services/AmneziaWgVpn/cmd/config.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
service:
name: 'wireguard-vpn'
version: '1.0.0'
version: '1.1.0'
api:
port: "8010"
vpn:
Expand Down
2 changes: 1 addition & 1 deletion services/TelegramBot/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tool.poetry]
name = "easy-vpn-telegram-bot"
version = "1.0.0"
version = "1.1.0"
description = "Telegram Notification Bot for Easy VPN"
authors = ["Alex Poryadin (sw1pr0g) <alex.poryadih@gmail.com>"]
license = "MIT"
Expand Down
2 changes: 1 addition & 1 deletion services/WireguardVpn/cmd/config.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
service:
name: 'wireguard-vpn'
version: '1.0.0'
version: '1.1.0'
api:
port: "8000"
vpn:
Expand Down
Loading