Realm listener with node - node.js
since the dotnet version of Realm.Server has a problem with certificates (see https://forums.realm.io/t/net-realm-server-notifier-startasync-never-connects-to-realm-cloud-instance-because-of-ssl-exception/1625), it was suggested by realm to use the nodejs package.
I am quite new to nodejs and so I tried to implement a change event listener using node. All that based on https://docs.realm.io/platform/using-synced-realms/server-side-usage/data-change-events#creating-event-handlers-in-node-js.
Unfortunatly I am not able to get it working.
The node process stops running when realm is trying to connect (or at least is doing something in background). Anyhow the addListener method makes it stop.
I am sorry but there is not much I could provide. I've attached my sample code and the console output of the node process.
Does anyone has any experience with it? Or any tips where I could look up for some detailed logs, etc.?
Thanks in advance!!
'use strict';
const realm = require('realm');
const http = require('http');
const name = 'node-hello-world';
const port = '8888';
const app = new http.Server();
// the URL to the Realm Object Server
const realmUrl = '//myinstance.de1a.cloud.realm.io';
const userName = 'admin';
const userPassword = 'AnyPassword';
// The regular expression you provide restricts the observed Realm files to only the subset you
// are actually interested in. This is done in a separate step to avoid the cost
// of computing the fine-grained change set if it's not necessary.
const notifierPath = '^/([^/]+)/user-data';
//declare admin user
let adminUser = undefined;
// The handleChange callback is called for every observed Realm file whenever it
// has changes. It is called with a change event which contains the path, the Realm,
// a version of the Realm from before the change, and indexes indication all objects
// which were added, deleted, or modified in this change
var handleChange = async function(changeEvent) {
// Extract the user ID from the virtual path, assuming that we're using
// a filter which only subscribes us to updates of user-scoped Realms.
var matches = changeEvent.path.match("^/([^/]+)/([^/]+)$");
var userId = matches[1];
var r = changeEvent.realm;
console.log(`Change event for ${userId}`);
};
// register the event handler callback
async function main() {
try {
realm.Sync.setLogLevel('all');
console.log("Creating instance of credentials");
var credentials = realm.Sync.Credentials.usernamePassword(userName, userPassword);
console.log("Logging in user.");
adminUser = await realm.Sync.User.login(`https:${realmUrl}`, credentials);
console.log(`Adding realm listener for path ${notifierPath}`);
//if this line was called, the console will exit in a few seconds; if not the node process will continue running
realm.Sync.addListener(`realms:${realmUrl}`, adminUser, notifierPath, 'change', handleChange);
console.log("Added listener");
} catch (exception) {
console.log("An error has occured.");
console.log(exception);
}
}
main();
app.on('request', (req, res) => {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.write('Hello World');
res.end('\n');
});
app.listen(port, () => {
console.log(`${name} is listening on port ${port}`);
});
------------------------------
Path>node app.js
Creating instance of credentials
Logging in user.
node-hello-world is listening on port 8888
Adding realm listener for path ^/([^/]+)/user-data
Global notifier: start()
Realm sync client ([realm-core-5.10.1], [realm-sync-3.10.0], protocol version 25)
Config param: max_open_files = 256
Config param: one_connection_per_session = 1
Config param: connect_timeout = 600000 ms
Config param: connection_linger_time = 30000 ms
Config param: ping_keepalive_period = 600000 ms
Config param: pong_keepalive_timeout = 600000 ms
Config param: fast_reconnect_limit = 60000 ms
Config param: enable_upload_log_compaction = 1
Config param: tcp_no_delay = 0
Added listener
Connection[1]: WebSocket::Websocket()
Connection[1]: Session[1]: Binding 'Path\realm-object-server\listener\realms.realm' to '/__admin'
Connection[1]: Session[1]: Activating
Opening Realm file: Path\realm-object-server\listener\realms.realm
Connection[1]: Session[1]: last_version_available = 0
Connection[1]: Session[1]: progress_server_version = 0
Connection[1]: Session[1]: progress_client_version = 0
Using already open Realm file: Path\realm-object-server\listener\realms.realm
Connection[1]: Session[1]: Progress handler called, downloaded = 0, downloadable = 0, uploaded = 0, uploadable = 0, progress version = 0, snapshot version = 1
Connection[1]: Resolving 'myinstance.de1a.cloud.realm.io:443'
Connection[1]: Connecting to endpoint '18.185.186.xx:443' (1/3)
Connection[1]: Connected to endpoint '18.185.186.xx:443' (from '127.0.0.1:53094')
Connection[1]: Verifying server SSL certificate using root certificates, host name = myinstance.de1a.cloud.realm.io, server port = 443, certificate =
-----BEGIN CERTIFICATE-----
MIIEdTCCA12gAwIBAgIJAKcOSkw0grd/MA0GCSqGSIb3DQEBCwUAMGgxCzAJBgNV
BAYTAlVTMSUwIwYDVQQKExxTdGFyZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTIw
MAYDVQQLEylTdGFyZmllbGQgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0
eTAeFw0wOTA5MDIwMDAwMDBaFw0zNDA2MjgxNzM5MTZaMIGYMQswCQYDVQQGEwJV
UzEQMA4GA1UECBMHQXJpem9uYTETMBEGA1UEBxMKU2NvdHRzZGFsZTElMCMGA1UE
ChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjE7MDkGA1UEAxMyU3RhcmZp
ZWxkIFNlcnZpY2VzIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IC0gRzIwggEi
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDVDDrEKvlO4vW+GZdfjohTsR8/
y8+fIBNtKTrID30892t2OGPZNmCom15cAICyL1l/9of5JUOG52kbUpqQ4XHj2C0N
Tm/2yEnZtvMaVq4rtnQU68/7JuMauh2WLmo7WJSJR1b/JaCTcFOD2oR0FMNnngRo
Ot+OQFodSk7PQ5E751bWAHDLUu57fa4657wx+UX2wmDPE1kCK4DMNEffud6QZW0C
zyyRpqbn3oUYSXxmTqM6bam17jQuug0DuDPfR+uxa40l2ZvOgdFFRjKWcIfeAg5J
Q4W2bHO7ZOphQazJ1FTfhy/HIrImzJ9ZVGif/L4qL8RVHHVAYBeFAlU5i38FAgMB
AAGjgfAwge0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0O
BBYEFJxfAN+qAdcwKziIorhtSpzyEZGDMB8GA1UdIwQYMBaAFL9ft9HO3R+G9FtV
rNzXEMIOqYjnME8GCCsGAQUFBwEBBEMwQTAcBggrBgEFBQcwAYYQaHR0cDovL28u
c3MyLnVzLzAhBggrBgEFBQcwAoYVaHR0cDovL3guc3MyLnVzL3guY2VyMCYGA1Ud
HwQfMB0wG6AZoBeGFWh0dHA6Ly9zLnNzMi51cy9yLmNybDARBgNVHSAECjAIMAYG
BFUdIAAwDQYJKoZIhvcNAQELBQADggEBACMd44pXyn3pF3lM8R5V/cxTbj5HD9/G
VfKyBDbtgB9TxF00KGu+x1X8Z+rLP3+QsjPNG1gQggL4+C/1E2DUBc7xgQjB3ad1
l08YuW3e95ORCLp+QCztweq7dp4zBncdDQh/U90bZKuCJ/Fp1U1ervShw3WnWEQt
8jxwmKy6abaVd38PMV4s/KCHOkdp8Hlf9BRUpJVeEXgSYCfOn8J3/yNTd126/+pZ
59vPr5KW7ySaNRB6nJHGDn2Z9j8Z3/VyVOEVqQdZe4O/Ui5GjLIAZHYcSNPYeehu
VsyuLAOQ1xk4meTKCRlb/weWsKh/NEnfVqn3sF/tM+2MR7cwA130A4w=
-----END CERTIFICATE-----
Connection[1]: Verifying server SSL certificate using 155 root certificates
Connection[1]: Server SSL certificate verified using root certificate(29):
-----BEGIN CERTIFICATE-----
MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzElMCMGA1UE
ChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZpZWxkIENs
YXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQwNjI5MTczOTE2WhcNMzQwNjI5
MTczOTE2WjBoMQswCQYDVQQGEwJVUzElMCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2ll
cywgSW5jLjEyMDAGA1UECxMpU3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRo
b3JpdHkwggEgMA0GCSqGSIb3DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N
78gDGIc/oav7PKaf8MOh2tTYbitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMe
j2YcOadN+lq2cwQlZut3f+dZxkqZJRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0
X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVmepsZGD3/cVE8MC5fvj13c7JdBmzDI1aaK4Umkhyn
ArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSNF4Azbl5KXZnJHoe0nRrA1W4TNSNe35tfPe/W
93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HFMIHCMB0GA1UdDgQWBBS/X7fRzt0fhvRb
Vazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fRzt0fhvRbVazc1xDCDqmI56FspGowaDEL
MAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAw
BgNVBAsTKVN0YXJmaWVsZCBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwG
A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGsafPzWdqbAYcaT1ep
oXkJKtv3L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLMPUxA2IGvd56D
eruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJlxy16paq8
U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynpVSJYACPq4xJDKVtH
CN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEYWQPJIrSPnNVeKtelttQKbfi3
QBFGmh95DmK/D5fs4C8fF5Q=
-----END CERTIFICATE-----
Connection[1]: WebSocket::initiate_client_handshake()
Connection[1]: HTTP request =
GET /realm-sync/%2F__admin HTTP/1.1
Authorization: Realm-Access-Token version=1 token="xxx"
Connection: Upgrade
Host: myinstance.de1a.cloud.realm.io
Sec-WebSocket-Key: 0TpYePZIZMhOid08TiAQzw==
Sec-WebSocket-Protocol: io.realm.sync.25
Sec-WebSocket-Version: 13
Upgrade: websocket
Connection[1]: WebSocket::handle_http_response_received()
Connection[1]: HTTP response = HTTP/1.1 101 Switching Protocols
Connection: upgrade
Date: Sun, 14 Oct 2018 11:22:13 GMT
sec-websocket-accept: A/hVVKTFOsJneK3U/SBQMisIyIg=
sec-websocket-protocol: io.realm.sync.25
Server: nginx/1.13.5
upgrade: websocket
Connection[1]: Will emit a ping in 467729 milliseconds
Connection[1]: Session[1]: Sending: BIND(path='/__admin', signed_user_token_size=601, need_client_file_ident=1)
Connection[1]: Session[1]: Received: IDENT(client_file_ident=13, client_file_ident_salt=7274062357029523918)
Using already open Realm file: Path\realm-object-server\listener\realms.realm
Connection[1]: Session[1]: Sending: IDENT(client_file_ident=13, client_file_ident_salt=7274062357029523918, scan_server_version=0, scan_client_version=0, latest_server_version=0, latest_server_version_salt=0)
Connection[1]: Session[1]: Sending: MARK(request_ident=2)
Download message compression: is_body_compressed = 1, compressed_body_size=2054, uncompressed_body_size=5474
Received: DOWNLOAD CHANGESET(server_version=1, client_version=0, origin_timestamp=119025057956, origin_file_ident=2, original_changeset_size=370, changeset_size=370)
Changeset: 3F 00 07 41 63 63 6F 75 6E 74 3F 01 0A 50 65 72 6D 69 73 73 69 6F 6E 3F 02 09 52 65 61 6C 6D 46 69 6C 65 3F 03 04 70 61 74 68 3F 04 04 55 73 65 72 3F 05 06 75 73 65 72 49 64 3F 06 0F 55 73 65 72 4D 65 74 61 64 61 74 61 52 6F 77 3F 07 08 70 72 6F 76 69 64 65 72 3F 08 0A 70 72 6F 76 69 64 65 72 49 64 3F 09 04 75 73 65 72 3F 0A 09 72 65 61 6C 6D 46 69 6C 65 3F 0B 07 6D 61 79 52 65 61 64 3F 0C 08 6D 61 79 57 72 69 74 65 3F 0D 09 6D 61 79 4D 61 6E 61 67 65 3F 0E 09 75 70 64 61 74 65 64 41 74 3F 0F 09 72 65 61 6C 6D 54 79 70 65 3F 10 09 73 79 6E 63 4C 61 62 65 6C 3F 11 05 6F 77 6E 65 72 3F 12 09 63 72 65 61 74 65 64 41 74 3F 13 07 69 73 41 64 6D 69 6E 3F 14 08 61 63 63 6F 75 6E 74 73 3F 15 08 6D 65 74 61 64 61 74 61 3F 16 03 6B 65 79 3F 17 05 76 61 6C 75 65 02 00 00 02 01 00 02 02 01 03 02 00 02 04 01 05 02 00 02 06 00 00 00 0B 07 02 00 00 0B 08 02 00 00 00 01 0B 09 0C 00 04 0B 0A 0C 00 02 0B 0B 01 00 00 0B 0C 01 00 00 0B 0D 01 00 00 0B 0E 08 00 00 00 02 0B 0F 02 00 00 0B 10 02 00 00 0B 11 0C 00 04 0B 12 08 00 00 00 04 0B 13 01 00 00 0B 14 0D 00 00 0B 15 0D 00 06 00 06 0B 16 02 00 00 0B 17 02 00 00
Received: DOWNLOAD CHANGESET(server_version=2, client_version=0, origin_timestamp=119025057963, origin_file_ident=2, original_changeset_size=208, changeset_size=208)
Changeset: 3F 00 09 52 65 61 6C 6D 46 69 6C 65 3F 01 09 72 65 61 6C 6D 54 79 70 65 3F 02 09 73 79 6E 63 4C 61 62 65 6C 3F 03 05 6F 77 6E 65 72 3F 04 09 63 72 65 61 74 65 64 41 74 00 00 04 D5 88 82 E0 F4 F3 85 E4 E0 00 A4 E3 DF D7 AD A0 B3 BA 07 02 08 2F 64 65 66 61 75 6C 74 06 02 01 D5 88 82 E0 F4 F3 85 E4 E0 00 A4 E3 DF D7 AD A0 B3 BA 07 00 09 72 65 66 65 72 65 6E 63 65 06 02 02 D5 88 82 E0 F4 F3 85 E4 E0 00 A4 E3 DF D7 AD A0 B3 BA 07 00 07 64 65 66 61 75 6C 74 06 40 03 D5 88 82 E0 F4 F3 85 E4 E0 00 A4 E3 DF D7 AD A0 B3 BA 07 00 06 08 04 D5 88 82 E0 F4 F3 85 E4 E0 00 A4 E3 DF D7 AD A0 B3 BA 07 00 A1 F7 F2 DD 05 C0 ED 98 CB 03
Received: DOWNLOAD CHANGESET(server_version=3, client_version=0, origin_timestamp=119025058022, origin_file_ident=2, original_changeset_size=202, changeset_size=202)
Changeset: 3F 00 09 52 65 61 6C 6D 46 69 6C 65 3F 01 09 72 65 61 6C 6D 54 79 70 65 3F 02 09 73 79 6E 63 4C 61 62 65 6C 3F 03 05 6F 77 6E 65 72 3F 04 09 63 72 65 61 74 65 64 41 74 00 00 04 C1 CF E7 BE C5 FA 94 88 07 AD E1 ED 8E 8E 83 8F D2 D0 00 02 08 2F 5F 5F 61 64 6D 69 6E 06 02 01 C1 CF E7 BE C5 FA 94 88 07 AD E1 ED 8E 8E 83 8F D2 D0 00 00 04 66 75 6C 6C 06 02 02 C1 CF E7 BE C5 FA 94 88 07 AD E1 ED 8E 8E 83 8F D2 D0 00 00 07 64 65 66 61 75 6C 74 06 40 03 C1 CF E7 BE C5 FA 94 88 07 AD E1 ED 8E 8E 83 8F D2 D0 00 00 06 08 04 C1 CF E7 BE C5 FA 94 88 07 AD E1 ED 8E 8E 83 8F D2 D0 00 00 A2 F7 F2 DD 05 80 E3 BE 0A
Received: DOWNLOAD CHANGESET(server_version=4, client_version=0, origin_timestamp=119025058024, origin_file_ident=2, original_changeset_size=201, changeset_size=201)
Changeset: 3F 00 09 52 65 61 6C 6D 46 69 6C 65 3F 01 09 72 65 61 6C 6D 54 79 70 65 3F 02 09 73 79 6E 63 4C 61 62 65 6C 3F 03 05 6F 77 6E 65 72 3F 04 09 63 72 65 61 74 65 64 41 74 00 00 04 D5 C0 D0 E0 A8 C1 8C EB EE 01 9A F3 F6 F5 D9 BE D2 99 37 02 07 2F 5F 5F 70 65 72 6D 06 02 01 D5 C0 D0 E0 A8 C1 8C EB EE 01 9A F3 F6 F5 D9 BE D2 99 37 00 04 66 75 6C 6C 06 02 02 D5 C0 D0 E0 A8 C1 8C EB EE 01 9A F3 F6 F5 D9 BE D2 99 37 00 07 64 65 66 61 75 6C 74 06 40 03 D5 C0 D0 E0 A8 C1 8C EB EE 01 9A F3 F6 F5 D9 BE D2 99 37 00 06 08 04 D5 C0 D0 E0 A8 C1 8C EB EE 01 9A F3 F6 F5 D9 BE D2 99 37 00 A2 F7 F2 DD 05 80 EC B8 0B
Received: DOWNLOAD CHANGESET(server_version=5, client_version=0, origin_timestamp=119025058029, origin_file_ident=2, original_changeset_size=221, changeset_size=221)
Changeset: 3F 00 09 52 65 61 6C 6D 46 69 6C 65 3F 01 09 72 65 61 6C 6D 54 79 70 65 3F 02 09 73 79 6E 63 4C 61 62 65 6C 3F 03 05 6F 77 6E 65 72 3F 04 09 63 72 65 61 74 65 64 41 74 00 00 04 B2 F8 DA D1 D7 8D 8F FF C7 01 BD EE F4 A5 FA DB D4 C2 FC 01 02 16 2F 5F 5F 77 69 6C 64 63 61 72 64 70 65 72 6D 69 73 73 69 6F 6E 73 06 02 01 B2 F8 DA D1 D7 8D 8F FF C7 01 BD EE F4 A5 FA DB D4 C2 FC 01 00 04 66 75 6C 6C 06 02 02 B2 F8 DA D1 D7 8D 8F FF C7 01 BD EE F4 A5 FA DB D4 C2 FC 01 00 07 64 65 66 61 75 6C 74 06 40 03 B2 F8 DA D1 D7 8D 8F FF C7 01 BD EE F4 A5 FA DB D4 C2 FC 01 00 06 08 04 B2 F8 DA D1 D7 8D 8F FF C7 01 BD EE F4 A5 FA DB D4 C2 FC 01 00 A2 F7 F2 DD 05 C0 82 EA 0D
Received: DOWNLOAD CHANGESET(server_version=6, client_version=0, origin_timestamp=119025058030, origin_file_ident=2, original_changeset_size=215, changeset_size=215)
Changeset: 3F 00 09 52 65 61 6C 6D 46 69 6C 65 3F 01 09 72 65 61 6C 6D 54 79 70 65 3F 02 09 73 79 6E 63 4C 61 62 65 6C 3F 03 05 6F 77 6E 65 72 3F 04 09 63 72 65 61 74 65 64 41 74 00 00 04 BD F9 DE AC C3 D1 DF 9F D0 01 F7 EC A4 D8 9A 88 A5 A3 EB 01 02 10 2F 5F 5F 63 6F 6E 66 69 67 75 72 61 74 69 6F 6E 06 02 01 BD F9 DE AC C3 D1 DF 9F D0 01 F7 EC A4 D8 9A 88 A5 A3 EB 01 00 04 66 75 6C 6C 06 02 02 BD F9 DE AC C3 D1 DF 9F D0 01 F7 EC A4 D8 9A 88 A5 A3 EB 01 00 07 64 65 66 61 75 6C 74 06 40 03 BD F9 DE AC C3 D1 DF 9F D0 01 F7 EC A4 D8 9A 88 A5 A3 EB 01 00 06 08 04 BD F9 DE AC C3 D1 DF 9F D0 01 F7 EC A4 D8 9A 88 A5 A3 EB 01 00 A2 F7 F2 DD 05 80 87 A7 0E
Received: DOWNLOAD CHANGESET(server_version=7, client_version=0, origin_timestamp=119025058068, origin_file_ident=2, original_changeset_size=180, changeset_size=180)
Changeset: 3F 00 04 55 73 65 72 3F 01 07 69 73 41 64 6D 69 6E 3F 02 07 41 63 63 6F 75 6E 74 3F 03 08 70 72 6F 76 69 64 65 72 3F 04 0A 70 72 6F 76 69 64 65 72 49 64 3F 05 08 61 63 63 6F 75 6E 74 73 00 00 04 8E C8 AA AB FC ED C0 8E EB 01 C1 AC DB FD BE E9 C9 A9 0C 02 07 5F 5F 61 64 6D 69 6E 06 01 01 8E C8 AA AB FC ED C0 8E EB 01 C1 AC DB FD BE E9 C9 A9 0C 00 01 00 02 04 02 00 00 06 02 03 02 00 00 05 72 65 61 6C 6D 06 02 04 02 00 00 07 5F 5F 61 64 6D 69 6E 00 00 01 05 8E C8 AA AB FC ED C0 8E EB 01 C1 AC DB FD BE E9 C9 A9 0C 02 0E 0C 00 00 02 02 00
Received: DOWNLOAD CHANGESET(server_version=8, client_version=0, origin_timestamp=119025058091, origin_file_ident=2, original_changeset_size=164, changeset_size=164)
Changeset: 3F 00 0A 50 65 72 6D 69 73 73 69 6F 6E 3F 01 04 75 73 65 72 3F 02 09 52 65 61 6C 6D 46 69 6C 65 3F 03 09 72 65 61 6C 6D 46 69 6C 65 3F 04 07 6D 61 79 52 65 61 64 3F 05 08 6D 61 79 57 72 69 74 65 3F 06 09 6D 61 79 4D 61 6E 61 67 65 3F 07 09 75 70 64 61 74 65 64 41 74 00 00 04 02 00 00 06 40 01 02 00 00 06 0C 03 02 00 00 02 B2 F8 DA D1 D7 8D 8F FF C7 01 BD EE F4 A5 FA DB D4 C2 FC 01 06 01 04 02 00 00 01 06 01 05 02 00 00 00 06 01 06 02 00 00 00 06 08 07 02 00 00 A2 F7 F2 DD 05 C0 99 B2 2B
Received: DOWNLOAD CHANGESET(server_version=9, client_version=0, origin_timestamp=119025058092, origin_file_ident=2, original_changeset_size=163, changeset_size=163)
Changeset: 3F 00 0A 50 65 72 6D 69 73 73 69 6F 6E 3F 01 04 75 73 65 72 3F 02 09 52 65 61 6C 6D 46 69 6C 65 3F 03 09 72 65 61 6C 6D 46 69 6C 65 3F 04 07 6D 61 79 52 65 61 64 3F 05 08 6D 61 79 57 72 69 74 65 3F 06 09 6D 61 79 4D 61 6E 61 67 65 3F 07 09 75 70 64 61 74 65 64 41 74 00 00 04 02 01 00 06 40 01 02 01 00 06 0C 03 02 01 00 02 D5 C0 D0 E0 A8 C1 8C EB EE 01 9A F3 F6 F5 D9 BE D2 99 37 06 01 04 02 01 00 01 06 01 05 02 01 00 00 06 01 06 02 01 00 00 06 08 07 02 01 00 A2 F7 F2 DD 05 80 9E EF 2B
Received: DOWNLOAD CHANGESET(server_version=10, client_version=0, origin_timestamp=119025058119, origin_file_ident=2, original_changeset_size=237, changeset_size=237)
Changeset: 3F 00 09 52 65 61 6C 6D 46 69 6C 65 3F 01 09 72 65 61 6C 6D 54 79 70 65 3F 02 09 73 79 6E 63 4C 61 62 65 6C 3F 03 04 55 73 65 72 3F 04 05 6F 77 6E 65 72 3F 05 09 63 72 65 61 74 65 64 41 74 00 00 04 82 AD AB 8D A8 BD E3 D4 D9 01 FC DA CA A1 C6 CA F6 F0 EF 00 02 0B 2F 5F 5F 70 61 73 73 77 6F 72 64 06 02 01 82 AD AB 8D A8 BD E3 D4 D9 01 FC DA CA A1 C6 CA F6 F0 EF 00 00 04 66 75 6C 6C 06 02 02 82 AD AB 8D A8 BD E3 D4 D9 01 FC DA CA A1 C6 CA F6 F0 EF 00 00 07 64 65 66 61 75 6C 74 06 0C 04 82 AD AB 8D A8 BD E3 D4 D9 01 FC DA CA A1 C6 CA F6 F0 EF 00 00 03 8E C8 AA AB FC ED C0 8E EB 01 C1 AC DB FD BE E9 C9 A9 0C 06 08 05 82 AD AB 8D A8 BD E3 D4 D9 01 FC DA CA A1 C6 CA F6 F0 EF 00 00 A2 F7 F2 DD 05 C0 97 DF 38
Received: DOWNLOAD CHANGESET(server_version=11, client_version=0, origin_timestamp=119025058319, origin_file_ident=2, original_changeset_size=203, changeset_size=203)
Changeset: 3F 00 04 55 73 65 72 3F 01 07 69 73 41 64 6D 69 6E 3F 02 07 41 63 63 6F 75 6E 74 3F 03 08 70 72 6F 76 69 64 65 72 3F 04 0A 70 72 6F 76 69 64 65 72 49 64 3F 05 08 61 63 63 6F 75 6E 74 73 00 00 04 F5 B4 A5 81 FC F6 F9 EC C5 00 A8 A5 E5 DA ED F8 FD F7 E5 00 02 0B 72 65 61 6C 6D 2D 61 64 6D 69 6E 06 01 01 F5 B4 A5 81 FC F6 F9 EC C5 00 A8 A5 E5 DA ED F8 FD F7 E5 00 00 01 00 02 04 02 01 00 06 02 03 02 01 00 11 6A 77 74 2F 63 65 6E 74 72 61 6C 2D 6F 77 6E 65 72 06 02 04 02 01 00 0B 72 65 61 6C 6D 2D 61 64 6D 69 6E 00 00 01 05 F5 B4 A5 81 FC F6 F9 EC C5 00 A8 A5 E5 DA ED F8 FD F7 E5 00 02 0E 0C 00 00 02 02 01
Received: DOWNLOAD CHANGESET(server_version=12, client_version=0, origin_timestamp=119025076163, origin_file_ident=2, original_changeset_size=243, changeset_size=243)
Changeset: 3F 00 04 55 73 65 72 3F 01 07 69 73 41 64 6D 69 6E 3F 02 07 41 63 63 6F 75 6E 74 3F 03 08 70 72 6F 76 69 64 65 72 3F 04 0A 70 72 6F 76 69 64 65 72 49 64 3F 05 08 61 63 63 6F 75 6E 74 73 00 00 04 E7 AB C7 A5 E1 B6 BF C4 E9 01 D3 B0 F1 FF C9 F1 B1 BD D0 01 02 1F 73 79 73 74 65 6D 2D 61 63 63 65 73 73 69 62 69 6C 69 74 79 2D 74 65 73 74 73 2D 75 73 65 72 06 01 01 E7 AB C7 A5 E1 B6 BF C4 E9 01 D3 B0 F1 FF C9 F1 B1 BD D0 01 00 00 00 02 04 02 02 00 06 02 03 02 02 00 11 6A 77 74 2F 63 65 6E 74 72 61 6C 2D 61 64 6D 69 6E 06 02 04 02 02 00 1F 73 79 73 74 65 6D 2D 61 63 63 65 73 73 69 62 69 6C 69 74 79 2D 74 65 73 74 73 2D 75 73 65 72 00 00 01 05 E7 AB C7 A5 E1 B6 BF C4 E9 01 D3 B0 F1 FF C9 F1 B1 BD D0 01 02 0E 0C 00 00 02 02 02
Received: DOWNLOAD CHANGESET(server_version=13, client_version=0, origin_timestamp=119025559655, origin_file_ident=2, original_changeset_size=203, changeset_size=180)
Changeset: 3F 00 04 55 73 65 72 3F 01 07 69 73 41 64 6D 69 6E 3F 02 07 41 63 63 6F 75 6E 74 3F 03 08 70 72 6F 76 69 64 65 72 3F 04 0A 70 72 6F 76 69 64 65 72 49 64 3F 05 08 61 63 63 6F 75 6E 74 73 00 00 04 CA F1 CD DC 8C BF 9C DD 05 8F FD 81 EC E5 E0 A8 8C 3F 02 20 35 38 37 65 37 33 38 30 38 36 30 34 39 37 66 37 35 32 37 38 65 30 32 39 64 35 37 33 39 37 63 39 00 02 04 02 03 00 06 02 03 02 03 00 08 70 61 73 73 77 6F 72 64 06 02 04 02 03 00 05 61 64 6D 69 6E 00 00 01 05 CA F1 CD DC 8C BF 9C DD 05 8F FD 81 EC E5 E0 A8 8C 3F 02 0E 0C 00 00 02 02 03
Received: DOWNLOAD CHANGESET(server_version=14, client_version=0, origin_timestamp=119118101955, origin_file_ident=5, original_changeset_size=42, changeset_size=42)
Changeset: 3F 00 04 55 73 65 72 3F 01 07 69 73 41 64 6D 69 6E 00 00 06 01 01 CA F1 CD DC 8C BF 9C DD 05 8F FD 81 EC E5 E0 A8 8C 3F 00 01
Received: DOWNLOAD CHANGESET(server_version=15, client_version=0, origin_timestamp=119118127936, origin_file_ident=2, original_changeset_size=322, changeset_size=322)
Changeset: 3F 00 09 52 65 61 6C 6D 46 69 6C 65 3F 01 09 72 65 61 6C 6D 54 79 70 65 3F 02 09 73 79 6E 63 4C 61 62 65 6C 3F 03 04 55 73 65 72 3F 04 05 6F 77 6E 65 72 3F 05 09 63 72 65 61 74 65 64 41 74 00 00 04 99 F1 D7 F8 83 8F 9D 9C C3 01 96 F3 C4 AC C6 B4 B3 89 B0 01 02 DC 00 2F 64 65 66 61 75 6C 74 2F 5F 5F 70 61 72 74 69 61 6C 2F 35 38 37 65 37 33 38 30 38 36 30 34 39 37 66 37 35 32 37 38 65 30 32 39 64 35 37 33 39 37 63 39 2F 64 39 32 66 32 64 30 34 65 61 36 37 64 62 65 30 33 66 65 30 32 39 36 63 63 33 33 38 65 62 38 63 61 35 37 32 66 31 61 37 06 02 01 99 F1 D7 F8 83 8F 9D 9C C3 01 96 F3 C4 AC C6 B4 B3 89 B0 01 00 07 70 61 72 74 69 61 6C 06 02 02 99 F1 D7 F8 83 8F 9D 9C C3 01 96 F3 C4 AC C6 B4 B3 89 B0 01 00 07 64 65 66 61 75 6C 74 06 0C 04 99 F1 D7 F8 83 8F 9D 9C C3 01 96 F3 C4 AC C6 B4 B3 89 B0 01 00 03 CA F1 CD DC 8C BF 9C DD 05 8F FD 81 EC E5 E0 A8 8C 3F 06 08 05 99 F1 D7 F8 83 8F 9D 9C C3 01 96 F3 C4 AC C6 B4 B3 89 B0 01 00 AF CE F8 DD 05 80 F4 A8 BE 03
Received: DOWNLOAD CHANGESET(server_version=16, client_version=0, origin_timestamp=119120628443, origin_file_ident=2, original_changeset_size=317, changeset_size=317)
Changeset: 3F 00 09 52 65 61 6C 6D 46 69 6C 65 3F 01 09 72 65 61 6C 6D 54 79 70 65 3F 02 09 73 79 6E 63 4C 61 62 65 6C 3F 03 04 55 73 65 72 3F 04 05 6F 77 6E 65 72 3F 05 09 63 72 65 61 74 65 64 41 74 00 00 04 A6 C0 A4 C6 AA A3 E3 EC 2F 99 B7 CE BF D8 9E A6 CA C0 01 02 DC 00 2F 64 65 66 61 75 6C 74 2F 5F 5F 70 61 72 74 69 61 6C 2F 35 38 37 65 37 33 38 30 38 36 30 34 39 37 66 37 35 32 37 38 65 30 32 39 64 35 37 33 39 37 63 39 2F 37 65 35 36 38 34 36 33 36 66 39 63 62 31 32 31 35 32 35 63 64 62 66 38 31 32 33 39 31 32 64 36 31 30 66 39 62 38 62 30 06 02 01 A6 C0 A4 C6 AA A3 E3 EC 2F 99 B7 CE BF D8 9E A6 CA C0 01 00 07 70 61 72 74 69 61 6C 06 02 02 A6 C0 A4 C6 AA A3 E3 EC 2F 99 B7 CE BF D8 9E A6 CA C0 01 00 07 64 65 66 61 75 6C 74 06 0C 04 A6 C0 A4 C6 AA A3 E3 EC 2F 99 B7 CE BF D8 9E A6 CA C0 01 00 03 CA F1 CD DC 8C BF 9C DD 05 8F FD 81 EC E5 E0 A8 8C 3F 06 08 05 A6 C0 A4 C6 AA A3 E3 EC 2F 99 B7 CE BF D8 9E A6 CA C0 01 00 F4 E1 F8 DD 05 C0 C9 9E D3 01
Received: DOWNLOAD CHANGESET(server_version=17, client_version=0, origin_timestamp=119125943861, origin_file_ident=2, original_changeset_size=237, changeset_size=237)
Changeset: 3F 00 04 55 73 65 72 3F 01 07 69 73 41 64 6D 69 6E 3F 02 07 41 63 63 6F 75 6E 74 3F 03 08 70 72 6F 76 69 64 65 72 3F 04 0A 70 72 6F 76 69 64 65 72 49 64 3F 05 08 61 63 63 6F 75 6E 74 73 00 00 04 FB FF AB CD 89 DD 94 96 9C 01 D3 C3 DC DE BF E6 ED A0 D6 01 02 20 62 36 39 30 65 32 37 31 30 62 37 39 37 34 64 63 37 34 35 32 36 32 62 34 66 61 62 30 30 35 36 37 06 01 01 FB FF AB CD 89 DD 94 96 9C 01 D3 C3 DC DE BF E6 ED A0 D6 01 00 00 00 02 04 02 04 00 06 02 03 02 04 00 09 61 6E 6F 6E 79 6D 6F 75 73 06 02 04 02 04 00 20 30 37 31 62 32 66 35 38 33 66 35 35 31 36 34 35 34 30 32 35 64 61 37 33 62 33 66 63 62 30 63 62 00 00 01 05 FB FF AB CD 89 DD 94 96 9C 01 D3 C3 DC DE BF E6 ED A0 D6 01 02 0E 0C 00 00 02 02 04
Received: DOWNLOAD CHANGESET(server_version=18, client_version=0, origin_timestamp=119125944405, origin_file_ident=2, original_changeset_size=319, changeset_size=319)
Changeset: 3F 00 09 52 65 61 6C 6D 46 69 6C 65 3F 01 09 72 65 61 6C 6D 54 79 70 65 3F 02 09 73 79 6E 63 4C 61 62 65 6C 3F 03 04 55 73 65 72 3F 04 05 6F 77 6E 65 72 3F 05 09 63 72 65 61 74 65 64 41 74 00 00 04 C0 84 EF F4 9A DF 9A 8F 3A F9 BB AC E9 8C B7 CB B9 E0 00 02 DC 00 2F 64 65 66 61 75 6C 74 2F 5F 5F 70 61 72 74 69 61 6C 2F 62 36 39 30 65 32 37 31 30 62 37 39 37 34 64 63 37 34 35 32 36 32 62 34 66 61 62 30 30 35 36 37 2F 63 61 39 38 33 37 30 61 37 64 32 37 65 36 65 66 31 35 64 30 32 33 62 61 61 39 61 38 64 39 61 66 65 37 30 65 39 61 32 35 06 02 01 C0 84 EF F4 9A DF 9A 8F 3A F9 BB AC E9 8C B7 CB B9 E0 00 00 07 70 61 72 74 69 61 6C 06 02 02 C0 84 EF F4 9A DF 9A 8F 3A F9 BB AC E9 8C B7 CB B9 E0 00 00 07 64 65 66 61 75 6C 74 06 0C 04 C0 84 EF F4 9A DF 9A 8F 3A F9 BB AC E9 8C B7 CB B9 E0 00 00 03 FB FF AB CD 89 DD 94 96 9C 01 D3 C3 DC DE BF E6 ED A0 D6 01 06 08 05 C0 84 EF F4 9A DF 9A 8F 3A F9 BB AC E9 8C B7 CB B9 E0 00 00 B8 8B F9 DD 05 C0 9E 8F C1 01
Received: DOWNLOAD CHANGESET(server_version=19, client_version=0, origin_timestamp=119221571875, origin_file_ident=2, original_changeset_size=237, changeset_size=237)
Changeset: 3F 00 04 55 73 65 72 3F 01 07 69 73 41 64 6D 69 6E 3F 02 07 41 63 63 6F 75 6E 74 3F 03 08 70 72 6F 76 69 64 65 72 3F 04 0A 70 72 6F 76 69 64 65 72 49 64 3F 05 08 61 63 63 6F 75 6E 74 73 00 00 04 FF E6 E6 8D A6 9F DC 85 B8 01 CC D9 B6 E9 B8 99 A4 98 DF 01 02 20 66 39 36 62 35 34 36 37 66 35 38 64 63 61 37 36 66 36 64 65 64 66 30 62 36 34 65 31 34 37 32 38 06 01 01 FF E6 E6 8D A6 9F DC 85 B8 01 CC D9 B6 E9 B8 99 A4 98 DF 01 00 00 00 02 04 02 05 00 06 02 03 02 05 00 09 61 6E 6F 6E 79 6D 6F 75 73 06 02 04 02 05 00 20 62 31 64 34 61 30 32 32 65 37 34 33 33 65 31 37 61 36 37 30 39 32 63 33 66 66 30 36 34 65 36 64 00 00 01 05 FF E6 E6 8D A6 9F DC 85 B8 01 CC D9 B6 E9 B8 99 A4 98 DF 01 02 0E 0C 00 00 02 02 05
Received: DOWNLOAD CHANGESET(server_version=20, client_version=0, origin_timestamp=119221573405, origin_file_ident=2, original_changeset_size=319, changeset_size=319)
Changeset: 3F 00 09 52 65 61 6C 6D 46 69 6C 65 3F 01 09 72 65 61 6C 6D 54 79 70 65 3F 02 09 73 79 6E 63 4C 61 62 65 6C 3F 03 04 55 73 65 72 3F 04 05 6F 77 6E 65 72 3F 05 09 63 72 65 61 74 65 64 41 74 00 00 04 C0 E3 A0 CD C2 D2 E7 AD FD 01 A8 EB B2 F0 AC A7 FB 97 34 02 DC 00 2F 64 65 66 61 75 6C 74 2F 5F 5F 70 61 72 74 69 61 6C 2F 66 39 36 62 35 34 36 37 66 35 38 64 63 61 37 36 66 36 64 65 64 66 30 62 36 34 65 31 34 37 32 38 2F 33 33 61 31 62 62 30 64 62 63 33 61 34 64 65 39 65 65 63 63 66 34 62 63 34 38 61 62 63 39 32 62 32 61 37 38 61 61 37 30 06 02 01 C0 E3 A0 CD C2 D2 E7 AD FD 01 A8 EB B2 F0 AC A7 FB 97 34 00 07 70 61 72 74 69 61 6C 06 02 02 C0 E3 A0 CD C2 D2 E7 AD FD 01 A8 EB B2 F0 AC A7 FB 97 34 00 07 64 65 66 61 75 6C 74 06 0C 04 C0 E3 A0 CD C2 D2 E7 AD FD 01 A8 EB B2 F0 AC A7 FB 97 34 00 03 FF E6 E6 8D A6 9F DC 85 B8 01 CC D9 B6 E9 B8 99 A4 98 DF 01 06 08 05 C0 E3 A0 CD C2 D2 E7 AD FD 01 A8 EB B2 F0 AC A7 FB 97 34 00 C5 F6 FE DD 05 C0 9E 8F C1 01
Received: DOWNLOAD CHANGESET(server_version=21, client_version=0, origin_timestamp=119442393401, origin_file_ident=2, original_changeset_size=317, changeset_size=317)
Changeset: 3F 00 09 52 65 61 6C 6D 46 69 6C 65 3F 01 09 72 65 61 6C 6D 54 79 70 65 3F 02 09 73 79 6E 63 4C 61 62 65 6C 3F 03 04 55 73 65 72 3F 04 05 6F 77 6E 65 72 3F 05 09 63 72 65 61 74 65 64 41 74 00 00 04 D6 CB E6 D1 80 E9 B3 F3 CD 01 99 82 B2 C2 A8 95 C7 F2 15 02 DC 00 2F 64 65 66 61 75 6C 74 2F 5F 5F 70 61 72 74 69 61 6C 2F 35 38 37 65 37 33 38 30 38 36 30 34 39 37 66 37 35 32 37 38 65 30 32 39 64 35 37 33 39 37 63 39 2F 31 61 38 64 30 31 32 30 30 65 36 64 31 38 35 63 31 64 66 62 31 38 37 64 66 64 31 61 31 39 62 36 65 64 62 36 33 35 34 62 06 02 01 D6 CB E6 D1 80 E9 B3 F3 CD 01 99 82 B2 C2 A8 95 C7 F2 15 00 07 70 61 72 74 69 61 6C 06 02 02 D6 CB E6 D1 80 E9 B3 F3 CD 01 99 82 B2 C2 A8 95 C7 F2 15 00 07 64 65 66 61 75 6C 74 06 0C 04 D6 CB E6 D1 80 E9 B3 F3 CD 01 99 82 B2 C2 A8 95 C7 F2 15 00 03 CA F1 CD DC 8C BF 9C DD 05 8F FD 81 EC E5 E0 A8 8C 3F 06 08 05 D6 CB E6 D1 80 E9 B3 F3 CD 01 99 82 B2 C2 A8 95 C7 F2 15 00 D9 B3 8C DE 05 C0 8C 9B BF 01
Connection[1]: Session[1]: Received: DOWNLOAD(download_server_version=21, download_client_version=0, latest_server_version=21, latest_server_version_salt=7217337837575967989, upload_client_version=0, upload_server_version=0, downloadable_bytes=4920, num_changesets=21, ...)
Using already open Realm file: Path\realm-object-server\listener\realms.realm
Related
Manually Parse Form Data Node.js Express
How can I parse form-data manually at node js? I get chunks of the large file at the server side. And can't merge it, because it will borrow RAM equals to the (file size + file info size). As far as I understand, I can't use the libraries, such as multer/connect-busboy/connect-multiparty etc. In simple terms, now I get following data at server side and can't figure out how to receive, example, a file name, and how to determine, which byte is responsible for the beginning of the file. [1] Get request... [1] data: <Buffer 2d 2d 2d 2d 2d 2d 57 65 62 4b 69 74 46 6f 72 6d 42 6f 75 6e 64 61 72 79 62 66 30 31 63 62 36 38 71 4d 41 4d 36 6d 51 31 0d 0a 43 6f 6e 74 65 6e 74 2d ... 65486 more bytes> [1] data: <Buffer 02 10 00 00 01 ce 00 00 01 ef 00 00 14 e4 00 00 01 de 00 00 01 b2 00 00 01 d8 00 05 f0 1a 00 00 06 70 00 00 00 fa 00 00 00 cf 00 00 0a 3b 00 00 01 4a ... 65486 more bytes> [1] data: <Buffer 31 52 2e 9a 5b df 11 19 5f c2 5d 38 ed db 23 00 06 05 bd 8f 71 e7 6b 03 9d 3a 88 e3 24 10 00 0f a1 10 43 82 ff 67 bd 5d eb 8e 59 fe a9 d3 e6 45 f2 9e ... 65486 more bytes> [1] data: <Buffer 2b 6c cf 18 40 13 d8 fd 09 fa 56 25 e6 6d 6a 57 94 8c a4 9c d1 7b 99 bb 20 c0 21 e7 4a 1f 72 5a a5 3d 8e 84 5d 97 eb 1b 0f db b1 a9 81 f9 db ef 06 36 ... 65486 more bytes> [1] data: <Buffer bb 29 4b 0d 06 1d 69 e1 c7 47 a7 99 c6 e4 c3 48 2e 85 6a b3 57 01 68 09 00 aa 6d b4 7b c7 07 2f 73 c0 c4 6b c4 48 9b 8f 81 64 8e 25 c7 a3 de c3 4f 2a ... 65486 more bytes> [1] data: <Buffer 21 2b 1c dd 57 02 23 f5 43 a1 70 72 b4 8d 8d a8 4a 4b c1 e1 21 75 84 ed 07 00 34 de 5c 8d b0 0a 6f 99 60 28 34 b1 c5 bd a2 3c 3e d5 01 0f 62 57 a8 e8 ... 65486 more bytes> [1] data: <Buffer 2d 96 e3 47 75 ce 25 63 77 26 15 96 b6 43 b9 d2 59 7d 12 c9 64 b2 11 f2 39 29 3e bf 83 1a f3 15 7b 14 ee f3 33 52 5c 39 34 75 06 41 2f e7 11 e8 26 4e ... 65486 more bytes> [1] data: <Buffer 4a 9d 20 c7 a8 55 35 22 26 ff c7 b4 11 d9 6c 4d ce e1 a0 b2 b3 01 37 da 6a ad ae 98 fd 9b 8e 9c 8b 4a 27 8e e3 10 4a dc 80 f2 50 df 88 d9 c8 f9 ef 48 ... 65486 more bytes> [1] data: <Buffer 52 ee b3 96 1f 7c af df fa 3f 9c 9a f7 01 20 7d 3f ea 4e 7e aa 4e d9 57 31 cb b5 f3 09 49 c7 ee 92 83 2e cb 58 d2 ea 1b b0 35 2a 3c 6c 27 75 0c d0 39 ... 65486 more bytes> ...more ...more ...and more After receiving all the above data, I need to get file name and send each chunk of the file(not other info, such as name/mime type) to another client. (It's file sharing web resource) Another solutions? At the same time, I could to send the file separated manually by the chunks of type ArrayBuffer. Each chunk would be encoded additional information, like a "file name", "mime type". But in this case, I should to separate file at client side and get again the above problem the lack of memory. A working solution, but a bit insecure. Send the file name and mime type separately from the main file data. The part of the code responsible for sending data: app.get(`/${senderId}/get`, (request, response) => { let countChunks = 0; // waiting for the sender's request now... app.post(`/${senderId}/send`, (requestSender, responseSender) => { // start sharing... let countChunks = 0; requestSender.on("data", (chunk) => { if (countChunks === 0) { // need get the name from the chunks const fileName = "test_name"; response.setHeader("Content-Disposition", `attachment; filename="${fileName}"`); } countChunks += 1; // need to get the first byte of the file data and start sending starting with it response.write(chunk); }) requestSender.on("end", () => { response.end(); }) }) })
How is socket.io secured natively?
I'm looking at socket.io packets and they are TCP. When I review the value, I see encrypted data. Where and how is socket.io encrypting the messages that pass through the soccket? Is it really secure? This is a VM running with requests over http. For example, I see 0000 bc ec 23 c3 64 6a 00 15 5d 01 59 06 08 00 45 08 ..#.dj..].Y...E. 0010 00 58 68 cc 40 00 40 06 4e 6c c0 a8 01 05 c0 a8 .Xh.#.#.Nl...... 0020 01 0a 00 16 c6 51 15 15 7f 44 69 87 60 58 50 18 .....Q...Di.\XP.` 0030 0b 2e 6c ae 00 00 8b 6f 92 7f b9 1b c2 d6 54 60 ..l....o......T 0040 5e 24 65 2a 0c d6 87 90 fd 87 63 30 9d 69 11 26 ^$e*......c0.i.& 0050 4d 75 8c 7b 5e b2 ad 47 12 9d 05 d0 7c 3b 7c 9e Mu.{^..G....|;|. 0060 b1 0d a0 b7 f1 88 ......
Error in appending to Bytes buffer in for loop and does not concat the entire array [Nodejs]
I am trying to read files in a directory, for each file I am converting it into bytes array and appending everything in combinedBuffer array. Now I want to add all bytes buffer in combinedBuffer to finalBuffer, But I am not able to achieve this, it just iterate over the first bytes buffer in combinedBuffer rather than iterating over the entire combinedBuffer Array. fileRead = async function(file){ const testFolder = './items/'; var dirFiles = [] // dirFiles Array fs.readdirSync(testFolder).forEach(file => { dirFiles.push(file) }) dirFiles.sort(compareBasedonInt) //Natural Compare is to sort files in sampleFile1, SampleFile2. var combinedBuffer = [] dirFiles.forEach(function(file){ var eachfileBuffer= fs.readFileSync('./items/'+file) //eachfileBuffer is the bytes buffer which we get after reading the file combinedBuffer.push(eachfileBuffer) }) var finalbuffer = Buffer.concat(combinedBuffer) console.log("final buffer", finalbuffer) // finalBuffer shows just first element of combinedBuffer console.log("combinedBuffer", combinedBuffer) // shows the array of all the bytes buffer } Output combinedBuffer [ <Buffer 2f 51 40 42 0b 0a 53 0c 4a 25 05 55 7f 06 32 79 0d 50 47 0c 5d 3e 59 0b 51 54 40 5c 4a 5e 53 4f 15 05 4d 1f 41 4e 23 07 1f 52 5f 1f 52 48 14 52 4e 52 ... >, <Buffer 19 42 01 0d 46 59 4a 58 1a 38 60 06 4a 11 2d 5c 70 65 2e 5a 17 0f 54 14 09 2a 05 14 38 34 47 0f 0e 42 5f 26 56 49 07 19 12 11 5e 4e 01 55 0b 41 26 72 ... >, <Buffer 17 1a 11 5d 4d 19 1e 44 45 45 57 5f 05 49 19 1a 18 2a 23 27 46 00 47 45 17 45 1c 4f 5b 4f 4b 53 45 55 3e 4b 1d 08 4b 15 1a 1c 18 66 50 1a 4f 55 18 05 ... >, <Buffer 44 0a 06 50 16 10 58 1b 15 40 07 22 58 0b 51 4e 08 07 46 6f 7c 66 12 57 4e 1d 1b 09 04 4a 40 4f 1e 11 5f 41 41 74 62 5f 76 43 5e 0d 1a 01 1a 0c 7d 44 ... >, <Buffer 3c 09 5f 5c 6c 15 5c 02 15 5d 00 40 03 09 46 54 49 16 5c 5a ff 9f a2 45 43 00 46 46 65 1b 11 5c 5d 54 29 46 44 07 02 14 45 4b 31 6a 3a 4d 0a 58 18 47 ... >, <Buffer 6d 4a 19 1b 85 bd ec 0c 0f 0f 4c 4a 41 08 09 1b 4f 0b 0a 1d 41 11 53 4b 1e 41 49 1e ce aa ad 11 22 1d 0f 52 46 1b 7a 0b 0e 15 1e 41 53 02 10 19 4f 01 ... >, <Buffer 03 58 69 48 04 5f 52 02 08 56 1f 07 76 4e 1d 53 12 5e 5e 58 47 0a 5a 44 77 06 16 5e 03 4a 4d 56 56 01 1f 0b 0c 0c 40 45 0e 0c 4e 08 1b 12 1a 45 4e 50 ... >, <Buffer 4d 5c 0c 4e 1d c2 a2 f9 1b 11 16 5f 52 00 0c 02 54 40 4d 17 0d 58 4c 1b 24 5b 12 41 4b 47 1a 0a 43 50 7c 6d 34 46 42 5a 43 42 43 38 1b 4b 53 57 5f 43 ... >, <Buffer 49 4e 1a 13 1c 19 0b 0a 5d 19 41 46 06 14 15 51 15 15 56 57 1c 5d 09 1e 00 41 4a 6f 13 0a 60 60 64 16 4c 01 1e 49 46 0e 50 1d 51 56 5c 09 0e 37 16 12 ... >, <Buffer 58 1d 4f 5b 4c 33 09 4f 08 19 04 1b 69 7e 2d 5d 22 95 be 8b 14 1b 76 4b 07 21 1f 4f 05 4b 30 2e 02 57 07 00 4d 5f 45 1c 08 39 37 37 41 47 25 09 05 4d ... >, <Buffer 58 42 43 1f 5e 1e 01 17 54 04 52 1c 1a 04 42 48 52 48 3e 03 05 12 4c 16 5a 49 7e 14 49 53 1a 6f 6f 2f 46 54 54 07 00 7a 23 0a 1c 3b 56 0f 73 0a 00 0b ... >] finalbuffer <Buffer 2f 51 40 42 0b 0a 53 0c 4a 25 05 55 7f 06 32 79 0d 50 47 0c 5d 3e 59 0b 51 54 40 5c 4a 5e 53 4f 15 05 4d 1f 41 4e 23 07 1f 52 5f 1f 52 48 14 52 4e 52 ... >
Decoding RS485 signal
I'm spying on some RS485 communication between two devices. The only information I know is that the master is 'pinging' the slave constantly. Its checking if it is still connected and functioning. The first i need to detect is the correct properties of the signal (baud rate, data bits, parity, stop bits). My idea is to listen on the communication using all the most common settings. Then I would write an algorithm that would look for patterns in the string of hex numbers. Is that a good approach? (note. I don't have an oscilloscope ) I first used most common settings 115200 8n1, and at a first glance it seems that they are correct. There are 6 repeating patterns in the raw code. I'm assuming that those are the actual commands for the protocol. Now how to decode the protocol used here? If it is not some in-house protocol that they used. Note here that the slave is disconnected and this is just transmissions from master. 1. 00 02 c0 fe ff 22 00 08 2a 2. 00 02 c0 ff fe 12 00 19 6e 3. 00 02 c0 ff 01 12 00 7a a1 4. 00 02 c0 01 ff 62 00 67 6c 5. 00 02 c0 01 ff 32 00 d8 62 6. 00 02 c0 01 ff 22 00 ab 61 There are a bunch of random hex values in between the patterns. Due to the nature of the RS485 signal I'm assuming that this is just noise? Here is the the full captured data 02 c0 ff fe 12 00 19 6e 28 68 cb c2 9f 12 ed 13 c5 13 3f 09 92 dd 26 d6 64 7f 00 02 c0 fe ff 22 00 08 2a 2f 20 0d 0c 37 3a 0c 0a c1 58 f4 8e 21 4b ce 12 a8 b0 4e 16 80 8c a8 06 3a 09 9c c8 24 49 33 01 42 04 00 02 c0 ff fe 12 00 19 6e 77 92 59 43 9e 65 85 63 ab ff 71 62 a8 69 46 d3 53 b9 00 02 c0 fe ff 22 00 08 2a bd 4a ef 4d 60 00 1a 37 6c df e1 fc 1f 3e 04 61 a8 ad 4d e3 28 c8 23 68 31 28 39 ee 01 d9 12 27 5e 6d 00 02 c0 ff fe 12 00 19 6e df 00 76 b4 f9 aa 22 47 a7 47 9f b9 a4 4b 44 84 cf e5 00 02 c0 fe ff 22 00 08 2a 2a a4 4a cb a0 ca a9 ca ad ca 00 72 ca 0f c2 ac b4 1c c8 37 21 97 bc c3 af f8 27 71 be 3e 75 f0 94 54 00 02 c0 ff 01 12 00 7a a1 7a bd 2b b0 f5 64 e7 b2 76 76 33 1b 7e 22 b2 a1 17 30 00 02 c0 01 ff 62 00 67 6c 45 c3 4a 8c 3a d0 d2 03 c7 39 1a c5 15 8c e0 ac 9e e9 01 46 0d 6f 75 cd ad af 17 08 c8 e1 29 78 66 9a 29 0e 2b 30 56 8e 1f 0e 5a 7b 16 15 b2 51 2c e9 4b 4c 40 6b a2 8b 73 6a d2 8b f9 da 58 9b 02 de 71 f8 1c 0a c0 08 38 72 51 ac c8 bc 75 c8 2f 69 3d 53 ed c1 46 90 6a 26 44 09 4e f9 13 ed 0b 71 00 02 c0 ff 01 12 00 7a a1 19 4f a5 ce 15 02 50 ff 81 7f 10 db 8e 38 d1 da b3 11 00 02 c0 01 ff 32 00 d8 62 fa f6 0b e8 e0 6f 8a 82 d3 e0 36 f5 be 79 cb ab 32 b8 17 a9 dd a1 7c 9e 9b 22 b9 19 8c ef 26 55 a0 6c be 0d 64 d6 c3 e3 55 d9 dd eb b2 c7 00 80 f6 89 00 02 c0 ff 01 12 00 7a a1 19 8e b3 8e 01 3a d6 eb 29 bc 4c de 32 31 13 18 0d ae 00 02 c0 01 ff 22 00 ab 61 d9 fa 8f 29 fc 41 9e 19 a9 0c 55 eb 79 92 9d 17 5f 9d 88 3a e1 d3 2d 42 27 2e 43 f8 05 a4 03 4b a3 fe 00 02 c0 ff fe 12 00 19 6e a4 52 a3 b6 91 d2 90 21 4f fd c4 5e ba 0e 1f 10 6c 30 00 02 c0 fe ff 22 00 08 2a a7 8c b3 71 8b 91 d2 a1 0f c6 b6 cb 0f 9b fe e3 50 0b 1d cc c8 9c d5 e5 f8 85 ff 0d 3e e9 54 b7 ec 0d 00 02 c0 ff fe 12 00 19 6e 75 13 65 35 e1 17 ef 6f be 91 3a b1 52 43 4b b7 74 2e 00 02 c0 fe ff 22 00 08 2a 5e 46 3e 84 e5 ae e6 c8 45 01 e8 a7 a7 7c 27 d3 ff bf 90 a9 2f 4c b6 2d 6b 8a 18 c1 15 aa 8e d6 8e c9 00 02 c0 ff 01 12 00 7a a1 f3 05 85 da 10 da c0 60 10 31 9e 04 89 23 1f 51 9b e5 00 02 c0 01 ff 62 00 67 6c 89 50 18 c5 74 d1 48 ef ca 80 e5 0e 86 24 59 ad c2 71 39 12 1f 7f b9 14 40 5d 06 0e 98 ad b3 84 18 9c 59 0b d6 fb ae 86 b0 4f b8 cb a6 a8 d9 74 a4 e8 fe 07 95 dc 42 b9 92 38 6b f7 ad a5 9b ce 7a 9c b3 3b 0c bb 5c d7 b8 ca 9e 18 d7 cb 2e 11 0f 45 31 65 7b 5f 5c b5 44 b7 30 fb 6e 8d 3c f4 5f 28 00 02 c0 ff 01 12 00 7a a1 15 7e be ae 7e e4 a9 98 cf 87 3e ef cb 9a c0 ed 76 d5 00 02 c0 01 ff 32 00 d8 62 6f 12 b4 55 2d ad 42 19 9b 91 05 0f c1 a9 c1 e4 46 13 a4 e0 50 c1 ca c9 7d 6a 02 3f 94 8b ae 0f 01 68 58 ff ad 18 04 43 c7 98 2e ce 43 f5 64 31 78 fa 00 02 c0 ff fe 12 00 19 6e a7 a5 37 aa 6e da 26 79 58 90 47 33 5f f0 a5 33 09 5d 00 02 c0 fe ff 22 00 08 2a 5e 6c 21 68 d2 aa 0e b6 e8 03 21 5e 3a bc b5 5f 9f 21 2e 3d ad cb d6 d8 2d 12 77 48 7b b0 3b 33 18 df 00 02 c0 ff fe 12 00 19 6e 79 8f aa 97 56 ac a4 86 8b 5b 39 8c cf 9a 09 ab fa 63 00 02 c0 fe ff 22 00 08 2a 43 2d 94 ba a3 06 0b de 34 00 5c 24 f6 e9 45 4c 0d 69 17 ed 70 fd c0 00 ba ab 8b ca fc 6c e1 c4 76 76 00 02 c0 ff fe 12 00 19 6e e1 b8 57 cd f3 6c 75 86 9a 0d 7d 9f 91 a5 59 08 ae 1d 00 02 c0 fe ff 22 00 08 2a 3c cb 32 3e 78 bc 88 6d 8c 16 64 7b 74 74 36 d1 0b 10 36 cb 08 c6 60 69 42 0d 8c ce bc d5 ca ec 41 fc 00 02 c0 ff 01 12 00 7a a1 f1 45 3a be 4f ce bd 22 a9 e8 e4 1f 60 fb ff ad 0c 7f 00 02 c0 01 ff 62 00 67 6c dd 09 fd 95 dc 92 77 0e 57 bf 2c c5 b9 ae 64 f6 9e c4 c8 e3 47 75 b4 75 89 97 a9 41 c6 d4 f7 bd c8 9e 28 2b 09 98 6d 15 53 12 6d 5e 57 37 fc e4 59 cc bc 88 25 07 0b 26 b1 fa 4d 0f 3f 87 f9 04 fe 25 41 7d 97 9c 0c 46 70 b4 b4 4b f7 19 4d 02 8e 18 4c b7 83 2c 94 0f 9b aa 1a 2a f8 39 90 8a 74 5d 00 02 c0 ff 01 12 00 7a a1 39 b7 63 f0 10 8b 5c 7c 9d 34 34 4a a2 35 f0 c0 5b 24 00 02 c0 01 ff 22 00 ab 61 5a 91 b4 24 c9 62 1c 0b 72 83 e7 d2 68 9b 2b 55 7d f4 1a f0 7e f3 4b ac e1 ae fb ad 4c 60 bc cb 05 75 00 02 c0 ff 01 12 00 7a a1 6e b3 8f 72 fb b1 9a 48 c8 4e 79 52 b4 f5 13 fb 43 c9 00 02 c0 01 ff 32 00 d8 62 8a 20 4e 3d 67 d2 12 bb c5 e4 a7 ce 4c 64 db 17 f4 51 bb b7 f7 ea 2c 0a 11 5e 65 c8 ea e2 7d 60 9b d2 c8 ae 52 b1 7f b3 50 2e 32 df 57 d7 2e 2e cb cf 00 02 c0 ff fe 12 00 19 6e 38 bb 48 00 2e 70 28 93 5a 47 cd 1b 44 d5 eb d0 13 2b 00 02 c0 fe ff 22 00 08 2a 54 a8 6b 65 2c d0 c7 89 a3 63 85 47 55 4e 6d b7 23 32 c5 5b df 12 93 be 11 4f c2 ba d0 13 76 b3 be 82 00 02 c0 ff 01 12 00 7a a1 c7 23 14 2c 9a dc ea 73 12 b4 18 3e 4a 6d 54 49 c4 4d 00 02 c0 01 ff 22 00 ab 61 90 33 f8 0e 6d 9c 2f 05 02 41 28 d1 55 2c c5 3d 64 c4 0f df 07 1a 4a fc 1f ed a8 2f f4 2a a4 a2 0f aa 00 02 c0 ff fe 12 00 19 6e 31 c4 36 83 7f ad ac 53 ac e3 21 64 b8 28 5f ea 33 28 00 02 c0 fe ff 22 00 08 2a 1a b8 af 63 ef 64 dc 2d 32 5b 48 1c e3 b8 a7 f0 ed 32 65 af 21 1a 09 d4 1d 29 82 5b c7 cd 42 1c ff 3a 00 02 c0 ff 01 12 00 7a a1 28 fc d5 32 2b 5c 8b f8 bc a1 8d 7b 86 89 e6 b6 66 e5 00 02 c0 01 ff 62 00 67 6c 92 66 ea a2 63 4a 02 81 05 21 a0 32 f6 f1 1e 1a 92 36 92 e2 67 89 5d 73 92 13 fe fa fa aa 8e 06 f8 c4 f7 a3 42 a2 78 05 31 07 1c 42 78 ec 0b 88 8e a8 ae 67 59 a6 93 eb 3b dd aa 32 ca dd 77 f7 d0 3d 6e a2 61 e8 63 13 b0 65 3f d3 d0 22 1f 26 18 e9 62 b3 9a 8b f7 5d c1 27 77 3c f8 37 5a 42 9a 7a 00 02 c0 ff 01 12 00 7a a1 9e f1 fc 84 34 e5 ce 59 9c 7a 24 75 c7 76 55 52 01 0b 00 02 c0 01 ff 32 00 d8 62 41 31 93 a0 fd 3a 0a 8a 0c 90 fb 6a 15 9f 46 8f d2 db 4a 99 85 5a 01 fb dd 7a 05 7a 73 3b a8 24 c8 c4 a5 31 30 b3 11 0b 8e 7b 20 ac b8 ba 66 c0 c7 88 00 02 c0 ff fe 12 00 19 6e d5 48 35 ab a7 4e fb ec 6e 99 37 df 89 9e c7 bb 44 2f 00 02 c0 fe ff 22 00 08 2a 93 d0 d9 92 c0 30 05 d7 5a da e3 9f b7 24 9c dc 14 f5 02 81 89 b9 c0 a7 14 59 a6 39 c9 f6 92 9f 79 5a 00 02 c0 ff fe 12 00 19 6e f7 57 db 1a 53 6c 5b 2d 31 ee f2 8d 08 33 1b 02 fb 1c 00 02 c0 fe ff 22 00 08 2a 89 a2 19 9e fd 2d 83 a4 e8 7c 25 a8 aa e2 5d d8 14 85 34 66 cc 1f 98 56 f0 60 95 f9 67 4e 85 60 09 a4 00 02 c0 ff fe 12 00 19 6e ac 66 8d fe ce 6a 61 77 e1 1f 2c 76 f1 17 14 17 34 87 00 02 c0 fe ff 22 00 08 2a 69 69 d4 80 7f fa aa bc 97 1b 37 b1 89 64 06 af 6c 80 4c 6f 53 fe 6a 78 39 66 83 a7 71 cb f4 7b ba a7 00 02 c0 ff 01 12 00 7a a1 46 d4 ab 96 8b 93 62 a0 c5 d4 b1 68 a5 94 64 61 87 d5 00 02 c0 01 ff 22 00 ab 61 a1 ac a1 97 2f 69 82 d3 c1 5b 94 3c 92 7e 36 4a 3f 7f 44 69 d5 cc 2f cd 54 41 60 f0 43 97 90 1f 8c 6d 00 02 c0 ff 01 12 00 7a a1 1e d9 f4 c5 ec e5 40 50 5c bc 61 2a 04 10 5e c8 fd 73 00 02 c0 01 ff 62 00 67 6c 33 f2 d5 1f 5d b4 43 64 c3 83 f2 a8 ed 4f dd b2 eb 08 d9 ac fa 23 64 52 5c 49 09 fb d4 bf bd 69 20 e8 76 84 c4 27 21 58 d6 12 eb f8 56 01 86 ca 0c 8b 61 4d 5b 6d 42 5a c6 83 8f f7 31 f6 7a ca 42 e7 13 5a f6 35 50 f7 46 a0 5e 3d 0a 89 57 a7 13 88 87 00 03 ab 73 26 f1 b2 73 34 6d d9 56 3c b5 f0 00 02 c0 ff 01 12 00 7a a1 d2 fa f4 0f 57 4d 06 8c b8 74 f0 ac ef 17 01 93 f1 09 00 02 c0 01 ff 32 00 d8 62 ac 85 4d ca c0 d3 48 02 b1 e3 b9 a9 c0 88 ba e5 69 80 9a d8 13 dc 7f 2f 98 41 43 41 1f 38 c2 e0 02 b7 e5 71 cf fd 99 9b f8 40 ec 16 0c 0c 76 51 34 ab 00 02 c0 ff fe 12 00 19 6e 27 6d a3 4a e4 a4 ee 5a 6e c2 f2 4f 7b 31 f6 61 84 04 00 02 c0 fe ff 22 00 08 2a d5 dd 0f 67 a3 23 5b 2e 7a 1f 65 49 80 55 f6 f5 91 14 b4 19 ae 51 8e ed 87 df 31 d4 4a a3 48 aa 61 5f 00 02 c0 ff fe 12 00 19 6e 24 dc ff 2a 70 9b af 7e 7c a0 96 3f ca ec 58 f7 e0 d3 00 02 c0 fe ff 22 00 08 2a 47 e0 02 03 c8 49 11 2c bc e2 b8 85 dd 24 b3 f5 bd 0d 00 29 04 01 e1 4f 95 a7 7c 4d 65 e1 6f da 18 b7 00 02 c0 ff fe 12 00 19 6e fa b4 8e 15 b5 6b b0 bd ff 25 f4 62 8b 63 77 de a7 2b 00 02 c0 fe ff 22 00 08 2a e1 c4 dd 89 b9 67 47 7d 1e 9b 47 58 52 03 90 6b 70 e7 ec e7 99 67 49 57 c5 04 ec 85 7c e0 b6 03 b4 e6 00 02 c0 ff 01 12 00 7a a1 47 7f e8 39 0d fa 71 81 30 6a be c4 d0 a2 0d 79 0f d9 00 02 c0 01 ff 62 00 67 6c e1 f9 68 c7 a1 57 b7 56 dd 8c f7 f9 33 28 7f 42 a8 8f e8 e8 5e 97 52 9b 5a 4b 9d 40 48 f9 c3 cd 2a fb 41 29 8d 44 06 0f 47 1a bb 85 c4 90 0f fe 1d a6 a3 a4 81 78 84 28 4e f7 63 2f 06 8b af 90 45 0b 6d b8 79 c3 e0 f6 b1 e3 ca fd ea bd a8 6e 68 d6 1b d8 f2 8a 0a 1d 3a 32 8b f8 4b 52 6e c0 90 f0 00 02 c0 ff 01 12 00 7a a1 06 2f 7e 85 03 16 5b 4f 59 47 7d 72 ba df 6a 2d a5 d9 00 02 c0 01 ff 32 00 d8 62 97 cc 1d 63 a1 93 18 d3 3a 0f e2 11 bc c7 ca 49 3b 6a 62 59 80 a4 7c 98 a5 bf 68 25 f2 4e a2 71 6f 43 d1 65 0e cc 92 b4 69 c3 61 85 6b 38 9a cc bc 6d 00 02 c0 ff fe 12 00 19 6e 9a 08 1f 9a 70 7c 3d dd f9 fd 33 1c 67 c0 7a 81 15 d1 00 02 c0 fe ff 22 00 08 2a 37 43 2d bc a8 f7 96 9f d1 29 bd 5f f1 5f db 46 8f 24 5b 80 86 be 69 e0 97 54 e0 23 5d f8 47 39 b6 e2 00 02 c0 ff fe 12 00 19 6e 4b 2d b9 28 7a 4e 36 3c 44 3c 1b 42 9e f9 be 20 1a 2f 00 02 c0 fe ff 22 00 08 2a 0a 36 07 6b 1e 1b 69 c8 12 e8 38 18 1c 0c de cb 05 bc 8b e1 94 e2 91 bc 1e 02 d2 09 4b a9 7a dc a7 e8 00 02 c0 ff 01 12 00 7a a1 52 2d 31 20 02 aa e5 4d 2c 5d 5a b7 71 1a b5 5e 45 19 00 02 c0 01 ff 22 00 ab 61 4a 2a 17 6c 19 c6 5a b4 a7 d5 a1 17 7d 1a 96 f6 63 e5 a6 5e 98 0b 09 7d 4b 5e 5f 67 43 2d 24 7a 20 05 00 02 c0 ff 01 12 00 7a a1 8b 07 bf a0 db 8f c9 ff 71 32 eb 84 ac 52 69 c3 45 05 00 02 c0 01 ff 62 00 67 6c c2 55 6a d3 4d 1b 98 72 22 3a 1d 73 73 dd 2b 98 1b 65 c5 95 e7 0c bc a8 d0 b9 87 9a 3d b0 f4 53 18 13 a1 6c 95 9a a5 9e e3 d4 9e a3 02 0c 81 46 f4 43 26 4b e5 fc 84 11 1b 79 a6 dc fe 5c 03 f1 b2 31 5b fb 93 47 9c 2c 65 62 4b 13 93 47 af b9 02 7d df ba ea 4b b1 aa 69 8f 69 3c ae 1b 05 e4 fe a6 00 02 c0 ff 01 12 00 7a a1 9f e9 11 5f 36 e1 3d fa c0 8c ec c3 68 b1 32 18 c6 71 00 02 c0 01 ff 32 00 d8 62 bd cf c7 e1 66 0d c7 2f 3f 7b be 68 55 ca 96 0d 15 75 7c ce 31 69 f0 c5 dd c1 f1 d4 29 03 17 38 e8 0e bc dc 43 41 47 a8 4b 8f 47 5c b6 d4 be bf 32 5f 00 02 c0 ff fe 12 00 19 6e 97 d8 44 4a 3a e6 cd f7 eb d7 bb 7e ff 22 e1 c8 ac fc 00 02 c0 fe ff 22 00 08 2a 88 a5 23 8e 29 64 42 fd d2 eb 33 38 04 4d a5 5e 69 27 a6 be 1e d6 0d 32 66 20 4c c1 a6 f9 d2 00 17 40 00 02 c0 ff 01 12 00 7a a1 0d 3f 76 e7 d7 38 dc 4d dc 74 f1 c3 c5 1d 99 c2 fd 09 00 02 c0 01 ff 22 00 ab 61 3e af bf 0d ff 5d ac 58 00 1b 17 8a a5 93 6d 3b b2 60 eb 2f 1d df 1c b4 92 b8 47 e3 82 69 0e bf af 29 00 02 c0 ff fe 12 00 19 6e 6b c1 33 cd 4a 9c d2 d7 65 57 30 0b 19 ba 39 82 b3 8a 00 02 c0 fe ff 22 00 08 2a 5c 02 b3 e6 8b 55 8c f3 ae 81 0a 2e a8 d9 d0 17 d8 9b 82 c0 9d 8e f7 a6 c8 ea b5 f1 80 d1 bd 7e 08 b9 00 02 c0 ff 01 12 00 7a a1 cf c1 3c b3 2d 15 3d d4 f6 f5 99 a2 7e 17 16 bd 6c 06 00 02 c0 01 ff 62 00 67 6c 80 01 29 5c 58 88 b3 a2 ad ec 23 20 57 39 7a e6 37 c3 7d d5 d8 78 6f ac c2 56 78 4d ee da 48 be ab 3a 7c 8d 7f e6 d8 cb cb 67 d9 df 03 a7 6f 8a 72 0f 02 d5 68 21 48 f2 1a 73 ab 78 55 d5 fe 89 1a 9a 76 98 73 e5 5c de 28 8c 8a 62 b2 07 3f 54 1c ad 15 39 d3 9d 85 54 9c 52 30 3f c2 b2 70 96 e5 32 00 02 c0 ff 01 12 00 7a a1 15 9d 3a 08 7b 14 3a 48 a6 ec bd 1a ea 94 ed 35 34 6c 00 02 c0 01 ff 32 00 d8 62 30 b8 b9 56 dc 4c ef 5c df e5 d2 41 02 c0 7d d6 1c c3 31 d0 be 2e 0c d2 e1 51 b5 61 2f 63 b3 c4 b4 b3 bf c4 30 c2 2f 2e b4 19 29 da 3b 75 c8 3a 6c e8 00 02 c0 ff fe 12 00 19 6e 6f 23 40 dc f0 85 e7 33 d6 86 64 e0 a1 23 76 ce df 52 00 02 c0 fe ff 22 00 08 2a c2 4b 02 d7 ba a9 c2 4b 5a 4e e4 6d 04 56 3c 14 a3 1e b9 90 28 bc 00 3d 3a d6 44 db d4 fe 80 19 31 f5 00 02 c0 ff fe 12 00 19 6e 56 1d 31 7c fd 98 51 da ef 4f 6c 1d 6d 51 73 65 f9 0b 00 02 c0 fe ff 22 00 08 2a 36 bf 1c 8c 59 6f 33 cc 8c 28 72 cb 84 fe e5 f2 3f 07 c4 8f a9 05 cb a8 97 b6 11 b4 2c 64 d0 7f 28 f1 00 02 c0 ff fe 12 00 19 6e 9c d9 c0 1e b2 36 68 f9 5c 9f 20 2c cf 13 5e cc 87 f3 00 02 c0 fe ff 22 00 08 2a b6 83 e2 56 38 00 2a 6d 43 6f 34 a3 73 93 64 ab 9a f3 ad 75 63 38 2e 74 39 11 e4 c9 84 98 57 6a 15 65 00 02 c0 ff 01 12 00 7a a1 d6 b2 f3 56 b3 b6 cb 34 08 ef 5c 5c da e5 37 97 f3 3d 00 02 c0 01 ff 22 00 ab 61 83 5f 46 c1 e6 6b 81 f1 14 7a 04 91 35 88 d7 00 b0 d7 39 f0 9d 1f b2 57 66 06 9c 8b 9d 13 34 08 fe a9 00 02 c0 ff 01 12 00 7a a1 e9 ba fe 70 bc 32 fd fb b5 6b bc 39 be 61 38 5b f9 ee 00 02 c0 01 ff 62 00 67 6c fe a2 30 a7 1d 0c f3 e7 13 de 75 64 ed 85 58 da 67 2f c2 0a 24 df 40 32 75 fe e5 e5 20 41 28 4b 46 e4 6a 76 f0 60 c0 87 a3 45 46 f4 d3 75 47 74 0a e8 f0 c4 a9 e1 4c bc 11 5b 41 25 eb bd 5c 95 0a 3b 83 f1 78 e9 ef 3f 84 8f af e5 02 1a a9 a9 9e c1 13 f3 0b e8 05 72 37 d0 57 8f dc 49 18 eb 80 7d 00 02 c0 ff fe 12 00 19 6e 82 70 d2 aa d4 7f 4c 57 af 76 ee 95 01 07 84 4d 3b 78 00 02 c0 fe ff 22 00 08 2a 80 41 ab 37 bc b3 8d ca bb 41 95 93 ae f9 fe 19 a5 82 01 8a 4b 90 6d 99 b3 f6 c6 db 0c 01 56 ba a9 99 00 02 c0 ff 01 12 00 7a a1 e3 c9 a8 14 77 6a 4f 07 6e f1 14 d6 ae fd de 59 c1 6c 00 02 c0 01 ff 32 00 d8 62 6e ba ad ea 99 a6 eb ed dd e1 2c 95 29 18 f7 e4 56 00 0a f7 0f 69 62 52 a7 22 43 c5 f6 c9 23 14 d3 7f 64 40 d2 26 0d 80 53 dc 70 12 89 a0 0b 9d e4 b5 00 02 c0 ff fe 12 00 19 6e 29 f3 ea 85 6f f2 56 13 6e 58 1a 89 0c 8d 6a 2f 31 1a 00 02 c0 fe ff 22 00 08 2a bf 37 b0 6c fb d3 ca 9a ef c4 b8 cd 11 44 40 95 86 d2 fc d2 b8 73 e5 d9 db 82 ad c1 58 a6 ca 5f 92 20 00 02 c0 ff fe 12 00 19 6e 22 5e a8 ad 1c f7 c1 03 87 6b 04 c9 28 9d 06 96 25 11 00 02 c0 fe ff 22 00 08 2a 90 db ed 21 5b 65 2c c7 ac c5 e0 85 07 f9 e6 6e ef c9 f4 49 04 0b 06 70 ff 1b 26 82 23 ef 31 ac 7c e5 00 02 c0 ff 01 12 00 7a a1 01 b9 7d 05 fe 9f fa e1 40 7e 1f 38 cf 66 f7 f8 a9 aa 00 02 c0 01 ff 62 00 67 6c 46 7d c8 e6 7c 9a db b5 60 94 24 c7 c0 60 06 cc ed 81 c4 6d cf 1e 13 b2 ed 65 b3 87 78 f2 42 6e 7f f9 17 48 45 cd c9 52 4b 98 d4 77 de 47 df 3d a5 f7 2a 22 9c 92 1a 20 8c 7b bb c9 f6 a5 d0 29 07 fe 19 79 2e 2d e3 65 2a 8d bc 9c af 5a da e2 bc 05 52 5f a4 0b f3 14 f2 8f 56 3a 12 70 35 d9 31 6d 00 02 c0 ff 01 12 00 7a a1 52 4d aa 97 e3 14 57 9d 1b 04 48 fd be 10 73 25 66 53 00 02 c0 01 ff 32 00 d8 62 d0 65 46 22 83 8f f7 12 79 39 f0 a1 dd 6d 75 56 22 9e f4 73 9b 89 1e ff 81 f8 81 6a 5b e4 04 7b 53 17 c2 a0 70 2e 77 8d 18 03 cb 3e 18 83 3b 7d 1c 7b 00 02 c0 ff fe 12 00 19 6e a6 4c 38 f3 7f 3c 95 c7 6d 2c 1e 51 66 c5 68 e0 51 c5 00 02 c0 fe ff 22 00 08 2a 9d 2a 3e 74 89 19 02 bd 06 5c 2f a9 7b 97 7b ce 48 6f 9f 6b 81 b0 f3 50 0f 8c 4c 48 0b 18 97 55 32 53 00 02 c0 ff 01 12 00 7a a1 03 b3 af 73 5a dd a5 b1 8c ad 7f 08 61 ca 29 f2 29 74 00 02 c0 01 ff 22 00 ab 61 11 a2 4d 7d c2 c9 2f fe 52 52 3c 9c af 8e 81 ba a1 c3 14 0f 3b 05 29 5a 1e 11 65 97 6b 6f fd 2b 21 10 00 02 c0 ff fe 12 00 19 6e 9f 19 5b 4b 76 a4 23 96 af fc d4 d4 5f 4d d8 76 3d 01 00 02 c0 fe ff 22 00 08 2a 8d 57 1b 27 75 a6 e8 73 1a 13 af fe b7 b1 ae 6c b5 dc 7d 61 50 71 9c 61 ef 68 41 9e 73 85 96 74 40 ad 00 02 40 ff 00 04 00 4f 1d 04 00 c4 cc 00 02 c0 ff fe 12 00 19 6e 91 f9 15 f3 28 b9 36 e4 4b 92 06 a5 cf e6 f1 3e 5d 5a 00 02 c0 fe ff 22 00 08 2a 16 ee 05 70 48 8e ec 58 74 7c f9 54 38 3d 80 77 32 64 2d 13 3d 30 a9 0e 5e ca 4a 14 eb ed 4e 9f 49 19 00 02 c0 ff 01 12 00 7a a1 58 40 58 b5 0f 95 a7 39 3b 15 9c ab f3 74 c2 69 cb bd 00 02 c0 01 ff 22 00 ab 61 e7 2c 3e 52 fe 76 67 e8 34 6d 43 c3 4d 3b 58 15 a0 c7 02 2e cc 97 04 13 fe fb f2 5c 58 dd d0 1c cf fb 00 02 c0 ff 01 12 00 7a a1 1c 3c b9 45 e3 bd 77 0e ed b2 e4 38 3a 69 04 bc 62 76 00 02 c0 01 ff 62 00 67 6c 1e c3 b9 36 00 bb cd a9 d4 9d 70 b7 e6 c3 63 35 2d 72 ea 5f bb e1 8f de c7 77 9c e1 0b 95 f9 5f 94 3b 3b 8f 4c a8 c3 ee 3c ac 3b 2a ed cf 72 bd 6f 53 4a be 7c ca 0b 92 fe 20 06 c0 a1 45 da d2 b8 c8 d1 06 49 77 45 41 cb 81 9b 75 26 67 dd 6a 9b b8 c1 a6 fe 49 1a ad 09 35 a8 a2 d7 8a 8a 38 f0 f1 00 02 c0 ff 01 12 00 7a a1 9c 6f 7d dd 1d 34 30 9c 26 a5 9b 21 d4 1e ea 44 44 a0 00 02 c0 01 ff 32 00 d8 62 be de fc 74 07 86 bd 0b c2 da 6b f6 0d 19 00 63 da 57 db db dc d6 cd 25 98 47 4d 8e 16 c4 17 c9 be c1 2b 7f 0b ef 76 c3 98 53 84 d5 98 81 ea 7b 9a 87 00 02 c0 ff fe 12 00 19 6e d2 fc ef c6 55 2d 0e ec 4e 1b 7d 0a ba 95 eb 24 f1 b9 00 02 c0 fe ff 22 00 08 2a 23 0e ad 40 67 b1 cf b8 8a a6 cb 27 8d 0c ac 92 bd 97 96 c6 6a 3b c7 2f 69 9d c8 09 d3 38 91 09 fb 2e 00 02 c0 ff fe 12 00 19 6e 82 f0 c2 07 2b bd d1 40 1f 07 a3 47 7d 4e f8 a2 91 6c 00 02 c0 fe ff 22 00 08 2a ad 34 70 8f d8 ee 26 38 d3 45 83 50 86 42 2c 99 7c 76 e4 bc 9c 57 c2 c9 c5 58 ef b8 16 a8 e0 1f 29 38 00 02 c0 ff 01 12 00 7a a1 5a fc 5c da 93 6c 12 c8 62 f0 21 da 56 15 32 92 bd 7c 00 02 c0 01 ff 62 00 67 6c 3a 44 38 2c da eb 81 d7 1a ea 2c 43 36 b8 d0 5c 5e 35 2c 25 4c bc 38 38 1e 4f 5b 23 84 b5 7a 85 bb a9 2f 2f 9c c5 eb f0 e9 ca d0 97 ef ea 8e 2e 5c 2b c4 3b 67 ef 0e cd 45 06 ba f8 e2 12 42 40 73 3b 6d d8 12 24 dd 32 22 db 6c 63 d4 de 0a 51 52 37 c5 85 da 49 33 1f 24 b7 3e 22 7e e6 d5 56 e1 2b 00 02 c0 ff fe 12 00 19 6e fe 09 10 60 af 1c 06 49 db 0a 3b 87 70 39 f0 c6 07 9e 00 02 c0 fe ff 22 00 08 2a 9a 89 0b 79 e8 ff 64 8f 9e d4 2a e0 e7 e5 53 0d 82 5e ba 17 77 c1 5e d5 ad ae 84 d0 84 8b 99 54 63 a4 00 02 c0 ff 01 12 00 7a a1 b3 2b c8 cf b3 af c3 7b e3 f4 cc 36 cc fb 24 86 81 45 00 02 c0 01 ff 32 00 d8 62 74 82 24 fa cc 3e d4 36 ed 57 0d 49 af 55 d9 6f 96 a9 a2 af 5a 5f f7 4d 11 fa 15 0f cb 98 80 6a 4c 98 46 a3 02 86 3f 70 39 75 e6 30 d7 72 7b 39 62 4d 00 02 c0 ff fe 12 00 19 6e 57 c8 ed 3f e7 c8 ac 5e 57 0c 94 1c 35 0d 78 ac 28 ed 00 02 c0 fe ff 22 00 08 2a 98 23 61 ac 0d 70 ce 89 d4 c6 66 2b 06 b2 91 43 ee 90 a6 e9 a7 95 0f 99 3e 84 48 8b 0c 44 42 62 12 19 00 02 c0 ff 01 12 00 7a a1 61 89 92 d8 93 39 d4 e5 bc cf e3 4f 3f ec 77 98 29 71 00 02 c0 01 ff 22 00 ab 61 15 c3 bd 73 4c d9 e7 8f ee 36 c6 78 ef 2c 61 4a 4d 69 44 ea eb 7d 54 f7 5a 62 7a 2d 8f fa 23 fb 27 a2 00 02 c0 ff fe 12 00 19 6e f9 21 59 19 8b ca bb 5e e7 71 8c c4 77 5e 92 60 8a 52 00 02 c0 fe ff 22 00 08 2a e9 c4 0c d5 54 bd 47 2b a3 eb b4 d5 ef 43 e2 d2 ed ad f4 34 29 b6 c9 40 68 fb 67 6e 6a 21 f5 db 6b b2 00 02 c0 ff 01 12 00 7a a1 43 14 64 f5 0d a6 a8 54 00 75 6a cf 1f 7b ee b7 d1 df 00 02 c0 01 ff 62 00 67 6c 96 5a d6 9f 43 78 c8 a3 a2 10 83 53 a9 66 b1 cc c1 60 62 9d bd 4d 0a dc b5 01 cc 3a ad a5 4a 7c 50 2c 97 ce c3 36 30 ff 7d 2a ae 08 db 08 e7 c3 90 29 e2 d4 d2 06 86 14 e5 d1 49 81 b4 b4 14 0d a6 25 ea 50 45 df 8b d6 1f b5 83 b2 b3 e4 de 27 af 49 bb 58 1e f1 74 83 9e 33 17 63 59 42 9d 1f 6c a2 00 02 c0 ff 01 12 00 7a a1 fb b7 80 52 1e d6 26 cb e4 ca 70 5e 1e b1 a5 40 2e 29 00 02 c0 01 ff 32 00 d8 62 77 c8 c6 57 f1 47 fd 9a 8c 2a ec 19 7e e1 6b 46 4d ff 82 3b 9c b0 b0 7b ac 7b cb f1 8f ce eb b2 73 c4 ac ff 9c 2c 76 a6 ca 68 f2 ee d7 ed 97 27 f9 c9 00 02 c0 ff fe 12 00 19 6e 67 2f 16 65 c6 e0 3c 86 21 30 61 ac fa 5c 1b c4 4f 6a 00 02 c0 fe ff 22 00 08 2a 1f b1 95 5d 63 1e a0 54 23 18 f5 53 b7 5f e9 7a 8e 5e d5 9f be f8 82 a2 6d ef a0 14 1c 04 10 1a 2c df 00 02 c0 ff fe 12 00 19 6e 0d d9 a5 87 d8 58 b5 97 4a ef 7a 58 a2 ae e9 d5 97 3c 00 02 c0 fe ff 22 00 08 2a c0 1a 92 df 88 4d 48 4d 6b 2b dd d4 ea 7b ac e7 a9 c5 26 9b 3f df ac 93 5c 1a 05 e0 f0 50 24 31 19 1e 00 02 c0 ff fe 12 00 19 6e c9 2c de a4 7a c0 68 6b 30 08 1d 84 e7 f2 01 bf 9b 65 00 02 c0 fe ff 22 00 08 2a 20 66 15 64 f4 68 c3 ba 39 06 39 ea a4 d4 80 b6 bb 3c fc a7 70 7c f0 a4 07 b4 e9 90 ec 35 4d 7b 77 7a 00 02 c0 ff 01 12 00 7a a1 18 22 1f 60 23 99 1c 14 d4 2b 98 a8 d7 8b c5 6d 27 28 00 02 c0 01 ff 62 00 67 6c 4f 4f 9a 7d 4d 0e 81 61 fc 71 6f 3d d6 5c bf 57 41 36 25 eb 01 6d c6 77 4f de 0f 6f 00 9f 70 5b 94 16 31 fd c8 b2 a7 10 eb d8 64 ca 15 ab f1 84 0b 55 ce 60 fd 6d 4a 11 99 6c 12 96 45 a6 fa 69 b1 bf e7 c6 7a 50 df 66 2e 48 cb 6f 9f 80 40 92 11 5f 04 19 89 d7 f3 25 10 9f 6a 16 fe 4b 9e fb a5 3d 00 02 c0 ff 01 12 00 7a a1 e3 a0 11 0e ab d2 2a 04 e0 16 d2 72 9d c4 c3 30 a9 e9 00 02 c0 01 ff 32 00 d8 62 93 9f 3d 93 60 28 1a fa 16 0d 3e 47 13 94 37 5c fb 87 25 2e 2a 86 fb 1b d3 5e c7 0b 46 54 59 ce c8 11 22 a5 3a e4 58 9c e3 02 84 6e d3 74 87 27 f6 12 00 02 c0 ff 01 12 00 7a a1 f1 4a 8b c8 4e 3a b9 d3 cc 58 a2 2f 2d 20 07 1a ad d8 00 02 c0 01 ff 22 00 ab 61 cb 62 13 3e a0 1a 2f fc 1e 86 83 7e 7a d5 31 c1 f5 68 cb 03 bc 0c c7 69 11 91 d0 08 21 f2 63 05 b1 71 00 02 c0 ff fe 12 00 19 6e c0 2d af 35 23 bf 89 b5 31 36 a6 b6 7b fd 91 55 19 e0 00 02 c0 fe ff 22 00 08 2a f9 8b 60 f7 e2 e0 4b 3e de 0b 1a 6b b9 61 0e 64 3b 4f fd b4 5d 81 93 2b ad 80 e2 19 35 a7 4f 72 fc 89 00 02 c0 ff 01 12 00 7a a1 8f 77 18 5a 62 3f ba ea cb f7 77 fd 20 6f 5d 3f 88 e3 00 02 c0 01 ff 22 00 ab 61 3b 34 a6 7f 69 85 2a 3e 29 41 e4 26 a7 d4 e8 0f 8f 36 d3 61 0c 82 a9 ef 7e 7f 37 03 3a f8 36 a5 04 f2 00 02 c0 ff fe 12 00 19 6e 36 89 d1 70 39 4c 22 89 77 85 3e ca cc 09 19 2a 3a 95 00 02 c0 fe ff 22 00 08 2a 00 d9 76 db 9c f6 ef 75 fc 6c 67 5f 4b 7e 66 6d 52 e1 db 8b c9 96 cb da b4 e0 38 38 e0 62 12 41 a3 12 00 02 c0 ff 01 12 00 7a a1 4b ca 4b 50 d4 94 34 4d ba 91 4b 94 52 0c 06 90 54 6d 00 02 c0 01 ff 62 00 67 6c ff e4 d5 53 e4 78 11 6d 40 cc f5 a1 08 b0 9f a6 66 aa 00 da 3b 43 74 72 56 1e a3 fc 56 33 45 4f fc c1 77 02 3e 57 b5 c1 5e 0b 6d a7 4c ed ee fe 4e 0b 56 b6 54 1a 0f 74 69 97 47 a9 86 64 08 ab e6 10 da 1c 1e d8 88 34 36 f6 15 70 a2 0c 11 a9 4b 30 f2 11 0e 4e 5e 3c 51 1f 66 92 0f ac 7e b5 35 cd 00 02 c0 ff 01 12 00 7a a1 dd b7 48 04 55 0f a3 82 77 d4 41 07 ba 43 1f a0 1b 1a 00 02 c0 01 ff 32 00 d8 62 43 b3 2d 70 1d d0 98 4d 1e 6a e2 a2 44 33 aa 50 de 85 9e 0f ca f1 07 11 c0 58 e4 82 6b 17 e1 6e 26 5a ca c0 85 d2 99 85 53 9c 90 f0 61 43 be 52 99 76 00 02 c0 ff fe 12 00 19 6e 5e 6a b1 67 dd 34 1e 4a a9 c3 a0 55 1d 3e ad a3 85 3b 00 02 c0 fe ff 22 00 08 2a f5 d5 c1 b6 d0 12 71 76 cb 5c bb 0b 9b f6 2c 30 09 d0 74 64 d7 d9 7b 9e 8b 8b b2 1b fc dc ef 5f c1 e4 00 02 c0 ff fe 12 00 19 6e 71 39 a5 4d fd 53 dd 39 94 60 25 17 e4 e7 81 de 36 a8 00 02 c0 fe ff 22 00 08 2a 21 2a a6 37 d3 85 f6 90 7f 93 0f fc 48 63 a1 b4 d7 17 26 24 50 15 60 b1 51 c6 05 b3 56 d0 51 ad 3f 8f 00 02 c0 ff fe 12 00 19 6e da 32 e3 14 b1 72 89 d0 a8 9f 7c fe c9 01 ae c2 a3 0e 00 02 c0 fe ff 22 00 08 2a fd 9c aa de c6 5e 6d 5f 58 8f 55 a0 be 72 43 13 f5 e3 0b aa 59 2c 9b 34 85 43 02 8e 34 74 b5 06 a9 b3 00 02 c0 ff 01 12 00 7a a1 ad cc eb 40 1d df fb 8a ab 17 d7 58 03 1e 98 b4 ef 79 00 02 c0 01 ff 62 00 67 6c 89 b3 e8 5d e4 c0 bb 4a 76 43 da 38 d1 35 0a 7d 15 5a 7a a9 38 a8 dd 48 4f 8c 1e b7 54 a2 51 a5 0d 18 cd 4e 02 c7 15 b3 6e 7b d5 df a8 ee 55 ea 5e 19 1a fa d3 60 13 2c 6b 0c b2 46 bc b0 ac 59 af a2 49 5a 01 00 b6 4f 34 c4 51 59 19 fe fb 3b 2b 70 f9 d3 13 b7 13 48 8e 2c 11 6d 16 89 73 b4 b7 3b 00 02 c0 ff 01 12 00 7a a1 e4 b9 c3 88 99 17 9a 22 29 d2 03 59 07 15 74 3e 9a e5 00 02 c0 01 ff 32 00 d8 62 4a 8b a5 56 3e a2 50 75 e7 08 2e a4 4f b5 8a c9 5e cb 40 53 88 43 8c 53 ed 14 61 d5 69 c1 75 cf 8b 2d 8e 92 c2 13 2b 11 f4 ea 08 bd 37 80 c9 d2 20 0b 00 02 c0 ff fe 12 00 19 6e 9a 3d 95 2e 6f 12 1c f4 31 68 c2 df 06 31 91 0a ba b2 00 02 c0 fe ff 22 00 08 2a 3a 7b 0c 52 49 b1 3d a3 8b 7a 5a 83 1b 60 fe ab 06 01 b4 39 7a 9a 62 71 14 4e c7 c8 35 9a af 67 d2 89 00 02 c0 ff 01 12 00 7a a1 04 e6 a7 c8 99 6a 9f 35 f9 44 fe 13 f3 73 23 e8 2b 7e 00 02 c0 01 ff 22 00 ab 61 7b ad fe 14 3d a4 7a be bd 9c 43 ea 05 6c f6 7d 7d 5b d8 c0 56 cd 57 e8 dc 03 9e bf ca 7c c7 61 1a 10 00 02 c0 ff fe 12 00 19 6e e3 6e 28 c5 3b 23 4f 6e fb f7 9e dd f4 51 e7 f1 af 30 00 02 c0 fe ff 22 00 08 2a 58 c5 ca c9 9b 7d db a3 7a 42 e1 f3 c1 73 30 e6 2a 91 b3 d1 09 6c 1c a7 78 f2 47 99 81 b8 3c 27 de ee 00 02 c0 ff fe 12 00 19 6e f9 6e d3 4e 30 8d c6 97 8c d4 f5 1e dd f2 c0 6a d3 06 00 02 c0 fe ff 22 00 08 2a b0 42 60 64 c0 c8 87 6e 3a ab 34 1f f7 3f 43 d3 52 5a 7b 5f f6 2e a4 3e b0 21 51 57 96 6d 22 69 55 34 00 02 c0 ff 01 12 00 7a a1 f3 12 30 21 55 c8 c5 dd 62 3e 87 6f c9 a2 85 89 6e 75 00 02 c0 01 ff 62 00 67 6c 36 99 60 30 e0 88 3c 80 60 46 22 bf 8f ad 0f 87 53 8a 2b f7 b3 b8 b7 a7 9c b6 ba 43 5f 39 a7 70 5a 35 2d 83 b5 dd a1 22 81 94 08 16 46 ea ee af 2c 81 3b c4 3e df 7b 66 ac 80 f6 c5 8e 8e bb ec fc f3 d6 38 05 cb eb 27 9c b3 df 79 e9 1d bf 88 7e 14 6c 5f 66 62 50 27 19 d8 bb 44 17 b2 13 69 f6 a4 00 02 c0 ff 01 12 00 7a a1 d7 e3 5f 66 fc 09 47 08 45 fe 43 90 0c a7 15 93 c3 5d 00 02 c0 01 ff 32 00 d8 62 59 35 0c 12 49 36 3b a5 fa de 52 1e 8a 92 0d 69 33 d6 b0 14 cb cb e4 c2 c6 74 4e c5 0b 1e 97 d6 0e 88 62 d2 09 c0 f1 94 ed 38 a8 71 c2 3e 9b 22 4f 3c 00 02 c0 ff fe 12 00 19 6e 7e 94 d1 13 4a bd 7c 83 ea 80 f1 a8 d1 52 35 98 23 36 00 02 c0 fe ff 22 00 08 2a 1e c1 e0 42 6b cd f9 b7 9f d4 88 15 5d 19 a0 fd 1c cb 12 8f b5 cf 09 20 1c 02 e1 52 b2 ff 70 b4 a2 44 00 02 c0 ff fe 12 00 19 6e c0 81 82 7f 75 52 38 eb 93 c5 ae d0 27 d0 b6 4e 2e af 00 02 c0 fe ff 22 00 08 2a 65 14 56 77 6f 85 64 c0 23 66 31 ea 0e cf 45 32 e2 b5 af 40 1b 09 e4 4c 45 c9 8d b5 74 3e e8 b3 c2 e8 00 02 c0 ff 01 12 00 7a a1 65 f0 87 52 d4 03 3d b8 44 81 a8 c9 2a 0a 8c cb 98 ef 00 02 c0 01 ff 62 00 67 6c 63 bf 37 1f 0f 71 fc 3f 32 67 c7 49 5b c7 bf c7 eb bf 64 2d 8a 87 48 81 bf 46 04 4f 07 9e 6c 37 ec df f4 0b a3 0c 64 6d a1 e9 ed ba 6e 47 35 4c 9b 8c ca bb 3e 96 be 7d 56 51 2d ea 90 b4 43 42 02 51 4d ed 58 1c 1f 76 c5 fb 6e 76 7f 28 09 5c 2a ba e7 9d 2f b6 4f 6c 03 1b 94 59 3b 28 15 1a 86 8a 00 02 c0 ff 01 12 00 7a a1 2c 95 a2 f6 4c 56 f6 cc b6 23 29 fd 05 65 cb 78 bb be 00 02 c0 01 ff 32 00 d8 62 de e2 b6 3f 05 92 d5 8c 37 5a 16 d5 05 16 62 1a a8 b3 10 cd 4f 32 80 a7 69 f1 5d 94 36 3d e8 c3 00 41 34 7d f4 2b af 3f 5c 2a 24 58 14 f3 55 e7 44 9f 00 02 c0 ff 01 12 00 7a a1 05 f2 fa 47 69 d1 bf a8 28 57 fc 1d 80 ef 2f eb 00 85 00 02 c0 01 ff 22 00 ab 61 b5 d6 45 36 f8 6f f8 ca 6b 62 3f 66 69 c2 99 fc 0b a8 52 ba 64 f2 d7 99 a7 99 eb 72 04 e1 d1 51 f7 71 00 02 c0 ff fe 12 00 19 6e c1 0d fa 73 42 8c 7d 38 4b c1 f2 b6 da 51 d8 c1 f8 6a 00 02 c0 fe ff 22 00 08 2a 1f 1f ce aa 11 b5 bd 74 ac ef 98 96 77 9b c6 53 40 8f 6f 8e 2e b1 26 a3 7a 3b b6 2a a3 08 9e 78 26 bc 00 02 c0 ff 01 12 00 7a a1 92 0a 20 2f e4 2a d0 a1 b2 07 bd f6 7a 57 4f d2 b2 50 00 02 c0 01 ff 22 00 ab 61 98 ef f0 8c 34 47 1b 00 cb 07 05 5d 13 3b d4 44 9d c3 36 5d fb f5 0e cc 9c 01 0c da d4 10 b2 96 89 31 00 02 c0 ff fe 12 00 19 6e ea 6d bd e8 af fb 15 1f 87 ff c3 ee 58 97 6c 5a cb 9f 00 02 c0 fe ff 22 00 08 2a 40 2a 69 d4 25 46 bb 59 0d 34 75 47 a0 91 6c 2e d4 1e 7a 57 e8 95 15 7c 50 5d da 33 94 d8 2a 79 57 22 00 02 c0 ff 01 12 00 7a a1 43 db 54 8d 13 22 f8 62 eb 36 4f e7 c8 76 cf 5f bd 55 00 02 c0 01 ff 62 00 67 6c a3 52 91 a4 be 33 6f 86 88 38 96 01 78 ea 38 fa 19 30 86 33 b4 c0 f3 d2 8a 7a 05 d9 af fb 17 ea 9b a5 07 f1 ba 65 9d 83 49 88 8b 32 da cc e2 af 63 51 7f 00 b1 6a 7b 25 18 ca a3 82 a5 3e a0 2e 7c 9a 3e 05 ec cd e1 e3 ee d8 79 df e4 e0 f1 cb 02 f3 4e d5 8e 8c ed 17 8c 82 e1 f5 c1 e2 af 55 17 58 00 02 c0 ff 01 12 00 7a a1 8c 32 73 da 85 5d 6f d1 32 cf f4 48 06 0b a2 ac a9 30 00 02 c0 01 ff 32 00 d8 62 f4 bd 91 11 ca 66 dc de bf af 65 3b 7a c5 21 99 42 01 9e 8c d4 bd a7 c5 3b 9a e9 41 18 8c 9c ea 62 28 fa 83 93 61 4c 9d 1c 33 d3 3f 47 3a 5f bc 38 19 00 02 c0 ff fe 12 00 19 6e 8f 54 a1 ad 9f 45 5d cb 22 de ab 90 5e f4 97 13 8d ed 00 02 c0 fe ff 22 00 08 2a 8a eb 1a 5b ee 12 60 fd eb ca be 61 1b 64 a6 57 f5 5f 92 1c eb 39 b0 95 1d 28 b1 c3 6d 95 54 a2 cf 7c 00 02 c0 ff fe 12 00 19 6e 8f 52 81 b6 06 a9 b9 59 75 68 b2 9c 65 63 86 55 c0 1c 00 02 c0 fe ff 22 00 08 2a 10 d9 9b 3d 3e 42 e9 3e 64 20 b1 36 b3 0d dd 83 5f f9 35 f9 7d 08 e0 ee d9 12 16 41 d7 31 b2 5f 11 bc 00 02 c0 ff fe 12 00 19 6e 4a 42 1e 1c 6f 20 a6 ac 65 b7 ac 48 15 a7 8d c0 d3 71 00 02 c0 fe ff 22 00 08 2a 02 4c 52 d6 af 36 a3 1f 01 c8 3b d4 97 fd dc b9 be 71 64 c5 29 c7 ae 44 b8 ff fb 82 3b 68 59 08 6a 6f 00 02 c0 ff fe 12 00 19 6e 85 4d 84 21 eb c8 47 c1 63 ba cf c5 73 87 1c 54 5d c3 00 02 c0 fe ff 22 00 08 2a 34 bd e3 99 75 02 3b 55 83 db 6a c3 fc 49 b1 a7 8a 80 bb 15 c2 4c 65 0d 53 b2 33 47 bc 7e 2c 21 49 f2 00 02 c0 ff 01 12 00 7a a1 bf 81 13 e2 71 79 5a 5d 28 61 60 c0 1e d1 51 d9 32 05 00 02 c0 01 ff 62 00 67 6c 46 b1 40 0f 5c 7a db 02 7e 2e 1d c5 39 37 f3 ab 2c ee ae fa 69 d4 18 09 84 b4 95 f2 f0 ad 29 23 70 ba a6 49 d6 9b c0 fe 3f 9b 83 83 75 9b 28 73 6f e8 1f 9a 67 3c f2 37 33 83 cc ad 61 fb 76 4d de fa 16 33 68 15 85 e0 99 f9 ae d5 d4 25 c6 de 6a 0e b4 b5 ef 1d d6 56 40 e9 91 1f 1b e9 02 a1 ea 8a 00 02 c0 ff 01 12 00 7a a1 32 69 9a 88 af a2 ed 68 39 4f fe 8e d1 98 74 43 e8 8c 00 02 c0 01 ff 22 00 ab 61 24 21 12 1d d1 c6 6c ad 05
A partial answer, since nobody had other insights to offer: Your serial settings are correct, and your master telegrams are ended by a non-standard 16 byte CRC checksum. I found this with a modified CRC puzzle solver I wrote for other CRC Stackoverflow posts. The Docklight CRC specs are CRC:16,1021,0000,0000,No,No and your checksum is in Little Endian format (low significant byte first) at the end of the telegram. Here is the Docklight output including a test where I correctly re-created the first three master telegram checksums Trying CRC spec : CRC:16,1021,0000,0000,No,No (LittleEndian) Found it! Relevant sequence for checksum from startpos=1 to endpos=7 00 02 C0 FE FF 22 00 CRC spec: CRC:16,1021,0000,0000,No,No (LittleEndian) CRC result: 2A 08 (Integer = 10760) Use the Send button to send some predefined sequences... 30.08.2017 14:00:08.494 [TX] - 00 02 C0 FE FF 22 00 08 2A 30.08.2017 14:00:09.028 [TX] - 00 02 C0 FF FE 12 00 19 6E 30.08.2017 14:00:09.411 [TX] - 00 02 C0 FF 01 12 00 7A A1 I will improve this answer later. Knowing now that every message has this CRC checksum at the end, Docklight should be able to split the full transfer into its individual protoocol frames.
Snort rules with content
This will generate an alert: alert tcp any any <> any any (msg:"Test_A"; sid:3000001; rev:1;) This will not: alert tcp any any <> any any (msg:"Test_B"; content:"badurl.com"; http_header; sid:3000002; rev:1;) I have tried: fast_pattern:only; metadata:service http; nocase; http_header; and others. I cannot get it to work at this generic level. Any ideas why the content attribute does not work? The packet has a URL. Updated from the comments 0000 9c d2 4b 7d 96 60 3c 15 c2 dc 48 fa 08 00 45 00 ..K}.<. ..H...E. 0010 01 5c ac 2c 40 00 40 06 cf f5 c0 a8 c8 1e 41 fe .\.,#.#. ......A. 0020 f2 b4 dc 41 00 50 d0 e7 97 d0 ae b8 f9 ba 80 18 ...A.P.. ........ 0030 ff ff da 1f 00 00 01 01 08 0a 34 03 84 d8 b7 cc ........ ..4..... 0040 3f 04 47 45 54 20 2f 20 48 54 54 50 2f 31 2e 31 ?.GET / HTTP/1.1 0050 0d 0a 48 6f 73 74 3a 20 6d 79 64 6f 6d 61 69 6e ..Host: mydomain 0060 2e 63 6f 6d 0d 0a 55 73 65 72 2d 41 67 65 6e 74 .com..Us er-Agent
The rule that you have provided will never fire with the example packet that you have provided. You have used a content:"POST"; with a http_method modifier but you are attempting to match a packet that is a GET request.
I think that the right content modifier should be http_uri, not http_header. Unless you are trying to capture the Host POST parameter.