Mercurial + IIS push error 10054 - iis

Getting this error when trying to push to our mercurial repository:
**An existing connection was forcibly closed by the remote host
I don't believe related to the size of the push as it's occurring on a push that's about 140kb. Everything was working fine about a week ago.
Any ideas?
Here's the log:
4 changesets found
list of changesets:
8b53bd8082b543c713c473486e0923837e186551
6be81c93e5c78c575670bb5f0ad11181bd2728bf
0d7073fa9250320a576f5ec31fa6951ccb68691c
04e70027f6435925d43778eecf9b4e0e07da12ee
bundling: 1/4 changesets (25.00%)
bundling: 2/4 changesets (50.00%)
bundling: 3/4 changesets (75.00%)
bundling: 4/4 changesets (100.00%)
bundling: 1/4 manifests (25.00%)
bundling: 2/4 manifests (50.00%)
bundling: 3/4 manifests (75.00%)
bundling: 4/4 manifests (100.00%)
bundling: library/images/fratto.jpg 1/2 files (50.00%)
bundling: library/images/raghu.jpg 2/2 files (100.00%)
sending unbundle command
sending 74493 bytes
sending: 64/144 kb (44.44%)
www.example.com certificate successfully verified
sending: 128/144 kb (88.89%)
abort: error: An existing connection was forcibly closed by the remote host
Server is Windows 2008 R2 64 bit, Running Mercurial v 2.9.2 with python 2.7.6 and tortoisehg 2.11.2

It was custom error pages in IIS! These were inherited custom error pages for our ColdFusion website. I took them all off and now it's working like a charm.

Related

How is ssh2 installed for PHP 7.4 on Rocky Linux?

I recently upgraded to Rocky. I am getting an error on a PHP SSH command that has worked for years. Everything I try fails for various reasons. I need to ssh from PHP. At this point I am not particular about the method used. This is the code used for ssh connections:
$ssh = ssh2_connect($ssh_domain);
if( ssh2_auth_password($ssh_user, $ssh_password) )
{
// send the command
}
but I get this error on the connect line:
Call to undefined function ssh2_connect()
I installed with
yum install libssh2-devel
Last metadata expiration check: 0:02:00 ago on Wed 03 Aug 2022 12:50:28 PM EDT.
Dependencies resolved.
====================================================================================================================================================
Package Architecture Version Repository Size
====================================================================================================================================================
Installing:
libssh2-devel x86_64 1.9.0-5.el8 epel 68 k
Transaction Summary
====================================================================================================================================================
Install 1 Package
Total download size: 68 k
Installed size: 288 k
Is this ok [y/N]: y
Downloading Packages:
libssh2-devel-1.9.0-5.el8.x86_64.rpm 309 kB/s | 68 kB 00:00
----------------------------------------------------------------------------------------------------------------------------------------------------
Total 141 kB/s | 68 kB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : libssh2-devel-1.9.0-5.el8.x86_64 1/1
Running scriptlet: libssh2-devel-1.9.0-5.el8.x86_64 1/1
Verifying : libssh2-devel-1.9.0-5.el8.x86_64 1/1
Installed:
libssh2-devel-1.9.0-5.el8.x86_64
Complete!
and then I restarted apache.
What am I doing wrong? Did I install the wrong package? Maybe I need to install something else?
Thanks for the help.

Configuration Error in Azure IoT Edge installation - "configuration has correct URIs for daemon mgmt endpoint - Error"

