mirror of
https://github.com/chuot/rdio-scanner.git
synced 2026-08-14 17:03:02 -06:00
Version 6.2.4
This commit is contained in:
parent
ef549189b4
commit
228437cb96
|
|
@ -25,6 +25,12 @@ _v6.2.3_
|
|||
- Fix regex for units in driwatch type SDRTrunk (discussion #155).
|
||||
- Update SQLite driver.
|
||||
|
||||
_v6.2.4_
|
||||
|
||||
- Fix call frequencies table not being transmitted to downstream.
|
||||
- Avoid using setInterval and setTimeout in the webapp.
|
||||
- Fix talkgroup search filter upon new configuration (issue #158).
|
||||
|
||||
## Version 6.1
|
||||
|
||||
- Calls now support patched talkgroups.
|
||||
|
|
|
|||
16
COMPILING.md
16
COMPILING.md
|
|
@ -26,13 +26,13 @@ Clone the official repository on your computer and start the build process.
|
|||
|
||||
When finished, you will find the precompiled versions for various platforms in the `dist` folder.
|
||||
|
||||
rdio-scanner-darwin-amd64-v6.2.3.zip
|
||||
rdio-scanner-darwin-arm64-v6.2.3.zip
|
||||
rdio-scanner-freebsd-amd64-v6.2.3.zip
|
||||
rdio-scanner-linux-386-v6.2.3.zip
|
||||
rdio-scanner-linux-amd64-v6.2.3.zip
|
||||
rdio-scanner-linux-arm64-v6.2.3.zip
|
||||
rdio-scanner-linux-arm-v6.2.3.zip
|
||||
rdio-scanner-windows-amd64-v6.2.3.zip
|
||||
rdio-scanner-darwin-amd64-v6.2.4.zip
|
||||
rdio-scanner-darwin-arm64-v6.2.4.zip
|
||||
rdio-scanner-freebsd-amd64-v6.2.4.zip
|
||||
rdio-scanner-linux-386-v6.2.4.zip
|
||||
rdio-scanner-linux-amd64-v6.2.4.zip
|
||||
rdio-scanner-linux-arm64-v6.2.4.zip
|
||||
rdio-scanner-linux-arm-v6.2.4.zip
|
||||
rdio-scanner-windows-amd64-v6.2.4.zip
|
||||
|
||||
**Happy Rdio scanning !**
|
||||
4
Makefile
4
Makefile
|
|
@ -16,8 +16,8 @@
|
|||
################################################################################
|
||||
|
||||
app := rdio-scanner
|
||||
date := 2022/03/30
|
||||
ver := 6.2.3
|
||||
date := 2022/04/04
|
||||
ver := 6.2.4
|
||||
|
||||
client := $(wildcard client/*.json client/*.ts)
|
||||
server := $(wildcard server/*.go)
|
||||
|
|
|
|||
|
|
@ -38,5 +38,5 @@
|
|||
"build": "ng build --base-href ./ --configuration production",
|
||||
"start": "ng serve"
|
||||
},
|
||||
"version": "6.2.3"
|
||||
"version": "6.2.4"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ import { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http
|
|||
import { EventEmitter, Injectable, OnDestroy } from '@angular/core';
|
||||
import { AbstractControl, FormBuilder, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';
|
||||
import { MatSnackBar } from '@angular/material/snack-bar';
|
||||
import { firstValueFrom } from 'rxjs';
|
||||
import { firstValueFrom, timer } from 'rxjs';
|
||||
import { AppUpdateService } from '../../../shared/update/update.service';
|
||||
|
||||
export interface Access {
|
||||
|
|
@ -539,7 +539,7 @@ export class RdioScannerAdminService implements OnDestroy {
|
|||
|
||||
this.event.emit({ authenticated: this.authenticated });
|
||||
} else {
|
||||
setTimeout(() => this.configWebSocketReconnect(), 2000);
|
||||
timer(2000).subscribe(() => this.configWebSocketReconnect());
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@
|
|||
import { ChangeDetectorRef, Component, EventEmitter, OnDestroy, OnInit, Output, ViewChild } from '@angular/core';
|
||||
import { FormBuilder } from '@angular/forms';
|
||||
import { MatInput } from '@angular/material/input';
|
||||
import { Subscription, timer } from 'rxjs';
|
||||
import packageInfo from '../../../../../package.json';
|
||||
import {
|
||||
RdioScannerAvoidOptions,
|
||||
|
|
@ -112,11 +113,11 @@ export class RdioScannerMainComponent implements OnDestroy, OnInit {
|
|||
|
||||
@ViewChild('password', { read: MatInput }) private authPassword: MatInput | undefined;
|
||||
|
||||
private clockTimer: number | undefined;
|
||||
private clockTimer: Subscription | undefined;
|
||||
|
||||
private config: RdioScannerConfig | undefined;
|
||||
|
||||
private dimmerTimer: number | undefined;
|
||||
private dimmerTimer: Subscription | undefined;
|
||||
|
||||
private eventSubscription = this.rdioScannerService.event.subscribe((event: RdioScannerEvent) => this.eventHandler(event));
|
||||
|
||||
|
|
@ -213,9 +214,7 @@ export class RdioScannerMainComponent implements OnDestroy, OnInit {
|
|||
}
|
||||
|
||||
ngOnDestroy(): void {
|
||||
if (this.clockTimer) {
|
||||
clearInterval(this.clockTimer);
|
||||
}
|
||||
this.clockTimer?.unsubscribe();
|
||||
|
||||
this.eventSubscription.unsubscribe();
|
||||
}
|
||||
|
|
@ -435,34 +434,28 @@ export class RdioScannerMainComponent implements OnDestroy, OnInit {
|
|||
}
|
||||
|
||||
private syncClock(): void {
|
||||
if (this.clockTimer) {
|
||||
clearInterval(this.clockTimer);
|
||||
}
|
||||
this.clockTimer?.unsubscribe();
|
||||
|
||||
this.clock = new Date();
|
||||
|
||||
this.clockTimer = window.setInterval(() => this.syncClock(), 1000 * (60 - this.clock.getSeconds()));
|
||||
this.clockTimer = timer(1000 * (60 - this.clock.getSeconds())).subscribe(() => this.syncClock());
|
||||
}
|
||||
|
||||
private updateDimmer(): void {
|
||||
if (typeof this.config?.dimmerDelay === 'number') {
|
||||
if (this.dimmerTimer) {
|
||||
clearTimeout(this.dimmerTimer);
|
||||
}
|
||||
this.dimmerTimer?.unsubscribe();
|
||||
|
||||
this.dimmer = true;
|
||||
|
||||
this.dimmerTimer = window.setTimeout(() => {
|
||||
if (this.dimmerTimer) {
|
||||
clearTimeout(this.dimmerTimer);
|
||||
}
|
||||
this.dimmerTimer = timer(this.config.dimmerDelay).subscribe(() => {
|
||||
this.dimmerTimer?.unsubscribe();
|
||||
|
||||
this.dimmerTimer = undefined;
|
||||
|
||||
this.dimmer = false;
|
||||
|
||||
this.ngChangeDetectorRef.detectChanges();
|
||||
}, this.config.dimmerDelay);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@
|
|||
|
||||
import { Component, Optional, OnInit } from '@angular/core';
|
||||
import { MatSnackBarRef } from '@angular/material/snack-bar';
|
||||
import { timer } from 'rxjs';
|
||||
|
||||
@Component({
|
||||
selector: 'RdioScannerNative',
|
||||
|
|
@ -55,7 +56,7 @@ export class RdioScannerNativeComponent implements OnInit {
|
|||
}
|
||||
|
||||
private wait(): void {
|
||||
setTimeout(() => {
|
||||
timer(1000).subscribe(() => {
|
||||
this.countdown--;
|
||||
|
||||
if (this.countdown < 1) {
|
||||
|
|
@ -64,6 +65,6 @@ export class RdioScannerNativeComponent implements OnInit {
|
|||
} else {
|
||||
this.wait();
|
||||
}
|
||||
}, 1000);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
@ -20,6 +20,7 @@
|
|||
import { Component, ElementRef, HostListener, OnDestroy, OnInit, ViewChild } from '@angular/core';
|
||||
import { MatSidenav } from '@angular/material/sidenav';
|
||||
import { MatSnackBar } from '@angular/material/snack-bar';
|
||||
import { timer } from 'rxjs';
|
||||
import { RdioScannerEvent, RdioScannerLivefeedMode } from './rdio-scanner';
|
||||
import { RdioScannerService } from './rdio-scanner.service';
|
||||
import { RdioScannerNativeComponent } from './native/native.component';
|
||||
|
|
@ -79,13 +80,13 @@ export class RdioScannerComponent implements OnDestroy, OnInit {
|
|||
* Be respectful, sponsor the project if you can, use native apps when possible.
|
||||
*
|
||||
*/
|
||||
setTimeout(() => {
|
||||
timer(10000).subscribe(() => {
|
||||
const ua: String = navigator.userAgent;
|
||||
|
||||
if (ua.includes('Android') || ua.includes('iPad') || ua.includes('iPhone')) {
|
||||
this.matSnackBar.openFromComponent(RdioScannerNativeComponent, { panelClass: 'snackbar-white' });
|
||||
}
|
||||
}, 10000);
|
||||
});
|
||||
/**
|
||||
* END OF RED TAPE.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -19,6 +19,8 @@
|
|||
|
||||
import { DOCUMENT } from '@angular/common';
|
||||
import { EventEmitter, Inject, Injectable, OnDestroy } from '@angular/core';
|
||||
import { interval, Subscription, timer } from 'rxjs';
|
||||
import { takeWhile } from 'rxjs/operators';
|
||||
import { AppUpdateService } from '../../shared/update/update.service';
|
||||
import {
|
||||
RdioScannerAvoidOptions,
|
||||
|
|
@ -95,7 +97,7 @@ export class RdioScannerService implements OnDestroy {
|
|||
private playbackList: RdioScannerPlaybackList | undefined;
|
||||
private playbackPending: number | undefined;
|
||||
|
||||
private skipDelay: number | undefined;
|
||||
private skipDelay: Subscription | undefined;
|
||||
|
||||
private websocket: WebSocket | undefined;
|
||||
|
||||
|
|
@ -361,7 +363,7 @@ export class RdioScannerService implements OnDestroy {
|
|||
}
|
||||
|
||||
if (this.skipDelay) {
|
||||
clearTimeout(this.skipDelay);
|
||||
this.skipDelay.unsubscribe();
|
||||
|
||||
this.skipDelay = undefined;
|
||||
}
|
||||
|
|
@ -457,12 +459,7 @@ export class RdioScannerService implements OnDestroy {
|
|||
|
||||
this.event.emit({ call: this.call, queue });
|
||||
|
||||
let interval = setInterval(() => {
|
||||
if (!this.call) {
|
||||
clearInterval(interval);
|
||||
return;
|
||||
}
|
||||
|
||||
interval(500).pipe(takeWhile(() => !!this.call)).subscribe(() => {
|
||||
if (this.audioContext && !isNaN(this.audioContext.currentTime)) {
|
||||
if (isNaN(this.audioSourceStartTime)) {
|
||||
this.audioSourceStartTime = this.audioContext.currentTime;
|
||||
|
|
@ -472,7 +469,7 @@ export class RdioScannerService implements OnDestroy {
|
|||
this.event.emit({ time: this.audioContext.currentTime - this.audioSourceStartTime });
|
||||
}
|
||||
}
|
||||
}, 500);
|
||||
});
|
||||
}, () => {
|
||||
this.event.emit({ call: this.call, queue });
|
||||
|
||||
|
|
@ -523,15 +520,15 @@ export class RdioScannerService implements OnDestroy {
|
|||
this.stop();
|
||||
|
||||
if (options?.delay) {
|
||||
this.skipDelay = window.setTimeout(() => {
|
||||
this.skipDelay = timer(1000).subscribe(() => {
|
||||
this.skipDelay = undefined;
|
||||
|
||||
play();
|
||||
}, 1000);
|
||||
});
|
||||
|
||||
} else {
|
||||
if (this.skipDelay) {
|
||||
clearTimeout(this.skipDelay);
|
||||
this.skipDelay?.unsubscribe();
|
||||
|
||||
this.skipDelay = undefined;
|
||||
}
|
||||
|
|
@ -778,7 +775,7 @@ export class RdioScannerService implements OnDestroy {
|
|||
this.event.emit({ linked: false });
|
||||
|
||||
if (ev.code !== 1000) {
|
||||
setTimeout(() => this.reconnectWebsocket(), 2000);
|
||||
timer(2000).subscribe(() => this.reconnectWebsocket());
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
* ****************************************************************************
|
||||
*/
|
||||
|
||||
import { ChangeDetectorRef, Component, OnDestroy, ViewChild } from '@angular/core';
|
||||
import { ChangeDetectorRef, Component, OnDestroy, OnInit, ViewChild } from '@angular/core';
|
||||
import { FormBuilder } from '@angular/forms';
|
||||
import { MatPaginator } from '@angular/material/paginator';
|
||||
import { BehaviorSubject } from 'rxjs';
|
||||
|
|
@ -38,7 +38,7 @@ import { RdioScannerService } from '../rdio-scanner.service';
|
|||
styleUrls: ['./search.component.scss'],
|
||||
templateUrl: './search.component.html',
|
||||
})
|
||||
export class RdioScannerSearchComponent implements OnDestroy {
|
||||
export class RdioScannerSearchComponent implements OnDestroy, OnInit {
|
||||
call: RdioScannerCall | undefined;
|
||||
callPending: number | undefined;
|
||||
|
||||
|
|
@ -102,6 +102,10 @@ export class RdioScannerSearchComponent implements OnDestroy {
|
|||
this.eventSubscription.unsubscribe();
|
||||
}
|
||||
|
||||
ngOnInit(): void {
|
||||
|
||||
}
|
||||
|
||||
play(id: number): void {
|
||||
this.rdioScannerService.loadAndPlay(id);
|
||||
}
|
||||
|
|
@ -311,7 +315,6 @@ export class RdioScannerSearchComponent implements OnDestroy {
|
|||
this.optionsGroup = Object.keys(this.config?.groups || []).sort((a, b) => a.localeCompare(b));
|
||||
this.optionsSystem = (this.config?.systems || []).map((system) => system.label);
|
||||
this.optionsTag = Object.keys(this.config?.tags || []).sort((a, b) => a.localeCompare(b));
|
||||
this.optionsTalkgroup = [];
|
||||
}
|
||||
|
||||
if ('livefeedMode' in event) {
|
||||
|
|
|
|||
|
|
@ -42,8 +42,8 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd
|
|||
rdio@macos ~ % mkdir rdio-scanner
|
||||
rdio@macos ~ % cd rdio-scanner
|
||||
rdio@macos rdio-scanner % unzip \
|
||||
> ~/Downloads/rdio-scanner-darwin-arm64-v6.2.3.zip
|
||||
Archive: /Users/rdio/Downloads/rdio-scanner-darwin-arm64-v6.2.3.zip
|
||||
> ~/Downloads/rdio-scanner-darwin-arm64-v6.2.4.zip
|
||||
Archive: /Users/rdio/Downloads/rdio-scanner-darwin-arm64-v6.2.4.zip
|
||||
inflating: rdio-scanner
|
||||
inflating: rdio-scanner.pdf
|
||||
|
||||
|
|
@ -51,11 +51,11 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd
|
|||
|
||||
rdio@macos rdio-scanner % ./rdio-scanner
|
||||
|
||||
Rdio Scanner v6.2.3
|
||||
Rdio Scanner v6.2.4
|
||||
----------------------------------
|
||||
2022/03/30 08:38:06 server started
|
||||
2022/03/30 08:38:06 main interface at http://macos.local:3000
|
||||
2022/03/30 08:38:06 admin interface at http://macos.local:3000/admin
|
||||
2022/04/04 08:38:06 server started
|
||||
2022/04/04 08:38:06 main interface at http://macos.local:3000
|
||||
2022/04/04 08:38:06 admin interface at http://macos.local:3000/admin
|
||||
|
||||
4. Access the administrative dashboard to finalize the configuration.
|
||||
|
||||
|
|
@ -77,11 +77,11 @@ Here we want our [Rdio Scanner](https://guthub.com/chuot/rdio-scanner) instance
|
|||
|
||||
rdio@macos rdio-scanner % ./rdio-scanner --listen :80
|
||||
|
||||
Rdio Scanner v6.2.3
|
||||
Rdio Scanner v6.2.4
|
||||
----------------------------------
|
||||
2022/03/30 08:48:03 server started
|
||||
2022/03/30 08:48:03 main interface at http://macos.local
|
||||
2022/03/30 08:48:03 admin interface at http://macos.local/admin
|
||||
2022/04/04 08:48:03 server started
|
||||
2022/04/04 08:48:03 main interface at http://macos.local
|
||||
2022/04/04 08:48:03 admin interface at http://macos.local/admin
|
||||
|
||||
## Listening on a SSL port
|
||||
|
||||
|
|
@ -95,12 +95,12 @@ You can use your own SSL certificates that match your domain name with `-ssl_cer
|
|||
> -ssl_key_file mykey.key \
|
||||
> -ssl_listen :443
|
||||
|
||||
Rdio Scanner v6.2.3
|
||||
Rdio Scanner v6.2.4
|
||||
----------------------------------
|
||||
2022/03/30 08:50:58 server started
|
||||
2022/03/30 08:50:58 main interface at http://macos.local
|
||||
2022/03/30 08:50:58 main interface at https://macos.local
|
||||
2022/03/30 08:50:58 admin interface at https://macos.local/admin
|
||||
2022/04/04 08:50:58 server started
|
||||
2022/04/04 08:50:58 main interface at http://macos.local
|
||||
2022/04/04 08:50:58 main interface at https://macos.local
|
||||
2022/04/04 08:50:58 admin interface at https://macos.local/admin
|
||||
|
||||
If you don't want to worry about SSL certificates, you can use the built-in Let's Encrypt auto-cert feature. This requires that you have both port 80 (HTTP) and port 443 (HTTPS) open to the world. Also, your domain name should point to your IP address where [Rdio Scanner](https://github.com/chuot/rdio-scanner/) is running. The advantage of this approach is that everything is done automatically, no certificate request, no certificate renewal.
|
||||
|
||||
|
|
@ -118,7 +118,7 @@ You don't want to have to type everytime a long list of arguments. No problem, y
|
|||
> -ssl_auto_cert mydomain.com \
|
||||
> -ssl_listen :443 \
|
||||
> -config_save
|
||||
2022/03/30 08:52:24 rdio-scanner.ini file created
|
||||
2022/04/04 08:52:24 rdio-scanner.ini file created
|
||||
|
||||
All of your parameters passed as arguments to [Rdio Scanner](https://github.com/chuot/rdio-scanner) have been saved to an INI file which has the same arguments/values list.
|
||||
|
||||
|
|
@ -132,12 +132,12 @@ Then simply run [Rdio Scanner](https://github.com/chuot/rdio-scanner) without an
|
|||
|
||||
rdio@macos rdio-scanner % ./rdio-scanner
|
||||
|
||||
Rdio Scanner v6.2.3
|
||||
Rdio Scanner v6.2.4
|
||||
----------------------------------
|
||||
2022/03/30 08:54:08 server started
|
||||
2022/03/30 08:54:08 main interface at http://macos.local
|
||||
2022/03/30 08:54:08 main interface at https://macos.local
|
||||
2022/03/30 08:54:08 admin interface at https://macos.local/admin
|
||||
2022/04/04 08:54:08 server started
|
||||
2022/04/04 08:54:08 main interface at http://macos.local
|
||||
2022/04/04 08:54:08 main interface at https://macos.local
|
||||
2022/04/04 08:54:08 admin interface at https://macos.local/admin
|
||||
|
||||
## Install Rdio Scanner as a service
|
||||
|
||||
|
|
|
|||
|
|
@ -42,8 +42,8 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd
|
|||
rdio@pc-freebsd:~ $ mkdir rdio-scanner
|
||||
rdio@pc-freebsd:~ $ cd rdio-scanner
|
||||
rdio@pc-freebsd:~/rdio-scanner $ unzip \
|
||||
> ~/rdio-scanner-freebsd-amd64-v6.2.3.zip
|
||||
Archive: ../rdio-scanner-freebsd-amd64-v6.2.3.zip
|
||||
> ~/rdio-scanner-freebsd-amd64-v6.2.4.zip
|
||||
Archive: ../rdio-scanner-freebsd-amd64-v6.2.4.zip
|
||||
extracting: rdio-scanner
|
||||
extracting: rdio-scanner.pdf
|
||||
|
||||
|
|
@ -51,11 +51,11 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd
|
|||
|
||||
rdio@pc-freebsd:~/rdio-scanner $ ./rdio-scanner
|
||||
|
||||
Rdio Scanner v6.2.3
|
||||
Rdio Scanner v6.2.4
|
||||
----------------------------------
|
||||
2022/03/30 08:16:36 server started
|
||||
2022/03/30 08:16:36 main interface at http://pc-freebsd:3000
|
||||
2022/03/30 08:16:36 admin interface at http://pc-freebsd:3000/admin
|
||||
2022/04/04 08:16:36 server started
|
||||
2022/04/04 08:16:36 main interface at http://pc-freebsd:3000
|
||||
2022/04/04 08:16:36 admin interface at http://pc-freebsd:3000/admin
|
||||
|
||||
4. Access the administrative dashboard to finalize the configuration.
|
||||
|
||||
|
|
@ -81,11 +81,11 @@ Here we want our [Rdio Scanner](https://guthub.com/chuot/rdio-scanner) instance
|
|||
Password:
|
||||
root@pc-freebsd:/home/rdio/rdio-scanner # ./rdio-scanner -listen :80
|
||||
|
||||
Rdio Scanner v6.2.3
|
||||
Rdio Scanner v6.2.4
|
||||
----------------------------------
|
||||
2022/03/30 08:19:38 server started
|
||||
2022/03/30 08:19:38 main interface at http://pc-freebsd
|
||||
2022/03/30 08:19:38 admin interface at http://pc-freebsd/admin
|
||||
2022/04/04 08:19:38 server started
|
||||
2022/04/04 08:19:38 main interface at http://pc-freebsd
|
||||
2022/04/04 08:19:38 admin interface at http://pc-freebsd/admin
|
||||
|
||||
## Listening on a SSL port
|
||||
|
||||
|
|
@ -101,12 +101,12 @@ You can use your own SSL certificates that match your domain name with `-ssl_cer
|
|||
> -ssl_key_file mykey.key \
|
||||
> -ssl_listen :443
|
||||
|
||||
Rdio Scanner v6.2.3
|
||||
Rdio Scanner v6.2.4
|
||||
----------------------------------
|
||||
2022/03/30 10:34:29 server started
|
||||
2022/03/30 10:34:29 main interface at http://pc-freebsd
|
||||
2022/03/30 10:34:29 main interface at https://pc-freebsd
|
||||
2022/03/30 10:34:29 admin interface at https://pc-freebsd/admin
|
||||
2022/04/04 10:34:29 server started
|
||||
2022/04/04 10:34:29 main interface at http://pc-freebsd
|
||||
2022/04/04 10:34:29 main interface at https://pc-freebsd
|
||||
2022/04/04 10:34:29 admin interface at https://pc-freebsd/admin
|
||||
|
||||
If you don't want to worry about SSL certificates, you can use the built-in Let's Encrypt auto-cert feature. This requires that you have both port 80 (HTTP) and port 443 (HTTPS) open to the world. Also, your domain name should point to your IP address where [Rdio Scanner](https://github.com/chuot/rdio-scanner/) is running. The advantage of this approach is that everything is done automatically, no certificate request, no certificate renewal.
|
||||
|
||||
|
|
@ -126,7 +126,7 @@ You don't want to have to type everytime a long list of arguments. No problem, y
|
|||
> -ssl_auto_cert mydomain.com \
|
||||
> -ssl_listen :443 \
|
||||
> -config_save
|
||||
2022/03/30 10:37:00 rdio-scanner.ini file created
|
||||
2022/04/04 10:37:00 rdio-scanner.ini file created
|
||||
|
||||
All of your parameters passed as arguments to [Rdio Scanner](https://github.com/chuot/rdio-scanner) have been saved to an INI file which has the same arguments/values list.
|
||||
|
||||
|
|
@ -142,12 +142,12 @@ Then simply run [Rdio Scanner](https://github.com/chuot/rdio-scanner) without an
|
|||
Password:
|
||||
root@pc-freebsd:/home/rdio/rdio-scanner # ./rdio-scanner
|
||||
|
||||
Rdio Scanner v6.2.3
|
||||
Rdio Scanner v6.2.4
|
||||
----------------------------------
|
||||
2022/03/30 10:38:28 server started
|
||||
2022/03/30 10:38:29 main interface at http://pc-freebsd
|
||||
2022/03/30 10:38:29 main interface at https://pc-freebsd
|
||||
2022/03/30 10:38:29 admin interface at https://pc-freebsd/admin
|
||||
2022/04/04 10:38:28 server started
|
||||
2022/04/04 10:38:29 main interface at http://pc-freebsd
|
||||
2022/04/04 10:38:29 main interface at https://pc-freebsd
|
||||
2022/04/04 10:38:29 admin interface at https://pc-freebsd/admin
|
||||
|
||||
## Install Rdio Scanner as a service
|
||||
|
||||
|
|
|
|||
|
|
@ -42,8 +42,8 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd
|
|||
[rdio@pc-linux ~]$ mkdir rdio-scanner
|
||||
[rdio@pc-linux ~]$ cd rdio-scanner
|
||||
[rdio@pc-linux rdio-scanner]$ unzip \
|
||||
> ~/Downloads/rdio-scanner-linux-amd64-v6.2.3.zip
|
||||
Archive: /home/rdio/Downloads/rdio-scanner-linux-amd64-v6.2.3.zip
|
||||
> ~/Downloads/rdio-scanner-linux-amd64-v6.2.4.zip
|
||||
Archive: /home/rdio/Downloads/rdio-scanner-linux-amd64-v6.2.4.zip
|
||||
inflating: rdio-scanner
|
||||
inflating: rdio-scanner.pdf
|
||||
|
||||
|
|
@ -51,11 +51,11 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd
|
|||
|
||||
[rdio@pc-linux rdio-scanner]$ ./rdio-scanner
|
||||
|
||||
Rdio Scanner v6.2.3
|
||||
Rdio Scanner v6.2.4
|
||||
----------------------------------
|
||||
2022/03/30 09:11:48 server started
|
||||
2022/03/30 09:11:48 main interface at http://pc-linux:3000
|
||||
2022/03/30 09:11:48 admin interface at http://pc-linux:3000/admin
|
||||
2022/04/04 09:11:48 server started
|
||||
2022/04/04 09:11:48 main interface at http://pc-linux:3000
|
||||
2022/04/04 09:11:48 admin interface at http://pc-linux:3000/admin
|
||||
|
||||
4. Access the administrative dashboard to finalize the configuration.
|
||||
|
||||
|
|
@ -78,11 +78,11 @@ Here we want our [Rdio Scanner](https://guthub.com/chuot/rdio-scanner) instance
|
|||
[rdio@pc-linux rdio-scanner]$ sudo ./rdio-scanner -listen :80
|
||||
[sudo] password for rdio:
|
||||
|
||||
Rdio Scanner v6.2.3
|
||||
Rdio Scanner v6.2.4
|
||||
----------------------------------
|
||||
2022/03/30 09:14:00 server started
|
||||
2022/03/30 09:14:00 main interface at http://pc-linux
|
||||
2022/03/30 09:14:00 admin interface at http://pc-linux/admin
|
||||
2022/04/04 09:14:00 server started
|
||||
2022/04/04 09:14:00 main interface at http://pc-linux
|
||||
2022/04/04 09:14:00 admin interface at http://pc-linux/admin
|
||||
|
||||
## Listening on a SSL port
|
||||
|
||||
|
|
@ -97,12 +97,12 @@ You can use your own SSL certificates that match your domain name with `-ssl_cer
|
|||
> -ssl_listen :443
|
||||
[sudo] password for rdio:
|
||||
|
||||
Rdio Scanner v6.2.3
|
||||
Rdio Scanner v6.2.4
|
||||
----------------------------------
|
||||
2022/03/30 09:16:47 server started
|
||||
2022/03/30 09:16:47 main interface at http://pc-linux
|
||||
2022/03/30 09:16:47 main interface at https://pc-linux
|
||||
2022/03/30 09:16:47 admin interface at https://pc-linux/admin
|
||||
2022/04/04 09:16:47 server started
|
||||
2022/04/04 09:16:47 main interface at http://pc-linux
|
||||
2022/04/04 09:16:47 main interface at https://pc-linux
|
||||
2022/04/04 09:16:47 admin interface at https://pc-linux/admin
|
||||
|
||||
If you don't want to worry about SSL certificates, you can use the built-in Let's Encrypt auto-cert feature. This requires that you have both port 80 (HTTP) and port 443 (HTTPS) open to the world. Also, your domain name should point to your IP address where [Rdio Scanner](https://github.com/chuot/rdio-scanner/) is running. The advantage of this approach is that everything is done automatically, no certificate request, no certificate renewal.
|
||||
|
||||
|
|
@ -120,7 +120,7 @@ You don't want to have to type everytime a long list of arguments. No problem, y
|
|||
> -ssl_auto_cert mydomain.com \
|
||||
> -ssl_listen :443 \
|
||||
> -config_save
|
||||
2022/03/30 09:19:29 rdio-scanner.ini file created
|
||||
2022/04/04 09:19:29 rdio-scanner.ini file created
|
||||
|
||||
All of your parameters passed as arguments to [Rdio Scanner](https://github.com/chuot/rdio-scanner) have been saved to an INI file which has the same arguments/values list.
|
||||
|
||||
|
|
@ -135,12 +135,12 @@ Then simply run [Rdio Scanner](https://github.com/chuot/rdio-scanner) without an
|
|||
[rdio@pc-linux rdio-scanner]$ sudo ./rdio-scanner
|
||||
[sudo] Mot de passe de rdio :
|
||||
|
||||
Rdio Scanner v6.2.3
|
||||
Rdio Scanner v6.2.4
|
||||
----------------------------------
|
||||
2022/03/30 09:20:40 server started
|
||||
2022/03/30 09:20:40 main interface at http://pc-linux
|
||||
2022/03/30 09:20:40 main interface at https://pc-linux
|
||||
2022/03/30 09:20:40 admin interface at https://pc-linux/admin
|
||||
2022/04/04 09:20:40 server started
|
||||
2022/04/04 09:20:40 main interface at http://pc-linux
|
||||
2022/04/04 09:20:40 main interface at https://pc-linux
|
||||
2022/04/04 09:20:40 admin interface at https://pc-linux/admin
|
||||
|
||||
## Install Rdio Scanner as a service
|
||||
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd
|
|||
C:\Users\rdio> cd rdio-scanner
|
||||
|
||||
C:\Users\rdio\rdio-scanner> tar -xvf ^
|
||||
..\downloads\rdio-scanner-windows-amd64-v6.2.3.zip
|
||||
..\downloads\rdio-scanner-windows-amd64-v6.2.4.zip
|
||||
x rdio-scanner.exe
|
||||
x rdio-scanner.pdf
|
||||
|
||||
|
|
@ -52,11 +52,11 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd
|
|||
|
||||
C:\Users\rdio\rdio-scanner>rdio-scanner
|
||||
|
||||
Rdio Scanner v6.2.3
|
||||
Rdio Scanner v6.2.4
|
||||
----------------------------------
|
||||
2022/03/30 13:48:48 server started
|
||||
2022/03/30 13:48:48 main interface at http://pc-windows:3000
|
||||
2022/03/30 13:48:48 admin interface at http://pc-windows:3000/admin
|
||||
2022/04/04 13:48:48 server started
|
||||
2022/04/04 13:48:48 main interface at http://pc-windows:3000
|
||||
2022/04/04 13:48:48 admin interface at http://pc-windows:3000/admin
|
||||
|
||||
4. Access the administrative dashboard to finalize the configuration.
|
||||
|
||||
|
|
@ -78,11 +78,11 @@ Here we want our [Rdio Scanner](https://guthub.com/chuot/rdio-scanner) instance
|
|||
|
||||
C:\Users\rdio\rdio-scanner>rdio-scanner -listen :80
|
||||
|
||||
Rdio Scanner v6.2.3
|
||||
Rdio Scanner v6.2.4
|
||||
----------------------------------
|
||||
2022/03/30 10:53:31 server started
|
||||
2022/03/30 10:53:31 main interface at http://pc-windows
|
||||
2022/03/30 10:53:31 admin interface at http://pc-windows/admin
|
||||
2022/04/04 10:53:31 server started
|
||||
2022/04/04 10:53:31 main interface at http://pc-windows
|
||||
2022/04/04 10:53:31 admin interface at http://pc-windows/admin
|
||||
|
||||
## Listening on a SSL port
|
||||
|
||||
|
|
@ -96,12 +96,12 @@ You can use your own SSL certificates that match your domain name with `-ssl_cer
|
|||
-ssl_key_file meykey.key ^
|
||||
-ssl_listen :443
|
||||
|
||||
Rdio Scanner v6.2.3
|
||||
Rdio Scanner v6.2.4
|
||||
----------------------------------
|
||||
2022/03/30 11:05:43 server started
|
||||
2022/03/30 11:05:43 main interface at http://pc-windows
|
||||
2022/03/30 11:05:43 main interface at https://pc-windows
|
||||
2022/03/30 11:05:43 admin interface at https://pc-windows/admin
|
||||
2022/04/04 11:05:43 server started
|
||||
2022/04/04 11:05:43 main interface at http://pc-windows
|
||||
2022/04/04 11:05:43 main interface at https://pc-windows
|
||||
2022/04/04 11:05:43 admin interface at https://pc-windows/admin
|
||||
|
||||
If you don't want to worry about SSL certificates, you can use the built-in Let's Encrypt auto-cert feature. This requires that you have both port 80 (HTTP) and port 443 (HTTPS) open to the world. Also, your domain name should point to your IP address where [Rdio Scanner](https://github.com/chuot/rdio-scanner/) is running. The advantage of this approach is that everything is done automatically, no certificate request, no certificate renewal.
|
||||
|
||||
|
|
@ -119,7 +119,7 @@ You don't want to have to type everytime a long list of arguments. No problem, y
|
|||
-ssl_auto_cert mydomain.com ^
|
||||
-ssl_listen :443 ^
|
||||
-config_save
|
||||
2022/03/30 11:08:28 rdio-scanner.ini file created
|
||||
2022/04/04 11:08:28 rdio-scanner.ini file created
|
||||
|
||||
All of your parameters passed as arguments to [Rdio Scanner](https://github.com/chuot/rdio-scanner) have been saved to an INI file which has the same arguments/values list.
|
||||
|
||||
|
|
@ -133,12 +133,12 @@ Then simply run [Rdio Scanner](https://github.com/chuot/rdio-scanner) without an
|
|||
|
||||
C:\Users\rdio\rdio-scanner>rdio-scanner
|
||||
|
||||
Rdio Scanner v6.2.3
|
||||
Rdio Scanner v6.2.4
|
||||
----------------------------------
|
||||
2022/03/30 11:11:28 server started
|
||||
2022/03/30 11:11:28 main interface at http://pc-windows
|
||||
2022/03/30 11:11:28 main interface at https://pc-windows
|
||||
2022/03/30 11:11:28 admin interface at https://pc-windows/admin
|
||||
2022/04/04 11:11:28 server started
|
||||
2022/04/04 11:11:28 main interface at http://pc-windows
|
||||
2022/04/04 11:11:28 main interface at https://pc-windows
|
||||
2022/04/04 11:11:28 admin interface at https://pc-windows/admin
|
||||
|
||||
\pagebreak{}
|
||||
|
||||
|
|
|
|||
|
|
@ -178,7 +178,7 @@ func (downstream *Downstream) Send(call *Call) error {
|
|||
}
|
||||
|
||||
switch v := call.Frequencies.(type) {
|
||||
case []interface{}:
|
||||
case []map[string]interface{}:
|
||||
if w, err := mw.CreateFormField("frequencies"); err == nil {
|
||||
if b, err := json.Marshal(v); err == nil {
|
||||
if _, err = w.Write(b); err != nil {
|
||||
|
|
|
|||
|
|
@ -15,4 +15,4 @@
|
|||
|
||||
package main
|
||||
|
||||
const Version = "6.2.3"
|
||||
const Version = "6.2.4"
|
||||
|
|
|
|||
Loading…
Reference in a new issue