Skip to content
This repository has been archived by the owner on Dec 6, 2024. It is now read-only.

Commit

Permalink
Merge pull request #18 from RootShell-coder/main
Browse files Browse the repository at this point in the history
tested ver 17.4.2-ee
  • Loading branch information
Lakr233 authored Oct 12, 2024
2 parents ee29381 + 6f67bc0 commit ddb0870
Show file tree
Hide file tree
Showing 3 changed files with 159 additions and 5 deletions.
7 changes: 4 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,9 @@
# GitLab License Generator

<p align="center">
<a href="./README.md">English</a> |
<a href="./README_FR.md">Français</a>
<a href="README.md">English</a> |
<a href="lang/README_FR.md">Français</a> |
<a href="lang/README_RU.md">Russian</a>
</p>

</div>
Expand All @@ -13,7 +14,7 @@

**GitLab License Generator** This project generates a GitLab license for **development purposes**. If you encounter any problems, please troubleshoot them on your own.

Last tested on GitLab v17.4.1-ee.
> Last tested on GitLab v17.4.2-ee.
## Principles

Expand Down
3 changes: 1 addition & 2 deletions README_FR.md → lang/README_FR.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@
# GitLab License Generator

<p align="center">
<a href="./README.md">English</a> |
<a href="./README_FR.md">Français</a>
<a href="../README.md">English</a>
</p>

</div>
Expand Down
154 changes: 154 additions & 0 deletions lang/README_RU.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,154 @@
<div align="center">

# Генератор лицензий GitLab

<p align="center">
<a href="../README.md">English</a>
</p>

</div>

## Описание

**GitLab License Generator** Этот проект генерирует лицензию GitLab для **целей разработки**. Если у вас возникнут какие-либо проблемы, пожалуйста, устраните их самостоятельно.

> [Последнее тестирование](../README.md).
## Принципы

### **src/generator.keys.rb**

GitLab использует пару открытого/закрытого ключа для шифрования своей лицензии. Открытый ключ поставляется с дистрибутивом GitLab, а закрытый ключ хранится в безопасности. Сама лицензия представляет собой просто словарь JSON. Поскольку GitLab сделал свой код открытым, мы можем легко сгенерировать собственную лицензию.

### **src/generator.license.rb**

Папка `lib` извлекается из исходного кода GitLab. Она используется для сборки и проверки лицензии. Скрипт `src/generator.license.rb` загружает эту функциональность.

### **src/scan.features.rb**

Функции извлекаются из объекта, заполненного константами. Самый полный план лицензии — **Ultimate**, но такие функции, как Geo Mirroring, не включены ни в один стандартный план. Поэтому мы вручную добавляем эти функции.

## Использование

### Предпосылки

Перед началом убедитесь, что ваша среда правильно настроена.

#### 1. Установите Ruby и gem
Для запуска этого проекта вам понадобится **Ruby** и менеджер пакетов **gem**.

- **В Linux (Ubuntu/Debian)**:
```bash
sudo apt update
sudo apt install ruby-full
```

- **На macOS** (через Homebrew):
```bash
brew install ruby
```

#### 2. Установите Bundler и необходимые gems
После установки Ruby вам необходимо установить **Bundler** для управления зависимостями Ruby.

```bash
gem install bundler
```

#### 3. Установите gem `gitlab-license`
Для проекта требуется gem `gitlab-license`, который будет автоматически загружен и использован скриптом.

```bash
gem install gitlab-license
```

### Шаги по созданию лицензии GitLab

#### 1. Клонируйте репозиторий проекта
Скопируйте этот проект на свой локальный компьютер.

```bash
git clone https://github.com/Lakr233/GitLab-License-Generator.git
cd GitLab-License-Generator
```

#### 2. Запустите скрипт `make.sh`
После выполнения всех предварительных условий запустите скрипт:

```bash
./make.sh
```

Скрипт выполнит следующие действия:
- Загрузит и распакует gem-файл `gitlab-license`.
- Скопирует и изменит необходимые файлы.
- Клонирует исходный код GitLab с GitLab.com.
- Сгенерирует пару открытого и закрытого ключей.
- Создаст лицензию GitLab.

#### 3. Замена открытого ключа в GitLab
Скрипт генерирует открытый ключ, расположенный в `build/public.key`. Вам необходимо заменить существующий открытый ключ GitLab на этот недавно сгенерированный, чтобы убедиться, что лицензия принята.

- **Если на вашем сервере установлен GitLab**:
```bash
sudo cp ./build/public.key /opt/gitlab/embedded/service/gitlab-rails/.license_encryption_key.pub
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
```

- **Если GitLab установлен через Docker**:
Измените файл `docker-compose.yml`, чтобы смонтировать новый открытый ключ внутрь контейнера:

```yaml
volumes:
- "./build/public.key:/opt/gitlab/embedded/service/gitlab-rails/.license_encryption_key.pub"
```
Затем перезапустите контейнер:
```bash
docker-compose down
docker-compose up -d
```

#### 4. Установите лицензию в GitLab
После замены открытого ключа войдите в интерфейс администратора GitLab, чтобы установить сгенерированную лицензию.

1. Войдите в GitLab как администратор.
2. Перейдите в **Admin Area** из верхнего правого угла.
3. Перейдите в **Settings > General** и загрузите сгенерированный файл лицензии (`build/result.gitlab-license`).
4. Установите флажок **Terms of Service** и нажмите **Add License**.

При необходимости вы можете напрямую перейти на страницу загрузки лицензии через:
```
<YourGitLabURL>/admin/license/new
```

#### 5. Отключить Service Ping (необязательно)
Если вы хотите отключить сбор данных об использовании GitLab (Service Ping), измените файл конфигурации GitLab:

- Откройте файл конфигурации:
```bash
sudo nano /etc/gitlab/gitlab.rb
```

- Добавьте следующую строку:
```bash
gitlab_rails['usage_ping_enabled'] = false
```

- Перенастройте и перезапустите GitLab:
```bash
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
```

### Поиск неисправностей

- **Ошибка HTTP 502**:
Если вы столкнулись с этой ошибкой, дождитесь завершения запуска GitLab (это может занять некоторое время).

## ЛИЦЕНЗИЯ

Данный проект лицензирован по **WTFPL License**.

Авторские права (c) 2023, Тим Кук, Все права не защищены.

0 comments on commit ddb0870

Please sign in to comment.