Compare commits
17 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
48eecf7b4c | ||
|
|
97ca49571c | ||
|
|
d9cc0ffa23 | ||
|
|
de73eec019 | ||
|
|
34311780d2 | ||
|
|
f7e49e62b9 | ||
|
|
8281798596 | ||
|
|
d3917bbc5c | ||
|
|
c7d4522ee9 | ||
|
|
a019adae33 | ||
|
|
90d67b8880 | ||
|
|
727a44986d | ||
|
|
ae8ad29322 | ||
|
|
a9637d1cbd | ||
|
|
f3bc0d2a42 | ||
|
|
65ea6d3d9a | ||
|
|
4e2760d39e |
12
README.md
12
README.md
@@ -20,7 +20,7 @@ inpx-web
|
|||||||
* [Параметры командной строки](#cli)
|
* [Параметры командной строки](#cli)
|
||||||
* [Конфигурация](#config)
|
* [Конфигурация](#config)
|
||||||
* [Удаленная библиотека](#remotelib)
|
* [Удаленная библиотека](#remotelib)
|
||||||
* [Фильтр по аторам и книгам](#filter)
|
* [Фильтр по авторам и книгам](#filter)
|
||||||
* [Настройка https с помощью nginx](#https)
|
* [Настройка https с помощью nginx](#https)
|
||||||
* [Сборка проекта](#build)
|
* [Сборка проекта](#build)
|
||||||
* [Разработка](#development)
|
* [Разработка](#development)
|
||||||
@@ -70,7 +70,7 @@ Options:
|
|||||||
// пароль для ограничения доступа к веб-интерфейсу сервера
|
// пароль для ограничения доступа к веб-интерфейсу сервера
|
||||||
"accessPassword": "",
|
"accessPassword": "",
|
||||||
|
|
||||||
// содержимое кнопки-ссылки (читать), если не задано - кнопка (читать) не показывается
|
// содержимое кнопки-ссылки "(читать)", если не задано - кнопка "(читать)" не показывается
|
||||||
// пример: "https://omnireader.ru/#/reader?url=${DOWNLOAD_LINK}"
|
// пример: "https://omnireader.ru/#/reader?url=${DOWNLOAD_LINK}"
|
||||||
// на место ${DOWNLOAD_LINK} будет подставлена ссылка на скачивание файла книги
|
// на место ${DOWNLOAD_LINK} будет подставлена ссылка на скачивание файла книги
|
||||||
"bookReadLink": "",
|
"bookReadLink": "",
|
||||||
@@ -86,10 +86,12 @@ Options:
|
|||||||
"queryCacheEnabled": true,
|
"queryCacheEnabled": true,
|
||||||
|
|
||||||
// периодичность чистки кеша запросов на сервере, в минутах
|
// периодичность чистки кеша запросов на сервере, в минутах
|
||||||
|
// 0 - отключить чистку
|
||||||
"cacheCleanInterval": 60,
|
"cacheCleanInterval": 60,
|
||||||
|
|
||||||
// периодичность проверки изменений .inpx-файла
|
// периодичность проверки изменений .inpx-файла, в минутах
|
||||||
// если файл изменился, поисковая БД будет автоматически пересоздана
|
// если файл изменился, поисковая БД будет автоматически пересоздана
|
||||||
|
// 0 - отключить проверку
|
||||||
"inpxCheckInterval": 60,
|
"inpxCheckInterval": 60,
|
||||||
|
|
||||||
// включить(true)/выключить(false) режим работы с малым количеством физической памяти на машине
|
// включить(true)/выключить(false) режим работы с малым количеством физической памяти на машине
|
||||||
@@ -140,13 +142,13 @@ Options:
|
|||||||
```
|
```
|
||||||
|
|
||||||
Если сервер работает по протоколу `http://`, то указываем протокол `ws://`, а для `https://` соответственно `wss://`.
|
Если сервер работает по протоколу `http://`, то указываем протокол `ws://`, а для `https://` соответственно `wss://`.
|
||||||
Пароль не обязателен, но необходим в случае, если сервер тоже "смотрит" в интернет, для ограничения доступа к его веб-интерфесу.
|
Пароль не обязателен, но необходим в случае, если сервер тоже "смотрит" в интернет, для ограничения доступа к его веб-интерфейсу.
|
||||||
При указании `"remoteLib": {...}` настройки командной строки --inpx и --lib-dir игнорируются,
|
При указании `"remoteLib": {...}` настройки командной строки --inpx и --lib-dir игнорируются,
|
||||||
т.к. файлы .inpx-индекса и библиотеки используются удаленно.
|
т.к. файлы .inpx-индекса и библиотеки используются удаленно.
|
||||||
|
|
||||||
<a id="filter" />
|
<a id="filter" />
|
||||||
|
|
||||||
### Фильтр по аторам и книгам
|
### Фильтр по авторам и книгам
|
||||||
|
|
||||||
При создании поисковой БД во время загрузки и парсинга .inpx-файла, имеется возможность
|
При создании поисковой БД во время загрузки и парсинга .inpx-файла, имеется возможность
|
||||||
отфильтровать авторов и книги, задав определенные критерии. Для этого небходимо создать
|
отфильтровать авторов и книги, задав определенные критерии. Для этого небходимо создать
|
||||||
|
|||||||
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "inpx-web",
|
"name": "inpx-web",
|
||||||
"version": "1.0.3",
|
"version": "1.0.6",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "inpx-web",
|
"name": "inpx-web",
|
||||||
"version": "1.0.3",
|
"version": "1.0.6",
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"license": "CC0-1.0",
|
"license": "CC0-1.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "inpx-web",
|
"name": "inpx-web",
|
||||||
"version": "1.0.3",
|
"version": "1.0.6",
|
||||||
"author": "Book Pauk <bookpauk@gmail.com>",
|
"author": "Book Pauk <bookpauk@gmail.com>",
|
||||||
"license": "CC0-1.0",
|
"license": "CC0-1.0",
|
||||||
"repository": "bookpauk/inpx-web",
|
"repository": "bookpauk/inpx-web",
|
||||||
@@ -13,7 +13,8 @@
|
|||||||
"build:linux": "npm run build:client && node build/prepkg.js linux && pkg -t node16-linux-x64 -C GZip --options max-old-space-size=4096,expose-gc -o dist/linux/inpx-web .",
|
"build:linux": "npm run build:client && node build/prepkg.js linux && pkg -t node16-linux-x64 -C GZip --options max-old-space-size=4096,expose-gc -o dist/linux/inpx-web .",
|
||||||
"build:win": "npm run build:client && node build/prepkg.js win && pkg -t node16-win-x64 -C GZip --options max-old-space-size=4096,expose-gc -o dist/win/inpx-web .",
|
"build:win": "npm run build:client && node build/prepkg.js win && pkg -t node16-win-x64 -C GZip --options max-old-space-size=4096,expose-gc -o dist/win/inpx-web .",
|
||||||
"build:client-dev": "webpack --config build/webpack.dev.config.js",
|
"build:client-dev": "webpack --config build/webpack.dev.config.js",
|
||||||
"release": "npm run build:linux && npm run build:client && node build/release.js",
|
"build:all": "npm run build:linux && npm run build:win",
|
||||||
|
"release": "npm run build:all && node build/release.js",
|
||||||
"postinstall": "npm run build:client-dev"
|
"postinstall": "npm run build:client-dev"
|
||||||
},
|
},
|
||||||
"bin": "server/index.js",
|
"bin": "server/index.js",
|
||||||
|
|||||||
@@ -317,6 +317,8 @@ class DbSearcher {
|
|||||||
async periodicCleanCache() {
|
async periodicCleanCache() {
|
||||||
this.timer = null;
|
this.timer = null;
|
||||||
const cleanInterval = this.config.cacheCleanInterval*60*1000;
|
const cleanInterval = this.config.cacheCleanInterval*60*1000;
|
||||||
|
if (!cleanInterval)
|
||||||
|
return;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const db = this.db;
|
const db = this.db;
|
||||||
|
|||||||
@@ -172,6 +172,9 @@ class WebWorker {
|
|||||||
|
|
||||||
//открываем все таблицы
|
//открываем все таблицы
|
||||||
await db.openAll();
|
await db.openAll();
|
||||||
|
//переоткроем таблицу 'author' с бОльшим размером кеша блоков, для ускорения выборки
|
||||||
|
await db.close({table: 'author'});
|
||||||
|
await db.open({table: 'author', cacheSize: 100});
|
||||||
|
|
||||||
this.dbSearcher = new DbSearcher(config, db);
|
this.dbSearcher = new DbSearcher(config, db);
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ class ZipReader {
|
|||||||
if (this.zip)
|
if (this.zip)
|
||||||
throw new Error('Zip file is already open');
|
throw new Error('Zip file is already open');
|
||||||
|
|
||||||
const zip = new StreamZip.async({file: zipFile});
|
const zip = new StreamZip.async({file: zipFile, skipEntryNameValidation: true});
|
||||||
|
|
||||||
if (zipEntries)
|
if (zipEntries)
|
||||||
this.zipEntries = await zip.entries();
|
this.zipEntries = await zip.entries();
|
||||||
|
|||||||
Reference in New Issue
Block a user