Version details
OS: Ubuntu 18.04.5 LTS
aziot-edge: bionic,now 1.2.3-1 amd64
aziot-identity-service: bionic,now 1.2.2-1 amd64
docker: Docker version 20.10.8+azure, build 3967b7d28e15a020e4ee344283128ead633b3e0c
Verifying the installation shows that the aziot-identityd is in "Down-activating" state
# sudo iotedge system status
System services:
aziot-edged Running
aziot-identityd Down - activating
aziot-keyd Running
aziot-certd Running
aziot-tpmd Ready
aziot-identityd is in a bad state because:
aziot-identityd.service: Down - activating : Printing the last 10 log lines.
-- Logs begin at Fri 2020-11-06 12:29:56 IST, end at Fri 2021-09-10 19:07:13 IST. --
Sep 10 19:07:10 vm-DevIoTEdge1-poc-CentIN aziot-identityd[1871]: 2021-09-10T13:37:10Z [INFO] - Could not reconcile Identities with current device data. Reprovisioning.
Sep 10 19:07:10 vm-DevIoTEdge1-poc-CentIN aziot-identityd[1871]: 2021-09-10T13:37:10Z [INFO] - Updated device info for Edge1.
Sep 10 19:07:10 vm-DevIoTEdge1-poc-CentIN aziot-identityd[1871]: 2021-09-10T13:37:10Z [ERR!] - Failed to provision with IoT Hub, and no valid device backup was found: Hub client error
Sep 10 19:07:10 vm-DevIoTEdge1-poc-CentIN aziot-identityd[1871]: 2021-09-10T13:37:10Z [ERR!] - service encountered an error
Sep 10 19:07:10 vm-DevIoTEdge1-poc-CentIN aziot-identityd[1871]: 2021-09-10T13:37:10Z [ERR!] - caused by: Hub client error
Sep 10 19:07:10 vm-DevIoTEdge1-poc-CentIN aziot-identityd[1871]: 2021-09-10T13:37:10Z [ERR!] - caused by: internal error
Sep 10 19:07:10 vm-DevIoTEdge1-poc-CentIN aziot-identityd[1871]: 2021-09-10T13:37:10Z [ERR!] - 0: <unknown>
Sep 10 19:07:10 vm-DevIoTEdge1-poc-CentIN aziot-identityd[1871]: 1: <unknown>
Sep 10 19:07:10 vm-DevIoTEdge1-poc-CentIN systemd[1]: aziot-identityd.service: Main process exited, code=exited, status=1/FAILURE
Sep 10 19:07:10 vm-DevIoTEdge1-poc-CentIN systemd[1]: aziot-identityd.service: Failed with result 'exit-code'.
iotedge check shows 2 configuration related errors:
# iotedge check --verbose
Configuration checks (aziot-identity-service)
---------------------------------------------
√ keyd configuration is well-formed - OK
√ certd configuration is well-formed - OK
√ tpmd configuration is well-formed - OK
√ identityd configuration is well-formed - OK
√ daemon configurations up-to-date with config.toml - OK
√ identityd config toml file specifies a valid hostname - OK
√ aziot-identity-service package is up-to-date - OK
√ host time is close to reference time - OK
√ preloaded certificates are valid - OK
√ keyd is running - OK
√ certd is running - OK
√ identityd is running - OK
× read all preloaded certificates from the Certificates Service - Error
could not load cert with ID "aziot-edged-trust-bundle"
Caused by:
parameter "id" has an invalid value
caused by: not found
√ read all preloaded key pairs from the Keys Service - OK
√ ensure all preloaded certificates match preloaded private keys with the same ID - OK
Connectivity checks (aziot-identity-service)
--------------------------------------------
√ host can connect to and perform TLS handshake with iothub AMQP port - OK
√ host can connect to and perform TLS handshake with iothub HTTPS / WebSockets port - OK
√ host can connect to and perform TLS handshake with iothub MQTT port - OK
Configuration checks
--------------------
√ aziot-edged configuration is well-formed - OK
√ configuration up-to-date with config.toml - OK
√ container engine is installed and functional - OK
× configuration has correct URIs for daemon mgmt endpoint - Error
SocketError - SocketErrorCode (TimedOut) : Operation timed out
One or more errors occurred. (Got bad response: )
caused by: docker returned exit code: 1, stderr = SocketError - SocketErrorCode (TimedOut) : Operation timed out
One or more errors occurred. (Got bad response: )
√ aziot-edge package is up-to-date - OK
√ container time is close to host time - OK
‼ DNS server - Warning
Container engine is not configured with DNS server setting, which may impact connectivity to IoT Hub.
Please see https://aka.ms/iotedge-prod-checklist-dns for best practices.
You can ignore this warning if you are setting DNS server per module in the Edge deployment.
caused by: Could not open container engine config file /etc/docker/daemon.json
caused by: No such file or directory (os error 2)
√ production readiness: container engine - OK
‼ production readiness: logs policy - Warning
Container engine is not configured to rotate module logs which may cause it run out of disk space.
Please see https://aka.ms/iotedge-prod-checklist-logs for best practices.
You can ignore this warning if you are setting log policy per module in the Edge deployment.
caused by: Could not open container engine config file /etc/docker/daemon.json
caused by: No such file or directory (os error 2)
× production readiness: Edge Agent's storage directory is persisted on the host filesystem - Error
Could not check current state of edgeAgent container
caused by: docker returned exit code: 1, stderr = Error: No such object: edgeAgent
× production readiness: Edge Hub's storage directory is persisted on the host filesystem - Error
Could not check current state of edgeHub container
caused by: docker returned exit code: 1, stderr = Error: No such object: edgeHub
√ Agent image is valid and can be pulled from upstream - OK
Connectivity checks
-------------------
√ container on the default network can connect to upstream AMQP port - OK
√ container on the default network can connect to upstream HTTPS / WebSockets port - OK
√ container on the default network can connect to upstream MQTT port - OK
√ container on the IoT Edge module network can connect to upstream AMQP port - OK
√ container on the IoT Edge module network can connect to upstream HTTPS / WebSockets port - OK
√ container on the IoT Edge module network can connect to upstream MQTT port - OK
30 check(s) succeeded.
2 check(s) raised warnings.
4 check(s) raised errors.
TOML file has only the manual provisioning with connection string.
I had this error because my IOT Hub networks "Public network access" was set as "Disabled".
You can correct this by going the following:
Go to the Azure portal, and go to the IOT Hub resource in question.
Go to the Networking menu option.
Change the "Public network access" to either "All Networks" or "Selected IP ranges", depending on your use case. Remember if you select "Selected IP ranges", you must add the VM/IOT devices ip address to the list of allowed IP addresses.
I came across this question like too many times while I was working with an enterprise environment. My finding is more related to the environment and security aspect of the whole system.
For my case, my working environment was RedHat Linux and Azure is hosted on-prem with added layer of proxy server. Only one piece of advice to solve most common issues in such environment is to give all necessary permissions of rwx (read, write, all).
Pinpointing the problem asked, the identity daemon is failing because the aziot trust bundle is not loading properly.
read all preloaded certificates from the Certificates Service - Error
could not load cert with ID "aziot-edged-trust-bundle"
Check the certificate is properly setup to use device identity certificate.
Second error is related to daemon management socket:
× configuration has correct URIs for daemon mgmt endpoint - Error
SocketError - SocketErrorCode (TimedOut) : Operation timed out
One or more errors occurred. (Got bad response: )
caused by: docker returned exit code: 1, stderr = SocketError - SocketErrorCode (TimedOut) : Operation timed out
One or more errors occurred. (Got bad response: )
This can be resolved by manually giving ownership permission to mgmt.sock at /var/lib/iotedge location.
Nevertheless, there may be a variety of reasons for iotedge dps to not work and further iotAgent and iotHub to not start. It is better to go to the root of the issue and start resolving it.

