mirror of
https://github.com/chuot/rdio-scanner.git
synced 2026-08-14 17:03:02 -06:00
Version 6.2.3
This commit is contained in:
parent
5921f2fb96
commit
ef549189b4
10
CHANGELOG.md
10
CHANGELOG.md
|
|
@ -15,6 +15,16 @@ _v6.2.2_
|
|||
|
||||
- Fix another SIGSEGV error in Units.Merge (issue #151).
|
||||
|
||||
_v6.2.3_
|
||||
|
||||
- New random UUID in the JSON-Web Token payload.
|
||||
- Fix dirwatch not properly shutting down when a new configuration is applied.
|
||||
- Fix dashboard logout not sending HTTP 200 OK status.
|
||||
- Clear the active dirwatch list when stopped.
|
||||
- Pauses calls ingestion before database pruning.
|
||||
- Fix regex for units in driwatch type SDRTrunk (discussion #155).
|
||||
- Update SQLite driver.
|
||||
|
||||
## 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.2.zip
|
||||
rdio-scanner-darwin-arm64-v6.2.2.zip
|
||||
rdio-scanner-freebsd-amd64-v6.2.2.zip
|
||||
rdio-scanner-linux-386-v6.2.2.zip
|
||||
rdio-scanner-linux-amd64-v6.2.2.zip
|
||||
rdio-scanner-linux-arm64-v6.2.2.zip
|
||||
rdio-scanner-linux-arm-v6.2.2.zip
|
||||
rdio-scanner-windows-amd64-v6.2.2.zip
|
||||
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
|
||||
|
||||
**Happy Rdio scanning !**
|
||||
4
Makefile
4
Makefile
|
|
@ -16,8 +16,8 @@
|
|||
################################################################################
|
||||
|
||||
app := rdio-scanner
|
||||
date := 2022/03/25
|
||||
ver := 6.2.2
|
||||
date := 2022/03/30
|
||||
ver := 6.2.3
|
||||
|
||||
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.2"
|
||||
"version": "6.2.3"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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.2.zip
|
||||
Archive: /Users/rdio/Downloads/rdio-scanner-darwin-arm64-v6.2.2.zip
|
||||
> ~/Downloads/rdio-scanner-darwin-arm64-v6.2.3.zip
|
||||
Archive: /Users/rdio/Downloads/rdio-scanner-darwin-arm64-v6.2.3.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.2
|
||||
Rdio Scanner v6.2.3
|
||||
----------------------------------
|
||||
2022/03/25 08:38:06 server started
|
||||
2022/03/25 08:38:06 main interface at http://macos.local:3000
|
||||
2022/03/25 08:38:06 admin interface at http://macos.local:3000/admin
|
||||
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
|
||||
|
||||
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.2
|
||||
Rdio Scanner v6.2.3
|
||||
----------------------------------
|
||||
2022/03/25 08:48:03 server started
|
||||
2022/03/25 08:48:03 main interface at http://macos.local
|
||||
2022/03/25 08:48:03 admin interface at http://macos.local/admin
|
||||
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
|
||||
|
||||
## 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.2
|
||||
Rdio Scanner v6.2.3
|
||||
----------------------------------
|
||||
2022/03/25 08:50:58 server started
|
||||
2022/03/25 08:50:58 main interface at http://macos.local
|
||||
2022/03/25 08:50:58 main interface at https://macos.local
|
||||
2022/03/25 08:50:58 admin interface at https://macos.local/admin
|
||||
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
|
||||
|
||||
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/25 08:52:24 rdio-scanner.ini file created
|
||||
2022/03/30 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.2
|
||||
Rdio Scanner v6.2.3
|
||||
----------------------------------
|
||||
2022/03/25 08:54:08 server started
|
||||
2022/03/25 08:54:08 main interface at http://macos.local
|
||||
2022/03/25 08:54:08 main interface at https://macos.local
|
||||
2022/03/25 08:54:08 admin interface at https://macos.local/admin
|
||||
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
|
||||
|
||||
## 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.2.zip
|
||||
Archive: ../rdio-scanner-freebsd-amd64-v6.2.2.zip
|
||||
> ~/rdio-scanner-freebsd-amd64-v6.2.3.zip
|
||||
Archive: ../rdio-scanner-freebsd-amd64-v6.2.3.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.2
|
||||
Rdio Scanner v6.2.3
|
||||
----------------------------------
|
||||
2022/03/25 08:16:36 server started
|
||||
2022/03/25 08:16:36 main interface at http://pc-freebsd:3000
|
||||
2022/03/25 08:16:36 admin interface at http://pc-freebsd:3000/admin
|
||||
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
|
||||
|
||||
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.2
|
||||
Rdio Scanner v6.2.3
|
||||
----------------------------------
|
||||
2022/03/25 08:19:38 server started
|
||||
2022/03/25 08:19:38 main interface at http://pc-freebsd
|
||||
2022/03/25 08:19:38 admin interface at http://pc-freebsd/admin
|
||||
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
|
||||
|
||||
## 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.2
|
||||
Rdio Scanner v6.2.3
|
||||
----------------------------------
|
||||
2022/03/25 10:34:29 server started
|
||||
2022/03/25 10:34:29 main interface at http://pc-freebsd
|
||||
2022/03/25 10:34:29 main interface at https://pc-freebsd
|
||||
2022/03/25 10:34:29 admin interface at https://pc-freebsd/admin
|
||||
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
|
||||
|
||||
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/25 10:37:00 rdio-scanner.ini file created
|
||||
2022/03/30 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.2
|
||||
Rdio Scanner v6.2.3
|
||||
----------------------------------
|
||||
2022/03/25 10:38:28 server started
|
||||
2022/03/25 10:38:29 main interface at http://pc-freebsd
|
||||
2022/03/25 10:38:29 main interface at https://pc-freebsd
|
||||
2022/03/25 10:38:29 admin interface at https://pc-freebsd/admin
|
||||
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
|
||||
|
||||
## 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.2.zip
|
||||
Archive: /home/rdio/Downloads/rdio-scanner-linux-amd64-v6.2.2.zip
|
||||
> ~/Downloads/rdio-scanner-linux-amd64-v6.2.3.zip
|
||||
Archive: /home/rdio/Downloads/rdio-scanner-linux-amd64-v6.2.3.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.2
|
||||
Rdio Scanner v6.2.3
|
||||
----------------------------------
|
||||
2022/03/25 09:11:48 server started
|
||||
2022/03/25 09:11:48 main interface at http://pc-linux:3000
|
||||
2022/03/25 09:11:48 admin interface at http://pc-linux:3000/admin
|
||||
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
|
||||
|
||||
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.2
|
||||
Rdio Scanner v6.2.3
|
||||
----------------------------------
|
||||
2022/03/25 09:14:00 server started
|
||||
2022/03/25 09:14:00 main interface at http://pc-linux
|
||||
2022/03/25 09:14:00 admin interface at http://pc-linux/admin
|
||||
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
|
||||
|
||||
## 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.2
|
||||
Rdio Scanner v6.2.3
|
||||
----------------------------------
|
||||
2022/03/25 09:16:47 server started
|
||||
2022/03/25 09:16:47 main interface at http://pc-linux
|
||||
2022/03/25 09:16:47 main interface at https://pc-linux
|
||||
2022/03/25 09:16:47 admin interface at https://pc-linux/admin
|
||||
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
|
||||
|
||||
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/25 09:19:29 rdio-scanner.ini file created
|
||||
2022/03/30 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.2
|
||||
Rdio Scanner v6.2.3
|
||||
----------------------------------
|
||||
2022/03/25 09:20:40 server started
|
||||
2022/03/25 09:20:40 main interface at http://pc-linux
|
||||
2022/03/25 09:20:40 main interface at https://pc-linux
|
||||
2022/03/25 09:20:40 admin interface at https://pc-linux/admin
|
||||
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
|
||||
|
||||
## 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.2.zip
|
||||
..\downloads\rdio-scanner-windows-amd64-v6.2.3.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.2
|
||||
Rdio Scanner v6.2.3
|
||||
----------------------------------
|
||||
2022/03/25 13:48:48 server started
|
||||
2022/03/25 13:48:48 main interface at http://pc-windows:3000
|
||||
2022/03/25 13:48:48 admin interface at http://pc-windows:3000/admin
|
||||
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
|
||||
|
||||
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.2
|
||||
Rdio Scanner v6.2.3
|
||||
----------------------------------
|
||||
2022/03/25 10:53:31 server started
|
||||
2022/03/25 10:53:31 main interface at http://pc-windows
|
||||
2022/03/25 10:53:31 admin interface at http://pc-windows/admin
|
||||
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
|
||||
|
||||
## 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.2
|
||||
Rdio Scanner v6.2.3
|
||||
----------------------------------
|
||||
2022/03/25 11:05:43 server started
|
||||
2022/03/25 11:05:43 main interface at http://pc-windows
|
||||
2022/03/25 11:05:43 main interface at https://pc-windows
|
||||
2022/03/25 11:05:43 admin interface at https://pc-windows/admin
|
||||
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
|
||||
|
||||
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/25 11:08:28 rdio-scanner.ini file created
|
||||
2022/03/30 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.2
|
||||
Rdio Scanner v6.2.3
|
||||
----------------------------------
|
||||
2022/03/25 11:11:28 server started
|
||||
2022/03/25 11:11:28 main interface at http://pc-windows
|
||||
2022/03/25 11:11:28 main interface at https://pc-windows
|
||||
2022/03/25 11:11:28 admin interface at https://pc-windows/admin
|
||||
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
|
||||
|
||||
\pagebreak{}
|
||||
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ import (
|
|||
"time"
|
||||
|
||||
"github.com/golang-jwt/jwt/v4"
|
||||
"github.com/google/uuid"
|
||||
"github.com/gorilla/websocket"
|
||||
"golang.org/x/crypto/bcrypt"
|
||||
)
|
||||
|
|
@ -169,6 +170,8 @@ func (admin *Admin) ConfigHandler(w http.ResponseWriter, r *http.Request) {
|
|||
return
|
||||
}
|
||||
|
||||
admin.Controller.Dirwatches.Stop()
|
||||
|
||||
switch v := m["access"].(type) {
|
||||
case []interface{}:
|
||||
admin.Controller.Accesses.FromMap(v)
|
||||
|
|
@ -421,7 +424,14 @@ func (admin *Admin) LoginHandler(w http.ResponseWriter, r *http.Request) {
|
|||
return
|
||||
}
|
||||
|
||||
token := jwt.New(jwt.SigningMethodHS256)
|
||||
id, err := uuid.NewRandom()
|
||||
|
||||
if err != nil {
|
||||
w.WriteHeader(http.StatusExpectationFailed)
|
||||
return
|
||||
}
|
||||
|
||||
token := jwt.NewWithClaims(jwt.SigningMethodHS256, jwt.RegisteredClaims{ID: id.String()})
|
||||
sToken, err := token.SignedString([]byte(admin.Controller.Options.secret))
|
||||
|
||||
if err != nil {
|
||||
|
|
@ -470,6 +480,8 @@ func (admin *Admin) LogoutHandler(w http.ResponseWriter, r *http.Request) {
|
|||
admin.Tokens = append(admin.Tokens[:k], admin.Tokens[k+1:]...)
|
||||
}
|
||||
}
|
||||
w.WriteHeader(http.StatusOK)
|
||||
|
||||
default:
|
||||
w.WriteHeader(http.StatusMethodNotAllowed)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -759,6 +759,7 @@ func (dirwatches *Dirwatches) Stop() {
|
|||
for i := range dirwatches.List {
|
||||
dirwatches.List[i].Stop()
|
||||
}
|
||||
dirwatches.List = []*Dirwatch{}
|
||||
}
|
||||
|
||||
func (dirwatches *Dirwatches) Write(db *Database) error {
|
||||
|
|
|
|||
|
|
@ -6,13 +6,13 @@ require (
|
|||
github.com/dhowden/tag v0.0.0-20201120070457-d52dcb253c63
|
||||
github.com/fsnotify/fsnotify v1.5.1
|
||||
github.com/go-sql-driver/mysql v1.6.0
|
||||
github.com/golang-jwt/jwt/v4 v4.4.0
|
||||
github.com/golang-jwt/jwt/v4 v4.4.1
|
||||
github.com/google/uuid v1.3.0
|
||||
github.com/gorilla/websocket v1.5.0
|
||||
github.com/kardianos/service v1.2.1
|
||||
golang.org/x/crypto v0.0.0-20220321153916-2c7772ba3064
|
||||
gopkg.in/ini.v1 v1.66.4
|
||||
modernc.org/sqlite v1.15.3
|
||||
modernc.org/sqlite v1.15.4
|
||||
)
|
||||
|
||||
require (
|
||||
|
|
@ -21,18 +21,18 @@ require (
|
|||
github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 // indirect
|
||||
github.com/stretchr/testify v1.7.0 // indirect
|
||||
golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3 // indirect
|
||||
golang.org/x/net v0.0.0-20220225172249-27dd8689420f // indirect
|
||||
golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8 // indirect
|
||||
golang.org/x/net v0.0.0-20220325170049-de3da57026de // indirect
|
||||
golang.org/x/sys v0.0.0-20220330033206-e17cdc41300f // indirect
|
||||
golang.org/x/text v0.3.7 // indirect
|
||||
golang.org/x/tools v0.1.10 // indirect
|
||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect
|
||||
lukechampine.com/uint128 v1.2.0 // indirect
|
||||
modernc.org/cc/v3 v3.35.24 // indirect
|
||||
modernc.org/ccgo/v3 v3.15.17 // indirect
|
||||
modernc.org/ccgo/v3 v3.15.18 // indirect
|
||||
modernc.org/libc v1.14.12 // indirect
|
||||
modernc.org/mathutil v1.4.1 // indirect
|
||||
modernc.org/memory v1.0.7 // indirect
|
||||
modernc.org/opt v0.1.1 // indirect
|
||||
modernc.org/opt v0.1.3 // indirect
|
||||
modernc.org/strutil v1.1.1 // indirect
|
||||
modernc.org/token v1.0.0 // indirect
|
||||
)
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWp
|
|||
github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU=
|
||||
github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE=
|
||||
github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
|
||||
github.com/golang-jwt/jwt/v4 v4.4.0 h1:EmVIxB5jzbllGIjiCV5JG4VylbK3KE400tLGLI1cdfU=
|
||||
github.com/golang-jwt/jwt/v4 v4.4.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg=
|
||||
github.com/golang-jwt/jwt/v4 v4.4.1 h1:pC5DB52sCeK48Wlb9oPcdhnjkz1TKt1D/P7WKJ0kUcQ=
|
||||
github.com/golang-jwt/jwt/v4 v4.4.1/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0=
|
||||
github.com/google/go-cmp v0.5.3 h1:x95R7cp+rSeeqAMI2knLtQ0DKlaBhv2NrtrOvafPHRo=
|
||||
github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
|
||||
|
|
@ -23,8 +23,8 @@ github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:C
|
|||
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
|
||||
github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y=
|
||||
github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
|
||||
github.com/mattn/go-sqlite3 v1.14.10 h1:MLn+5bFRlWMGoSRmJour3CL1w/qL96mvipqpwQW/Sfk=
|
||||
github.com/mattn/go-sqlite3 v1.14.10/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
|
||||
github.com/mattn/go-sqlite3 v1.14.12 h1:TJ1bhYJPV44phC+IMu1u2K/i5RriLTPe+yc68XDJ1Z0=
|
||||
github.com/mattn/go-sqlite3 v1.14.12/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
|
||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 h1:OdAsTTz6OkFY5QxjkYwrChwuRruF69c169dPK26NUlk=
|
||||
|
|
@ -49,8 +49,8 @@ golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwY
|
|||
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
||||
golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/net v0.0.0-20220225172249-27dd8689420f h1:oA4XRj0qtSt8Yo1Zms0CUlsT3KG69V2UGQWPBxujDmc=
|
||||
golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
|
||||
golang.org/x/net v0.0.0-20220325170049-de3da57026de h1:pZB1TWnKi+o4bENlbzAgLrEbY4RMYmUIRobMcSmfeYc=
|
||||
golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
|
||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
|
|
@ -68,8 +68,8 @@ golang.org/x/sys v0.0.0-20210902050250-f475640dd07b/go.mod h1:oPkhp1MJrh7nUepCBc
|
|||
golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8 h1:OH54vjqzRWmbJ62fjuhxy7AxFFgoHN0/DPc/UrL8cAs=
|
||||
golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220330033206-e17cdc41300f h1:rlezHXNlxYWvBCzNses9Dlc7nGFaNMJeqLolcmQSSZY=
|
||||
golang.org/x/sys v0.0.0-20220330033206-e17cdc41300f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
|
|
@ -157,8 +157,9 @@ modernc.org/ccgo/v3 v3.15.12/go.mod h1:VFePOWoCd8uDGRJpq/zfJ29D0EVzMSyID8LCMWYbX
|
|||
modernc.org/ccgo/v3 v3.15.14/go.mod h1:144Sz2iBCKogb9OKwsu7hQEub3EVgOlyI8wMUPGKUXQ=
|
||||
modernc.org/ccgo/v3 v3.15.15/go.mod h1:z5qltXjU4PJl0pE5nhYQCvA9DhPHiWsl5GWl89+NSYE=
|
||||
modernc.org/ccgo/v3 v3.15.16/go.mod h1:XbKRMeMWMdq712Tr5ECgATYMrzJ+g9zAZEj2ktzBe24=
|
||||
modernc.org/ccgo/v3 v3.15.17 h1:svaDk4rfh7XQPBwkqzjKK8bta/vK4VVL3JP6ZLbcr0w=
|
||||
modernc.org/ccgo/v3 v3.15.17/go.mod h1:bofnFkpRFf5gLY+mBZIyTW6FEcp26xi2lgOFk2Rlvs0=
|
||||
modernc.org/ccgo/v3 v3.15.18 h1:X5ym656Ye7/ubL+wox0SeF9aRX5od1UDFn1tAbQR+90=
|
||||
modernc.org/ccgo/v3 v3.15.18/go.mod h1:/2lv3WjHyanEr2sAPdGKRC38n6f0werut9BRXUjjX+A=
|
||||
modernc.org/ccorpus v1.11.1/go.mod h1:2gEUTrWqdpH2pXsmTM1ZkjeSrUWDpjMu2T6m29L/ErQ=
|
||||
modernc.org/ccorpus v1.11.6 h1:J16RXiiqiCgua6+ZvQot4yUuUy8zxgqbqEEUuGPlISk=
|
||||
modernc.org/ccorpus v1.11.6/go.mod h1:2gEUTrWqdpH2pXsmTM1ZkjeSrUWDpjMu2T6m29L/ErQ=
|
||||
|
|
@ -222,10 +223,11 @@ modernc.org/memory v1.0.5/go.mod h1:B7OYswTRnfGg+4tDH1t1OeUNnsy2viGTdME4tzd+IjM=
|
|||
modernc.org/memory v1.0.6/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw=
|
||||
modernc.org/memory v1.0.7 h1:UE3cxTRFa5tfUibAV7Jqq8P7zRY0OlJg+yWVIIaluEE=
|
||||
modernc.org/memory v1.0.7/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw=
|
||||
modernc.org/opt v0.1.1 h1:/0RX92k9vwVeDXj+Xn23DKp2VJubL7k8qNffND6qn3A=
|
||||
modernc.org/opt v0.1.1/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0=
|
||||
modernc.org/sqlite v1.15.3 h1:3C4AWicF7S5vUUFJuBi7Ws8eWlPjqyo/c4Z1UGYBbyg=
|
||||
modernc.org/sqlite v1.15.3/go.mod h1:J7GAPbk8Txp0DJnT8TGwpUqJW0Z1cK2YpzjoXaZRU8k=
|
||||
modernc.org/opt v0.1.3 h1:3XOZf2yznlhC+ibLltsDGzABUGVx8J6pnFMS3E4dcq4=
|
||||
modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0=
|
||||
modernc.org/sqlite v1.15.4 h1:pr3EA3Rety3j1c/9pCyGAe5d3vjF6wQwusHdgGCjIqc=
|
||||
modernc.org/sqlite v1.15.4/go.mod h1:Jwe13ItpESZ+78K5WS6+AjXsUg+JvirsjN3iIDO4C8k=
|
||||
modernc.org/strutil v1.1.1 h1:xv+J1BXY3Opl2ALrBwyfEikFAj8pmqcpnfmuwUwcozs=
|
||||
modernc.org/strutil v1.1.1/go.mod h1:DE+MQQ/hjKBZS2zNInV5hhcipt5rLPWkmpbGeW5mmdw=
|
||||
modernc.org/tcl v1.11.2 h1:mXpsx3AZqJt83uDiFu9UYQVBjNjaWKGCF1YDSlpCL6Y=
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ func ParseSdrTrunkMeta(call *Call, controller *Controller) error {
|
|||
return err
|
||||
}
|
||||
|
||||
s = regexp.MustCompile(`^([0-9]+) ?(.+)$`).FindStringSubmatch(m.Artist())
|
||||
s = regexp.MustCompile(`^([0-9]+) ?(.*)$`).FindStringSubmatch(m.Artist())
|
||||
if len(s) >= 2 {
|
||||
if i, err = strconv.Atoi(s[1]); err != nil {
|
||||
return err
|
||||
|
|
@ -49,7 +49,7 @@ func ParseSdrTrunkMeta(call *Call, controller *Controller) error {
|
|||
if i > 0 {
|
||||
call.Source = uint(i)
|
||||
|
||||
if len(s) == 3 && len(s[2]) > 0 {
|
||||
if len(s) >= 3 && len(s[2]) > 0 {
|
||||
if call.units == nil {
|
||||
call.units = NewUnits()
|
||||
}
|
||||
|
|
|
|||
|
|
@ -42,6 +42,9 @@ func (scheduler *Scheduler) pruneDatabase() error {
|
|||
return nil
|
||||
}
|
||||
|
||||
scheduler.Controller.IngestLock()
|
||||
defer scheduler.Controller.IngestUnlock()
|
||||
|
||||
scheduler.Controller.Logs.LogEvent(scheduler.Controller.Database, LogLevelInfo, "database pruning")
|
||||
|
||||
if err := scheduler.Controller.Calls.Prune(scheduler.Controller.Database, scheduler.Controller.Options.PruneDays); err != nil {
|
||||
|
|
|
|||
|
|
@ -15,4 +15,4 @@
|
|||
|
||||
package main
|
||||
|
||||
const Version = "6.2.2"
|
||||
const Version = "6.2.3"
|
||||
|
|
|
|||
Loading…
Reference in a new issue