Version 6.5.5

This commit is contained in:
Chrystian Huot 2022-09-12 07:54:20 -04:00
parent d03f0b1fef
commit 2e772c0e1e
13 changed files with 128 additions and 106 deletions

View file

@ -39,6 +39,10 @@ _v6.5.4_
- Fixed search by inaccurate time (issue #258).
- Reverted sync.Map to regular map with sync.Mutex.
_v6.5.5_
- Fixed concurrent map read and map write on dirwatch.
## Version 6.4
- New `-cmd` command line options to allow advanced administrative tasks.

View file

@ -27,13 +27,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.5.4.zip
rdio-scanner-darwin-arm64-v6.5.4.zip
rdio-scanner-freebsd-amd64-v6.5.4.zip
rdio-scanner-linux-386-v6.5.4.zip
rdio-scanner-linux-amd64-v6.5.4.zip
rdio-scanner-linux-arm64-v6.5.4.zip
rdio-scanner-linux-arm-v6.5.4.zip
rdio-scanner-windows-amd64-v6.5.4.zip
rdio-scanner-darwin-amd64-v6.5.5.zip
rdio-scanner-darwin-arm64-v6.5.5.zip
rdio-scanner-freebsd-amd64-v6.5.5.zip
rdio-scanner-linux-386-v6.5.5.zip
rdio-scanner-linux-amd64-v6.5.5.zip
rdio-scanner-linux-arm64-v6.5.5.zip
rdio-scanner-linux-arm-v6.5.5.zip
rdio-scanner-windows-amd64-v6.5.5.zip
**Happy Rdio scanning !**

View file

@ -16,8 +16,8 @@
################################################################################
app := rdio-scanner
date := 2022/09/09
ver := 6.5.4
date := 2022/09/12
ver := 6.5.5
client := $(wildcard client/*.json client/*.ts)
server := $(wildcard server/*.go)

View file

@ -1,12 +1,12 @@
{
"name": "rdio-scanner",
"version": "6.5.4",
"version": "6.5.5",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "rdio-scanner",
"version": "6.5.4",
"version": "6.5.5",
"license": "LICENSE",
"dependencies": {
"@angular/animations": "^13.3.10",

View file

@ -38,5 +38,5 @@
"build": "ng build --base-href ./ --configuration production",
"start": "ng serve"
},
"version": "6.5.4"
"version": "6.5.5"
}

View file

@ -41,8 +41,8 @@
<ul>
<li><b>Default</b> - Extract the metadata from a custom mask.</li>
<li><b>DSDPlus Fast Lane</b> - Extract the metadata from the file path.</li>
<li><b>Trunk Recorder</b> - Extract the metadata from the json file.</li>
<li><b>SDR Trunk</b> - Extract the metadata from the MP3 tags defined on the SDR Trunk's aliases tab.</li>
<li><b>Trunk Recorder</b> - Extract the metadata from the json file.</li>
</ul>
</span>
</p>
@ -50,8 +50,8 @@
<mat-select formControlName="type" placeholder="Type">
<mat-option value="default">Default</mat-option>
<mat-option value="dsdplus">DSDPlus Fast Lane</mat-option>
<mat-option value="trunk-recorder">Trunk Recorder</mat-option>
<mat-option value="sdr-trunk">SDR Trunk</mat-option>
<mat-option value="trunk-recorder">Trunk Recorder</mat-option>
</mat-select>
</mat-form-field>
</div>
@ -59,8 +59,22 @@
<p>
<span class="mat-body">Directory</span><br>
<span class="mat-caption">
Path of a local directory to monitor for file ingestion. Note that dirwatch is not compatible
with networked disk.
Path of a
<ng-container [ngSwitch]="dirWatch.get('type')?.value">
<ng-container *ngSwitchCase="'dsdplus'">
<b>1R-Record</b>
</ng-container>
<ng-container *ngSwitchCase="'sdr-trunk'">
<b>Recordings</b>
</ng-container>
<ng-container *ngSwitchCase="'trunk-recorder'">
<b>captureDir</b>
</ng-container>
<ng-container *ngSwitchDefault>
local
</ng-container>
</ng-container>
directory to monitor for file ingestion. Note that dirwatch is not compatible with networked disk.
</span>
</p>
<mat-form-field floatLabel="never">

View file

@ -53,12 +53,12 @@ $ docker run --detach --env TZ=America/Toronto --name rdio-scanner --publish 300
520cdbf51fca11d8bacea12d81245f1cb4d984f80d2be2e3039727b59533a6a9
$ docker logs rdio-scanner
Rdio Scanner v6.5.4
Rdio Scanner v6.5.5
----------------------------------
2022/09/09 08:57:23 server started
2022/09/09 08:57:23 base folder is /app/data
2022/09/09 08:57:23 main interface at http://6d87e8dc37a0:3000
2022/09/09 08:57:23 admin interface at http://6d87e8dc37a0:3000/admin
2022/09/12 08:57:23 server started
2022/09/12 08:57:23 base folder is /app/data
2022/09/12 08:57:23 main interface at http://6d87e8dc37a0:3000
2022/09/12 08:57:23 admin interface at http://6d87e8dc37a0:3000/admin
```
You can also use docker-compose to start the server with this simple `docker-compose.yml`:

View file

@ -43,8 +43,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.5.4.zip
Archive: /Users/rdio/Downloads/rdio-scanner-darwin-arm64-v6.5.4.zip
> ~/Downloads/rdio-scanner-darwin-arm64-v6.5.5.zip
Archive: /Users/rdio/Downloads/rdio-scanner-darwin-arm64-v6.5.5.zip
inflating: rdio-scanner
inflating: rdio-scanner.pdf
@ -52,11 +52,11 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd
rdio@macos rdio-scanner % ./rdio-scanner
Rdio Scanner v6.5.4
Rdio Scanner v6.5.5
----------------------------------
2022/09/09 08:38:06 server started
2022/09/09 08:38:06 main interface at http://macos.local:3000
2022/09/09 08:38:06 admin interface at http://macos.local:3000/admin
2022/09/12 08:38:06 server started
2022/09/12 08:38:06 main interface at http://macos.local:3000
2022/09/12 08:38:06 admin interface at http://macos.local: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@macos rdio-scanner % ./rdio-scanner --listen :80
Rdio Scanner v6.5.4
Rdio Scanner v6.5.5
----------------------------------
2022/09/09 08:48:03 server started
2022/09/09 08:48:03 main interface at http://macos.local
2022/09/09 08:48:03 admin interface at http://macos.local/admin
2022/09/12 08:48:03 server started
2022/09/12 08:48:03 main interface at http://macos.local
2022/09/12 08:48:03 admin interface at http://macos.local/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 mykey.key \
> -ssl_listen :443
Rdio Scanner v6.5.4
Rdio Scanner v6.5.5
----------------------------------
2022/09/09 08:50:58 server started
2022/09/09 08:50:58 main interface at http://macos.local
2022/09/09 08:50:58 main interface at https://macos.local
2022/09/09 08:50:58 admin interface at https://macos.local/admin
2022/09/12 08:50:58 server started
2022/09/12 08:50:58 main interface at http://macos.local
2022/09/12 08:50:58 main interface at https://macos.local
2022/09/12 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.
@ -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/09/09 08:52:24 rdio-scanner.ini file created
2022/09/12 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.
@ -133,12 +133,12 @@ Then simply run [Rdio Scanner](https://github.com/chuot/rdio-scanner) without an
rdio@macos rdio-scanner % ./rdio-scanner
Rdio Scanner v6.5.4
Rdio Scanner v6.5.5
----------------------------------
2022/09/09 08:54:08 server started
2022/09/09 08:54:08 main interface at http://macos.local
2022/09/09 08:54:08 main interface at https://macos.local
2022/09/09 08:54:08 admin interface at https://macos.local/admin
2022/09/12 08:54:08 server started
2022/09/12 08:54:08 main interface at http://macos.local
2022/09/12 08:54:08 main interface at https://macos.local
2022/09/12 08:54:08 admin interface at https://macos.local/admin
## Install Rdio Scanner as a service

View file

@ -43,8 +43,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.5.4.zip
Archive: ../rdio-scanner-freebsd-amd64-v6.5.4.zip
> ~/rdio-scanner-freebsd-amd64-v6.5.5.zip
Archive: ../rdio-scanner-freebsd-amd64-v6.5.5.zip
extracting: rdio-scanner
extracting: rdio-scanner.pdf
@ -52,11 +52,11 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd
rdio@pc-freebsd:~/rdio-scanner $ ./rdio-scanner
Rdio Scanner v6.5.4
Rdio Scanner v6.5.5
----------------------------------
2022/09/09 08:16:36 server started
2022/09/09 08:16:36 main interface at http://pc-freebsd:3000
2022/09/09 08:16:36 admin interface at http://pc-freebsd:3000/admin
2022/09/12 08:16:36 server started
2022/09/12 08:16:36 main interface at http://pc-freebsd:3000
2022/09/12 08:16:36 admin interface at http://pc-freebsd:3000/admin
4. Access the administrative dashboard to finalize the configuration.
@ -82,11 +82,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.5.4
Rdio Scanner v6.5.5
----------------------------------
2022/09/09 08:19:38 server started
2022/09/09 08:19:38 main interface at http://pc-freebsd
2022/09/09 08:19:38 admin interface at http://pc-freebsd/admin
2022/09/12 08:19:38 server started
2022/09/12 08:19:38 main interface at http://pc-freebsd
2022/09/12 08:19:38 admin interface at http://pc-freebsd/admin
## Listening on a SSL port
@ -102,12 +102,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.5.4
Rdio Scanner v6.5.5
----------------------------------
2022/09/09 10:34:29 server started
2022/09/09 10:34:29 main interface at http://pc-freebsd
2022/09/09 10:34:29 main interface at https://pc-freebsd
2022/09/09 10:34:29 admin interface at https://pc-freebsd/admin
2022/09/12 10:34:29 server started
2022/09/12 10:34:29 main interface at http://pc-freebsd
2022/09/12 10:34:29 main interface at https://pc-freebsd
2022/09/12 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.
@ -127,7 +127,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/09/09 10:37:00 rdio-scanner.ini file created
2022/09/12 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.
@ -143,12 +143,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.5.4
Rdio Scanner v6.5.5
----------------------------------
2022/09/09 10:38:28 server started
2022/09/09 10:38:29 main interface at http://pc-freebsd
2022/09/09 10:38:29 main interface at https://pc-freebsd
2022/09/09 10:38:29 admin interface at https://pc-freebsd/admin
2022/09/12 10:38:28 server started
2022/09/12 10:38:29 main interface at http://pc-freebsd
2022/09/12 10:38:29 main interface at https://pc-freebsd
2022/09/12 10:38:29 admin interface at https://pc-freebsd/admin
## Install Rdio Scanner as a service

View file

@ -43,8 +43,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.5.4.zip
Archive: /home/rdio/Downloads/rdio-scanner-linux-amd64-v6.5.4.zip
> ~/Downloads/rdio-scanner-linux-amd64-v6.5.5.zip
Archive: /home/rdio/Downloads/rdio-scanner-linux-amd64-v6.5.5.zip
inflating: rdio-scanner
inflating: rdio-scanner.pdf
@ -52,11 +52,11 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd
[rdio@pc-linux rdio-scanner]$ ./rdio-scanner
Rdio Scanner v6.5.4
Rdio Scanner v6.5.5
----------------------------------
2022/09/09 09:11:48 server started
2022/09/09 09:11:48 main interface at http://pc-linux:3000
2022/09/09 09:11:48 admin interface at http://pc-linux:3000/admin
2022/09/12 09:11:48 server started
2022/09/12 09:11:48 main interface at http://pc-linux:3000
2022/09/12 09:11:48 admin interface at http://pc-linux:3000/admin
4. Access the administrative dashboard to finalize the configuration.
@ -79,11 +79,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.5.4
Rdio Scanner v6.5.5
----------------------------------
2022/09/09 09:14:00 server started
2022/09/09 09:14:00 main interface at http://pc-linux
2022/09/09 09:14:00 admin interface at http://pc-linux/admin
2022/09/12 09:14:00 server started
2022/09/12 09:14:00 main interface at http://pc-linux
2022/09/12 09:14:00 admin interface at http://pc-linux/admin
## Listening on a SSL port
@ -98,12 +98,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.5.4
Rdio Scanner v6.5.5
----------------------------------
2022/09/09 09:16:47 server started
2022/09/09 09:16:47 main interface at http://pc-linux
2022/09/09 09:16:47 main interface at https://pc-linux
2022/09/09 09:16:47 admin interface at https://pc-linux/admin
2022/09/12 09:16:47 server started
2022/09/12 09:16:47 main interface at http://pc-linux
2022/09/12 09:16:47 main interface at https://pc-linux
2022/09/12 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.
@ -121,7 +121,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/09/09 09:19:29 rdio-scanner.ini file created
2022/09/12 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.
@ -136,12 +136,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.5.4
Rdio Scanner v6.5.5
----------------------------------
2022/09/09 09:20:40 server started
2022/09/09 09:20:40 main interface at http://pc-linux
2022/09/09 09:20:40 main interface at https://pc-linux
2022/09/09 09:20:40 admin interface at https://pc-linux/admin
2022/09/12 09:20:40 server started
2022/09/12 09:20:40 main interface at http://pc-linux
2022/09/12 09:20:40 main interface at https://pc-linux
2022/09/12 09:20:40 admin interface at https://pc-linux/admin
## Install Rdio Scanner as a service

View file

@ -45,7 +45,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.5.4.zip
..\downloads\rdio-scanner-windows-amd64-v6.5.5.zip
x rdio-scanner.exe
x rdio-scanner.pdf
@ -53,11 +53,11 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd
C:\Users\rdio\rdio-scanner>rdio-scanner
Rdio Scanner v6.5.4
Rdio Scanner v6.5.5
----------------------------------
2022/09/09 13:48:48 server started
2022/09/09 13:48:48 main interface at http://pc-windows:3000
2022/09/09 13:48:48 admin interface at http://pc-windows:3000/admin
2022/09/12 13:48:48 server started
2022/09/12 13:48:48 main interface at http://pc-windows:3000
2022/09/12 13:48:48 admin interface at http://pc-windows:3000/admin
4. Access the administrative dashboard to finalize the configuration.
@ -79,11 +79,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.5.4
Rdio Scanner v6.5.5
----------------------------------
2022/09/09 10:53:31 server started
2022/09/09 10:53:31 main interface at http://pc-windows
2022/09/09 10:53:31 admin interface at http://pc-windows/admin
2022/09/12 10:53:31 server started
2022/09/12 10:53:31 main interface at http://pc-windows
2022/09/12 10:53:31 admin interface at http://pc-windows/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_key_file meykey.key ^
-ssl_listen :443
Rdio Scanner v6.5.4
Rdio Scanner v6.5.5
----------------------------------
2022/09/09 11:05:43 server started
2022/09/09 11:05:43 main interface at http://pc-windows
2022/09/09 11:05:43 main interface at https://pc-windows
2022/09/09 11:05:43 admin interface at https://pc-windows/admin
2022/09/12 11:05:43 server started
2022/09/12 11:05:43 main interface at http://pc-windows
2022/09/12 11:05:43 main interface at https://pc-windows
2022/09/12 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.
@ -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/09/09 11:08:28 rdio-scanner.ini file created
2022/09/12 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.
@ -134,12 +134,12 @@ Then simply run [Rdio Scanner](https://github.com/chuot/rdio-scanner) without an
C:\Users\rdio\rdio-scanner>rdio-scanner
Rdio Scanner v6.5.4
Rdio Scanner v6.5.5
----------------------------------
2022/09/09 11:11:28 server started
2022/09/09 11:11:28 main interface at http://pc-windows
2022/09/09 11:11:28 main interface at https://pc-windows
2022/09/09 11:11:28 admin interface at https://pc-windows/admin
2022/09/12 11:11:28 server started
2022/09/12 11:11:28 main interface at http://pc-windows
2022/09/12 11:11:28 main interface at https://pc-windows
2022/09/12 11:11:28 admin interface at https://pc-windows/admin
\pagebreak{}

View file

@ -663,10 +663,12 @@ func (dirwatch *Dirwatch) Start(controller *Controller) error {
}
} else {
dirwatch.mutex.Lock()
if dirwatch.timers[event.Name] != nil {
dirwatch.timers[event.Name].Stop()
}
dirwatch.timers[event.Name] = newTimer(event.Name)
dirwatch.mutex.Unlock()
}
case fsnotify.Remove:
@ -679,10 +681,12 @@ func (dirwatch *Dirwatch) Start(controller *Controller) error {
}
case fsnotify.Write:
dirwatch.mutex.Lock()
if dirwatch.timers[event.Name] != nil {
dirwatch.timers[event.Name].Stop()
}
dirwatch.timers[event.Name] = newTimer(event.Name)
dirwatch.mutex.Unlock()
}
case err, ok := <-dirwatch.watcher.Errors:

View file

@ -15,4 +15,4 @@
package main
const Version = "6.5.4"
const Version = "6.5.5"