Error: pathspecs with curl -sSL [shortened-url-here] | bash -s 1.1.0

According to hyperledger-composer tutorial, to deploy network with multi-organization I need to clean previous installation of composer:
cd ~/fabric-dev-servers
./stopFabric.sh
./teardownFabric.sh
After that, I cloned hyperledger/fabric-sample branch
git clone -b issue-6978 https://github.com/sstone1/fabric-samples.git
Then, navigate to fabric-sample and download specific binaries from the repository with shortened link
curl -sSL [shortened-url-here] | bash -s 1.1.0
Right after that, one error thrown
===> Checking out v1.1.0 branch of hyperledger/fabric-samples
error: pathspec 'v1.1.0' did not match any file(s) known to git.
Plus, there some more relating to several images
Error response from daemon: manifest for hyperledger/fabric-ca:x86_64-1.2.0-rc1 not found
Error response from daemon: No such image: hyperledger/fabric-ca:x86_64-1.2.0-rc1
===> Pulling thirdparty docker images
==> THIRDPARTY DOCKER IMAGE: couchdb
Error response from daemon: manifest for hyperledger/fabric-couchdb:x86_64-0.4.8 not found
Error response from daemon: No such image: hyperledger/fabric-couchdb:x86_64-0.4.8
==> THIRDPARTY DOCKER IMAGE: kafka
Error response from daemon: manifest for hyperledger/fabric-kafka:x86_64-0.4.8 not found
Error response from daemon: No such image: hyperledger/fabric-kafka:x86_64-0.4.8
==> THIRDPARTY DOCKER IMAGE: zookeeper
Error response from daemon: manifest for hyperledger/fabric-zookeeper:x86_64-0.4.8 not found
Error response from daemon: No such image: hyperledger/fabric-zookeeper:x86_64-0.4.8
I also attach with the full result of above errors
bp1#bp1-VirtualBox:~/fabric-dev-servers/fabric-samples$ curl -sSL [shortened-url here] | bash -s 1.1.0
Installing hyperledger/fabric-samples repo
===> Checking out v1.1.0 branch of hyperledger/fabric-samples
error: pathspec 'v1.1.0' did not match any file(s) known to git.
Installing Hyperledger Fabric binaries
===> Downloading version x86_64-1.1.0 platform specific fabric binaries
===> Downloading: https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric/hyperledger-fabric/linux-amd64-1.1.0/hyperledger-fabric-linux-amd64-1.1.0.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 35.4M 100 35.4M 0 0 145k 0 0:04:09 0:04:09 --:--:-- 135k
==> Done.
===> Downloading version x86_64-1.2.0-rc1 platform specific fabric-ca-client binary
===> Downloading: https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric-ca/hyperledger-fabric-ca/linux-amd64-1.2.0-rc1/hyperledger-fabric-ca-linux-amd64-1.2.0-rc1.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 4939k 100 4939k 0 0 153k 0 0:00:32 0:00:32 --:--:-- 205k
==> Done.
Installing Hyperledger Fabric docker images
===> Pulling fabric Images
==> FABRIC IMAGE: peer
x86_64-1.1.0: Pulling from hyperledger/fabric-peer
Digest: sha256:57417699ddf50c5ebd47a9a2cc74c0324fbba0281eb1104b9ddd05a67776b01f
Status: Image is up to date for hyperledger/fabric-peer:x86_64-1.1.0
==> FABRIC IMAGE: orderer
x86_64-1.1.0: Pulling from hyperledger/fabric-orderer
Digest: sha256:0c3a3b5ecfd24b513da22bbb77da7b3f5bca9c121cc0ac5c46ba04c97c163654
Status: Image is up to date for hyperledger/fabric-orderer:x86_64-1.1.0
==> FABRIC IMAGE: ccenv
x86_64-1.1.0: Pulling from hyperledger/fabric-ccenv
Digest: sha256:07818367dc6d4264472d24b21819f9dc4e16e890d81ddfacee0341a22d72050b
Status: Image is up to date for hyperledger/fabric-ccenv:x86_64-1.1.0
==> FABRIC IMAGE: tools
x86_64-1.1.0: Pulling from hyperledger/fabric-tools
1be7f2b886e8: Already exists
6fbc4a21b806: Already exists
c71a6f8e1378: Already exists
4be3072e5a37: Already exists
06c6d2f59700: Already exists
4d536120d8a5: Already exists
0baaf9ec263e: Already exists
3ea9b6cc6f21: Already exists
6173b9a5fe5e: Already exists
e73719e0bcbe: Already exists
b55408c6ced5: Already exists
1a8bca84adfa: Pull complete
b54c1992cc9c: Pull complete
68093aff3e84: Pull complete
3827dc0ff46d: Pull complete
1e22360bf4e7: Pull complete
Digest: sha256:36d7fa8e8ddcc19fed8e1c3c06bc6ae1dac18c35e8a884188d2c08df3e5a4472
Status: Downloaded newer image for hyperledger/fabric-tools:x86_64-1.1.0
===> Pulling fabric ca Image
==> FABRIC CA IMAGE
Error response from daemon: manifest for hyperledger/fabric-ca:x86_64-1.2.0-rc1 not found
Error response from daemon: No such image: hyperledger/fabric-ca:x86_64-1.2.0-rc1
===> Pulling thirdparty docker images
==> THIRDPARTY DOCKER IMAGE: couchdb
Error response from daemon: manifest for hyperledger/fabric-couchdb:x86_64-0.4.8 not found
Error response from daemon: No such image: hyperledger/fabric-couchdb:x86_64-0.4.8
==> THIRDPARTY DOCKER IMAGE: kafka
Error response from daemon: manifest for hyperledger/fabric-kafka:x86_64-0.4.8 not found
Error response from daemon: No such image: hyperledger/fabric-kafka:x86_64-0.4.8
==> THIRDPARTY DOCKER IMAGE: zookeeper
Error response from daemon: manifest for hyperledger/fabric-zookeeper:x86_64-0.4.8 not found
Error response from daemon: No such image: hyperledger/fabric-zookeeper:x86_64-0.4.8
===> List out hyperledger docker images
hyperledger/fabric-ca x86_64-1.1.0 72617b4fa9b4 3 months ago 299MB
hyperledger/fabric-tools latest b7bfddf508bc 3 months ago 1.46GB
hyperledger/fabric-tools x86_64-1.1.0 b7bfddf508bc 3 months ago 1.46GB
hyperledger/fabric-orderer latest ce0c810df36a 3 months ago 180MB
hyperledger/fabric-orderer x86_64-1.1.0 ce0c810df36a 3 months ago 180MB
hyperledger/fabric-peer latest b023f9be0771 3 months ago 187MB
hyperledger/fabric-peer x86_64-1.1.0 b023f9be0771 3 months ago 187MB
hyperledger/fabric-ccenv latest c8b4909d8d46 3 months ago 1.39GB
hyperledger/fabric-ccenv x86_64-1.1.0 c8b4909d8d46 3 months ago 1.39GB
hyperledger/fabric-baseimage x86_64-0.4.6 dbe6787b5747 4 months ago 1.37GB
hyperledger/fabric-couchdb x86_64-0.4.6 7e73c828fc5b 4 months ago 1.56GB
Please kindly share some advice, thanks in advance.
Due to recent Fabric changes, there is a change in behaviour that we should capture in the tutorial..
Please try curl -sSL [shortened-url-here] | bash -s 1.1.0 1.1.0 0.4.6 - ie 3 parameters, separated by spaces, to the bash -s command above and specifically those versions.
You can ignore the error: pathspec 'v1.1.0' message for now, as we're using a custom repo for the tutorial.
You can manually pull all those images. (Errors because of wrong version no in the script)
docker pull hyperledger/fabric-couchdb:x86_64-1.0.0
docker pull hyperledger/fabric-ca:x86_64-1.1.0

