mirror of
https://github.com/aleho/onlyoffice-ce-docker-license.git
synced 2026-01-01 05:34:04 +01:00
Compare commits
26 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9b87176e29 | ||
|
|
8f6b3bd01e | ||
|
|
99fd32bdef | ||
|
|
3a004fc2d0 | ||
|
|
45276def91 | ||
|
|
f44f01ba28 | ||
|
|
c9efc00b7c | ||
|
|
bbabfe72ab | ||
|
|
4b9489d050 | ||
|
|
697835396d | ||
|
|
73bd42b61b | ||
|
|
bd859cd0b1 | ||
|
|
ce96de1d2b | ||
|
|
f78cf9366c | ||
|
|
4418f05958 | ||
|
|
a6e7e5dc2a | ||
|
|
b9a687f4f9 | ||
|
|
b40abf44f3 | ||
|
|
1105492df0 | ||
|
|
3c264e164a | ||
|
|
ad729642be | ||
|
|
b0858e052f | ||
|
|
21a3f620a5 | ||
|
|
2b876e7729 | ||
|
|
4dbf466ea4 | ||
|
|
42d32196fa |
30
.github/workflows/docker-image.yml
vendored
Normal file
30
.github/workflows/docker-image.yml
vendored
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
name: Docker Image CI
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ main ]
|
||||||
|
tags:
|
||||||
|
- '*'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
|
||||||
|
build:
|
||||||
|
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Set version
|
||||||
|
id: version
|
||||||
|
run: echo ::set-output name=release_version::${GITHUB_REF#refs/*/}
|
||||||
|
|
||||||
|
- name: Build Docker image
|
||||||
|
run: |
|
||||||
|
echo Building version ${{ steps.version.outputs.release_version }}...
|
||||||
|
docker build . --file Dockerfile --tag alehoho/oo-ce-docker-license:${{ steps.version.outputs.release_version }}
|
||||||
|
|
||||||
|
- name: Push Docker image
|
||||||
|
run: |
|
||||||
|
echo ${{ secrets.DOCKERHUB_PASSWORD }} | docker login -u ${{ secrets.DOCKERHUB_USERNAME }} --password-stdin
|
||||||
|
docker push alehoho/oo-ce-docker-license:${{ steps.version.outputs.release_version }}
|
||||||
91
Dockerfile
91
Dockerfile
@@ -1,45 +1,68 @@
|
|||||||
ARG oo_version=5.6.0.17
|
ARG product_version=6.3.0
|
||||||
FROM onlyoffice/documentserver:$oo_version
|
ARG build_number=111
|
||||||
ARG oo_version=5.6.0.17
|
ARG oo_root='/var/www/onlyoffice/documentserver'
|
||||||
|
|
||||||
|
|
||||||
RUN sed -is \
|
|
||||||
's/isSupportEditFeature:function(){return!1}/isSupportEditFeature:function(){return true}/g' \
|
|
||||||
/var/www/onlyoffice/documentserver/web-apps/apps/documenteditor/mobile/app.js
|
|
||||||
|
|
||||||
RUN sed -is \
|
## Setup
|
||||||
's/isSupportEditFeature:function(){return!1}/isSupportEditFeature:function(){return true}/g' \
|
FROM onlyoffice/documentserver:${product_version}.${build_number} as setup-stage
|
||||||
/var/www/onlyoffice/documentserver/web-apps/apps/presentationeditor/mobile/app.js
|
ARG product_version
|
||||||
|
ARG build_number
|
||||||
|
ARG oo_root
|
||||||
|
|
||||||
RUN sed -is \
|
ENV PRODUCT_VERSION=${product_version}
|
||||||
's/isSupportEditFeature:function(){return!1}/isSupportEditFeature:function(){return true}/g' \
|
ENV BUILD_NUMBER=${build_number}
|
||||||
/var/www/onlyoffice/documentserver/web-apps/apps/spreadsheeteditor/mobile/app.js
|
|
||||||
|
|
||||||
|
ARG build_deps="git make g++ nodejs npm"
|
||||||
|
RUN apt-get update && apt-get install -y ${build_deps}
|
||||||
|
RUN npm install -g pkg grunt grunt-cli
|
||||||
|
|
||||||
# source patching and compilation
|
|
||||||
RUN apt-get update && apt-get install -y \
|
|
||||||
git \
|
|
||||||
curl \
|
|
||||||
&& curl -sL https://deb.nodesource.com/setup_10.x | bash - \
|
|
||||||
&& apt install -y nodejs \
|
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
|
|
||||||
RUN mkdir /build
|
|
||||||
WORKDIR /build
|
WORKDIR /build
|
||||||
|
|
||||||
RUN git clone --branch v$oo_version --depth 1 https://github.com/ONLYOFFICE/server.git .
|
|
||||||
|
|
||||||
COPY license.patch /build/
|
|
||||||
RUN git apply license.patch
|
|
||||||
|
|
||||||
|
|
||||||
RUN npm install pkg grunt-cli \
|
## Clone
|
||||||
&& make \
|
FROM setup-stage as clone-stage
|
||||||
&& node_modules/.bin/pkg --targets=linux build/server/FileConverter \
|
ARG tag=v${PRODUCT_VERSION}.${BUILD_NUMBER}
|
||||||
&& node_modules/.bin/pkg --targets=linux build/server/DocService \
|
|
||||||
&& cp fileconverter /var/www/onlyoffice/documentserver/server/FileConverter/converter \
|
|
||||||
&& cp coauthoring /var/www/onlyoffice/documentserver/server/DocService/docservice
|
|
||||||
|
|
||||||
WORKDIR /
|
RUN git clone --quiet --branch $tag --depth 1 https://github.com/ONLYOFFICE/build_tools.git /build/build_tools
|
||||||
RUN rm -rf /build
|
RUN git clone --quiet --branch $tag --depth 1 https://github.com/ONLYOFFICE/sdkjs.git /build/sdkjs
|
||||||
|
RUN git clone --quiet --branch $tag --depth 1 https://github.com/ONLYOFFICE/web-apps.git /build/web-apps
|
||||||
|
RUN git clone --quiet --branch $tag --depth 1 https://github.com/ONLYOFFICE/server.git /build/server
|
||||||
|
|
||||||
|
COPY server.patch /build/
|
||||||
|
COPY web-apps.patch /build/
|
||||||
|
|
||||||
|
RUN cd /build/server && git apply /build/server.patch
|
||||||
|
RUN cd /build/web-apps && git apply /build/web-apps.patch
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Build
|
||||||
|
FROM clone-stage as build-stage
|
||||||
|
|
||||||
|
# build server with license checks patched
|
||||||
|
WORKDIR /build/server
|
||||||
|
RUN make
|
||||||
|
RUN pkg /build/build_tools/out/linux_64/onlyoffice/documentserver/server/FileConverter --targets=node10-linux -o /build/converter
|
||||||
|
RUN pkg /build/build_tools/out/linux_64/onlyoffice/documentserver/server/DocService --targets=node10-linux --options max_old_space_size=4096 -o /build/docservice
|
||||||
|
|
||||||
|
# build web-apps with mobile editing
|
||||||
|
WORKDIR /build/web-apps/build
|
||||||
|
RUN npm install
|
||||||
|
RUN grunt
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Final image
|
||||||
|
FROM onlyoffice/documentserver:${product_version}.${build_number}
|
||||||
|
ARG oo_root
|
||||||
|
|
||||||
|
# server
|
||||||
|
COPY --from=build-stage /build/converter ${oo_root}/server/FileConverter/converter
|
||||||
|
COPY --from=build-stage /build/docservice ${oo_root}/server/DocService/docservice
|
||||||
|
|
||||||
|
# web-apps
|
||||||
|
COPY --from=build-stage /build/web-apps/deploy/web-apps/apps/documenteditor/mobile/app.js ${oo_root}/web-apps/apps/documenteditor/mobile/app.js
|
||||||
|
COPY --from=build-stage /build/web-apps/deploy/web-apps/apps/presentationeditor/mobile/app.js ${oo_root}/web-apps/apps/presentationeditor/mobile/app.js
|
||||||
|
COPY --from=build-stage /build/web-apps/deploy/web-apps/apps/spreadsheeteditor/mobile/app.js ${oo_root}/web-apps/apps/spreadsheeteditor/mobile/app.js
|
||||||
|
|||||||
111
README.md
111
README.md
@@ -1,8 +1,89 @@
|
|||||||
# OnlyOffice Community server with license
|
# Patched ONLYOFFICE Docs (Community Edition)
|
||||||
|
|
||||||
|
[](https://github.com/aleho/onlyoffice-ce-docker-license/actions/workflows/docker-image.yml)
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
This [Dockerfile](./Dockerfile) and patches compile a version of
|
||||||
|
OnlyOffice Docs server with mobile editing enabled in the Nextcloud apps for an
|
||||||
|
unlimited amount of concurrent users.
|
||||||
|
|
||||||
|
It can be integrated into e.g. Nextcloud or ownCloud like the official images.
|
||||||
|
|
||||||
|
## Background
|
||||||
|
|
||||||
|
Just about two months after [Nextcloud released their partnership with Ascensio](https://nextcloud.com/blog/onlyoffice-and-nextcloud-partnering-up/)
|
||||||
|
and featured a community version of OnlyOffice, the latter decided to remove
|
||||||
|
support for mobile editing of documents. This affected the Nextcloud app,
|
||||||
|
killing a feature that was previously marketed by both companies.
|
||||||
|
|
||||||
|
The changes were executed without any prior notice and alienated quite a lot of
|
||||||
|
home users, who would now be forced to pay more than €1.000 to unlock that
|
||||||
|
previously free feature. Only after some outcries Ascensio deigned to release a
|
||||||
|
statement and a new, albeit "limited", offer of €90 for home servers. This
|
||||||
|
offer has since expired and their licensing tier suggests current licenses are
|
||||||
|
valid for one year, starting at about €140.
|
||||||
|
|
||||||
|
In my opinion these deceptive practices of advertising a feature only to take
|
||||||
|
it away are unacceptable for a company presenting itself and their products as
|
||||||
|
open source.
|
||||||
|
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
### CLI
|
Please refer the the official docs on how to integrate OnlyOffice into your
|
||||||
|
setup.
|
||||||
|
|
||||||
|
### Podman CLI
|
||||||
|
|
||||||
|
```sh
|
||||||
|
podman run \
|
||||||
|
--name=onlyoffice \
|
||||||
|
--detach \
|
||||||
|
--publish=80:80 \
|
||||||
|
docker.io/alehoho/oo-ce-docker-license
|
||||||
|
```
|
||||||
|
|
||||||
|
### Docker CLI
|
||||||
|
|
||||||
|
```sh
|
||||||
|
docker run \
|
||||||
|
--name=onlyoffice \
|
||||||
|
--detach \
|
||||||
|
--publish=80:80 \
|
||||||
|
alehoho/oo-ce-docker-license
|
||||||
|
```
|
||||||
|
|
||||||
|
### docker-compose.yml
|
||||||
|
|
||||||
|
```yml
|
||||||
|
services:
|
||||||
|
onlyoffice:
|
||||||
|
container_name: onlyoffice
|
||||||
|
image: alehoho/oo-ce-docker-license
|
||||||
|
ports:
|
||||||
|
- "80:80"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Verify
|
||||||
|
|
||||||
|
To verify that the container is running successfully open
|
||||||
|
`[server-url]/healthcheck` (has to return `true`) and for the version number open
|
||||||
|
`[server-url]/index.html` and check the output of that page or
|
||||||
|
`[server-url]/web-apps/apps/api/documents/api.js` and check the header comment.
|
||||||
|
|
||||||
|
|
||||||
|
## Build
|
||||||
|
|
||||||
|
### Buildah CLI
|
||||||
|
|
||||||
|
```sh
|
||||||
|
buildah build-using-dockerfile \
|
||||||
|
--tag=onlyoffice-patched \
|
||||||
|
https://github.com/aleho/onlyoffice-ce-docker-license.git
|
||||||
|
```
|
||||||
|
|
||||||
|
### Docker CLI
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
docker build \
|
docker build \
|
||||||
@@ -10,12 +91,6 @@ docker build \
|
|||||||
https://github.com/aleho/onlyoffice-ce-docker-license.git
|
https://github.com/aleho/onlyoffice-ce-docker-license.git
|
||||||
```
|
```
|
||||||
|
|
||||||
```sh
|
|
||||||
docker run \
|
|
||||||
--name=onlyoffice \
|
|
||||||
--detach \
|
|
||||||
onlyoffice-patched
|
|
||||||
```
|
|
||||||
|
|
||||||
### docker-compose.yml
|
### docker-compose.yml
|
||||||
|
|
||||||
@@ -26,27 +101,9 @@ services:
|
|||||||
image: onlyoffice-patched
|
image: onlyoffice-patched
|
||||||
build:
|
build:
|
||||||
context: https://github.com/aleho/onlyoffice-ce-docker-license.git
|
context: https://github.com/aleho/onlyoffice-ce-docker-license.git
|
||||||
|
…
|
||||||
```
|
```
|
||||||
|
|
||||||
### Verify
|
|
||||||
|
|
||||||
To verify that the container was built successfully simply call
|
|
||||||
`[server-url]/web-apps/apps/api/documents/api.js` and check the header comment.
|
|
||||||
|
|
||||||
|
|
||||||
## Background
|
|
||||||
Recently, just about a month after Nextcloud announced their partnership with
|
|
||||||
Ascensio and featuring a community version of OnlyOffice, the latter decided
|
|
||||||
to remove support for mobile editing of documents via the Nextcloud app.
|
|
||||||
|
|
||||||
This happened without any prior notice and alienated quite a lot of home users,
|
|
||||||
who would now be forced to pay more than €1.000 to unlock that previously free
|
|
||||||
feature. Only after some outcries Ascensio deigned to release a statement and
|
|
||||||
a new, albeit "limited", offer of €90 for home servers.
|
|
||||||
|
|
||||||
In my opinion these deceptive practices are unacceptable for a company
|
|
||||||
advertising itself and their product as open source.
|
|
||||||
|
|
||||||
|
|
||||||
## Thanks
|
## Thanks
|
||||||
|
|
||||||
|
|||||||
128
license.patch
128
license.patch
@@ -1,128 +0,0 @@
|
|||||||
From 49041ccf02617c5a9b92693b3bf65870e6b79006 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Alexander Hofbauer <alex@derhofbauer.at>
|
|
||||||
Date: Mon, 3 Aug 2020 11:44:57 +0200
|
|
||||||
Subject: [PATCH] Enable rebuild with fake license
|
|
||||||
|
|
||||||
---
|
|
||||||
Common/sources/commondefines.js | 5 ++--
|
|
||||||
Common/sources/license.js | 52 ++++++++-------------------------
|
|
||||||
Makefile | 6 ++--
|
|
||||||
3 files changed, 18 insertions(+), 45 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/Common/sources/commondefines.js b/Common/sources/commondefines.js
|
|
||||||
index 694a13a..eb85e04 100644
|
|
||||||
--- a/Common/sources/commondefines.js
|
|
||||||
+++ b/Common/sources/commondefines.js
|
|
||||||
@@ -975,8 +975,9 @@ const c_oAscUnlockRes = {
|
|
||||||
Empty: 2
|
|
||||||
};
|
|
||||||
|
|
||||||
-const buildVersion = '4.1.2';
|
|
||||||
-const buildNumber = 37;
|
|
||||||
+const buildVersion = '5.6.0';
|
|
||||||
+const buildNumber = 17;
|
|
||||||
+exports.buildDate = '2020-07-29T10:19:00.000Z';
|
|
||||||
|
|
||||||
exports.TaskQueueData = TaskQueueData;
|
|
||||||
exports.CMailMergeSendData = CMailMergeSendData;
|
|
||||||
diff --git a/Common/sources/license.js b/Common/sources/license.js
|
|
||||||
index 290d85d..5a1ab21 100644
|
|
||||||
--- a/Common/sources/license.js
|
|
||||||
+++ b/Common/sources/license.js
|
|
||||||
@@ -32,53 +32,25 @@
|
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
-const config = require('config');
|
|
||||||
-const configL = config.get('license');
|
|
||||||
const constants = require('./constants');
|
|
||||||
-const logger = require('./logger');
|
|
||||||
-const editorDataStorage = require('./../../DocService/sources/' + config.get('services.CoAuthoring.server.editorDataStorage'));
|
|
||||||
-
|
|
||||||
-const buildDate = '6/29/2016';
|
|
||||||
-const oBuildDate = new Date(buildDate);
|
|
||||||
-const oPackageType = configL.get('packageType');
|
|
||||||
-
|
|
||||||
-const cfgRedisPrefix = config.get('services.CoAuthoring.redis.prefix');
|
|
||||||
-const redisKeyLicense = cfgRedisPrefix + constants.REDIS_KEY_LICENSE;
|
|
||||||
-
|
|
||||||
-let editorData = new editorDataStorage();
|
|
||||||
+const commonDefines = require('./commondefines');
|
|
||||||
|
|
||||||
exports.readLicense = function*() {
|
|
||||||
- const c_LR = constants.LICENSE_RESULT;
|
|
||||||
- const res = {
|
|
||||||
+ return {
|
|
||||||
count: 1,
|
|
||||||
- type: c_LR.Error,
|
|
||||||
+ type: constants.LICENSE_RESULT.Success,
|
|
||||||
light: false,
|
|
||||||
- packageType: oPackageType,
|
|
||||||
+ packageType: constants.PACKAGE_TYPE_I,
|
|
||||||
mode: constants.LICENSE_MODE.None,
|
|
||||||
branding: false,
|
|
||||||
- connections: constants.LICENSE_CONNECTIONS,
|
|
||||||
+ connections: 9999,
|
|
||||||
customization: false,
|
|
||||||
- usersCount: 0,
|
|
||||||
- usersExpire: constants.LICENSE_EXPIRE_USERS_ONE_DAY,
|
|
||||||
- hasLicense: false,
|
|
||||||
- plugins: false,
|
|
||||||
- buildDate: oBuildDate,
|
|
||||||
- endDate: null
|
|
||||||
+ usersCount: 9999,
|
|
||||||
+ usersExpire: 99999,
|
|
||||||
+ hasLicense: true,
|
|
||||||
+ plugins: true,
|
|
||||||
+ buildDate: commonDefines.buildDate,
|
|
||||||
+ endDate: "2099-01-01T23:59:59.000Z"
|
|
||||||
};
|
|
||||||
-
|
|
||||||
- if (yield* _getFileState()) {
|
|
||||||
- res.type = c_LR.ExpiredTrial;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- if (res.type === c_LR.Expired || res.type === c_LR.ExpiredTrial) {
|
|
||||||
- res.count = 1;
|
|
||||||
- logger.error('License: License Expired!!!');
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- return res;
|
|
||||||
};
|
|
||||||
-exports.packageType = oPackageType;
|
|
||||||
-
|
|
||||||
-function* _getFileState() {
|
|
||||||
- return yield editorData.getLicense(redisKeyLicense);
|
|
||||||
-}
|
|
||||||
+exports.packageType = constants.PACKAGE_TYPE_I;
|
|
||||||
diff --git a/Makefile b/Makefile
|
|
||||||
index 40bf93e..7109dbd 100644
|
|
||||||
--- a/Makefile
|
|
||||||
+++ b/Makefile
|
|
||||||
@@ -1,4 +1,4 @@
|
|
||||||
-GRUNT = grunt
|
|
||||||
+GRUNT = ./node_modules/.bin/grunt
|
|
||||||
GRUNT_FLAGS = --no-color -v
|
|
||||||
|
|
||||||
GRUNT_FILES = Gruntfile.js.out
|
|
||||||
@@ -46,7 +46,7 @@ endif
|
|
||||||
|
|
||||||
TARGET := $(PLATFORM)_$(ARCHITECTURE)
|
|
||||||
|
|
||||||
-OUTPUT = ../build_tools/out/$(TARGET)/onlyoffice/documentserver/server
|
|
||||||
+OUTPUT = build/out/$(TARGET)/onlyoffice/documentserver/server
|
|
||||||
|
|
||||||
SPELLCHECKER_DICTIONARIES := $(OUTPUT)/SpellChecker/dictionaries
|
|
||||||
SPELLCHECKER_DICTIONARY_FILES += ../dictionaries/*_*
|
|
||||||
@@ -83,7 +83,7 @@ DEBUG = $(BRANDING_DIR)/debug.js
|
|
||||||
.PHONY: all clean install uninstall build-date
|
|
||||||
|
|
||||||
.NOTPARALLEL:
|
|
||||||
-all: $(SPELLCHECKER_DICTIONARIES) $(TOOLS) $(SCHEMA) $(CORE_FONTS) $(LICENSE) $(WELCOME) $(INFO) build-date
|
|
||||||
+all: build-date
|
|
||||||
|
|
||||||
build-date: $(GRUNT_FILES)
|
|
||||||
sed "s|\(const buildVersion = \).*|\1'${PRODUCT_VERSION}';|" -i $(COMMON_DEFINES_JS)
|
|
||||||
--
|
|
||||||
2.28.0
|
|
||||||
|
|
||||||
151
server.patch
Normal file
151
server.patch
Normal file
@@ -0,0 +1,151 @@
|
|||||||
|
From 10a7f4497de9e21b5e7708fff75ce15398955d6c Mon Sep 17 00:00:00 2001
|
||||||
|
From: Alexander Hofbauer <alex@derhofbauer.at>
|
||||||
|
Date: Fri, 21 May 2021 10:35:05 +0200
|
||||||
|
Subject: [PATCH] Patch for license
|
||||||
|
|
||||||
|
---
|
||||||
|
Common/sources/commondefines.js | 4 ++--
|
||||||
|
Common/sources/constants.js | 2 +-
|
||||||
|
Common/sources/license.js | 16 ++++++++--------
|
||||||
|
DocService/sources/DocsCoServer.js | 5 +++--
|
||||||
|
DocService/sources/server.js | 1 -
|
||||||
|
FileConverter/sources/convertermaster.js | 1 -
|
||||||
|
Makefile | 2 +-
|
||||||
|
7 files changed, 15 insertions(+), 16 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/Common/sources/commondefines.js b/Common/sources/commondefines.js
|
||||||
|
index ec6a870..e20d966 100644
|
||||||
|
--- a/Common/sources/commondefines.js
|
||||||
|
+++ b/Common/sources/commondefines.js
|
||||||
|
@@ -1035,8 +1035,8 @@ const c_oAscUnlockRes = {
|
||||||
|
Empty: 2
|
||||||
|
};
|
||||||
|
|
||||||
|
-const buildVersion = '4.1.2';
|
||||||
|
-const buildNumber = 37;
|
||||||
|
+const buildVersion = '6.3.0';
|
||||||
|
+const buildNumber = 111;
|
||||||
|
|
||||||
|
exports.TaskQueueData = TaskQueueData;
|
||||||
|
exports.CMailMergeSendData = CMailMergeSendData;
|
||||||
|
diff --git a/Common/sources/constants.js b/Common/sources/constants.js
|
||||||
|
index f976ed9..e5b91fd 100644
|
||||||
|
--- a/Common/sources/constants.js
|
||||||
|
+++ b/Common/sources/constants.js
|
||||||
|
@@ -70,7 +70,7 @@ exports.LICENSE_RESULT = {
|
||||||
|
ExpiredLimited: 11
|
||||||
|
};
|
||||||
|
|
||||||
|
-exports.LICENSE_CONNECTIONS = 20;
|
||||||
|
+exports.LICENSE_CONNECTIONS = 9999;
|
||||||
|
exports.LICENSE_EXPIRE_USERS_ONE_DAY = 24 * 60 * 60; // day in seconds
|
||||||
|
|
||||||
|
exports.AVS_OFFICESTUDIO_FILE_UNKNOWN = 0x0000;
|
||||||
|
diff --git a/Common/sources/license.js b/Common/sources/license.js
|
||||||
|
index 19f0b61..7aa1d44 100644
|
||||||
|
--- a/Common/sources/license.js
|
||||||
|
+++ b/Common/sources/license.js
|
||||||
|
@@ -34,7 +34,7 @@
|
||||||
|
|
||||||
|
const constants = require('./constants');
|
||||||
|
|
||||||
|
-const buildDate = '6/29/2016';
|
||||||
|
+const buildDate = '2021-05-20T16:02:00.000Z';
|
||||||
|
const oBuildDate = new Date(buildDate);
|
||||||
|
|
||||||
|
exports.readLicense = function*() {
|
||||||
|
@@ -43,17 +43,17 @@ exports.readLicense = function*() {
|
||||||
|
count: 1,
|
||||||
|
type: c_LR.Success,
|
||||||
|
light: false,
|
||||||
|
- packageType: constants.PACKAGE_TYPE_OS,
|
||||||
|
+ packageType: constants.PACKAGE_TYPE_I,
|
||||||
|
mode: constants.LICENSE_MODE.None,
|
||||||
|
branding: false,
|
||||||
|
connections: constants.LICENSE_CONNECTIONS,
|
||||||
|
- customization: false,
|
||||||
|
+ customization: true,
|
||||||
|
usersCount: 0,
|
||||||
|
- usersExpire: constants.LICENSE_EXPIRE_USERS_ONE_DAY,
|
||||||
|
- hasLicense: false,
|
||||||
|
- plugins: false,
|
||||||
|
+ usersExpire: new Date("2099-01-01T23:59:59.000Z").getTime() / 1000,
|
||||||
|
+ hasLicense: true,
|
||||||
|
+ plugins: true,
|
||||||
|
buildDate: oBuildDate,
|
||||||
|
- endDate: null
|
||||||
|
+ endDate: "2099-01-01T23:59:59.000Z"
|
||||||
|
};
|
||||||
|
};
|
||||||
|
-exports.packageType = constants.PACKAGE_TYPE_OS;
|
||||||
|
+exports.packageType = constants.PACKAGE_TYPE_I;
|
||||||
|
diff --git a/DocService/sources/DocsCoServer.js b/DocService/sources/DocsCoServer.js
|
||||||
|
index 688f3c7..0b67274 100644
|
||||||
|
--- a/DocService/sources/DocsCoServer.js
|
||||||
|
+++ b/DocService/sources/DocsCoServer.js
|
||||||
|
@@ -102,6 +102,7 @@ const pubsubService = require('./pubsubRabbitMQ');
|
||||||
|
const queueService = require('./../../Common/sources/taskqueueRabbitMQ');
|
||||||
|
const rabbitMQCore = require('./../../Common/sources/rabbitMQCore');
|
||||||
|
const activeMQCore = require('./../../Common/sources/activeMQCore');
|
||||||
|
+const license = require('./../../Common/sources/license');
|
||||||
|
|
||||||
|
const editorDataStorage = require('./' + configCommon.get('services.CoAuthoring.server.editorDataStorage'));
|
||||||
|
let cfgEditor = JSON.parse(JSON.stringify(config.get('editor')));
|
||||||
|
@@ -162,7 +163,7 @@ let connections = []; // Активные соединения
|
||||||
|
let lockDocumentsTimerId = {};//to drop connection that can't unlockDocument
|
||||||
|
let pubsub;
|
||||||
|
let queue;
|
||||||
|
-let licenseInfo = {type: constants.LICENSE_RESULT.Error, light: false, branding: false, customization: false, plugins: false};
|
||||||
|
+let licenseInfo = license.readLicense().next().value;
|
||||||
|
let shutdownFlag = false;
|
||||||
|
let expDocumentsStep = gc.getCronStep(cfgExpDocumentsCron);
|
||||||
|
|
||||||
|
@@ -3093,7 +3094,7 @@ exports.install = function(server, callbackFunction) {
|
||||||
|
});
|
||||||
|
};
|
||||||
|
exports.setLicenseInfo = function(data) {
|
||||||
|
- licenseInfo = data;
|
||||||
|
+ logger.debug('Not updating license info', data)
|
||||||
|
};
|
||||||
|
exports.getLicenseInfo = function() {
|
||||||
|
return licenseInfo;
|
||||||
|
diff --git a/DocService/sources/server.js b/DocService/sources/server.js
|
||||||
|
index b623759..29574bd 100644
|
||||||
|
--- a/DocService/sources/server.js
|
||||||
|
+++ b/DocService/sources/server.js
|
||||||
|
@@ -129,7 +129,6 @@ try {
|
||||||
|
} catch (e) {
|
||||||
|
logger.warn('Failed to subscribe to plugin folder updates. When changing the list of plugins, you must restart the server. https://nodejs.org/docs/latest/api/fs.html#fs_availability');
|
||||||
|
}
|
||||||
|
-fs.watchFile(configCommon.get('license').get('license_file'), updateLicense);
|
||||||
|
setInterval(updateLicense, 86400000);
|
||||||
|
|
||||||
|
// Если захочется использовать 'development' и 'production',
|
||||||
|
diff --git a/FileConverter/sources/convertermaster.js b/FileConverter/sources/convertermaster.js
|
||||||
|
index c246bb8..9fe3d41 100644
|
||||||
|
--- a/FileConverter/sources/convertermaster.js
|
||||||
|
+++ b/FileConverter/sources/convertermaster.js
|
||||||
|
@@ -85,7 +85,6 @@ if (cluster.isMaster) {
|
||||||
|
|
||||||
|
updateLicense();
|
||||||
|
|
||||||
|
- fs.watchFile(configCommon.get('license').get('license_file'), updateLicense);
|
||||||
|
setInterval(updateLicense, 86400000);
|
||||||
|
} else {
|
||||||
|
const converter = require('./converter');
|
||||||
|
diff --git a/Makefile b/Makefile
|
||||||
|
index 40bf93e..1df9c10 100644
|
||||||
|
--- a/Makefile
|
||||||
|
+++ b/Makefile
|
||||||
|
@@ -83,7 +83,7 @@ DEBUG = $(BRANDING_DIR)/debug.js
|
||||||
|
.PHONY: all clean install uninstall build-date
|
||||||
|
|
||||||
|
.NOTPARALLEL:
|
||||||
|
-all: $(SPELLCHECKER_DICTIONARIES) $(TOOLS) $(SCHEMA) $(CORE_FONTS) $(LICENSE) $(WELCOME) $(INFO) build-date
|
||||||
|
+all: $(SCHEMA) $(LICENSE) $(WELCOME) $(INFO) build-date
|
||||||
|
|
||||||
|
build-date: $(GRUNT_FILES)
|
||||||
|
sed "s|\(const buildVersion = \).*|\1'${PRODUCT_VERSION}';|" -i $(COMMON_DEFINES_JS)
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
|
|
||||||
1587
web-apps.patch
Normal file
1587
web-apps.patch
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user