Version 6.0.7

This commit is contained in:
Chrystian Huot 2021-12-16 10:59:58 -05:00
parent 4f3b77e87f
commit d2ab9235d7
13 changed files with 1062 additions and 964 deletions

View file

@ -56,6 +56,10 @@ _v6.0.6_
- Fixed SDRTunk parser when artist tag contains CTCSS tones.
- Platforms linux/amd64, linux/arm and linux/arm64 are now available for the Docker container.
_v6.0.7_
- Fix dropped connections when going through a proxy.
## Version 5.2
- Change to how the server reports version.

View file

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

View file

@ -16,8 +16,8 @@
################################################################################
app := rdio-scanner
date := 2021/12/13
ver := 6.0.6
date := 2021/12/16
ver := 6.0.7
client := $(wildcard client/*.json client/*.ts)
server := $(wildcard server/*.go)

1675
client/package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -1,31 +1,31 @@
{
"author": "Chrystian Huot <chrystian.huot@saubeo.solutions>",
"dependencies": {
"@angular/animations": "^13.1.0",
"@angular/cdk": "^13.1.0",
"@angular/common": "~13.1.0",
"@angular/compiler": "~13.1.0",
"@angular/core": "~13.1.0",
"@angular/forms": "~13.1.0",
"@angular/material": "^13.1.0",
"@angular/platform-browser": "~13.1.0",
"@angular/platform-browser-dynamic": "~13.1.0",
"@angular/router": "^13.1.0",
"@angular/service-worker": "^13.1.0",
"@angular/animations": "^13.1.1",
"@angular/cdk": "^13.1.1",
"@angular/common": "~13.1.1",
"@angular/compiler": "~13.1.1",
"@angular/core": "~13.1.1",
"@angular/forms": "~13.1.1",
"@angular/material": "^13.1.1",
"@angular/platform-browser": "~13.1.1",
"@angular/platform-browser-dynamic": "~13.1.1",
"@angular/router": "^13.1.1",
"@angular/service-worker": "^13.1.1",
"rxjs": "~7.4.0",
"tslib": "^2.3.1",
"zone.js": "~0.11.4"
},
"devDependencies": {
"@angular-devkit/build-angular": "~13.1.0",
"@angular/cli": "^13.1.0",
"@angular/compiler-cli": "~13.1.0",
"@types/node": "~16.11.12",
"@typescript-eslint/eslint-plugin": "^5.6.0",
"@typescript-eslint/parser": "^5.6.0",
"@angular-devkit/build-angular": "~13.1.2",
"@angular/cli": "^13.1.2",
"@angular/compiler-cli": "~13.1.1",
"@types/node": "~17.0.0",
"@typescript-eslint/eslint-plugin": "^5.7.0",
"@typescript-eslint/parser": "^5.7.0",
"ajv-keywords": "^5.1.0",
"eslint": "^8.4.1",
"npm-check-updates": "^12.0.3",
"npm-check-updates": "^12.0.5",
"ts-node": "~10.4.0",
"typescript": "~4.4.4"
},
@ -39,5 +39,5 @@
"build": "ng build --base-href ./ --configuration production",
"start": "ng serve"
},
"version": "6.0.6"
"version": "6.0.7"
}

View file

@ -41,8 +41,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.0.6.zip
Archive: /Users/rdio/Downloads/rdio-scanner-darwin-arm64-v6.0.6.zip
> ~/Downloads/rdio-scanner-darwin-arm64-v6.0.7.zip
Archive: /Users/rdio/Downloads/rdio-scanner-darwin-arm64-v6.0.7.zip
inflating: rdio-scanner
inflating: rdio-scanner.pdf
@ -50,11 +50,11 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd
rdio@macos rdio-scanner % ./rdio-scanner
Rdio Scanner v6.0.6
Rdio Scanner v6.0.7
----------------------------------
2021/12/13 08:38:06 server started
2021/12/13 08:38:06 main interface at http://macos.local:3000
2021/12/13 08:38:06 admin interface at http://macos.local:3000/admin
2021/12/16 08:38:06 server started
2021/12/16 08:38:06 main interface at http://macos.local:3000
2021/12/16 08:38:06 admin interface at http://macos.local:3000/admin
4. Access the administrative dashboard to finalize the configuration.
@ -76,11 +76,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.0.6
Rdio Scanner v6.0.7
----------------------------------
2021/12/13 08:48:03 server started
2021/12/13 08:48:03 main interface at http://macos.local
2021/12/13 08:48:03 admin interface at http://macos.local/admin
2021/12/16 08:48:03 server started
2021/12/16 08:48:03 main interface at http://macos.local
2021/12/16 08:48:03 admin interface at http://macos.local/admin
## Listening with SSL with self-signed certificates
@ -89,8 +89,8 @@ It is advised to share your [Rdio Scanner](https://github.com/chuot/rdio-scanner
We can create such self-signed certificates by running [Rdio Scanner](https://github.com/chuot/rdio-scanner) with the **-ssl_create** argument.
rdio@macos rdio-scanner % ./rdio-scanner -ssl_create
2021/12/13 08:49:16 generating ssl certificate files
2021/12/13 08:49:17 ssl files created
2021/12/16 08:49:16 generating ssl certificate files
2021/12/16 08:49:17 ssl files created
This has generated these files in the same folder as your [Rdio Scanner](https://github.com/chuot/rdio-scanner) executable.
@ -107,12 +107,12 @@ Now we use the self-signed server certificate to run our instance.
> -ssl_key_file server.key \
> -ssl_listen :443
Rdio Scanner v6.0.6
Rdio Scanner v6.0.7
----------------------------------
2021/12/13 08:50:58 server started
2021/12/13 08:50:58 main interface at http://macos.local
2021/12/13 08:50:58 main interface at https://macos.local
2021/12/13 08:50:58 admin interface at https://macos.local/admin
2021/12/16 08:50:58 server started
2021/12/16 08:50:58 main interface at http://macos.local
2021/12/16 08:50:58 main interface at https://macos.local
2021/12/16 08:50:58 admin interface at https://macos.local/admin
## Save your advanced configuration to a config file
@ -124,7 +124,7 @@ You don't want to have to type everytime a long list of arguments. No problem, y
> -ssl_key_file server.key \
> -ssl_listen :443 \
> -config_save
2021/12/13 08:52:24 rdio-scanner.ini file created
2021/12/16 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.
@ -139,12 +139,12 @@ Then simply run [Rdio Scanner](https://github.com/chuot/rdio-scanner) without an
rdio@macos rdio-scanner % ./rdio-scanner
Rdio Scanner v6.0.6
Rdio Scanner v6.0.7
----------------------------------
2021/12/13 08:54:08 server started
2021/12/13 08:54:08 main interface at http://macos.local
2021/12/13 08:54:08 main interface at https://macos.local
2021/12/13 08:54:08 admin interface at https://macos.local/admin
2021/12/16 08:54:08 server started
2021/12/16 08:54:08 main interface at http://macos.local
2021/12/16 08:54:08 main interface at https://macos.local
2021/12/16 08:54:08 admin interface at https://macos.local/admin
## Install Rdio Scanner as a service

View file

@ -41,8 +41,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.0.6.zip
Archive: ../rdio-scanner-freebsd-amd64-v6.0.6.zip
> ~/rdio-scanner-freebsd-amd64-v6.0.7.zip
Archive: ../rdio-scanner-freebsd-amd64-v6.0.7.zip
extracting: rdio-scanner
extracting: rdio-scanner.pdf
@ -50,11 +50,11 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd
rdio@pc-freebsd:~/rdio-scanner $ ./rdio-scanner
Rdio Scanner v6.0.6
Rdio Scanner v6.0.7
----------------------------------
2021/12/13 08:16:36 server started
2021/12/13 08:16:36 main interface at http://pc-freebsd:3000
2021/12/13 08:16:36 admin interface at http://pc-freebsd:3000/admin
2021/12/16 08:16:36 server started
2021/12/16 08:16:36 main interface at http://pc-freebsd:3000
2021/12/16 08:16:36 admin interface at http://pc-freebsd:3000/admin
4. Access the administrative dashboard to finalize the configuration.
@ -80,11 +80,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.0.6
Rdio Scanner v6.0.7
----------------------------------
2021/12/13 08:19:38 server started
2021/12/13 08:19:38 main interface at http://pc-freebsd
2021/12/13 08:19:38 admin interface at http://pc-freebsd/admin
2021/12/16 08:19:38 server started
2021/12/16 08:19:38 main interface at http://pc-freebsd
2021/12/16 08:19:38 admin interface at http://pc-freebsd/admin
## Listening with SSL with self-signed certificates
@ -93,8 +93,8 @@ It is advised to share your [Rdio Scanner](https://github.com/chuot/rdio-scanner
We can create such self-signed certificates by running [Rdio Scanner](https://github.com/chuot/rdio-scanner) with the **-ssl_create** argument.
rdio@pc-freebsd:~/rdio-scanner $ ./rdio-scanner -ssl_create
2021/12/13 10:32:17 generating ssl certificate files
2021/12/13 10:32:19 ssl files created
2021/12/16 10:32:17 generating ssl certificate files
2021/12/16 10:32:19 ssl files created
This has generated these files in the same folder as your [Rdio Scanner](https://github.com/chuot/rdio-scanner) executable.
@ -113,12 +113,12 @@ Now we use the self-signed server certificate to run our instance.
> -ssl_key_file server.key \
> -ssl_listen :443
Rdio Scanner v6.0.6
Rdio Scanner v6.0.7
----------------------------------
2021/12/13 10:34:29 server started
2021/12/13 10:34:29 main interface at http://pc-freebsd
2021/12/13 10:34:29 main interface at https://pc-freebsd
2021/12/13 10:34:29 admin interface at https://pc-freebsd/admin
2021/12/16 10:34:29 server started
2021/12/16 10:34:29 main interface at http://pc-freebsd
2021/12/16 10:34:29 main interface at https://pc-freebsd
2021/12/16 10:34:29 admin interface at https://pc-freebsd/admin
## Save your advanced configuration to a config file
@ -130,7 +130,7 @@ You don't want to have to type everytime a long list of arguments. No problem, y
> -ssl_key_file server.key \
> -ssl_listen :443 \
> -config_save
2021/12/13 10:37:00 rdio-scanner.ini file created
2021/12/16 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.
@ -147,12 +147,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.0.6
Rdio Scanner v6.0.7
----------------------------------
2021/12/13 10:38:28 server started
2021/12/13 10:38:29 main interface at http://pc-freebsd
2021/12/13 10:38:29 main interface at https://pc-freebsd
2021/12/13 10:38:29 admin interface at https://pc-freebsd/admin
2021/12/16 10:38:28 server started
2021/12/16 10:38:29 main interface at http://pc-freebsd
2021/12/16 10:38:29 main interface at https://pc-freebsd
2021/12/16 10:38:29 admin interface at https://pc-freebsd/admin
## Install Rdio Scanner as a service

View file

@ -41,8 +41,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.0.6.zip
Archive: /home/rdio/Downloads/rdio-scanner-linux-amd64-v6.0.6.zip
> ~/Downloads/rdio-scanner-linux-amd64-v6.0.7.zip
Archive: /home/rdio/Downloads/rdio-scanner-linux-amd64-v6.0.7.zip
inflating: rdio-scanner
inflating: rdio-scanner.pdf
@ -50,11 +50,11 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd
[rdio@pc-linux rdio-scanner]$ ./rdio-scanner
Rdio Scanner v6.0.6
Rdio Scanner v6.0.7
----------------------------------
2021/12/13 09:11:48 server started
2021/12/13 09:11:48 main interface at http://pc-linux:3000
2021/12/13 09:11:48 admin interface at http://pc-linux:3000/admin
2021/12/16 09:11:48 server started
2021/12/16 09:11:48 main interface at http://pc-linux:3000
2021/12/16 09:11:48 admin interface at http://pc-linux: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@pc-linux rdio-scanner]$ sudo ./rdio-scanner -listen :80
[sudo] password for rdio:
Rdio Scanner v6.0.6
Rdio Scanner v6.0.7
----------------------------------
2021/12/13 09:14:00 server started
2021/12/13 09:14:00 main interface at http://pc-linux
2021/12/13 09:14:00 admin interface at http://pc-linux/admin
2021/12/16 09:14:00 server started
2021/12/16 09:14:00 main interface at http://pc-linux
2021/12/16 09:14:00 admin interface at http://pc-linux/admin
## Listening with SSL with self-signed certificates
@ -90,8 +90,8 @@ It is advised to share your [Rdio Scanner](https://github.com/chuot/rdio-scanner
We can create such self-signed certificates by running [Rdio Scanner](https://github.com/chuot/rdio-scanner) with the **-ssl_create** argument.
[rdio@pc-linux rdio-scanner]$ ./rdio-scanner -ssl_create
2021/12/13 09:15:03 generating ssl certificate files
2021/12/13 09:15:05 ssl files created
2021/12/16 09:15:03 generating ssl certificate files
2021/12/16 09:15:05 ssl files created
This has generated these files in the same folder as your [Rdio Scanner](https://github.com/chuot/rdio-scanner) executable.
@ -109,12 +109,12 @@ Now we use the self-signed server certificate to run our instance.
> -ssl_listen :443
[sudo] password for rdio:
Rdio Scanner v6.0.6
Rdio Scanner v6.0.7
----------------------------------
2021/12/13 09:16:47 server started
2021/12/13 09:16:47 main interface at http://pc-linux
2021/12/13 09:16:47 main interface at https://pc-linux
2021/12/13 09:16:47 admin interface at https://pc-linux/admin
2021/12/16 09:16:47 server started
2021/12/16 09:16:47 main interface at http://pc-linux
2021/12/16 09:16:47 main interface at https://pc-linux
2021/12/16 09:16:47 admin interface at https://pc-linux/admin
## Save your advanced configuration to a config file
@ -126,7 +126,7 @@ You don't want to have to type everytime a long list of arguments. No problem, y
> -ssl_key_file server.key \
> -ssl_listen :443 \
> -config_save
2021/12/13 09:19:29 rdio-scanner.ini file created
2021/12/16 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.
@ -142,12 +142,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.0.6
Rdio Scanner v6.0.7
----------------------------------
2021/12/13 09:20:40 server started
2021/12/13 09:20:40 main interface at http://pc-linux
2021/12/13 09:20:40 main interface at https://pc-linux
2021/12/13 09:20:40 admin interface at https://pc-linux/admin
2021/12/16 09:20:40 server started
2021/12/16 09:20:40 main interface at http://pc-linux
2021/12/16 09:20:40 main interface at https://pc-linux
2021/12/16 09:20:40 admin interface at https://pc-linux/admin
## Install Rdio Scanner as a service

View file

@ -43,7 +43,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.0.6.zip
..\downloads\rdio-scanner-windows-amd64-v6.0.7.zip
x rdio-scanner.exe
x rdio-scanner.pdf
@ -51,11 +51,11 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd
C:\Users\rdio\rdio-scanner>rdio-scanner
Rdio Scanner v6.0.6
Rdio Scanner v6.0.7
----------------------------------
2021/12/13 13:48:48 server started
2021/12/13 13:48:48 main interface at http://pc-windows:3000
2021/12/13 13:48:48 admin interface at http://pc-windows:3000/admin
2021/12/16 13:48:48 server started
2021/12/16 13:48:48 main interface at http://pc-windows:3000
2021/12/16 13:48:48 admin interface at http://pc-windows: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
C:\Users\rdio\rdio-scanner>rdio-scanner -listen :80
Rdio Scanner v6.0.6
Rdio Scanner v6.0.7
----------------------------------
2021/12/13 10:53:31 server started
2021/12/13 10:53:31 main interface at http://pc-windows
2021/12/13 10:53:31 admin interface at http://pc-windows/admin
2021/12/16 10:53:31 server started
2021/12/16 10:53:31 main interface at http://pc-windows
2021/12/16 10:53:31 admin interface at http://pc-windows/admin
## Listening with SSL with self-signed certificates
@ -90,8 +90,8 @@ It is advised to share your [Rdio Scanner](https://github.com/chuot/rdio-scanner
We can create such self-signed certificates by running [Rdio Scanner](https://github.com/chuot/rdio-scanner) with the **-ssl_create** argument.
C:\Users\rdio\rdio-scanner>rdio-scanner -ssl_create
2021/12/13 10:58:51 generating ssl certificate files
2021/12/13 10:58:54 ssl files created
2021/12/16 10:58:51 generating ssl certificate files
2021/12/16 10:58:54 ssl files created
This has generated these files in the same folder as your [Rdio Scanner](https://github.com/chuot/rdio-scanner) executable.
@ -108,12 +108,12 @@ Now we use the self-signed server certificate to run our instance.
-ssl_key_file server.key ^
-ssl_listen :443
Rdio Scanner v6.0.6
Rdio Scanner v6.0.7
----------------------------------
2021/12/13 11:05:43 server started
2021/12/13 11:05:43 main interface at http://pc-windows
2021/12/13 11:05:43 main interface at https://pc-windows
2021/12/13 11:05:43 admin interface at https://pc-windows/admin
2021/12/16 11:05:43 server started
2021/12/16 11:05:43 main interface at http://pc-windows
2021/12/16 11:05:43 main interface at https://pc-windows
2021/12/16 11:05:43 admin interface at https://pc-windows/admin
## Save your advanced configuration to a config file
@ -125,7 +125,7 @@ You don't want to have to type everytime a long list of arguments. No problem, y
-ssl_key_file server.key ^
-ssl_listen :443 ^
-config_save
2021/12/13 11:08:28 rdio-scanner.ini file created
2021/12/16 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.
@ -140,12 +140,12 @@ Then simply run [Rdio Scanner](https://github.com/chuot/rdio-scanner) without an
C:\Users\rdio\rdio-scanner>rdio-scanner
Rdio Scanner v6.0.6
Rdio Scanner v6.0.7
----------------------------------
2021/12/13 11:11:28 server started
2021/12/13 11:11:28 main interface at http://pc-windows
2021/12/13 11:11:28 main interface at https://pc-windows
2021/12/13 11:11:28 admin interface at https://pc-windows/admin
2021/12/16 11:11:28 server started
2021/12/16 11:11:28 main interface at http://pc-windows
2021/12/16 11:11:28 main interface at https://pc-windows
2021/12/16 11:11:28 admin interface at https://pc-windows/admin
\pagebreak{}

View file

@ -19,6 +19,7 @@ import (
"errors"
"fmt"
"log"
"time"
"github.com/gorilla/websocket"
)
@ -55,6 +56,8 @@ func (client *Client) Init(controller *Controller, conn *websocket.Conn) error {
controller.Register <- client
go func() {
client.Conn.SetReadDeadline(time.Time{})
for {
_, b, err := client.Conn.ReadMessage()
if err != nil {
@ -77,29 +80,45 @@ func (client *Client) Init(controller *Controller, conn *websocket.Conn) error {
}()
go func() {
ticker := time.NewTicker(30 * time.Second)
defer func() {
ticker.Stop()
controller.Unregister <- client
}()
for {
message, ok := <-client.Send
if !ok {
break
}
if client.Conn == nil {
break
}
b, err := message.ToJson()
if err != nil {
log.Println(fmt.Errorf("client.message.tojson: %v", err))
} else {
if err = client.Conn.WriteMessage(websocket.TextMessage, b); err != nil {
log.Println(fmt.Errorf("client.conn.writemessage: %v", err))
select {
case message, ok := <-client.Send:
if !ok {
break
}
if client.Conn == nil {
break
}
b, err := message.ToJson()
if err != nil {
log.Println(fmt.Errorf("client.message.tojson: %v", err))
} else {
client.Conn.SetWriteDeadline(time.Now().Add(30 * time.Second))
if err = client.Conn.WriteMessage(websocket.TextMessage, b); err != nil {
log.Println(fmt.Errorf("client.conn.writemessage: %v", err))
break
}
}
case <-ticker.C:
client.Conn.SetWriteDeadline(time.Now().Add(30 * time.Second))
if err := client.Conn.WriteMessage(websocket.PingMessage, nil); err != nil {
return
}
}
}
controller.Unregister <- client
}()
return nil

View file

@ -10,9 +10,9 @@ require (
github.com/google/uuid v1.3.0
github.com/gorilla/websocket v1.4.2
github.com/kardianos/service v1.2.0
golang.org/x/crypto v0.0.0-20211209193657-4570a0811e8b
golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3
gopkg.in/ini.v1 v1.66.2
modernc.org/sqlite v1.14.2
modernc.org/sqlite v1.14.3
)
require (
@ -21,15 +21,15 @@ require (
github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 // indirect
github.com/stretchr/testify v1.7.0 // indirect
golang.org/x/mod v0.5.1 // indirect
golang.org/x/net v0.0.0-20211209124913-491a49abca63 // indirect
golang.org/x/sys v0.0.0-20211210111614-af8b64212486 // indirect
golang.org/x/net v0.0.0-20211216030914-fe4d6282115f // indirect
golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e // indirect
golang.org/x/text v0.3.7 // indirect
golang.org/x/tools v0.1.8 // indirect
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect
lukechampine.com/uint128 v1.1.1 // indirect
modernc.org/cc/v3 v3.35.18 // indirect
modernc.org/ccgo/v3 v3.12.88 // indirect
modernc.org/libc v1.11.90 // indirect
modernc.org/ccgo/v3 v3.12.95 // indirect
modernc.org/libc v1.11.104 // indirect
modernc.org/mathutil v1.4.1 // indirect
modernc.org/memory v1.0.5 // indirect
modernc.org/opt v0.1.1 // indirect

View file

@ -37,8 +37,8 @@ github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20211209193657-4570a0811e8b h1:QAqMVf3pSa6eeTsuklijukjXBlj7Es2QQplab+/RbQ4=
golang.org/x/crypto v0.0.0-20211209193657-4570a0811e8b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3 h1:0es+/5331RGQPcXlMfP+WrnIIS6dNnNRe0WB02W0F4M=
golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.5.1 h1:OJxoQ/rynoF0dcCdI7cLPktw/hR2cueqYfjm43oqK38=
golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro=
@ -47,8 +47,8 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
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-20211209124913-491a49abca63 h1:iocB37TsdFuN6IBRZ+ry36wrkoV51/tl5vOWqkcPGvY=
golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20211216030914-fe4d6282115f h1:hEYJvxw1lSnWIl8X9ofsYMklzaDs90JI2az5YMd4fPM=
golang.org/x/net v0.0.0-20211216030914-fe4d6282115f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
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=
@ -65,8 +65,8 @@ golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20210902050250-f475640dd07b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
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-20211210111614-af8b64212486 h1:5hpz5aRr+W1erYCL5JRhSUBJRph7l9XkNveoExlrKYk=
golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e h1:fLOSk5Q00efkSvAm+4xcoXD+RRmLmmulPn5I3Y9F2EM=
golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
@ -134,16 +134,17 @@ modernc.org/ccgo/v3 v3.12.55/go.mod h1:rsXiIyJi9psOwiBkplOaHye5L4MOOaCjHg1Fxkj7I
modernc.org/ccgo/v3 v3.12.56/go.mod h1:ljeFks3faDseCkr60JMpeDb2GSO3TKAmrzm7q9YOcMU=
modernc.org/ccgo/v3 v3.12.57/go.mod h1:hNSF4DNVgBl8wYHpMvPqQWDQx8luqxDnNGCMM4NFNMc=
modernc.org/ccgo/v3 v3.12.60/go.mod h1:k/Nn0zdO1xHVWjPYVshDeWKqbRWIfif5dtsIOCUVMqM=
modernc.org/ccgo/v3 v3.12.65/go.mod h1:D6hQtKxPNZiY6wDBtehSGKFKmyXn53F8nGTpH+POmS4=
modernc.org/ccgo/v3 v3.12.66/go.mod h1:jUuxlCFZTUZLMV08s7B1ekHX5+LIAurKTTaugUr/EhQ=
modernc.org/ccgo/v3 v3.12.67/go.mod h1:Bll3KwKvGROizP2Xj17GEGOTrlvB1XcVaBrC90ORO84=
modernc.org/ccgo/v3 v3.12.73/go.mod h1:hngkB+nUUqzOf3iqsM48Gf1FZhY599qzVg1iX+BT3cQ=
modernc.org/ccgo/v3 v3.12.81/go.mod h1:p2A1duHoBBg1mFtYvnhAnQyI6vL0uw5PGYLSIgF6rYY=
modernc.org/ccgo/v3 v3.12.82/go.mod h1:ApbflUfa5BKadjHynCficldU1ghjen84tuM5jRynB7w=
modernc.org/ccgo/v3 v3.12.84/go.mod h1:ApbflUfa5BKadjHynCficldU1ghjen84tuM5jRynB7w=
modernc.org/ccgo/v3 v3.12.86/go.mod h1:dN7S26DLTgVSni1PVA3KxxHTcykyDurf3OgUzNqTSrU=
modernc.org/ccgo/v3 v3.12.88 h1:4CULh7Y1zIU2yvCgU2iDANAwikAmrI65upXkE/Ai/lI=
modernc.org/ccgo/v3 v3.12.88/go.mod h1:0MFzUHIuSIthpVZyMWiFYMwjiFnhrN5MkvBrUwON+ZM=
modernc.org/ccgo/v3 v3.12.90/go.mod h1:obhSc3CdivCRpYZmrvO88TXlW0NvoSVvdh/ccRjJYko=
modernc.org/ccgo/v3 v3.12.92/go.mod h1:5yDdN7ti9KWPi5bRVWPl8UNhpEAtCjuEE7ayQnzzqHA=
modernc.org/ccgo/v3 v3.12.95 h1:Ym2JG2G3P4IyZqjTTojHTl7qO0RysXeGSYPSoKPSBxc=
modernc.org/ccgo/v3 v3.12.95/go.mod h1:ZcLyvtocXYi8uF+9Ebm3G8EF8HNY5hGomBqthDp4eC8=
modernc.org/ccorpus v1.11.1 h1:K0qPfpVG1MJh5BYazccnmhywH4zHuOgJXgbjzyp6dWA=
modernc.org/ccorpus v1.11.1/go.mod h1:2gEUTrWqdpH2pXsmTM1ZkjeSrUWDpjMu2T6m29L/ErQ=
modernc.org/httpfs v1.0.6 h1:AAgIpFZRXuYnkjftxTAZwMIiwEqAfk8aVB2/oA6nAeM=
@ -177,15 +178,18 @@ modernc.org/libc v1.11.54/go.mod h1:S/FVnskbzVUrjfBqlGFIPA5m7UwB3n9fojHhCNfSsnw=
modernc.org/libc v1.11.55/go.mod h1:j2A5YBRm6HjNkoSs/fzZrSxCuwWqcMYTDPLNx0URn3M=
modernc.org/libc v1.11.56/go.mod h1:pakHkg5JdMLt2OgRadpPOTnyRXm/uzu+Yyg/LSLdi18=
modernc.org/libc v1.11.58/go.mod h1:ns94Rxv0OWyoQrDqMFfWwka2BcaF6/61CqJRK9LP7S8=
modernc.org/libc v1.11.70/go.mod h1:DUOmMYe+IvKi9n6Mycyx3DbjfzSKrdr/0Vgt3j7P5gw=
modernc.org/libc v1.11.71/go.mod h1:DUOmMYe+IvKi9n6Mycyx3DbjfzSKrdr/0Vgt3j7P5gw=
modernc.org/libc v1.11.75/go.mod h1:dGRVugT6edz361wmD9gk6ax1AbDSe0x5vji0dGJiPT0=
modernc.org/libc v1.11.82/go.mod h1:NF+Ek1BOl2jeC7lw3a7Jj5PWyHPwWD4aq3wVKxqV1fI=
modernc.org/libc v1.11.86/go.mod h1:ePuYgoQLmvxdNT06RpGnaDKJmDNEkV7ZPKI2jnsvZoE=
modernc.org/libc v1.11.87/go.mod h1:Qvd5iXTeLhI5PS0XSyqMY99282y+3euapQFxM7jYnpY=
modernc.org/libc v1.11.88/go.mod h1:h3oIVe8dxmTcchcFuCcJ4nAWaoiwzKCdv82MM0oiIdQ=
modernc.org/libc v1.11.90 h1:iBtBAI7GR0tljqnaa7rtCkql2xZNYLG9Nq53oTYipwE=
modernc.org/libc v1.11.90/go.mod h1:ynK5sbjsU77AP+nn61+k+wxUGRx9rOFcIqWYYMaDZ4c=
modernc.org/libc v1.11.98/go.mod h1:ynK5sbjsU77AP+nn61+k+wxUGRx9rOFcIqWYYMaDZ4c=
modernc.org/libc v1.11.99/go.mod h1:wLLYgEiY2D17NbBOEp+mIJJJBGSiy7fLL4ZrGGZ+8jI=
modernc.org/libc v1.11.101/go.mod h1:wLLYgEiY2D17NbBOEp+mIJJJBGSiy7fLL4ZrGGZ+8jI=
modernc.org/libc v1.11.104 h1:gxoa5b3HPo7OzD4tKZjgnwXk/w//u1oovvjSMP3Q96Q=
modernc.org/libc v1.11.104/go.mod h1:2MH3DaF/gCU8i/UBiVE1VFRos4o523M7zipmwH8SIgQ=
modernc.org/mathutil v1.1.1/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=
modernc.org/mathutil v1.2.2/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=
modernc.org/mathutil v1.4.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=
@ -196,13 +200,13 @@ modernc.org/memory v1.0.5 h1:XRch8trV7GgvTec2i7jc33YlUI0RKVDBvZ5eZ5m8y14=
modernc.org/memory v1.0.5/go.mod h1:B7OYswTRnfGg+4tDH1t1OeUNnsy2viGTdME4tzd+IjM=
modernc.org/opt v0.1.1 h1:/0RX92k9vwVeDXj+Xn23DKp2VJubL7k8qNffND6qn3A=
modernc.org/opt v0.1.1/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0=
modernc.org/sqlite v1.14.2 h1:ohsW2+e+Qe2To1W6GNezzKGwjXwSax6R+CrhRxVaFbE=
modernc.org/sqlite v1.14.2/go.mod h1:yqfn85u8wVOE6ub5UT8VI9JjhrwBUUCNyTACN0h6Sx8=
modernc.org/sqlite v1.14.3 h1:psrTwgpEujgWEP3FNdsC9yNh5tSeA77U0GeWhHH4XmQ=
modernc.org/sqlite v1.14.3/go.mod h1:xMpicS1i2MJ4C8+Ap0vYBqTwYfpFvdnPE6brbFOtV2Y=
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.8.13 h1:V0sTNBw0Re86PvXZxuCub3oO9WrSTqALgrwNZNvLFGw=
modernc.org/tcl v1.8.13/go.mod h1:V+q/Ef0IJaNUSECieLU4o+8IScapxnMyFV6i/7uQlAY=
modernc.org/tcl v1.9.2 h1:YA87dFLOsR2KqMka371a2Xgr+YsyUwo7OmHVSv/kztw=
modernc.org/tcl v1.9.2/go.mod h1:aw7OnlIoiuJgu1gwbTZtrKnGpDqH9wyH++jZcxdqNsg=
modernc.org/token v1.0.0 h1:a0jaWiNMDhDUtqOj09wvjWWAqd3q7WpBulmL9H2egsk=
modernc.org/token v1.0.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM=
modernc.org/z v1.2.19 h1:BGyRFWhDVn5LFS5OcX4Yd/MlpRTOc7hOPTdcIpCiUao=
modernc.org/z v1.2.19/go.mod h1:+ZpP0pc4zz97eukOzW3xagV/lS82IpPN9NGG5pNF9vY=
modernc.org/z v1.2.20 h1:DyboxM1sJR2NB803j2StnbnL6jcQXz273OhHDGu8dGk=
modernc.org/z v1.2.20/go.mod h1:zU9FiF4PbHdOTUxw+IF8j7ArBMRPsHgq10uVPt6xTzo=

View file

@ -15,4 +15,4 @@
package main
const Version = "6.0.6"
const Version = "6.0.7"