Docker externally-accessible registry, 502 Proxy Error, TLS handshake error

Docker version:
Client:
Version: 17.06.2-ce
API version: 1.30
Go version: go1.8.3
Git commit: cec0b72
Built: Tue Sep 5 19:57:21 2017
OS/Arch: linux/amd64
Server:
Version: 17.06.2-ce
API version: 1.30 (minimum version 1.12)
Go version: go1.8.3
Git commit: cec0b72
Built: Tue Sep 5 19:59:19 2017
OS/Arch: linux/amd64
Experimental: false
docker exec 96f0cb141c8b registry --version:
registry github.com/docker/distribution v2.6.2
Reproducing my error:
docker run -d --restart=always --name registry5000 -v `pwd`/certs:/certs -e REGISTRY_HTTP_ADDR=0.0.0.0:5000 -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/cert.pem -e REGISTRY_HTTP_TLS_KE
Y=/certs/privkey.pem -p 5000:5000 registry:2
docker push registry.domain.com/my-registry
output is:
*The push refers to a repository [registry.corobor.com/my-registry]
73c12ad782ae: Retrying in 1 second
98b882d4bdc0: Retrying in 1 second
f9cee97711b2: Retrying in 1 second
3de32dfabd85: Retrying in 1 second
2b0fb280b60d: Retrying in 1 second
received unexpected HTTP status: 502 Proxy Error*
The log of my registry container:
time="2017-09-15T10:04:43Z" level=warning msg="No HTTP secret provided - generated random secret. This may cause problems with uploads if multiple registries are behind a load-balancer. To provide a shared secret, fill in http.secret in the configuration file or set the REGISTRY_HTTP_SECRET environment variable." go.version=go1.7.6 instance.id=001581a2-0296-439e-b8c1-26edb84fc2b3 version=v2.6.2
2017/09/15 10:19:28 http: TLS handshake error from 10.10.10.202:44402: tls: first record does not look like a TLS handshake
2017/09/15 10:19:28 http: TLS handshake error from 10.10.10.202:44414: tls: oversized record received with length 21536
My message:
Hello,
I'm beginner on the subject. My company needs an externally-accessible registry in order to push in images which can be pull by client when they acces to registry.domain.com.
I followed the instructions from the docker official website to create this registry an I used LetsEnscrypt to get my pem certificate files. Here I use port 5000, but also use port 80 which gives the same error...
As written in "Reproducing my error", I had an 502 Proxy Error and TLS handshake error from my proxy. I've searched for many solutions in the forum but nothing convincing.
Do you please have any ideas how to fix it to make my registry available?
Thanks

Docker on RHEL 7 in AWS can’t pull images

We're looking to incorporate docker on our project and I'm having some difficulty.
I installed Docker via the instructions here: https://docs.docker.com/engine/installation/linux/rhel/ and had no problems. However, when I try to pull any images from docker hub, it just hangs and nothing ever happens:
┌─[user#hostname]─(~)
└─[11:53]$ docker pull alpine:latest
Here's my docker version info:
┌─[user#hostname]─(~)
└─[11:53]$ docker version
Client:
Version: 1.11.2
API version: 1.23
Go version: go1.5.4
Git commit: b9f10c9
Built: Wed Jun 1 21:23:11 2016
OS/Arch: linux/amd64
Server:
Version: 1.11.2
API version: 1.23
Go version: go1.5.4
Git commit: b9f10c9
Built: Wed Jun 1 21:23:11 2016
OS/Arch: linux/amd64
This is a redhat 7.2 instance in a VPC. I'm using another rhel 7.2 instance to handle NAT through iptables. This issue is the first connectivity problem I've had.
I read elsewhere that specifying an http proxy would solve the issue, so I set up a squid proxy on my nat server, but to no avail. I followed the instructions here to set the proxy for docker to use: https://docs.docker.com/engine/admin/systemd/#/http-proxy
The proxy is getting the requests, but docker still can't pull any images. Here's the out put of my squid logs:
1467475616.376 110 10.0.0.50 TCP_MISS/200 3250 CONNECT registry-1.docker.io:443 - HIER_DIRECT/52.71.80.248 -
1467475616.415 35 10.0.0.50 TCP_MISS/200 4444 CONNECT auth.docker.io:443 - HIER_DIRECT/52.204.167.32 -
I'm running out of things to try here. Any help would be greatly appreciated.
EDIT
Got a new error! After tweaking the squid proxy configuration, I now get this error when attempting to pull an image:
┌─[user#hostname]─(~)
└─[15:15]$ sudo docker pull alpine
Using default tag: latest
Pulling repository docker.io/library/alpine
Error while pulling image: Get https://index.docker.io/v1/repositories/library/alpine/images: Service Unavailable
Here's the output of ping:
┌─[user#hostname]─(~)
└─[15:15]$ ping index.docker.io
PING us-east-1-elbio-rm5bon1qaeo4-623296237.us-east-1.elb.amazonaws.com (54.173.200.203) 56(84) bytes of data.
^C
--- us-east-1-elbio-rm5bon1qaeo4-623296237.us-east-1.elb.amazonaws.com ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 1999ms
And wget can download a json file from the url in the docker error message:
┌─[user#hostname]─(~)
└─[15:17]$ wget https://index.docker.io/v1/repositories/library/alpine/images
--2016-07-02 15:17:20-- https://index.docker.io/v1/repositories/library/alpine/images
Resolving index.docker.io (index.docker.io)... 54.173.200.203, 52.22.190.106, 52.203.138.237
Connecting to index.docker.io (index.docker.io)|54.173.200.203|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/json]
Saving to: ‘images’
[ <=> ] 6,900 --.-K/s in 0s
2016-07-02 15:17:20 (185 MB/s) - ‘images’ saved [6900]

Resources