Added diun and start to move traefik to a folder
This commit is contained in:
parent
c5c1fda4d2
commit
4bde058db2
4
.env
4
.env
|
|
@ -4,6 +4,8 @@ DIR=/srv/docker
|
|||
DOMAIN=milvert.com
|
||||
DOMAIN_PEEK=peekskog.se
|
||||
|
||||
CLOUDFLARE_IPS=173.245.48.0/20,103.21.244.0/22,103.22.200.0/22,103.31.4.0/22,141.101.64.0/18,108.162.192.0/18,190.93.240.0/20,188.114.96.0/20,197.234.240.0/22,198.41.128.0/17,162.158.0.0/15,104.16.0.0/13,104.24.0.0/14,172.64.0.0/13,131.0.72.0/22,2400:cb00::/32,2606:4700::/32,2803:f800::/32,2405:b500::/32,2405:8100::/32,2a06:98c0::/29,2c0f:f248::/32
|
||||
LOCAL_IPS=127.0.0.1/32,10.0.0.0/8,192.168.0.0/16,172.16.0.0/12
|
||||
|
||||
MYSQL_USERNAME=root
|
||||
MYSQL_PASSWORD=qwerty
|
||||
|
|
@ -31,3 +33,5 @@ TZ=Europe/Stockholm
|
|||
|
||||
TGRAMAPI=5306622927:AAGsDD83H1joum_hlTiCtSFWwIyM3nEEntU
|
||||
TGRAMCHAT=-1005306622927
|
||||
TGRAM_SHOUTRRR_ADDRESS=telegram://5306622927:AAGsDD83H1joum_hlTiCtSFWwIyM3nEEntU@telegram?chats=-1001662562579
|
||||
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ services:
|
|||
- "traefik.http.routers.webdb-secure.middlewares=webdb-mid"
|
||||
- "traefik.http.routers.webdb-secure.entrypoints=web-secure"
|
||||
- "traefik.http.routers.webdb-secure.rule=Host(`webdb.${DOMAIN}`)"
|
||||
- "traefik.http.routers.webdb-secure.tls.certresolver=milvert_cert"
|
||||
- "traefik.http.routers.webdb-secure.tls.certresolver=milvert_dns"
|
||||
- "traefik.http.routers.webdb-secure.tls=true"
|
||||
- "traefik.http.services.webdb-service.loadbalancer.server.port=8080"
|
||||
depends_on:
|
||||
|
|
@ -107,12 +107,12 @@ services:
|
|||
- "traefik.http.routers.webpg-secure.middlewares=webpg-mid"
|
||||
- "traefik.http.routers.webpg-secure.entrypoints=web-secure"
|
||||
- "traefik.http.routers.webpg-secure.rule=Host(`webpg.${DOMAIN}`)"
|
||||
- "traefik.http.routers.webpg-secure.tls.certresolver=milvert_cert"
|
||||
- "traefik.http.routers.webpg-secure.tls.certresolver=milvert_dns"
|
||||
- "traefik.http.routers.webpg-secure.tls=true"
|
||||
#- "traefik.http.services.webpg-service.loadbalancer.server.port=8080"
|
||||
|
||||
redis:
|
||||
image: redis:latest
|
||||
image: redis:7.0-alpine
|
||||
container_name: redis
|
||||
logging:
|
||||
driver: "json-file"
|
||||
|
|
@ -124,6 +124,7 @@ services:
|
|||
- backend
|
||||
volumes:
|
||||
- ${DIR}/redis:/var/lib/redis
|
||||
#entrypoint: redis-server --appendonly yes --requirepass $REDIS_PASSWORD --maxmemory 512mb --maxmemory-policy allkeys-lru
|
||||
labels:
|
||||
- diun.enable=true
|
||||
|
||||
|
|
|
|||
|
|
@ -61,6 +61,30 @@ services:
|
|||
- "traefik.http.routers.landet_domo-secure.tls.certresolver=milvert_dns"
|
||||
- "traefik.http.routers.landet_domo-secure.tls=true"
|
||||
|
||||
huawei_inverter:
|
||||
image: huawei_inverter:1.0
|
||||
build: ../Inverter_huawei
|
||||
container_name: huawei_inverter
|
||||
dns:
|
||||
- 10.0.0.201
|
||||
logging:
|
||||
driver: "json-file"
|
||||
options:
|
||||
max-size: "5m"
|
||||
max-file: "3"
|
||||
networks:
|
||||
- backend
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- INVERTER_HOST=10.0.2.20
|
||||
- MQTT_HOST=mqtt
|
||||
- USE_CREDENTIALS=YES
|
||||
- USER_NAME=simon
|
||||
- PASSWORD=bajsa123
|
||||
- LOGLEVEL=INFO
|
||||
- MQTT_TOPIC=inverter
|
||||
- DATA_MODE=INVERTER # INVERTER or OFFLINE
|
||||
|
||||
|
||||
networks:
|
||||
frontend:
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ version: '3'
|
|||
services:
|
||||
nextcloud:
|
||||
container_name: nextcloud
|
||||
image: nextcloud:latest
|
||||
image: nextcloud:25
|
||||
logging:
|
||||
driver: "json-file"
|
||||
options:
|
||||
|
|
@ -21,6 +21,7 @@ services:
|
|||
- redis
|
||||
- postgres
|
||||
labels:
|
||||
- diun.enable=true
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.nextcloud.entrypoints=web-secure"
|
||||
- "traefik.http.routers.nextcloud.middlewares=nextcloud,nextcloud_redirect"
|
||||
|
|
@ -47,7 +47,7 @@ services:
|
|||
- "traefik.http.middlewares.peek-middle.headers.browserXSSFilter=true"
|
||||
- "traefik.http.middlewares.peek-middle.headers.contentTypeNosniff=true"
|
||||
#- "traefik.http.routers.peek-secure.rule=Host(`${DOMAIN_PEEK}`)"
|
||||
- "traefik.http.routers.peek-secure.tls.certresolver=milvert_cert"
|
||||
- "traefik.http.routers.peek-secure.tls.certresolver=peek"
|
||||
- "traefik.http.routers.peek-secure.tls=true"
|
||||
|
||||
db_peek:
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ services:
|
|||
max-file: "3"
|
||||
networks:
|
||||
- backend
|
||||
image: koenkk/zigbee2mqtt:1.28.1
|
||||
image: koenkk/zigbee2mqtt:1.30.1
|
||||
restart: always
|
||||
volumes:
|
||||
- ./zigbee_home_2:/app/data
|
||||
|
|
@ -41,7 +41,7 @@ services:
|
|||
max-file: "5"
|
||||
networks:
|
||||
- backend
|
||||
image: koenkk/zigbee2mqtt:1.28.1
|
||||
image: koenkk/zigbee2mqtt:1.30.1
|
||||
restart: always
|
||||
volumes:
|
||||
- ${DIR}/zigbee2matt:/app/data
|
||||
|
|
@ -88,7 +88,7 @@ services:
|
|||
- "traefik.http.routers.grafana-secure.tls=true"
|
||||
|
||||
influx:
|
||||
image: influxdb:2.5
|
||||
image: influxdb:2.6
|
||||
container_name: influxdb
|
||||
logging:
|
||||
driver: "json-file"
|
||||
|
|
@ -101,14 +101,14 @@ services:
|
|||
ports:
|
||||
- "8087:8086"
|
||||
volumes:
|
||||
- ${DIR}/influx-data:/var/lib/influxdb
|
||||
# - ${DIR}/influx-data:/var/lib/influxdb
|
||||
- ${DIR}/influx_2-data:/var/lib/influxdb2
|
||||
#- ${DIR}/influx-data/influxdb.conf:/root/influxdb/influxdb.conf:ro
|
||||
environment:
|
||||
- INFLUXDB_DB=db0
|
||||
- INFLUXDB_ADMIN_USER=${INFLUX_ADMIN}
|
||||
- INFLUXDB_ADMIN_PASSWORD=${INFLUX_ADMIN_PASSWORD}
|
||||
- INFLUXD_LOG_LEVEL=ERROR
|
||||
- INFLUXD_LOG_LEVEL=INFO
|
||||
#- DOCKER_INFLUXDB_INIT_MODE=upgrade
|
||||
#- DOCKER_INFLUXDB_INIT_PASSWORD=${INFLUX_ADMIN_PASSWORD}
|
||||
#- DOCKER_INFLUXDB_INIT_USERNAME=${INFLUX_ADMIN}
|
||||
|
|
@ -126,10 +126,10 @@ services:
|
|||
- "traefik.http.routers.influx-secure.tls.certresolver=milvert_dns"
|
||||
- "traefik.http.routers.influx-secure.tls=true"
|
||||
#- "traefik.http.middlewares.webpg-mid.ipwhitelist.sourcerange=127.0.0.1/32, 10.0.0.1/24"
|
||||
- "traefik.http.routers.influx-secure.middlewares=localNetwork@file"
|
||||
# - "traefik.http.routers.influx-secure.middlewares=localNetwork@file"
|
||||
|
||||
telegraf:
|
||||
image: telegraf:1.22
|
||||
image: telegraf:1.25
|
||||
container_name: telegraf
|
||||
logging:
|
||||
driver: "json-file"
|
||||
|
|
@ -270,8 +270,37 @@ services:
|
|||
labels:
|
||||
- diun.enable=true
|
||||
|
||||
ddns-updater:
|
||||
image: qmcgaw/ddns-updater:256
|
||||
container_name: ddns-updater
|
||||
restart: always
|
||||
networks:
|
||||
- backend
|
||||
ports:
|
||||
- 8000:8000/tcp
|
||||
volumes:
|
||||
- ${DIR}/ddns-updater:/updater/data
|
||||
environment:
|
||||
PUID: 1000
|
||||
PGID: 1004
|
||||
TZ: ${TZ}
|
||||
PERIOD: 1h
|
||||
UPDATE_COOLDOWN_PERIOD: 5m
|
||||
PUBLICIP_DNS_TIMEOUT: 3s
|
||||
HTTP_TIMEOUT: 10s
|
||||
# Web UI
|
||||
LISTENING_PORT: 8000
|
||||
# Backup
|
||||
BACKUP_PERIOD: 96h # 0 to disable
|
||||
BACKUP_DIRECTORY: /updater/data/backups
|
||||
# Other
|
||||
LOG_LEVEL: info
|
||||
SHOUTRRR_ADDRESSES: $TGRAM_SHOUTRRR_ADDRESS
|
||||
labels:
|
||||
- diun.enable=true
|
||||
|
||||
pihole:
|
||||
image: pihole/pihole:2023.01
|
||||
image: pihole/pihole:2023.02.1
|
||||
container_name: pihole
|
||||
ports:
|
||||
- "53:53/tcp"
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ services:
|
|||
- "traefik.http.routers.milvertcom-secure.entrypoints=web-secure"
|
||||
- "traefik.http.routers.milvertcom-secure.middlewares=default-headers@file"
|
||||
- "traefik.http.routers.milvertcom-secure.rule=Host(`${DOMAIN}`)"
|
||||
- "traefik.http.routers.milvertcom-secure.tls.certresolver=milvert_cert"
|
||||
- "traefik.http.routers.milvertcom-secure.tls.certresolver=milvert_dns"
|
||||
- "traefik.http.routers.milvertcom-secure.tls=true"
|
||||
#- "traefik.http.routers.milvert-secure.priority=1"
|
||||
volumes:
|
||||
|
|
@ -38,7 +38,7 @@ services:
|
|||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.whoami-secure.entrypoints=web-secure"
|
||||
- "traefik.http.routers.whoami-secure.rule=Host(`whoami.${DOMAIN}`)"
|
||||
- "traefik.http.routers.whoami-secure.tls.certresolver=milvert_cert"
|
||||
- "traefik.http.routers.whoami-secure.tls.certresolver=milvert_dns"
|
||||
- "traefik.http.routers.whoami-secure.tls=true"
|
||||
|
||||
ttrss:
|
||||
|
|
@ -66,7 +66,7 @@ services:
|
|||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.rss-secure.entrypoints=web-secure"
|
||||
- "traefik.http.routers.rss-secure.rule=Host(`rss.${DOMAIN}`)"
|
||||
- "traefik.http.routers.rss-secure.tls.certresolver=milvert_cert"
|
||||
- "traefik.http.routers.rss-secure.tls.certresolver=milvert_dns"
|
||||
- "traefik.http.routers.rss-secure.tls=true"
|
||||
|
||||
diak:
|
||||
|
|
@ -89,7 +89,7 @@ services:
|
|||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.diak-secure.entrypoints=web-secure"
|
||||
- "traefik.http.routers.diak-secure.rule=Host(`diak.${DOMAIN}`)"
|
||||
- "traefik.http.routers.diak-secure.tls.certresolver=milvert_cert"
|
||||
- "traefik.http.routers.diak-secure.tls.certresolver=milvert_dns"
|
||||
- "traefik.http.routers.diak-secure.tls=true"
|
||||
|
||||
|
||||
|
|
@ -124,7 +124,7 @@ services:
|
|||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.sync_johanna-secure.entrypoints=web-secure"
|
||||
- "traefik.http.routers.sync_johanna-secure.rule=Host(`sync.${DOMAIN}`)"
|
||||
- "traefik.http.routers.sync_johanna-secure.tls.certresolver=milvert_cert"
|
||||
- "traefik.http.routers.sync_johanna-secure.tls.certresolver=milvert_dns"
|
||||
- "traefik.http.routers.sync_johanna-secure.tls=true"
|
||||
|
||||
torrent:
|
||||
|
|
@ -150,7 +150,7 @@ services:
|
|||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.torrent-secure.entrypoints=web-secure"
|
||||
- "traefik.http.routers.torrent-secure.rule=Host(`torrent.${DOMAIN}`)"
|
||||
- "traefik.http.routers.torrent-secure.tls.certresolver=milvert_cert"
|
||||
- "traefik.http.routers.torrent-secure.tls.certresolver=milvert_dns"
|
||||
- "traefik.http.routers.torrent-secure.tls=true"
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ services:
|
|||
# So that Traefik can listen to the Docker events
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- ./traefik.yml:/etc/traefik/traefik.yml
|
||||
#- ./traefik:/rules
|
||||
- ./static_config.yml:/etc/traefik/static_config.yml
|
||||
# - "./log.json:/etc/traefik/log.json"
|
||||
#- ./acme.json:/acme.json
|
||||
|
|
|
|||
|
|
@ -0,0 +1,2 @@
|
|||
01-nginx-site-confs-default
|
||||
02-default-location
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIDsTCCApmgAwIBAgIUKuHEIjCQG8lMZr5D0ZCpruU7lz0wDQYJKoZIhvcNAQEL
|
||||
BQAwaDELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMREwDwYDVQQHDAhDYXJsc2Jh
|
||||
ZDEXMBUGA1UECgwOTGludXhzZXJ2ZXIuaW8xFDASBgNVBAsMC0xTSU8gU2VydmVy
|
||||
MQowCAYDVQQDDAEqMB4XDTIzMDEwOTIwMDgwNVoXDTMzMDEwNjIwMDgwNVowaDEL
|
||||
MAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMREwDwYDVQQHDAhDYXJsc2JhZDEXMBUG
|
||||
A1UECgwOTGludXhzZXJ2ZXIuaW8xFDASBgNVBAsMC0xTSU8gU2VydmVyMQowCAYD
|
||||
VQQDDAEqMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsgEtqv2AJNRS
|
||||
2Trz7b2vD/yWY2enKRhrXOCfo7VbIdRTvd2AelvZxFe2LR39n7ccGxfxpcvJdAKG
|
||||
cuCYEIMmkHPdOQX/UhJCm2W0ZXAvSKQ3GfDROJ0m+ZkVhw3U0drIvbgpPDIv4aZv
|
||||
Qj0m8BkQnSJBG6nnSL/btens22d53HARbqdp/PCeu7Dya6dyNFPO7T1/oO20vLHZ
|
||||
S3rWW6ZLqbk/XE6lcBNJqH6yEjPWVutBHs//zGOsWw1rFN0QXj7zTVMbNKvUdo7A
|
||||
8DoRbTChnBbnfYX+1bfKmXafqCr5mXvMyRJO5rk9YOllJoyOajQvPE5GGSzRUwss
|
||||
5a4NLrOKtQIDAQABo1MwUTAdBgNVHQ4EFgQU+024FytBWdR1gPLUnoIgNkJdr2ww
|
||||
HwYDVR0jBBgwFoAU+024FytBWdR1gPLUnoIgNkJdr2wwDwYDVR0TAQH/BAUwAwEB
|
||||
/zANBgkqhkiG9w0BAQsFAAOCAQEAFkROVFaxraWP4UI4GEPiubzWzppl9oRW1GPW
|
||||
afl8YckSNEqipmnAloRThckNfWDbyutnaQ5mEqfP2h7Xs9orf+WM+44MsD79qbSF
|
||||
tDLaP6zYlpUXHTmAHCGhICWgIZpfGJ+DU4WKhzJ5qhXBtyMDB68weBTdEPAdSlr5
|
||||
U0JjlKHt7R7EecR7XXa0eDO/KOSgtsBrkUlhfAMz+Z6mTZ6iZJv21qzRqRRko+Hk
|
||||
4fQwozQYpZ2sdT+u2aBbRqfj9UGdNi9COArdYfvLG6U6C1iFaoaO0UmwRKRhTVah
|
||||
UuWe3xD6IkSOphdjppoUWuWfgbgdOjvGjWBX/LcAfNTTS0i1cw==
|
||||
-----END CERTIFICATE-----
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCyAS2q/YAk1FLZ
|
||||
OvPtva8P/JZjZ6cpGGtc4J+jtVsh1FO93YB6W9nEV7YtHf2ftxwbF/Gly8l0AoZy
|
||||
4JgQgyaQc905Bf9SEkKbZbRlcC9IpDcZ8NE4nSb5mRWHDdTR2si9uCk8Mi/hpm9C
|
||||
PSbwGRCdIkEbqedIv9u16ezbZ3nccBFup2n88J67sPJrp3I0U87tPX+g7bS8sdlL
|
||||
etZbpkupuT9cTqVwE0mofrISM9ZW60Eez//MY6xbDWsU3RBePvNNUxs0q9R2jsDw
|
||||
OhFtMKGcFud9hf7Vt8qZdp+oKvmZe8zJEk7muT1g6WUmjI5qNC88TkYZLNFTCyzl
|
||||
rg0us4q1AgMBAAECggEAMMMT4JB7Jxum6m003z6kE0wNYoPFjgNrfdDmynDm2xiQ
|
||||
LCXeiSZaPGgOtsNNdBA0OdPQVavCru32KMgPwA49ZTroMjPLYo8wAePVjCg0O8EI
|
||||
eym2Fr0uLRfbhtiqISa+8QHfAed5qGXweoPIA+PJ4lG85jgf7JTqOiYvxVbOUi1I
|
||||
BPUWsfilT1bNmMMzvU7RzskfE4VLWs/Rg2aqz3lTvYYK9IakG8smEZPPMKhY0j7o
|
||||
0tJpOT8yj0mAAb0VnkB4+11T64btf/okl1EW3ap8tMOJbrxWmBKtrT5QxsJxmmX5
|
||||
FwT7n450/gAut0wNdq121ftQ+d1hh7oTiLv76OqYIQKBgQDcdBHF0F8I1Ed0CNGk
|
||||
jx7SGNvCVOlWNWIZgTt5bXc+qoOvf41/DHbcre4Sg0pa1RGGPMqxbDi4wqwthv9c
|
||||
r7epYf0CZN/m5V2MdrKt38VPvAR72u7BevY6UO3hI5aUKmjk+nJWF1MY6pHItPpi
|
||||
gc4UScS3ibkRZgqGi0TIhfM8OQKBgQDOtOWkTTQnUnTJwOS2JxpHK3cdyBGs02Ic
|
||||
WFN+jVwxcjqlUI+wahhtie5lkpj7IpnnWQM1mPxXE5hOZ8q++G8WTWiPEUOQfz6h
|
||||
GMEmvUTXrrPHE74pzIdGRyMH/uwzZlMYN9SCQ3vsTVC2rJgbWz7bHaCSfk6kFvzs
|
||||
pAZ/fr/6XQKBgQC+CbSUcLar1sqtxThrghDQjitLD4WCEky5rcTGPU4REE6qh+tC
|
||||
/UytmaXkAZekS45qyJb2cVNIOlDQglI55SQO+PBxEuJMmaaWAnCvIHpn7K1001sE
|
||||
IOqHhOI7NUGGAjUgRqEvg7XXgcYgXZqGNl2e8aSJj0ihLfSe3QlzTr1KSQKBgQDF
|
||||
rtL/8qWyBXWTjVotqe/DqJnebXwZ4H6vxPj0ypQk5a2YdBc3DAAYohTQJwcPBeRS
|
||||
EBq1o32QeTjrou+O+2Ch353jVQtcoZRv1JDET7YK3xUnioYOy3+DgnzKJM4XygAl
|
||||
5R7jBU76imZqjV1arETMoOTztL/YxfNVDPj57WoEMQKBgQDH7RPm3P7kVUD/Mt2p
|
||||
fWIJMS7N326hfMghWVTDpiivvGZNwS4BfLfrWvRU8mHTKZs/qh3svs9kP8vGDUcK
|
||||
0KJkQIPdxtHHXZU6LqQpUXp+/jNat2LyjgAoAvHyser9z13Bmm4LUE4Bm3RDl8/o
|
||||
yNiYxpwO4PyiS3KKacUp8DknZA==
|
||||
-----END PRIVATE KEY-----
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
logrotate state -- version 2
|
||||
"/var/log/acpid.log" 2023-1-10-2:0:0
|
||||
"/config/log/nginx/access.log" 2023-3-27-2:0:0
|
||||
"/config/log/nginx/error.log" 2023-3-27-2:0:0
|
||||
"/var/log/php8/*.log" 2023-1-10-2:0:0
|
||||
"/config/log/php/error.log" 2023-3-27-2:0:0
|
||||
|
|
@ -0,0 +1,72 @@
|
|||
172.19.0.25 - - [28/Mar/2023:09:07:59 +0200] "GET / HTTP/1.1" 200 10251 "-" "Expanse, a Palo Alto Networks company, searches across the global IPv4 space multiple times per day to identify customers' presences on the Internet. If you would like to be excluded from our scans, please send IP addresses/domains to: scaninfo@paloaltonetworks.com"
|
||||
172.19.0.25 - - [28/Mar/2023:21:04:20 +0200] "GET / HTTP/1.1" 200 10251 "-" "Go-http-client/2.0"
|
||||
172.19.0.25 - - [28/Mar/2023:21:04:21 +0200] "GET / HTTP/1.1" 200 10251 "-" "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.68 Safari/537.36"
|
||||
172.19.0.25 - - [28/Mar/2023:21:04:24 +0200] "HEAD / HTTP/1.1" 200 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36"
|
||||
172.19.0.25 - - [28/Mar/2023:21:04:28 +0200] "GET / HTTP/1.1" 200 10251 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/111.0.5563.64 Safari/537.36"
|
||||
172.19.0.25 - - [28/Mar/2023:21:04:28 +0200] "GET /speedtest.js HTTP/1.1" 200 16965 "https://librespeed.milvert.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/111.0.5563.64 Safari/537.36"
|
||||
172.19.0.25 - - [28/Mar/2023:21:04:49 +0200] "GET / HTTP/1.1" 200 10251 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.71 Safari/537.36"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:16 +0200] "GET / HTTP/1.1" 200 10251 "-" "Mozilla/5.0 (Linux; U; Android 2.2; ja-jp; SC-02B Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:41 +0200] "GET /.git/config HTTP/1.1" 200 10251 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:48 +0200] "GET / HTTP/1.1" 200 10251 "-" "-"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:48 +0200] "GET / HTTP/1.1" 200 10251 "-" "-"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:48 +0200] "GET / HTTP/1.1" 200 10251 "-" "-"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:49 +0200] "GET /info.php HTTP/1.1" 404 27 "-" "Go-http-client/1.1"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:49 +0200] "GET /s/33e27393e2431313e2838313/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties HTTP/1.1" 200 10251 "-" "Go-http-client/1.1"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:49 +0200] "GET / HTTP/1.1" 200 10251 "-" "Mozilla/5.0 (Linux; Android 6.0; HTC One M9 Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.98 Mobile Safari/537.3"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:49 +0200] "GET / HTTP/1.1" 200 10251 "-" "-"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:50 +0200] "GET /.env HTTP/1.1" 200 10251 "-" "Go-http-client/1.1"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:50 +0200] "GET /.DS_Store HTTP/1.1" 200 10251 "-" "Go-http-client/1.1"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:50 +0200] "GET /?rest_route=/wp/v2/users/ HTTP/1.1" 200 10251 "-" "Go-http-client/1.1"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:50 +0200] "GET /.git/config HTTP/1.1" 200 10251 "-" "Go-http-client/1.1"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:50 +0200] "GET /server-status HTTP/1.1" 200 10251 "-" "Go-http-client/1.1"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:50 +0200] "GET /telescope/requests HTTP/1.1" 200 10251 "-" "Go-http-client/1.1"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:50 +0200] "GET /info.php HTTP/1.1" 404 27 "-" "Go-http-client/1.1"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:50 +0200] "GET /.DS_Store HTTP/1.1" 200 10251 "-" "Go-http-client/1.1"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:50 +0200] "GET /ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application HTTP/1.1" 200 10251 "-" "Go-http-client/1.1"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:50 +0200] "GET /ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application HTTP/1.1" 200 10251 "-" "Go-http-client/1.1"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:50 +0200] "GET /server-status HTTP/1.1" 200 10251 "-" "Go-http-client/1.1"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:50 +0200] "GET / HTTP/1.1" 200 10251 "-" "Mozilla/5.0 (Linux; Android 6.0; HTC One M9 Build/MRA615725) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.3161.98 Mobile Safari/537.3"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:50 +0200] "GET /debug/default/view?panel=config HTTP/1.1" 200 10251 "-" "Go-http-client/1.1"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:50 +0200] "GET /s/33e26393e2431313e2838313/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties HTTP/1.1" 200 10251 "-" "Go-http-client/1.1"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:50 +0200] "GET /?rest_route=/wp/v2/users/ HTTP/1.1" 200 10251 "-" "Go-http-client/1.1"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:50 +0200] "GET /debug/default/view?panel=config HTTP/1.1" 200 10251 "-" "Go-http-client/1.1"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:50 +0200] "GET / HTTP/1.1" 200 10251 "-" "Mozilla/5.0 (Linux; Android 6.0; HTC One M9 Build/MRA615981) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.3161.98 Mobile Safari/537.3"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:50 +0200] "GET /.vscode/sftp.json HTTP/1.1" 200 10251 "-" "Go-http-client/1.1"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:50 +0200] "GET /.env HTTP/1.1" 200 10251 "-" "Go-http-client/1.1"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:50 +0200] "GET /telescope/requests HTTP/1.1" 200 10251 "-" "Go-http-client/1.1"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:50 +0200] "GET /.git/config HTTP/1.1" 200 10251 "-" "Go-http-client/1.1"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:50 +0200] "GET /.vscode/sftp.json HTTP/1.1" 200 10251 "-" "Go-http-client/1.1"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:50 +0200] "GET /login.action HTTP/1.1" 200 10251 "-" "Go-http-client/1.1"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:50 +0200] "GET /api/search?folderIds=0 HTTP/1.1" 200 10251 "-" "Go-http-client/1.1"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:50 +0200] "GET /v2/_catalog HTTP/1.1" 200 10251 "-" "Go-http-client/1.1"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:51 +0200] "GET /config.json HTTP/1.1" 200 10251 "-" "Go-http-client/1.1"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:51 +0200] "GET / HTTP/1.1" 200 10251 "-" "Mozilla/5.0 (Linux; Android 6.0; HTC One M9 Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.98 Mobile Safari/537.3"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:51 +0200] "GET /v2/_catalog HTTP/1.1" 200 10251 "-" "Go-http-client/1.1"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:51 +0200] "GET /api/search?folderIds=0 HTTP/1.1" 200 10251 "-" "Go-http-client/1.1"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:51 +0200] "GET /about HTTP/1.1" 200 10251 "-" "Go-http-client/1.1"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:51 +0200] "GET /login.action HTTP/1.1" 200 10251 "-" "Go-http-client/1.1"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:51 +0200] "GET /config.json HTTP/1.1" 200 10251 "-" "Go-http-client/1.1"
|
||||
172.19.0.25 - - [28/Mar/2023:21:05:51 +0200] "GET /about HTTP/1.1" 200 10251 "-" "Go-http-client/1.1"
|
||||
172.19.0.25 - - [28/Mar/2023:21:06:13 +0200] "HEAD / HTTP/1.1" 200 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36"
|
||||
172.19.0.25 - - [28/Mar/2023:21:34:10 +0200] "GET / HTTP/1.1" 200 10251 "-" "Go-http-client/2.0"
|
||||
172.19.0.25 - - [28/Mar/2023:21:57:17 +0200] "GET / HTTP/1.1" 200 10251 "-" "Mozilla/5.0 (Linux; U; Android 2.2; ja-jp; SC-02B Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"
|
||||
172.19.0.25 - - [28/Mar/2023:21:57:17 +0200] "GET / HTTP/1.1" 200 10251 "-" "Mozilla/5.0 (Linux; U; Android 2.2; ja-jp; SC-02B Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"
|
||||
172.19.0.25 - - [28/Mar/2023:21:58:07 +0200] "HEAD / HTTP/1.1" 200 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36"
|
||||
172.19.0.25 - - [28/Mar/2023:21:58:15 +0200] "HEAD / HTTP/1.1" 200 0 "http://librespeed.milvert.com" "Go-http-client/2.0"
|
||||
172.19.0.25 - - [28/Mar/2023:21:58:15 +0200] "HEAD / HTTP/1.1" 200 0 "http://librespeed.milvert.com" "Go-http-client/2.0"
|
||||
172.19.0.25 - - [28/Mar/2023:21:58:46 +0200] "GET / HTTP/1.1" 200 10251 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/111.0.5563.64 Safari/537.36"
|
||||
172.19.0.25 - - [28/Mar/2023:21:58:46 +0200] "GET /speedtest.js HTTP/1.1" 200 16965 "https://librespeed.milvert.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/111.0.5563.64 Safari/537.36"
|
||||
172.19.0.25 - - [28/Mar/2023:23:04:10 +0200] "GET / HTTP/1.1" 200 10251 "-" "Mozilla/5.0 (Linux; U; Android 2.2; ja-jp; SC-02B Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"
|
||||
172.19.0.25 - - [28/Mar/2023:23:04:11 +0200] "GET / HTTP/1.1" 200 10251 "-" "Mozilla/5.0 (Linux; U; Android 2.2; ja-jp; SC-02B Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"
|
||||
172.19.0.25 - - [28/Mar/2023:23:04:40 +0200] "GET / HTTP/1.1" 200 10251 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 15_1_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.1 Mobile/15E148 Safari/604.1"
|
||||
172.19.0.25 - - [28/Mar/2023:23:11:45 +0200] "GET / HTTP/1.1" 200 10251 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36"
|
||||
172.19.0.25 - - [28/Mar/2023:23:56:14 +0200] "GET / HTTP/1.1" 200 10251 "-" "Mozilla/5.0 (Linux; U; Android 2.2; ja-jp; SC-02B Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"
|
||||
172.19.0.25 - - [28/Mar/2023:23:56:14 +0200] "GET / HTTP/1.1" 200 10251 "-" "Mozilla/5.0 (Linux; U; Android 2.2; ja-jp; SC-02B Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"
|
||||
172.19.0.25 - - [28/Mar/2023:23:56:17 +0200] "GET / HTTP/1.1" 200 10251 "-" "Mozilla/5.0 (Linux; U; Android 2.2; ja-jp; SC-02B Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"
|
||||
172.19.0.25 - - [28/Mar/2023:23:56:17 +0200] "GET / HTTP/1.1" 200 10251 "-" "Mozilla/5.0 (Linux; U; Android 2.2; ja-jp; SC-02B Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"
|
||||
172.19.0.25 - - [29/Mar/2023:07:50:58 +0200] "GET / HTTP/1.1" 200 10251 "-" "Expanse, a Palo Alto Networks company, searches across the global IPv4 space multiple times per day to identify customers' presences on the Internet. If you would like to be excluded from our scans, please send IP addresses/domains to: scaninfo@paloaltonetworks.com"
|
||||
172.19.0.25 - - [29/Mar/2023:12:24:01 +0200] "GET / HTTP/1.1" 200 10251 "-" "Mozilla/5.0 (Linux; Android 11; M2004J15SC) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.114 Mobile Safari/537.36"
|
||||
172.19.0.25 - - [29/Mar/2023:12:24:03 +0200] "GET /Public/home/js/check.js HTTP/1.1" 200 10251 "-" "Mozilla/5.0 (Linux; Android 11; M2004J15SC) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.114 Mobile Safari/537.36"
|
||||
172.19.0.25 - - [29/Mar/2023:12:24:17 +0200] "GET /static/admin/javascript/hetong.js HTTP/1.1" 200 10251 "-" "Mozilla/5.0 (Linux; Android 11; M2004J15SC) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.114 Mobile Safari/537.36"
|
||||
172.19.0.25 - - [29/Mar/2023:12:45:18 +0200] "GET / HTTP/1.1" 200 10251 "-" "Mozilla/5.0 (Linux; Android 11; M2004J15SC) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.114 Mobile Safari/537.36"
|
||||
172.19.0.25 - - [29/Mar/2023:12:45:20 +0200] "GET /Public/home/js/check.js HTTP/1.1" 200 10251 "-" "Mozilla/5.0 (Linux; Android 11; M2004J15SC) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.114 Mobile Safari/537.36"
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
172.19.0.25 - - [21/Mar/2023:02:29:37 +0100] "GET / HTTP/1.1" 200 10251 "-" "Expanse, a Palo Alto Networks company, searches across the global IPv4 space multiple times per day to identify customers' presences on the Internet. If you would like to be excluded from our scans, please send IP addresses/domains to: scaninfo@paloaltonetworks.com"
|
||||
172.19.0.25 - - [21/Mar/2023:07:35:06 +0100] "GET / HTTP/1.1" 200 10251 "-" "Expanse, a Palo Alto Networks company, searches across the global IPv4 space multiple times per day to identify customers' presences on the Internet. If you would like to be excluded from our scans, please send IP addresses/domains to: scaninfo@paloaltonetworks.com"
|
||||
172.19.0.25 - - [24/Mar/2023:17:26:06 +0100] "GET / HTTP/1.1" 200 10251 "-" "Expanse, a Palo Alto Networks company, searches across the global IPv4 space multiple times per day to identify customers' presences on the Internet. If you would like to be excluded from our scans, please send IP addresses/domains to: scaninfo@paloaltonetworks.com"
|
||||
172.19.0.25 - - [24/Mar/2023:17:36:47 +0100] "GET /wp-login.php HTTP/1.1" 404 27 "http://librespeed.milvert.com/wp-login.php" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:96.0) Gecko/20100101 Firefox/96"
|
||||
172.19.0.25 - - [24/Mar/2023:18:01:10 +0100] "GET / HTTP/1.1" 200 10251 "-" "Expanse, a Palo Alto Networks company, searches across the global IPv4 space multiple times per day to identify customers' presences on the Internet. If you would like to be excluded from our scans, please send IP addresses/domains to: scaninfo@paloaltonetworks.com"
|
||||
172.19.0.25 - - [25/Mar/2023:02:58:45 +0100] "GET / HTTP/1.1" 200 10251 "http://librespeed.milvert.com" "Mozilla/5.0 (compatible; InternetMeasurement/1.0; +https://internet-measurement.com/)"
|
||||
172.19.0.25 - - [25/Mar/2023:02:58:46 +0100] "GET /favicon.ico HTTP/1.1" 200 16958 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36"
|
||||
172.19.0.25 - - [25/Mar/2023:16:58:03 +0100] "GET / HTTP/1.1" 200 10251 "-" "-"
|
||||
172.19.0.25 - - [25/Mar/2023:18:25:55 +0100] "GET / HTTP/1.1" 200 10251 "-" "-"
|
||||
172.19.0.25 - - [25/Mar/2023:19:15:38 +0100] "GET / HTTP/1.1" 200 10251 "http://172.67.170.69:80/" "-"
|
||||
172.19.0.25 - - [26/Mar/2023:03:42:01 +0200] "GET /wp-login.php HTTP/1.1" 404 27 "http://librespeed.milvert.com/wp-login.php" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:96.0) Gecko/20100101 Firefox/96"
|
||||
172.19.0.25 - - [26/Mar/2023:08:23:09 +0200] "GET / HTTP/1.1" 200 10251 "http://104.21.63.75:80/" "-"
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,2 @@
|
|||
2023/03/28 21:05:49 [error] 1843#1843: *20 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 172.19.0.25, server: _, request: "GET /info.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "librespeed.milvert.com"
|
||||
2023/03/28 21:05:50 [error] 1844#1844: *23 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 172.19.0.25, server: _, request: "GET /info.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "librespeed.milvert.com"
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
2023/03/24 17:36:47 [error] 850#850: *9 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 172.19.0.25, server: _, request: "GET /wp-login.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "librespeed.milvert.com", referrer: "http://librespeed.milvert.com/wp-login.php"
|
||||
2023/03/26 03:42:01 [error] 850#850: *16 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 172.19.0.25, server: _, request: "GET /wp-login.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "librespeed.milvert.com", referrer: "http://librespeed.milvert.com/wp-login.php"
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,2 @@
|
|||
[27-Mar-2023 02:00:00] NOTICE: fpm is running, pid 1848
|
||||
[27-Mar-2023 02:00:00] NOTICE: ready to handle connections
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[19-Mar-2023 02:00:01] NOTICE: fpm is running, pid 855
|
||||
[19-Mar-2023 02:00:01] NOTICE: ready to handle connections
|
||||
[27-Mar-2023 02:00:00] NOTICE: Terminating ...
|
||||
[27-Mar-2023 02:00:00] NOTICE: exiting, bye-bye!
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,13 @@
|
|||
-----BEGIN DH PARAMETERS-----
|
||||
MIICCAKCAgEA//////////+t+FRYortKmq/cViAnPTzx2LnFg84tNpWp4TZBFGQz
|
||||
+8yTnc4kmz75fS/jY2MMddj2gbICrsRhetPfHtXV/WVhJDP1H18GbtCFY2VVPe0a
|
||||
87VXE15/V8k1mE8McODmi3fipona8+/och3xWKE2rec1MKzKT0g6eXq8CrGCsyT7
|
||||
YdEIqUuyyOP7uWrat2DX9GgdT0Kj3jlN9K5W7edjcrsZCwenyO4KbXCeAvzhzffi
|
||||
7MA0BM0oNC9hkXL+nOmFg/+OTxIy7vKBg8P+OxtMb61zO7X8vC7CIAXFjvGDfRaD
|
||||
ssbzSibBsu/6iGtCOGEfz9zeNVs7ZRkDW7w09N75nAI4YbRvydbmyQd62R0mkff3
|
||||
7lmMsPrBhtkcrv4TCYUTknC0EwyTvEN5RPT9RFLi103TZPLiHnH1S/9croKrnJ32
|
||||
nuhtK8UiNjoNq8Uhl5sN6todv5pC1cRITgq80Gv6U93vPBsg7j/VnXwl5B0rZp4e
|
||||
8W5vUsMWTfT7eTDp5OWIV7asfV9C1p9tGHdjzx1VA0AEh/VbpX4xzHpxNciG77Qx
|
||||
iu1qHgEtnmgyqQdgCpGBMMRtx3j5ca0AOAkpmaMzy4t6Gh25PXFAADwqTs6p+Y0K
|
||||
zAqCkc3OyX3Pjsm1Wn+IpGtNtahR9EGC4caKAH5eZV9q//////////8CAQI=
|
||||
-----END DH PARAMETERS-----
|
||||
|
|
@ -0,0 +1,81 @@
|
|||
## Version 2022/08/16 - Changelog: https://github.com/linuxserver/docker-baseimage-alpine-nginx/commits/master/root/defaults/nginx/nginx.conf.sample
|
||||
|
||||
### Based on alpine defaults
|
||||
# https://git.alpinelinux.org/aports/tree/main/nginx/nginx.conf?h=3.15-stable
|
||||
|
||||
user abc;
|
||||
|
||||
# Set number of worker processes automatically based on number of CPU cores.
|
||||
include /config/nginx/worker_processes.conf;
|
||||
|
||||
# Enables the use of JIT for regular expressions to speed-up their processing.
|
||||
pcre_jit on;
|
||||
|
||||
# Configures default error logger.
|
||||
error_log /config/log/nginx/error.log;
|
||||
|
||||
# Includes files with directives to load dynamic modules.
|
||||
include /etc/nginx/modules/*.conf;
|
||||
|
||||
# Include files with config snippets into the root context.
|
||||
include /etc/nginx/conf.d/*.conf;
|
||||
|
||||
events {
|
||||
# The maximum number of simultaneous connections that can be opened by
|
||||
# a worker process.
|
||||
worker_connections 1024;
|
||||
}
|
||||
|
||||
http {
|
||||
# Includes mapping of file name extensions to MIME types of responses
|
||||
# and defines the default type.
|
||||
include /etc/nginx/mime.types;
|
||||
default_type application/octet-stream;
|
||||
|
||||
# Name servers used to resolve names of upstream servers into addresses.
|
||||
# It's also needed when using tcpsocket and udpsocket in Lua modules.
|
||||
#resolver 1.1.1.1 1.0.0.1 2606:4700:4700::1111 2606:4700:4700::1001;
|
||||
include /config/nginx/resolver.conf;
|
||||
|
||||
# Don't tell nginx version to the clients. Default is 'on'.
|
||||
server_tokens off;
|
||||
|
||||
# Specifies the maximum accepted body size of a client request, as
|
||||
# indicated by the request header Content-Length. If the stated content
|
||||
# length is greater than this size, then the client receives the HTTP
|
||||
# error code 413. Set to 0 to disable. Default is '1m'.
|
||||
client_max_body_size 0;
|
||||
|
||||
# Sendfile copies data between one FD and other from within the kernel,
|
||||
# which is more efficient than read() + write(). Default is off.
|
||||
sendfile on;
|
||||
|
||||
# Causes nginx to attempt to send its HTTP response head in one packet,
|
||||
# instead of using partial frames. Default is 'off'.
|
||||
tcp_nopush on;
|
||||
|
||||
# all ssl related config moved to ssl.conf
|
||||
include /config/nginx/ssl.conf;
|
||||
|
||||
# Enable gzipping of responses.
|
||||
#gzip on;
|
||||
|
||||
# Set the Vary HTTP header as defined in the RFC 2616. Default is 'off'.
|
||||
gzip_vary on;
|
||||
|
||||
# Helper variable for proxying websockets.
|
||||
map $http_upgrade $connection_upgrade {
|
||||
default upgrade;
|
||||
'' close;
|
||||
}
|
||||
|
||||
# Sets the path, format, and configuration for a buffered log write.
|
||||
access_log /config/log/nginx/access.log;
|
||||
|
||||
# Includes virtual hosts configs.
|
||||
include /etc/nginx/http.d/*.conf;
|
||||
include /config/nginx/site-confs/*.conf;
|
||||
}
|
||||
|
||||
daemon off;
|
||||
pid /run/nginx.pid;
|
||||
|
|
@ -0,0 +1,81 @@
|
|||
## Version 2022/08/16 - Changelog: https://github.com/linuxserver/docker-baseimage-alpine-nginx/commits/master/root/defaults/nginx/nginx.conf.sample
|
||||
|
||||
### Based on alpine defaults
|
||||
# https://git.alpinelinux.org/aports/tree/main/nginx/nginx.conf?h=3.15-stable
|
||||
|
||||
user abc;
|
||||
|
||||
# Set number of worker processes automatically based on number of CPU cores.
|
||||
include /config/nginx/worker_processes.conf;
|
||||
|
||||
# Enables the use of JIT for regular expressions to speed-up their processing.
|
||||
pcre_jit on;
|
||||
|
||||
# Configures default error logger.
|
||||
error_log /config/log/nginx/error.log;
|
||||
|
||||
# Includes files with directives to load dynamic modules.
|
||||
include /etc/nginx/modules/*.conf;
|
||||
|
||||
# Include files with config snippets into the root context.
|
||||
include /etc/nginx/conf.d/*.conf;
|
||||
|
||||
events {
|
||||
# The maximum number of simultaneous connections that can be opened by
|
||||
# a worker process.
|
||||
worker_connections 1024;
|
||||
}
|
||||
|
||||
http {
|
||||
# Includes mapping of file name extensions to MIME types of responses
|
||||
# and defines the default type.
|
||||
include /etc/nginx/mime.types;
|
||||
default_type application/octet-stream;
|
||||
|
||||
# Name servers used to resolve names of upstream servers into addresses.
|
||||
# It's also needed when using tcpsocket and udpsocket in Lua modules.
|
||||
#resolver 1.1.1.1 1.0.0.1 2606:4700:4700::1111 2606:4700:4700::1001;
|
||||
include /config/nginx/resolver.conf;
|
||||
|
||||
# Don't tell nginx version to the clients. Default is 'on'.
|
||||
server_tokens off;
|
||||
|
||||
# Specifies the maximum accepted body size of a client request, as
|
||||
# indicated by the request header Content-Length. If the stated content
|
||||
# length is greater than this size, then the client receives the HTTP
|
||||
# error code 413. Set to 0 to disable. Default is '1m'.
|
||||
client_max_body_size 0;
|
||||
|
||||
# Sendfile copies data between one FD and other from within the kernel,
|
||||
# which is more efficient than read() + write(). Default is off.
|
||||
sendfile on;
|
||||
|
||||
# Causes nginx to attempt to send its HTTP response head in one packet,
|
||||
# instead of using partial frames. Default is 'off'.
|
||||
tcp_nopush on;
|
||||
|
||||
# all ssl related config moved to ssl.conf
|
||||
include /config/nginx/ssl.conf;
|
||||
|
||||
# Enable gzipping of responses.
|
||||
#gzip on;
|
||||
|
||||
# Set the Vary HTTP header as defined in the RFC 2616. Default is 'off'.
|
||||
gzip_vary on;
|
||||
|
||||
# Helper variable for proxying websockets.
|
||||
map $http_upgrade $connection_upgrade {
|
||||
default upgrade;
|
||||
'' close;
|
||||
}
|
||||
|
||||
# Sets the path, format, and configuration for a buffered log write.
|
||||
access_log /config/log/nginx/access.log;
|
||||
|
||||
# Includes virtual hosts configs.
|
||||
include /etc/nginx/http.d/*.conf;
|
||||
include /config/nginx/site-confs/*.conf;
|
||||
}
|
||||
|
||||
daemon off;
|
||||
pid /run/nginx.pid;
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
# This file is auto-generated only on first start, based on the container's /etc/resolv.conf file. Feel free to modify it as you wish.
|
||||
|
||||
resolver 127.0.0.11 valid=30s;
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
## Version 2022/10/04 - Changelog: https://github.com/linuxserver/docker-baseimage-alpine-nginx/commits/master/root/defaults/nginx/site-confs/default.conf.sample
|
||||
|
||||
server {
|
||||
listen 80 default_server;
|
||||
listen [::]:80 default_server;
|
||||
|
||||
listen 443 ssl http2 default_server;
|
||||
listen [::]:443 ssl http2 default_server;
|
||||
|
||||
server_name _;
|
||||
|
||||
set $root /app/www/public;
|
||||
if (!-d /app/www/public) {
|
||||
set $root /config/www;
|
||||
}
|
||||
root $root;
|
||||
index index.html index.htm index.php;
|
||||
|
||||
location / {
|
||||
# enable for basic auth
|
||||
#auth_basic "Restricted";
|
||||
#auth_basic_user_file /config/nginx/.htpasswd;
|
||||
|
||||
try_files $uri $uri/ /index.html /index.php$is_args$args =404;
|
||||
}
|
||||
|
||||
location ~ ^(.+\.php)(.*)$ {
|
||||
fastcgi_split_path_info ^(.+\.php)(.*)$;
|
||||
fastcgi_pass 127.0.0.1:9000;
|
||||
fastcgi_index index.php;
|
||||
include /etc/nginx/fastcgi_params;
|
||||
}
|
||||
|
||||
# deny access to .htaccess/.htpasswd files
|
||||
location ~ /\.ht {
|
||||
deny all;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
## Version 2022/10/04 - Changelog: https://github.com/linuxserver/docker-baseimage-alpine-nginx/commits/master/root/defaults/nginx/site-confs/default.conf.sample
|
||||
|
||||
server {
|
||||
listen 80 default_server;
|
||||
listen [::]:80 default_server;
|
||||
|
||||
listen 443 ssl http2 default_server;
|
||||
listen [::]:443 ssl http2 default_server;
|
||||
|
||||
server_name _;
|
||||
|
||||
set $root /app/www/public;
|
||||
if (!-d /app/www/public) {
|
||||
set $root /config/www;
|
||||
}
|
||||
root $root;
|
||||
index index.html index.htm index.php;
|
||||
|
||||
location / {
|
||||
# enable for basic auth
|
||||
#auth_basic "Restricted";
|
||||
#auth_basic_user_file /config/nginx/.htpasswd;
|
||||
|
||||
try_files $uri $uri/ /index.html /index.php$is_args$args =404;
|
||||
}
|
||||
|
||||
location ~ ^(.+\.php)(.*)$ {
|
||||
fastcgi_split_path_info ^(.+\.php)(.*)$;
|
||||
fastcgi_pass 127.0.0.1:9000;
|
||||
fastcgi_index index.php;
|
||||
include /etc/nginx/fastcgi_params;
|
||||
}
|
||||
|
||||
# deny access to .htaccess/.htpasswd files
|
||||
location ~ /\.ht {
|
||||
deny all;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
## Version 2022/08/20 - Changelog: https://github.com/linuxserver/docker-baseimage-alpine-nginx/commits/master/root/defaults/nginx/ssl.conf.sample
|
||||
|
||||
### Mozilla Recommendations
|
||||
# generated 2022-08-05, Mozilla Guideline v5.6, nginx 1.17.7, OpenSSL 1.1.1k, intermediate configuration
|
||||
# https://ssl-config.mozilla.org/#server=nginx&version=1.17.7&config=intermediate&openssl=1.1.1k&guideline=5.6
|
||||
|
||||
ssl_certificate /config/keys/cert.crt;
|
||||
ssl_certificate_key /config/keys/cert.key;
|
||||
ssl_session_timeout 1d;
|
||||
ssl_session_cache shared:MozSSL:10m; # about 40000 sessions
|
||||
ssl_session_tickets off;
|
||||
|
||||
# curl https://ssl-config.mozilla.org/ffdhe2048.txt > /path/to/dhparam
|
||||
ssl_dhparam /config/nginx/dhparams.pem;
|
||||
|
||||
# intermediate configuration
|
||||
ssl_protocols TLSv1.2 TLSv1.3;
|
||||
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
|
||||
ssl_prefer_server_ciphers off;
|
||||
|
||||
# HSTS (ngx_http_headers_module is required) (63072000 seconds)
|
||||
#add_header Strict-Transport-Security "max-age=63072000" always;
|
||||
|
||||
# OCSP stapling
|
||||
#ssl_stapling on;
|
||||
#ssl_stapling_verify on;
|
||||
|
||||
# verify chain of trust of OCSP response using Root CA and Intermediate certs
|
||||
#ssl_trusted_certificate /config/keys/cert.crt;
|
||||
|
||||
# Optional additional headers
|
||||
#add_header Cache-Control "no-transform" always;
|
||||
#add_header Content-Security-Policy "upgrade-insecure-requests; frame-ancestors 'self'";
|
||||
#add_header Permissions-Policy "interest-cohort=()";
|
||||
#add_header Referrer-Policy "same-origin" always;
|
||||
#add_header X-Content-Type-Options "nosniff" always;
|
||||
#add_header X-Frame-Options "SAMEORIGIN" always;
|
||||
#add_header X-UA-Compatible "IE=Edge" always;
|
||||
#add_header X-XSS-Protection "1; mode=block" always;
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
## Version 2022/08/20 - Changelog: https://github.com/linuxserver/docker-baseimage-alpine-nginx/commits/master/root/defaults/nginx/ssl.conf.sample
|
||||
|
||||
### Mozilla Recommendations
|
||||
# generated 2022-08-05, Mozilla Guideline v5.6, nginx 1.17.7, OpenSSL 1.1.1k, intermediate configuration
|
||||
# https://ssl-config.mozilla.org/#server=nginx&version=1.17.7&config=intermediate&openssl=1.1.1k&guideline=5.6
|
||||
|
||||
ssl_certificate /config/keys/cert.crt;
|
||||
ssl_certificate_key /config/keys/cert.key;
|
||||
ssl_session_timeout 1d;
|
||||
ssl_session_cache shared:MozSSL:10m; # about 40000 sessions
|
||||
ssl_session_tickets off;
|
||||
|
||||
# curl https://ssl-config.mozilla.org/ffdhe2048.txt > /path/to/dhparam
|
||||
ssl_dhparam /config/nginx/dhparams.pem;
|
||||
|
||||
# intermediate configuration
|
||||
ssl_protocols TLSv1.2 TLSv1.3;
|
||||
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
|
||||
ssl_prefer_server_ciphers off;
|
||||
|
||||
# HSTS (ngx_http_headers_module is required) (63072000 seconds)
|
||||
#add_header Strict-Transport-Security "max-age=63072000" always;
|
||||
|
||||
# OCSP stapling
|
||||
#ssl_stapling on;
|
||||
#ssl_stapling_verify on;
|
||||
|
||||
# verify chain of trust of OCSP response using Root CA and Intermediate certs
|
||||
#ssl_trusted_certificate /config/keys/cert.crt;
|
||||
|
||||
# Optional additional headers
|
||||
#add_header Cache-Control "no-transform" always;
|
||||
#add_header Content-Security-Policy "upgrade-insecure-requests; frame-ancestors 'self'";
|
||||
#add_header Permissions-Policy "interest-cohort=()";
|
||||
#add_header Referrer-Policy "same-origin" always;
|
||||
#add_header X-Content-Type-Options "nosniff" always;
|
||||
#add_header X-Frame-Options "SAMEORIGIN" always;
|
||||
#add_header X-UA-Compatible "IE=Edge" always;
|
||||
#add_header X-XSS-Protection "1; mode=block" always;
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
# This file is auto-generated only on first start, based on the cpu cores detected. Feel free to change it to any other number or to auto to let nginx handle it automatically.
|
||||
|
||||
worker_processes 4;
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
; Edit this file to override php.ini directives and restart the container
|
||||
|
||||
date.timezone = Europe/Stockholm
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
; Edit this file to override www.conf and php-fpm.conf directives and restart the container
|
||||
|
||||
; Pool name
|
||||
[www]
|
||||
|
||||
Binary file not shown.
|
|
@ -0,0 +1,490 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<link rel="shortcut icon" href="favicon.ico">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, user-scalable=no" />
|
||||
<meta charset="UTF-8" />
|
||||
<script type="text/javascript" src="speedtest.js"></script>
|
||||
<script type="text/javascript">
|
||||
function I(i){return document.getElementById(i);}
|
||||
|
||||
//LIST OF TEST SERVERS. See documentation for details if needed
|
||||
var SPEEDTEST_SERVERS=[
|
||||
{ //this server doesn't actually exist, remove it
|
||||
name:"Example Server 1", //user friendly name for the server
|
||||
server:"//test1.mydomain.com/", //URL to the server. // at the beginning will be replaced with http:// or https:// automatically
|
||||
dlURL:"backend/garbage.php", //path to download test on this server (garbage.php or replacement)
|
||||
ulURL:"backend/empty.php", //path to upload test on this server (empty.php or replacement)
|
||||
pingURL:"backend/empty.php", //path to ping/jitter test on this server (empty.php or replacement)
|
||||
getIpURL:"backend/getIP.php" //path to getIP on this server (getIP.php or replacement)
|
||||
},
|
||||
{ //this server doesn't actually exist, remove it
|
||||
name:"Example Server 2", //user friendly name for the server
|
||||
server:"//test2.example.com/", //URL to the server. // at the beginning will be replaced with http:// or https:// automatically
|
||||
dlURL:"garbage.php", //path to download test on this server (garbage.php or replacement)
|
||||
ulURL:"empty.php", //path to upload test on this server (empty.php or replacement)
|
||||
pingURL:"empty.php", //path to ping/jitter test on this server (empty.php or replacement)
|
||||
getIpURL:"getIP.php" //path to getIP on this server (getIP.php or replacement)
|
||||
}
|
||||
//add other servers here, comma separated
|
||||
];
|
||||
|
||||
//INITIALIZE SPEEDTEST
|
||||
var s=new Speedtest(); //create speedtest object
|
||||
s.setParameter("telemetry_level","basic"); //enable telemetry
|
||||
|
||||
//SERVER AUTO SELECTION
|
||||
function initServers(){
|
||||
var noServersAvailable=function(){
|
||||
I("message").innerHTML="No servers available";
|
||||
}
|
||||
var runServerSelect=function(){
|
||||
s.selectServer(function(server){
|
||||
if(server!=null){ //at least 1 server is available
|
||||
I("loading").className="hidden"; //hide loading message
|
||||
//populate server list for manual selection
|
||||
for(var i=0;i<SPEEDTEST_SERVERS.length;i++){
|
||||
if(SPEEDTEST_SERVERS[i].pingT==-1) continue;
|
||||
var option=document.createElement("option");
|
||||
option.value=i;
|
||||
option.textContent=SPEEDTEST_SERVERS[i].name;
|
||||
if(SPEEDTEST_SERVERS[i]===server) option.selected=true;
|
||||
I("server").appendChild(option);
|
||||
}
|
||||
//show test UI
|
||||
I("testWrapper").className="visible";
|
||||
initUI();
|
||||
}else{ //no servers are available, the test cannot proceed
|
||||
noServersAvailable();
|
||||
}
|
||||
});
|
||||
}
|
||||
if(typeof SPEEDTEST_SERVERS === "string"){
|
||||
//need to fetch list of servers from specified URL
|
||||
s.loadServerList(SPEEDTEST_SERVERS,function(servers){
|
||||
if(servers==null){ //failed to load server list
|
||||
noServersAvailable();
|
||||
}else{ //server list loaded
|
||||
SPEEDTEST_SERVERS=servers;
|
||||
runServerSelect();
|
||||
}
|
||||
});
|
||||
}else{
|
||||
//hardcoded server list
|
||||
s.addTestPoints(SPEEDTEST_SERVERS);
|
||||
runServerSelect();
|
||||
}
|
||||
}
|
||||
|
||||
var meterBk=/Trident.*rv:(\d+\.\d+)/i.test(navigator.userAgent)?"#EAEAEA":"#80808040";
|
||||
var dlColor="#6060AA",
|
||||
ulColor="#616161";
|
||||
var progColor=meterBk;
|
||||
|
||||
//CODE FOR GAUGES
|
||||
function drawMeter(c,amount,bk,fg,progress,prog){
|
||||
var ctx=c.getContext("2d");
|
||||
var dp=window.devicePixelRatio||1;
|
||||
var cw=c.clientWidth*dp, ch=c.clientHeight*dp;
|
||||
var sizScale=ch*0.0055;
|
||||
if(c.width==cw&&c.height==ch){
|
||||
ctx.clearRect(0,0,cw,ch);
|
||||
}else{
|
||||
c.width=cw;
|
||||
c.height=ch;
|
||||
}
|
||||
ctx.beginPath();
|
||||
ctx.strokeStyle=bk;
|
||||
ctx.lineWidth=12*sizScale;
|
||||
ctx.arc(c.width/2,c.height-58*sizScale,c.height/1.8-ctx.lineWidth,-Math.PI*1.1,Math.PI*0.1);
|
||||
ctx.stroke();
|
||||
ctx.beginPath();
|
||||
ctx.strokeStyle=fg;
|
||||
ctx.lineWidth=12*sizScale;
|
||||
ctx.arc(c.width/2,c.height-58*sizScale,c.height/1.8-ctx.lineWidth,-Math.PI*1.1,amount*Math.PI*1.2-Math.PI*1.1);
|
||||
ctx.stroke();
|
||||
if(typeof progress !== "undefined"){
|
||||
ctx.fillStyle=prog;
|
||||
ctx.fillRect(c.width*0.3,c.height-16*sizScale,c.width*0.4*progress,4*sizScale);
|
||||
}
|
||||
}
|
||||
function mbpsToAmount(s){
|
||||
return 1-(1/(Math.pow(1.3,Math.sqrt(s))));
|
||||
}
|
||||
function format(d){
|
||||
d=Number(d);
|
||||
if(d<10) return d.toFixed(2);
|
||||
if(d<100) return d.toFixed(1);
|
||||
return d.toFixed(0);
|
||||
}
|
||||
|
||||
//UI CODE
|
||||
var uiData=null;
|
||||
function startStop(){
|
||||
if(s.getState()==3){
|
||||
//speedtest is running, abort
|
||||
s.abort();
|
||||
data=null;
|
||||
I("startStopBtn").className="";
|
||||
I("server").disabled=false;
|
||||
initUI();
|
||||
}else{
|
||||
//test is not running, begin
|
||||
I("startStopBtn").className="running";
|
||||
I("shareArea").style.display="none";
|
||||
I("server").disabled=true;
|
||||
s.onupdate=function(data){
|
||||
uiData=data;
|
||||
};
|
||||
s.onend=function(aborted){
|
||||
I("startStopBtn").className="";
|
||||
I("server").disabled=false;
|
||||
updateUI(true);
|
||||
if(!aborted){
|
||||
//if testId is present, show sharing panel, otherwise do nothing
|
||||
try{
|
||||
var testId=uiData.testId;
|
||||
if(testId!=null){
|
||||
var shareURL=window.location.href.substring(0,window.location.href.lastIndexOf("/"))+"/results/?id="+testId;
|
||||
I("resultsImg").src=shareURL;
|
||||
I("resultsURL").value=shareURL;
|
||||
I("testId").innerHTML=testId;
|
||||
I("shareArea").style.display="";
|
||||
}
|
||||
}catch(e){}
|
||||
}
|
||||
};
|
||||
s.start();
|
||||
}
|
||||
}
|
||||
//this function reads the data sent back by the test and updates the UI
|
||||
function updateUI(forced){
|
||||
if(!forced&&s.getState()!=3) return;
|
||||
if(uiData==null) return;
|
||||
var status=uiData.testState;
|
||||
I("ip").textContent=uiData.clientIp;
|
||||
I("dlText").textContent=(status==1&&uiData.dlStatus==0)?"...":format(uiData.dlStatus);
|
||||
drawMeter(I("dlMeter"),mbpsToAmount(Number(uiData.dlStatus*(status==1?oscillate():1))),meterBk,dlColor,Number(uiData.dlProgress),progColor);
|
||||
I("ulText").textContent=(status==3&&uiData.ulStatus==0)?"...":format(uiData.ulStatus);
|
||||
drawMeter(I("ulMeter"),mbpsToAmount(Number(uiData.ulStatus*(status==3?oscillate():1))),meterBk,ulColor,Number(uiData.ulProgress),progColor);
|
||||
I("pingText").textContent=format(uiData.pingStatus);
|
||||
I("jitText").textContent=format(uiData.jitterStatus);
|
||||
}
|
||||
function oscillate(){
|
||||
return 1+0.02*Math.sin(Date.now()/100);
|
||||
}
|
||||
//update the UI every frame
|
||||
window.requestAnimationFrame=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.msRequestAnimationFrame||(function(callback,element){setTimeout(callback,1000/60);});
|
||||
function frame(){
|
||||
requestAnimationFrame(frame);
|
||||
updateUI();
|
||||
}
|
||||
frame(); //start frame loop
|
||||
//function to (re)initialize UI
|
||||
function initUI(){
|
||||
drawMeter(I("dlMeter"),0,meterBk,dlColor,0);
|
||||
drawMeter(I("ulMeter"),0,meterBk,ulColor,0);
|
||||
I("dlText").textContent="";
|
||||
I("ulText").textContent="";
|
||||
I("pingText").textContent="";
|
||||
I("jitText").textContent="";
|
||||
I("ip").textContent="";
|
||||
}
|
||||
</script>
|
||||
<style type="text/css">
|
||||
html,body{
|
||||
border:none; padding:0; margin:0;
|
||||
background:#FFFFFF;
|
||||
color:#202020;
|
||||
}
|
||||
body{
|
||||
text-align:center;
|
||||
font-family:"Roboto",sans-serif;
|
||||
}
|
||||
h1{
|
||||
color:#404040;
|
||||
}
|
||||
#loading{
|
||||
background-color:#FFFFFF;
|
||||
color:#404040;
|
||||
text-align:center;
|
||||
}
|
||||
span.loadCircle{
|
||||
display:inline-block;
|
||||
width:2em;
|
||||
height:2em;
|
||||
vertical-align:middle;
|
||||
background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAAP1BMVEUAAAB2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZyFzwnAAAAFHRSTlMAEvRFvX406baecwbf0casimhSHyiwmqgAAADpSURBVHja7dbJbQMxAENRahnN5lkc//5rDRAkDeRgHszXgACJoKiIiIiIiIiIiIiIiIiIiIj4HHspsrpAVhdVVguzrA4OWc10WcEqpwKbnBo0OU1Q5NSpsoJFTgOecrrdEag85DRgktNqfoEdTjnd7hrEHMEJvmRUYJbTYk5Agy6nau6Abp5Cm7mDBtRdPi9gyKdU7w4p1fsLvyqs8hl4z9/w3n/Hmr9WoQ65lAU4d7lMYOz//QboRR5jBZibLMZdAR6O/Vfa1PlxNr3XdS3HzK/HVPRu/KnLs8iAOh993VpRRERERMT/fAN60wwWaVyWwAAAAABJRU5ErkJggg==');
|
||||
background-size:2em 2em;
|
||||
margin-right:0.5em;
|
||||
animation: spin 0.6s linear infinite;
|
||||
}
|
||||
@keyframes spin{
|
||||
0%{transform:rotate(0deg);}
|
||||
100%{transform:rotate(359deg);}
|
||||
}
|
||||
#startStopBtn{
|
||||
display:inline-block;
|
||||
margin:0 auto;
|
||||
color:#6060AA;
|
||||
background-color:rgba(0,0,0,0);
|
||||
border:0.15em solid #6060FF;
|
||||
border-radius:0.3em;
|
||||
transition:all 0.3s;
|
||||
box-sizing:border-box;
|
||||
width:8em; height:3em;
|
||||
line-height:2.7em;
|
||||
cursor:pointer;
|
||||
box-shadow: 0 0 0 rgba(0,0,0,0.1), inset 0 0 0 rgba(0,0,0,0.1);
|
||||
}
|
||||
#startStopBtn:hover{
|
||||
box-shadow: 0 0 2em rgba(0,0,0,0.1), inset 0 0 1em rgba(0,0,0,0.1);
|
||||
}
|
||||
#startStopBtn.running{
|
||||
background-color:#FF3030;
|
||||
border-color:#FF6060;
|
||||
color:#FFFFFF;
|
||||
}
|
||||
#startStopBtn:before{
|
||||
content:"Start";
|
||||
}
|
||||
#startStopBtn.running:before{
|
||||
content:"Abort";
|
||||
}
|
||||
#serverArea{
|
||||
margin-top:1em;
|
||||
}
|
||||
#server{
|
||||
font-size:1em;
|
||||
padding:0.2em;
|
||||
}
|
||||
#test{
|
||||
margin-top:2em;
|
||||
margin-bottom:12em;
|
||||
}
|
||||
div.testArea{
|
||||
display:inline-block;
|
||||
width:16em;
|
||||
height:12.5em;
|
||||
position:relative;
|
||||
box-sizing:border-box;
|
||||
}
|
||||
div.testArea2{
|
||||
display:inline-block;
|
||||
width:14em;
|
||||
height:7em;
|
||||
position:relative;
|
||||
box-sizing:border-box;
|
||||
text-align:center;
|
||||
}
|
||||
div.testArea div.testName{
|
||||
position:absolute;
|
||||
top:0.1em; left:0;
|
||||
width:100%;
|
||||
font-size:1.4em;
|
||||
z-index:9;
|
||||
}
|
||||
div.testArea2 div.testName{
|
||||
display:block;
|
||||
text-align:center;
|
||||
font-size:1.4em;
|
||||
}
|
||||
div.testArea div.meterText{
|
||||
position:absolute;
|
||||
bottom:1.55em; left:0;
|
||||
width:100%;
|
||||
font-size:2.5em;
|
||||
z-index:9;
|
||||
}
|
||||
div.testArea2 div.meterText{
|
||||
display:inline-block;
|
||||
font-size:2.5em;
|
||||
}
|
||||
div.meterText:empty:before{
|
||||
content:"0.00";
|
||||
}
|
||||
div.testArea div.unit{
|
||||
position:absolute;
|
||||
bottom:2em; left:0;
|
||||
width:100%;
|
||||
z-index:9;
|
||||
}
|
||||
div.testArea2 div.unit{
|
||||
display:inline-block;
|
||||
}
|
||||
div.testArea canvas{
|
||||
position:absolute;
|
||||
top:0; left:0; width:100%; height:100%;
|
||||
z-index:1;
|
||||
}
|
||||
div.testGroup{
|
||||
display:block;
|
||||
margin: 0 auto;
|
||||
}
|
||||
#shareArea{
|
||||
width:95%;
|
||||
max-width:40em;
|
||||
margin:0 auto;
|
||||
margin-top:2em;
|
||||
}
|
||||
#shareArea > *{
|
||||
display:block;
|
||||
width:100%;
|
||||
height:auto;
|
||||
margin: 0.25em 0;
|
||||
}
|
||||
#privacyPolicy{
|
||||
position:fixed;
|
||||
top:2em;
|
||||
bottom:2em;
|
||||
left:2em;
|
||||
right:2em;
|
||||
overflow-y:auto;
|
||||
width:auto;
|
||||
height:auto;
|
||||
box-shadow:0 0 3em 1em #000000;
|
||||
z-index:999999;
|
||||
text-align:left;
|
||||
background-color:#FFFFFF;
|
||||
padding:1em;
|
||||
}
|
||||
a.privacy{
|
||||
text-align:center;
|
||||
font-size:0.8em;
|
||||
color:#808080;
|
||||
padding: 0 3em;
|
||||
}
|
||||
div.closePrivacyPolicy {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
div.closePrivacyPolicy a.privacy {
|
||||
padding: 1em 3em;
|
||||
}
|
||||
@media all and (max-width:40em){
|
||||
body{
|
||||
font-size:0.8em;
|
||||
}
|
||||
}
|
||||
div.visible{
|
||||
animation: fadeIn 0.4s;
|
||||
display:block;
|
||||
}
|
||||
div.hidden{
|
||||
animation: fadeOut 0.4s;
|
||||
display:none;
|
||||
}
|
||||
@keyframes fadeIn{
|
||||
0%{
|
||||
opacity:0;
|
||||
}
|
||||
100%{
|
||||
opacity:1;
|
||||
}
|
||||
}
|
||||
@keyframes fadeOut{
|
||||
0%{
|
||||
display:block;
|
||||
opacity:1;
|
||||
}
|
||||
100%{
|
||||
display:block;
|
||||
opacity:0;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<title>LibreSpeed Example</title>
|
||||
</head>
|
||||
<body onload="initServers()">
|
||||
<h1>LibreSpeed Example</h1>
|
||||
<div id="loading" class="visible">
|
||||
<p id="message"><span class="loadCircle"></span>Selecting a server...</p>
|
||||
</div>
|
||||
<div id="testWrapper" class="hidden">
|
||||
<div id="startStopBtn" onclick="startStop()"></div><br/>
|
||||
<a class="privacy" href="#" onclick="I('privacyPolicy').style.display=''">Privacy</a>
|
||||
<div id="serverArea">
|
||||
Server: <select id="server" onchange="s.setSelectedServer(SPEEDTEST_SERVERS[this.value])"></select>
|
||||
</div>
|
||||
<div id="test">
|
||||
<div class="testGroup">
|
||||
<div class="testArea2">
|
||||
<div class="testName">Ping</div>
|
||||
<div id="pingText" class="meterText" style="color:#AA6060"></div>
|
||||
<div class="unit">ms</div>
|
||||
</div>
|
||||
<div class="testArea2">
|
||||
<div class="testName">Jitter</div>
|
||||
<div id="jitText" class="meterText" style="color:#AA6060"></div>
|
||||
<div class="unit">ms</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="testGroup">
|
||||
<div class="testArea">
|
||||
<div class="testName">Download</div>
|
||||
<canvas id="dlMeter" class="meter"></canvas>
|
||||
<div id="dlText" class="meterText"></div>
|
||||
<div class="unit">Mbps</div>
|
||||
</div>
|
||||
<div class="testArea">
|
||||
<div class="testName">Upload</div>
|
||||
<canvas id="ulMeter" class="meter"></canvas>
|
||||
<div id="ulText" class="meterText"></div>
|
||||
<div class="unit">Mbps</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="ipArea">
|
||||
<span id="ip"></span>
|
||||
</div>
|
||||
<div id="shareArea" style="display:none">
|
||||
<h3>Share results</h3>
|
||||
<p>Test ID: <span id="testId"></span></p>
|
||||
<input type="text" value="" id="resultsURL" readonly="readonly" onclick="this.select();this.focus();this.select();document.execCommand('copy');alert('Link copied')"/>
|
||||
<img src="" id="resultsImg" />
|
||||
</div>
|
||||
</div>
|
||||
<a href="https://github.com/librespeed/speedtest">Source code</a>
|
||||
</div>
|
||||
<div id="privacyPolicy" style="display:none">
|
||||
<h2>Privacy Policy</h2>
|
||||
<p>This HTML5 Speedtest server is configured with telemetry enabled.</p>
|
||||
<h4>What data we collect</h4>
|
||||
<p>
|
||||
At the end of the test, the following data is collected and stored:
|
||||
<ul>
|
||||
<li>Test ID</li>
|
||||
<li>Time of testing</li>
|
||||
<li>Test results (download and upload speed, ping and jitter)</li>
|
||||
<li>IP address</li>
|
||||
<li>ISP information</li>
|
||||
<li>Approximate location (inferred from IP address, not GPS)</li>
|
||||
<li>User agent and browser locale</li>
|
||||
<li>Test log (contains no personal information)</li>
|
||||
</ul>
|
||||
</p>
|
||||
<h4>How we use the data</h4>
|
||||
<p>
|
||||
Data collected through this service is used to:
|
||||
<ul>
|
||||
<li>Allow sharing of test results (sharable image for forums, etc.)</li>
|
||||
<li>To improve the service offered to you (for instance, to detect problems on our side)</li>
|
||||
</ul>
|
||||
No personal information is disclosed to third parties.
|
||||
</p>
|
||||
<h4>Your consent</h4>
|
||||
<p>
|
||||
By starting the test, you consent to the terms of this privacy policy.
|
||||
</p>
|
||||
<h4>Data removal</h4>
|
||||
<p>
|
||||
If you want to have your information deleted, you need to provide either the ID of the test or your IP address. This is the only way to identify your data, without this information we won't be able to comply with your request.<br/><br/>
|
||||
Contact this email address for all deletion requests: <a href="mailto:PUT@YOUR_EMAIL.HERE">TO BE FILLED BY DEVELOPER</a>.
|
||||
</p>
|
||||
<br/><br/>
|
||||
<div class="closePrivacyPolicy">
|
||||
<a class="privacy" href="#" onclick="I('privacyPolicy').style.display='none'">Close</a>
|
||||
</div>
|
||||
<br/>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,245 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<link rel="shortcut icon" href="favicon.ico">
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, user-scalable=no" />
|
||||
<title>LibreSpeed Example</title>
|
||||
<script type="text/javascript" src="speedtest.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
//LIST OF TEST SERVERS. See documentation for details if needed
|
||||
var SPEEDTEST_SERVERS=[
|
||||
{ //this server doesn't actually exist, remove it
|
||||
name:"Example Server 1", //user friendly name for the server
|
||||
server:"//test1.mydomain.com/", //URL to the server. // at the beginning will be replaced with http:// or https:// automatically
|
||||
dlURL:"backend/garbage.php", //path to download test on this server (garbage.php or replacement)
|
||||
ulURL:"backend/empty.php", //path to upload test on this server (empty.php or replacement)
|
||||
pingURL:"backend/empty.php", //path to ping/jitter test on this server (empty.php or replacement)
|
||||
getIpURL:"backend/getIP.php" //path to getIP on this server (getIP.php or replacement)
|
||||
},
|
||||
{ //this server doesn't actually exist, remove it
|
||||
name:"Example Server 2", //user friendly name for the server
|
||||
server:"//test2.example.com/", //URL to the server. // at the beginning will be replaced with http:// or https:// automatically
|
||||
dlURL:"garbage.php", //path to download test on this server (garbage.php or replacement)
|
||||
ulURL:"empty.php", //path to upload test on this server (empty.php or replacement)
|
||||
pingURL:"empty.php", //path to ping/jitter test on this server (empty.php or replacement)
|
||||
getIpURL:"getIP.php" //path to getIP on this server (getIP.php or replacement)
|
||||
}
|
||||
//add other servers here, comma separated
|
||||
];
|
||||
|
||||
|
||||
//INITIALIZE SPEEDTEST
|
||||
var s=new Speedtest(); //create speedtest object
|
||||
|
||||
s.onupdate=function(data){ //callback to update data in UI
|
||||
I("ip").textContent=data.clientIp;
|
||||
I("dlText").textContent=(data.testState==1&&data.dlStatus==0)?"...":data.dlStatus;
|
||||
I("ulText").textContent=(data.testState==3&&data.ulStatus==0)?"...":data.ulStatus;
|
||||
I("pingText").textContent=data.pingStatus;
|
||||
I("jitText").textContent=data.jitterStatus;
|
||||
}
|
||||
s.onend=function(aborted){ //callback for test ended/aborted
|
||||
I("startStopBtn").className=""; //show start button again
|
||||
if(aborted){ //if the test was aborted, clear the UI and prepare for new test
|
||||
initUI();
|
||||
}
|
||||
}
|
||||
function selectServer(){ //called after loading server list
|
||||
s.selectServer(function(server){ //run server selection. When the server has been selected, display it in the UI
|
||||
if(server==null){
|
||||
I("serverId").textContent="No servers available";
|
||||
}else{
|
||||
I("startStopBtn").style.display=""; //show start/stop button again
|
||||
I("serverId").textContent=server.name; //show name of test server
|
||||
}
|
||||
});
|
||||
}
|
||||
function loadServers(){ //called when the page is fully loaded
|
||||
I("startStopBtn").style.display="none"; //hide start/stop button during server selection
|
||||
if(typeof SPEEDTEST_SERVERS === "string"){
|
||||
//load servers from url
|
||||
s.loadServerList(SPEEDTEST_SERVERS,function(servers){
|
||||
//list loaded
|
||||
SPEEDTEST_SERVERS=servers;
|
||||
selectServer();
|
||||
});
|
||||
}else{
|
||||
//hardcoded list of servers, already loaded
|
||||
s.addTestPoints(SPEEDTEST_SERVERS);
|
||||
selectServer();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
function startStop(){ //start/stop button pressed
|
||||
if(s.getState()==3){
|
||||
//speedtest is running, abort
|
||||
s.abort();
|
||||
}else{
|
||||
//test is not running, begin
|
||||
s.start();
|
||||
I("startStopBtn").className="running";
|
||||
}
|
||||
}
|
||||
|
||||
//function to (re)initialize UI
|
||||
function initUI(){
|
||||
I("dlText").textContent="";
|
||||
I("ulText").textContent="";
|
||||
I("pingText").textContent="";
|
||||
I("jitText").textContent="";
|
||||
I("ip").textContent="";
|
||||
}
|
||||
|
||||
function I(id){return document.getElementById(id);}
|
||||
</script>
|
||||
|
||||
<style type="text/css">
|
||||
html,body{
|
||||
border:none; padding:0; margin:0;
|
||||
background:#FFFFFF;
|
||||
color:#202020;
|
||||
}
|
||||
body{
|
||||
text-align:center;
|
||||
font-family:"Roboto",sans-serif;
|
||||
}
|
||||
h1{
|
||||
color:#404040;
|
||||
}
|
||||
#startStopBtn{
|
||||
display:inline-block;
|
||||
margin:0 auto;
|
||||
color:#6060AA;
|
||||
background-color:rgba(0,0,0,0);
|
||||
border:0.15em solid #6060FF;
|
||||
border-radius:0.3em;
|
||||
transition:all 0.3s;
|
||||
box-sizing:border-box;
|
||||
width:8em; height:3em;
|
||||
line-height:2.7em;
|
||||
cursor:pointer;
|
||||
box-shadow: 0 0 0 rgba(0,0,0,0.1), inset 0 0 0 rgba(0,0,0,0.1);
|
||||
}
|
||||
#startStopBtn:hover{
|
||||
box-shadow: 0 0 2em rgba(0,0,0,0.1), inset 0 0 1em rgba(0,0,0,0.1);
|
||||
}
|
||||
#startStopBtn.running{
|
||||
background-color:#FF3030;
|
||||
border-color:#FF6060;
|
||||
color:#FFFFFF;
|
||||
}
|
||||
#startStopBtn:before{
|
||||
content:"Start";
|
||||
}
|
||||
#startStopBtn.running:before{
|
||||
content:"Abort";
|
||||
}
|
||||
#test{
|
||||
margin-top:2em;
|
||||
margin-bottom:12em;
|
||||
}
|
||||
div.testArea{
|
||||
display:inline-block;
|
||||
width:14em;
|
||||
height:9em;
|
||||
position:relative;
|
||||
box-sizing:border-box;
|
||||
}
|
||||
div.testName{
|
||||
position:absolute;
|
||||
top:0.1em; left:0;
|
||||
width:100%;
|
||||
font-size:1.4em;
|
||||
z-index:9;
|
||||
}
|
||||
div.meterText{
|
||||
position:absolute;
|
||||
bottom:1.5em; left:0;
|
||||
width:100%;
|
||||
font-size:2.5em;
|
||||
z-index:9;
|
||||
}
|
||||
#dlText{
|
||||
color:#6060AA;
|
||||
}
|
||||
#ulText{
|
||||
color:#309030;
|
||||
}
|
||||
#pingText,#jitText{
|
||||
color:#AA6060;
|
||||
}
|
||||
div.meterText:empty:before{
|
||||
color:#505050 !important;
|
||||
content:"0.00";
|
||||
}
|
||||
div.unit{
|
||||
position:absolute;
|
||||
bottom:2em; left:0;
|
||||
width:100%;
|
||||
z-index:9;
|
||||
}
|
||||
div.testGroup{
|
||||
display:inline-block;
|
||||
}
|
||||
@media all and (max-width:65em){
|
||||
body{
|
||||
font-size:1.5vw;
|
||||
}
|
||||
}
|
||||
@media all and (max-width:40em){
|
||||
body{
|
||||
font-size:0.8em;
|
||||
}
|
||||
div.testGroup{
|
||||
display:block;
|
||||
margin: 0 auto;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>LibreSpeed Example</h1>
|
||||
<div id="startStopBtn" onclick="startStop()"></div>
|
||||
<div id="serverId">Selecting server...</div>
|
||||
<div id="test">
|
||||
<div class="testGroup">
|
||||
<div class="testArea">
|
||||
<div class="testName">Download</div>
|
||||
<div id="dlText" class="meterText"></div>
|
||||
<div class="unit">Mbps</div>
|
||||
</div>
|
||||
<div class="testArea">
|
||||
<div class="testName">Upload</div>
|
||||
<div id="ulText" class="meterText"></div>
|
||||
<div class="unit">Mbps</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="testGroup">
|
||||
<div class="testArea">
|
||||
<div class="testName">Ping</div>
|
||||
<div id="pingText" class="meterText"></div>
|
||||
<div class="unit">ms</div>
|
||||
</div>
|
||||
<div class="testArea">
|
||||
<div class="testName">Jitter</div>
|
||||
<div id="jitText" class="meterText"></div>
|
||||
<div class="unit">ms</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="ipArea">
|
||||
IP Address: <span id="ip"></span>
|
||||
</div>
|
||||
</div>
|
||||
<a href="https://github.com/librespeed/speedtest">Source code</a>
|
||||
<script type="text/javascript">
|
||||
initUI();
|
||||
loadServers();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<meta charset="UTF-8" />
|
||||
<head>
|
||||
<title>LibreSpeed Example</title>
|
||||
<link rel="shortcut icon" href="favicon.ico">
|
||||
</head>
|
||||
<script type="text/javascript" src="speedtest.js"></script>
|
||||
<body>
|
||||
<h1>LibreSpeed Example</h1>
|
||||
|
||||
<h4>IP Address</h4>
|
||||
<p id="ip"></p>
|
||||
|
||||
<h4>Download</h4>
|
||||
<p id="download"></p>
|
||||
|
||||
<h4>Upload</h4>
|
||||
<p id="upload"></p>
|
||||
|
||||
<h4>Latency</h4>
|
||||
<p id="ping"></p>
|
||||
|
||||
<script type="text/javascript">
|
||||
var s=new Speedtest();
|
||||
s.onupdate = function (data) { // when status is received, put the values in the appropriate fields
|
||||
document.getElementById('download').textContent = data.dlStatus + ' Mbit/s'
|
||||
document.getElementById('upload').textContent = data.ulStatus + ' Mbit/s'
|
||||
document.getElementById('ping').textContent = data.pingStatus + ' ms, ' + data.jitterStatus + ' ms jitter'
|
||||
document.getElementById('ip').textContent = data.clientIp
|
||||
}
|
||||
s.start(); // start the speedtest with default settings
|
||||
</script>
|
||||
|
||||
<a href="https://github.com/librespeed/speedtest">Source code</a>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,256 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<title>LibreSpeed Example</title>
|
||||
<link rel="shortcut icon" href="favicon.ico">
|
||||
<style type="text/css">
|
||||
html,
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: none;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#startBtn {
|
||||
display: inline-block;
|
||||
border: 0.15em solid #000000;
|
||||
padding: 0.3em 0.5em;
|
||||
margin: 0.6em;
|
||||
color: #000000;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#ip {
|
||||
margin: 0.8em 0;
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
#chart1Area,
|
||||
#chart2Area {
|
||||
width: 100%;
|
||||
max-width: 30em;
|
||||
height: 10em;
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
}
|
||||
</style>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.5.0/Chart.bundle.min.js"></script> <!--THIS LIBRARY SUCKS!-->
|
||||
<script src="speedtest.js"></script>
|
||||
<script type="text/javascript">
|
||||
var s = null
|
||||
function runTest() {
|
||||
var chart1ctx = document.getElementById('chart1Area').getContext('2d')
|
||||
var chart2ctx = document.getElementById('chart2Area').getContext('2d')
|
||||
var dlDataset = {
|
||||
label: 'Download',
|
||||
fill: false,
|
||||
lineTension: 0.1,
|
||||
backgroundColor: 'rgba(75,192,192,0.4)',
|
||||
borderColor: 'rgba(75,192,192,1)',
|
||||
borderCapStyle: 'butt',
|
||||
borderDash: [],
|
||||
borderDashOffset: 0.0,
|
||||
borderJoinStyle: 'miter',
|
||||
pointBorderColor: 'rgba(75,192,192,1)',
|
||||
pointBackgroundColor: '#fff',
|
||||
pointBorderWidth: 1,
|
||||
pointHoverRadius: 5,
|
||||
pointHoverBackgroundColor: 'rgba(75,192,192,1)',
|
||||
pointHoverBorderColor: 'rgba(220,220,220,1)',
|
||||
pointHoverBorderWidth: 2,
|
||||
pointRadius: 1,
|
||||
pointHitRadius: 10,
|
||||
data: [0],
|
||||
spanGaps: false
|
||||
}
|
||||
var ulDataset = {
|
||||
label: 'Upload',
|
||||
fill: false,
|
||||
lineTension: 0.1,
|
||||
backgroundColor: 'rgba(192,192,75,0.4)',
|
||||
borderColor: 'rgba(192,192,75,1)',
|
||||
borderCapStyle: 'butt',
|
||||
borderDash: [],
|
||||
borderDashOffset: 0.0,
|
||||
borderJoinStyle: 'miter',
|
||||
pointBorderColor: 'rgba(192,192,75,1)',
|
||||
pointBackgroundColor: '#fff',
|
||||
pointBorderWidth: 1,
|
||||
pointHoverRadius: 5,
|
||||
pointHoverBackgroundColor: 'rgba(192,192,75,1)',
|
||||
pointHoverBorderColor: 'rgba(220,220,220,1)',
|
||||
pointHoverBorderWidth: 2,
|
||||
pointRadius: 1,
|
||||
pointHitRadius: 10,
|
||||
data: [0],
|
||||
spanGaps: false
|
||||
}
|
||||
var pingDataset = {
|
||||
label: 'Ping',
|
||||
fill: false,
|
||||
lineTension: 0.1,
|
||||
backgroundColor: 'rgba(75,220,75,0.4)',
|
||||
borderColor: 'rgba(75,220,75,1)',
|
||||
borderCapStyle: 'butt',
|
||||
borderDash: [],
|
||||
borderDashOffset: 0.0,
|
||||
borderJoinStyle: 'miter',
|
||||
pointBorderColor: 'rgba(75,220,75,1)',
|
||||
pointBackgroundColor: '#fff',
|
||||
pointBorderWidth: 1,
|
||||
pointHoverRadius: 5,
|
||||
pointHoverBackgroundColor: 'rgba(75,220,75,1)',
|
||||
pointHoverBorderColor: 'rgba(220,220,220,1)',
|
||||
pointHoverBorderWidth: 2,
|
||||
pointRadius: 1,
|
||||
pointHitRadius: 10,
|
||||
data: [],
|
||||
spanGaps: false
|
||||
}
|
||||
var jitterDataset = {
|
||||
label: 'Jitter',
|
||||
fill: false,
|
||||
lineTension: 0.1,
|
||||
backgroundColor: 'rgba(220,75,75,0.4)',
|
||||
borderColor: 'rgba(220,75,75,1)',
|
||||
borderCapStyle: 'butt',
|
||||
borderDash: [],
|
||||
borderDashOffset: 0.0,
|
||||
borderJoinStyle: 'miter',
|
||||
pointBorderColor: 'rgba(220,75,75,1)',
|
||||
pointBackgroundColor: '#fff',
|
||||
pointBorderWidth: 1,
|
||||
pointHoverRadius: 5,
|
||||
pointHoverBackgroundColor: 'rgba(220,75,75,1)',
|
||||
pointHoverBorderColor: 'rgba(220,220,220,1)',
|
||||
pointHoverBorderWidth: 2,
|
||||
pointRadius: 1,
|
||||
pointHitRadius: 10,
|
||||
data: [],
|
||||
spanGaps: false
|
||||
}
|
||||
|
||||
var chart1Options = {
|
||||
type: 'line',
|
||||
data: {
|
||||
datasets: [dlDataset, ulDataset]
|
||||
},
|
||||
options: {
|
||||
responsive: true,
|
||||
legend: {
|
||||
position: 'bottom'
|
||||
},
|
||||
scales: {
|
||||
xAxes: [{
|
||||
display: true,
|
||||
scaleLabel: {
|
||||
display: false
|
||||
},
|
||||
ticks: {
|
||||
beginAtZero: true
|
||||
}
|
||||
}],
|
||||
yAxes: [{
|
||||
display: true,
|
||||
scaleLabel: 'Speed',
|
||||
ticks: {
|
||||
beginAtZero: true
|
||||
}
|
||||
}]
|
||||
}
|
||||
}
|
||||
}
|
||||
var chart2Options = {
|
||||
type: 'line',
|
||||
data: {
|
||||
datasets: [pingDataset, jitterDataset]
|
||||
},
|
||||
options: {
|
||||
responsive: true,
|
||||
legend: {
|
||||
position: 'bottom'
|
||||
},
|
||||
scales: {
|
||||
xAxes: [{
|
||||
display: true,
|
||||
scaleLabel: {
|
||||
display: false
|
||||
},
|
||||
ticks: {
|
||||
beginAtZero: true
|
||||
}
|
||||
}],
|
||||
yAxes: [{
|
||||
display: true,
|
||||
scaleLabel: 'Latency',
|
||||
ticks: {
|
||||
beginAtZero: true
|
||||
}
|
||||
}]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var chart1 = new Chart(chart1ctx, chart1Options)
|
||||
var chart2 = new Chart(chart2ctx, chart2Options)
|
||||
|
||||
document.getElementById('startBtn').style.display = 'none'
|
||||
document.getElementById('testArea').style.display = ''
|
||||
document.getElementById('abortBtn').style.display = ''
|
||||
s=new Speedtest();
|
||||
s.onupdate = function (data) {
|
||||
var status = data.testState
|
||||
if (status === 1 && Number(data.dlStatus) > 0) {
|
||||
for(var i=~~(20*Number(data.dlProgress));i<20;i++) chart1.data.datasets[0].data[i]=(Number(data.dlStatus))
|
||||
chart1.data.labels[chart1.data.datasets[0].data.length - 1] = ''
|
||||
chart1.update()
|
||||
}
|
||||
if (status === 3 && Number(data.ulStatus) > 0) {
|
||||
for(var i=~~(20*Number(data.ulProgress));i<20;i++) chart1.data.datasets[1].data[i]=(Number(data.ulStatus))
|
||||
chart1.data.labels[chart1.data.datasets[1].data.length - 1] = ''
|
||||
chart1.update()
|
||||
}
|
||||
if (status === 2 && Number(data.pingStatus) > 0) {
|
||||
chart2.data.datasets[0].data.push(Number(data.pingStatus))
|
||||
chart2.data.datasets[1].data.push(Number(data.jitterStatus))
|
||||
chart2.data.labels[chart2.data.datasets[0].data.length - 1] = ''
|
||||
chart2.data.labels[chart2.data.datasets[1].data.length - 1] = ''
|
||||
chart2.update()
|
||||
}
|
||||
ip.textContent = data.clientIp
|
||||
}
|
||||
s.onend=function(aborted){
|
||||
document.getElementById('abortBtn').style.display = 'none'
|
||||
document.getElementById('startBtn').style.display = ''
|
||||
s = null
|
||||
if (aborted) {
|
||||
document.getElementById('testArea').style.display = 'none'
|
||||
}
|
||||
}
|
||||
s.start();
|
||||
}
|
||||
function abortTest() {
|
||||
if (s) s.abort();
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1>LibreSpeed - Chart.js example</h1>
|
||||
<div id="testArea" style="display:none">
|
||||
<p id="ip">Please wait...</p>
|
||||
|
||||
<h2>Speed</h2>
|
||||
<canvas id="chart1Area"></canvas>
|
||||
|
||||
<h2>Latency</h2>
|
||||
<canvas id="chart2Area"></canvas>
|
||||
<br/>
|
||||
<a href="javascript:abortTest()" id="abortBtn">Abort</a>
|
||||
</div>
|
||||
<a href="javascript:runTest()" id="startBtn">Run speedtest</a>
|
||||
<br/><br/> Charts by <a href="http://www.chartjs.org/">Chart.js</a><br/><br/><a href="https://github.com/librespeed/speedtest">Source code</a>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,174 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, user-scalable=no" />
|
||||
<title>LibreSpeed Example</title>
|
||||
<link rel="shortcut icon" href="favicon.ico">
|
||||
<script type="text/javascript" src="speedtest.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
//INITIALIZE SPEEDTEST
|
||||
var s=new Speedtest(); //create speedtest object
|
||||
//CUSTOM SETTINGS HERE
|
||||
s.setParameter("test_order","D_U"); //we only want download and upload test
|
||||
s.setParameter("time_auto",false); //fixed duration for tests
|
||||
s.setParameter("time_dl_max",10); //10 seconds for the download test
|
||||
s.setParameter("time_ul_max",15); //15 seconds for the upload test
|
||||
//END OF CUSTOM SETTINGS
|
||||
s.onupdate=function(data){ //callback to update data in UI
|
||||
I("dlText").textContent=(data.testState==1&&data.dlStatus==0)?"...":data.dlStatus;
|
||||
I("ulText").textContent=(data.testState==3&&data.ulStatus==0)?"...":data.ulStatus;
|
||||
}
|
||||
s.onend=function(aborted){ //callback for test ended/aborted
|
||||
I("startStopBtn").className=""; //show start button again
|
||||
if(aborted){ //if the test was aborted, clear the UI and prepare for new test
|
||||
initUI();
|
||||
}
|
||||
}
|
||||
|
||||
function startStop(){ //start/stop button pressed
|
||||
if(s.getState()==3){
|
||||
//speedtest is running, abort
|
||||
s.abort();
|
||||
}else{
|
||||
//test is not running, begin
|
||||
s.start();
|
||||
I("startStopBtn").className="running";
|
||||
}
|
||||
}
|
||||
|
||||
//function to (re)initialize UI
|
||||
function initUI(){
|
||||
I("dlText").textContent="";
|
||||
I("ulText").textContent="";
|
||||
}
|
||||
|
||||
function I(id){return document.getElementById(id);}
|
||||
</script>
|
||||
|
||||
<style type="text/css">
|
||||
html,body{
|
||||
border:none; padding:0; margin:0;
|
||||
background:#FFFFFF;
|
||||
color:#202020;
|
||||
}
|
||||
body{
|
||||
text-align:center;
|
||||
font-family:"Roboto",sans-serif;
|
||||
}
|
||||
h1{
|
||||
color:#404040;
|
||||
}
|
||||
#startStopBtn{
|
||||
display:inline-block;
|
||||
margin:0 auto;
|
||||
color:#6060AA;
|
||||
background-color:rgba(0,0,0,0);
|
||||
border:0.15em solid #6060FF;
|
||||
border-radius:0.3em;
|
||||
transition:all 0.3s;
|
||||
box-sizing:border-box;
|
||||
width:8em; height:3em;
|
||||
line-height:2.7em;
|
||||
cursor:pointer;
|
||||
box-shadow: 0 0 0 rgba(0,0,0,0.1), inset 0 0 0 rgba(0,0,0,0.1);
|
||||
}
|
||||
#startStopBtn:hover{
|
||||
box-shadow: 0 0 2em rgba(0,0,0,0.1), inset 0 0 1em rgba(0,0,0,0.1);
|
||||
}
|
||||
#startStopBtn.running{
|
||||
background-color:#FF3030;
|
||||
border-color:#FF6060;
|
||||
color:#FFFFFF;
|
||||
}
|
||||
#startStopBtn:before{
|
||||
content:"Start";
|
||||
}
|
||||
#startStopBtn.running:before{
|
||||
content:"Abort";
|
||||
}
|
||||
#test{
|
||||
margin-top:2em;
|
||||
margin-bottom:12em;
|
||||
}
|
||||
div.testArea{
|
||||
display:inline-block;
|
||||
width:14em;
|
||||
height:9em;
|
||||
position:relative;
|
||||
box-sizing:border-box;
|
||||
}
|
||||
div.testName{
|
||||
position:absolute;
|
||||
top:0.1em; left:0;
|
||||
width:100%;
|
||||
font-size:1.4em;
|
||||
z-index:9;
|
||||
}
|
||||
div.meterText{
|
||||
position:absolute;
|
||||
bottom:1.5em; left:0;
|
||||
width:100%;
|
||||
font-size:2.5em;
|
||||
z-index:9;
|
||||
}
|
||||
#dlText{
|
||||
color:#6060AA;
|
||||
}
|
||||
#ulText{
|
||||
color:#309030;
|
||||
}
|
||||
div.meterText:empty:before{
|
||||
color:#505050 !important;
|
||||
content:"0.00";
|
||||
}
|
||||
div.unit{
|
||||
position:absolute;
|
||||
bottom:2em; left:0;
|
||||
width:100%;
|
||||
z-index:9;
|
||||
}
|
||||
div.testGroup{
|
||||
display:inline-block;
|
||||
}
|
||||
@media all and (max-width:65em){
|
||||
body{
|
||||
font-size:2vw;
|
||||
}
|
||||
}
|
||||
@media all and (max-width:40em){
|
||||
body{
|
||||
font-size:0.8em;
|
||||
}
|
||||
div.testGroup{
|
||||
display:block;
|
||||
margin: 0 auto;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>LibreSpeed Example</h1>
|
||||
<div id="startStopBtn" onclick="startStop()"></div>
|
||||
<div id="test">
|
||||
<div class="testGroup">
|
||||
<div class="testArea">
|
||||
<div class="testName">Download</div>
|
||||
<div id="dlText" class="meterText"></div>
|
||||
<div class="unit">Mbps</div>
|
||||
</div>
|
||||
<div class="testArea">
|
||||
<div class="testName">Upload</div>
|
||||
<div id="ulText" class="meterText"></div>
|
||||
<div class="unit">Mbps</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="https://github.com/librespeed/speedtest">Source code</a>
|
||||
<script type="text/javascript">
|
||||
initUI();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,365 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, user-scalable=no" />
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="shortcut icon" href="favicon.ico">
|
||||
<script type="text/javascript" src="speedtest.js"></script>
|
||||
<script type="text/javascript">
|
||||
function I(i){return document.getElementById(i);}
|
||||
//INITIALIZE SPEEDTEST
|
||||
var s=new Speedtest(); //create speedtest object
|
||||
s.setParameter("telemetry_level","basic"); //enable telemetry
|
||||
|
||||
var meterBk=/Trident.*rv:(\d+\.\d+)/i.test(navigator.userAgent)?"#EAEAEA":"#80808040";
|
||||
var dlColor="#6060AA",
|
||||
ulColor="#616161";
|
||||
var progColor=meterBk;
|
||||
|
||||
//CODE FOR GAUGES
|
||||
function drawMeter(c,amount,bk,fg,progress,prog){
|
||||
var ctx=c.getContext("2d");
|
||||
var dp=window.devicePixelRatio||1;
|
||||
var cw=c.clientWidth*dp, ch=c.clientHeight*dp;
|
||||
var sizScale=ch*0.0055;
|
||||
if(c.width==cw&&c.height==ch){
|
||||
ctx.clearRect(0,0,cw,ch);
|
||||
}else{
|
||||
c.width=cw;
|
||||
c.height=ch;
|
||||
}
|
||||
ctx.beginPath();
|
||||
ctx.strokeStyle=bk;
|
||||
ctx.lineWidth=12*sizScale;
|
||||
ctx.arc(c.width/2,c.height-58*sizScale,c.height/1.8-ctx.lineWidth,-Math.PI*1.1,Math.PI*0.1);
|
||||
ctx.stroke();
|
||||
ctx.beginPath();
|
||||
ctx.strokeStyle=fg;
|
||||
ctx.lineWidth=12*sizScale;
|
||||
ctx.arc(c.width/2,c.height-58*sizScale,c.height/1.8-ctx.lineWidth,-Math.PI*1.1,amount*Math.PI*1.2-Math.PI*1.1);
|
||||
ctx.stroke();
|
||||
if(typeof progress !== "undefined"){
|
||||
ctx.fillStyle=prog;
|
||||
ctx.fillRect(c.width*0.3,c.height-16*sizScale,c.width*0.4*progress,4*sizScale);
|
||||
}
|
||||
}
|
||||
function mbpsToAmount(s){
|
||||
return 1-(1/(Math.pow(1.3,Math.sqrt(s))));
|
||||
}
|
||||
function format(d){
|
||||
d=Number(d);
|
||||
if(d<10) return d.toFixed(2);
|
||||
if(d<100) return d.toFixed(1);
|
||||
return d.toFixed(0);
|
||||
}
|
||||
|
||||
//UI CODE
|
||||
var uiData=null;
|
||||
function startStop(){
|
||||
if(s.getState()==3){
|
||||
//speedtest is running, abort
|
||||
s.abort();
|
||||
data=null;
|
||||
I("startStopBtn").className="";
|
||||
initUI();
|
||||
}else{
|
||||
//test is not running, begin
|
||||
I("startStopBtn").className="running";
|
||||
I("shareArea").style.display="none";
|
||||
s.onupdate=function(data){
|
||||
uiData=data;
|
||||
};
|
||||
s.onend=function(aborted){
|
||||
I("startStopBtn").className="";
|
||||
updateUI(true);
|
||||
if(!aborted){
|
||||
//if testId is present, show sharing panel, otherwise do nothing
|
||||
try{
|
||||
var testId=uiData.testId;
|
||||
if(testId!=null){
|
||||
var shareURL=window.location.href.substring(0,window.location.href.lastIndexOf("/"))+"/results/?id="+testId;
|
||||
I("resultsImg").src=shareURL;
|
||||
I("resultsURL").value=shareURL;
|
||||
I("testId").innerHTML=testId;
|
||||
I("shareArea").style.display="";
|
||||
}
|
||||
}catch(e){}
|
||||
}
|
||||
};
|
||||
s.start();
|
||||
}
|
||||
}
|
||||
//this function reads the data sent back by the test and updates the UI
|
||||
function updateUI(forced){
|
||||
if(!forced&&s.getState()!=3) return;
|
||||
if(uiData==null) return;
|
||||
var status=uiData.testState;
|
||||
I("ip").textContent=uiData.clientIp;
|
||||
I("dlText").textContent=(status==1&&uiData.dlStatus==0)?"...":format(uiData.dlStatus);
|
||||
drawMeter(I("dlMeter"),mbpsToAmount(Number(uiData.dlStatus*(status==1?oscillate():1))),meterBk,dlColor,Number(uiData.dlProgress),progColor);
|
||||
I("ulText").textContent=(status==3&&uiData.ulStatus==0)?"...":format(uiData.ulStatus);
|
||||
drawMeter(I("ulMeter"),mbpsToAmount(Number(uiData.ulStatus*(status==3?oscillate():1))),meterBk,ulColor,Number(uiData.ulProgress),progColor);
|
||||
I("pingText").textContent=format(uiData.pingStatus);
|
||||
I("jitText").textContent=format(uiData.jitterStatus);
|
||||
}
|
||||
function oscillate(){
|
||||
return 1+0.02*Math.sin(Date.now()/100);
|
||||
}
|
||||
//update the UI every frame
|
||||
window.requestAnimationFrame=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.msRequestAnimationFrame||(function(callback,element){setTimeout(callback,1000/60);});
|
||||
function frame(){
|
||||
requestAnimationFrame(frame);
|
||||
updateUI();
|
||||
}
|
||||
frame(); //start frame loop
|
||||
//function to (re)initialize UI
|
||||
function initUI(){
|
||||
drawMeter(I("dlMeter"),0,meterBk,dlColor,0);
|
||||
drawMeter(I("ulMeter"),0,meterBk,ulColor,0);
|
||||
I("dlText").textContent="";
|
||||
I("ulText").textContent="";
|
||||
I("pingText").textContent="";
|
||||
I("jitText").textContent="";
|
||||
I("ip").textContent="";
|
||||
}
|
||||
</script>
|
||||
<style type="text/css">
|
||||
html,body{
|
||||
border:none; padding:0; margin:0;
|
||||
background:#FFFFFF;
|
||||
color:#202020;
|
||||
}
|
||||
body{
|
||||
text-align:center;
|
||||
font-family:"Roboto",sans-serif;
|
||||
}
|
||||
h1{
|
||||
color:#404040;
|
||||
}
|
||||
#startStopBtn{
|
||||
display:inline-block;
|
||||
margin:0 auto;
|
||||
color:#6060AA;
|
||||
background-color:rgba(0,0,0,0);
|
||||
border:0.15em solid #6060FF;
|
||||
border-radius:0.3em;
|
||||
transition:all 0.3s;
|
||||
box-sizing:border-box;
|
||||
width:8em; height:3em;
|
||||
line-height:2.7em;
|
||||
cursor:pointer;
|
||||
box-shadow: 0 0 0 rgba(0,0,0,0.1), inset 0 0 0 rgba(0,0,0,0.1);
|
||||
}
|
||||
#startStopBtn:hover{
|
||||
box-shadow: 0 0 2em rgba(0,0,0,0.1), inset 0 0 1em rgba(0,0,0,0.1);
|
||||
}
|
||||
#startStopBtn.running{
|
||||
background-color:#FF3030;
|
||||
border-color:#FF6060;
|
||||
color:#FFFFFF;
|
||||
}
|
||||
#startStopBtn:before{
|
||||
content:"Start";
|
||||
}
|
||||
#startStopBtn.running:before{
|
||||
content:"Abort";
|
||||
}
|
||||
#test{
|
||||
margin-top:2em;
|
||||
margin-bottom:12em;
|
||||
}
|
||||
div.testArea{
|
||||
display:inline-block;
|
||||
width:16em;
|
||||
height:12.5em;
|
||||
position:relative;
|
||||
box-sizing:border-box;
|
||||
}
|
||||
div.testArea2{
|
||||
display:inline-block;
|
||||
width:14em;
|
||||
height:7em;
|
||||
position:relative;
|
||||
box-sizing:border-box;
|
||||
text-align:center;
|
||||
}
|
||||
div.testArea div.testName{
|
||||
position:absolute;
|
||||
top:0.1em; left:0;
|
||||
width:100%;
|
||||
font-size:1.4em;
|
||||
z-index:9;
|
||||
}
|
||||
div.testArea2 div.testName{
|
||||
display:block;
|
||||
text-align:center;
|
||||
font-size:1.4em;
|
||||
}
|
||||
div.testArea div.meterText{
|
||||
position:absolute;
|
||||
bottom:1.55em; left:0;
|
||||
width:100%;
|
||||
font-size:2.5em;
|
||||
z-index:9;
|
||||
}
|
||||
div.testArea2 div.meterText{
|
||||
display:inline-block;
|
||||
font-size:2.5em;
|
||||
}
|
||||
div.meterText:empty:before{
|
||||
content:"0.00";
|
||||
}
|
||||
div.testArea div.unit{
|
||||
position:absolute;
|
||||
bottom:2em; left:0;
|
||||
width:100%;
|
||||
z-index:9;
|
||||
}
|
||||
div.testArea2 div.unit{
|
||||
display:inline-block;
|
||||
}
|
||||
div.testArea canvas{
|
||||
position:absolute;
|
||||
top:0; left:0; width:100%; height:100%;
|
||||
z-index:1;
|
||||
}
|
||||
div.testGroup{
|
||||
display:block;
|
||||
margin: 0 auto;
|
||||
}
|
||||
#shareArea{
|
||||
width:95%;
|
||||
max-width:40em;
|
||||
margin:0 auto;
|
||||
margin-top:2em;
|
||||
}
|
||||
#shareArea > *{
|
||||
display:block;
|
||||
width:100%;
|
||||
height:auto;
|
||||
margin: 0.25em 0;
|
||||
}
|
||||
#privacyPolicy{
|
||||
position:fixed;
|
||||
top:2em;
|
||||
bottom:2em;
|
||||
left:2em;
|
||||
right:2em;
|
||||
overflow-y:auto;
|
||||
width:auto;
|
||||
height:auto;
|
||||
box-shadow:0 0 3em 1em #000000;
|
||||
z-index:999999;
|
||||
text-align:left;
|
||||
background-color:#FFFFFF;
|
||||
padding:1em;
|
||||
}
|
||||
a.privacy{
|
||||
text-align:center;
|
||||
font-size:0.8em;
|
||||
color:#808080;
|
||||
padding: 0 3em;
|
||||
}
|
||||
div.closePrivacyPolicy {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
div.closePrivacyPolicy a.privacy {
|
||||
padding: 1em 3em;
|
||||
}
|
||||
@media all and (max-width:40em){
|
||||
body{
|
||||
font-size:0.8em;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<title>LibreSpeed Example</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>LibreSpeed Example</h1>
|
||||
<div id="testWrapper">
|
||||
<div id="startStopBtn" onclick="startStop()"></div><br/>
|
||||
<a class="privacy" href="#" onclick="I('privacyPolicy').style.display=''">Privacy</a>
|
||||
<div id="test">
|
||||
<div class="testGroup">
|
||||
<div class="testArea2">
|
||||
<div class="testName">Ping</div>
|
||||
<div id="pingText" class="meterText" style="color:#AA6060"></div>
|
||||
<div class="unit">ms</div>
|
||||
</div>
|
||||
<div class="testArea2">
|
||||
<div class="testName">Jitter</div>
|
||||
<div id="jitText" class="meterText" style="color:#AA6060"></div>
|
||||
<div class="unit">ms</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="testGroup">
|
||||
<div class="testArea">
|
||||
<div class="testName">Download</div>
|
||||
<canvas id="dlMeter" class="meter"></canvas>
|
||||
<div id="dlText" class="meterText"></div>
|
||||
<div class="unit">Mbps</div>
|
||||
</div>
|
||||
<div class="testArea">
|
||||
<div class="testName">Upload</div>
|
||||
<canvas id="ulMeter" class="meter"></canvas>
|
||||
<div id="ulText" class="meterText"></div>
|
||||
<div class="unit">Mbps</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="ipArea">
|
||||
<span id="ip"></span>
|
||||
</div>
|
||||
<div id="shareArea" style="display:none">
|
||||
<h3>Share results</h3>
|
||||
<p>Test ID: <span id="testId"></span></p>
|
||||
<input type="text" value="" id="resultsURL" readonly="readonly" onclick="this.select();this.focus();this.select();document.execCommand('copy');alert('Link copied')"/>
|
||||
<img src="" id="resultsImg" />
|
||||
</div>
|
||||
</div>
|
||||
<a href="https://github.com/librespeed/speedtest">Source code</a>
|
||||
</div>
|
||||
<div id="privacyPolicy" style="display:none">
|
||||
<h2>Privacy Policy</h2>
|
||||
<p>This HTML5 Speedtest server is configured with telemetry enabled.</p>
|
||||
<h4>What data we collect</h4>
|
||||
<p>
|
||||
At the end of the test, the following data is collected and stored:
|
||||
<ul>
|
||||
<li>Test ID</li>
|
||||
<li>Time of testing</li>
|
||||
<li>Test results (download and upload speed, ping and jitter)</li>
|
||||
<li>IP address</li>
|
||||
<li>ISP information</li>
|
||||
<li>Approximate location (inferred from IP address, not GPS)</li>
|
||||
<li>User agent and browser locale</li>
|
||||
<li>Test log (contains no personal information)</li>
|
||||
</ul>
|
||||
</p>
|
||||
<h4>How we use the data</h4>
|
||||
<p>
|
||||
Data collected through this service is used to:
|
||||
<ul>
|
||||
<li>Allow sharing of test results (sharable image for forums, etc.)</li>
|
||||
<li>To improve the service offered to you (for instance, to detect problems on our side)</li>
|
||||
</ul>
|
||||
No personal information is disclosed to third parties.
|
||||
</p>
|
||||
<h4>Your consent</h4>
|
||||
<p>
|
||||
By starting the test, you consent to the terms of this privacy policy.
|
||||
</p>
|
||||
<h4>Data removal</h4>
|
||||
<p>
|
||||
If you want to have your information deleted, you need to provide either the ID of the test or your IP address. This is the only way to identify your data, without this information we won't be able to comply with your request.<br/><br/>
|
||||
Contact this email address for all deletion requests: <a href="mailto:PUT@YOUR_EMAIL.HERE">TO BE FILLED BY DEVELOPER</a>.
|
||||
</p>
|
||||
<br/><br/>
|
||||
<div class="closePrivacyPolicy">
|
||||
<a class="privacy" href="#" onclick="I('privacyPolicy').style.display='none'">Close</a>
|
||||
</div>
|
||||
<br/>
|
||||
</div>
|
||||
<script type="text/javascript">setTimeout(function(){initUI()},100);</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,262 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, user-scalable=no" />
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="shortcut icon" href="favicon.ico">
|
||||
<script type="text/javascript" src="speedtest.js"></script>
|
||||
<script type="text/javascript">
|
||||
function I(i){return document.getElementById(i);}
|
||||
//INITIALIZE SPEEDTEST
|
||||
var s=new Speedtest(); //create speedtest object
|
||||
|
||||
var meterBk=/Trident.*rv:(\d+\.\d+)/i.test(navigator.userAgent)?"#EAEAEA":"#80808040";
|
||||
var dlColor="#6060AA",
|
||||
ulColor="#616161";
|
||||
var progColor=meterBk;
|
||||
|
||||
//CODE FOR GAUGES
|
||||
function drawMeter(c,amount,bk,fg,progress,prog){
|
||||
var ctx=c.getContext("2d");
|
||||
var dp=window.devicePixelRatio||1;
|
||||
var cw=c.clientWidth*dp, ch=c.clientHeight*dp;
|
||||
var sizScale=ch*0.0055;
|
||||
if(c.width==cw&&c.height==ch){
|
||||
ctx.clearRect(0,0,cw,ch);
|
||||
}else{
|
||||
c.width=cw;
|
||||
c.height=ch;
|
||||
}
|
||||
ctx.beginPath();
|
||||
ctx.strokeStyle=bk;
|
||||
ctx.lineWidth=12*sizScale;
|
||||
ctx.arc(c.width/2,c.height-58*sizScale,c.height/1.8-ctx.lineWidth,-Math.PI*1.1,Math.PI*0.1);
|
||||
ctx.stroke();
|
||||
ctx.beginPath();
|
||||
ctx.strokeStyle=fg;
|
||||
ctx.lineWidth=12*sizScale;
|
||||
ctx.arc(c.width/2,c.height-58*sizScale,c.height/1.8-ctx.lineWidth,-Math.PI*1.1,amount*Math.PI*1.2-Math.PI*1.1);
|
||||
ctx.stroke();
|
||||
if(typeof progress !== "undefined"){
|
||||
ctx.fillStyle=prog;
|
||||
ctx.fillRect(c.width*0.3,c.height-16*sizScale,c.width*0.4*progress,4*sizScale);
|
||||
}
|
||||
}
|
||||
function mbpsToAmount(s){
|
||||
return 1-(1/(Math.pow(1.3,Math.sqrt(s))));
|
||||
}
|
||||
function format(d){
|
||||
d=Number(d);
|
||||
if(d<10) return d.toFixed(2);
|
||||
if(d<100) return d.toFixed(1);
|
||||
return d.toFixed(0);
|
||||
}
|
||||
|
||||
//UI CODE
|
||||
var uiData=null;
|
||||
function startStop(){
|
||||
if(s.getState()==3){
|
||||
//speedtest is running, abort
|
||||
s.abort();
|
||||
data=null;
|
||||
I("startStopBtn").className="";
|
||||
initUI();
|
||||
}else{
|
||||
//test is not running, begin
|
||||
I("startStopBtn").className="running";
|
||||
s.onupdate=function(data){
|
||||
uiData=data;
|
||||
};
|
||||
s.onend=function(aborted){
|
||||
I("startStopBtn").className="";
|
||||
updateUI(true);
|
||||
};
|
||||
s.start();
|
||||
}
|
||||
}
|
||||
//this function reads the data sent back by the test and updates the UI
|
||||
function updateUI(forced){
|
||||
if(!forced&&s.getState()!=3) return;
|
||||
if(uiData==null) return;
|
||||
var status=uiData.testState;
|
||||
I("ip").textContent=uiData.clientIp;
|
||||
I("dlText").textContent=(status==1&&uiData.dlStatus==0)?"...":format(uiData.dlStatus);
|
||||
drawMeter(I("dlMeter"),mbpsToAmount(Number(uiData.dlStatus*(status==1?oscillate():1))),meterBk,dlColor,Number(uiData.dlProgress),progColor);
|
||||
I("ulText").textContent=(status==3&&uiData.ulStatus==0)?"...":format(uiData.ulStatus);
|
||||
drawMeter(I("ulMeter"),mbpsToAmount(Number(uiData.ulStatus*(status==3?oscillate():1))),meterBk,ulColor,Number(uiData.ulProgress),progColor);
|
||||
I("pingText").textContent=format(uiData.pingStatus);
|
||||
I("jitText").textContent=format(uiData.jitterStatus);
|
||||
}
|
||||
function oscillate(){
|
||||
return 1+0.02*Math.sin(Date.now()/100);
|
||||
}
|
||||
//update the UI every frame
|
||||
window.requestAnimationFrame=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.msRequestAnimationFrame||(function(callback,element){setTimeout(callback,1000/60);});
|
||||
function frame(){
|
||||
requestAnimationFrame(frame);
|
||||
updateUI();
|
||||
}
|
||||
frame(); //start frame loop
|
||||
//function to (re)initialize UI
|
||||
function initUI(){
|
||||
drawMeter(I("dlMeter"),0,meterBk,dlColor,0);
|
||||
drawMeter(I("ulMeter"),0,meterBk,ulColor,0);
|
||||
I("dlText").textContent="";
|
||||
I("ulText").textContent="";
|
||||
I("pingText").textContent="";
|
||||
I("jitText").textContent="";
|
||||
I("ip").textContent="";
|
||||
}
|
||||
</script>
|
||||
<style type="text/css">
|
||||
html,body{
|
||||
border:none; padding:0; margin:0;
|
||||
background:#FFFFFF;
|
||||
color:#202020;
|
||||
}
|
||||
body{
|
||||
text-align:center;
|
||||
font-family:"Roboto",sans-serif;
|
||||
}
|
||||
h1{
|
||||
color:#404040;
|
||||
}
|
||||
#startStopBtn{
|
||||
display:inline-block;
|
||||
margin:0 auto;
|
||||
color:#6060AA;
|
||||
background-color:rgba(0,0,0,0);
|
||||
border:0.15em solid #6060FF;
|
||||
border-radius:0.3em;
|
||||
transition:all 0.3s;
|
||||
box-sizing:border-box;
|
||||
width:8em; height:3em;
|
||||
line-height:2.7em;
|
||||
cursor:pointer;
|
||||
box-shadow: 0 0 0 rgba(0,0,0,0.1), inset 0 0 0 rgba(0,0,0,0.1);
|
||||
}
|
||||
#startStopBtn:hover{
|
||||
box-shadow: 0 0 2em rgba(0,0,0,0.1), inset 0 0 1em rgba(0,0,0,0.1);
|
||||
}
|
||||
#startStopBtn.running{
|
||||
background-color:#FF3030;
|
||||
border-color:#FF6060;
|
||||
color:#FFFFFF;
|
||||
}
|
||||
#startStopBtn:before{
|
||||
content:"Start";
|
||||
}
|
||||
#startStopBtn.running:before{
|
||||
content:"Abort";
|
||||
}
|
||||
#test{
|
||||
margin-top:2em;
|
||||
margin-bottom:12em;
|
||||
}
|
||||
div.testArea{
|
||||
display:inline-block;
|
||||
width:16em;
|
||||
height:12.5em;
|
||||
position:relative;
|
||||
box-sizing:border-box;
|
||||
}
|
||||
div.testArea2{
|
||||
display:inline-block;
|
||||
width:14em;
|
||||
height:7em;
|
||||
position:relative;
|
||||
box-sizing:border-box;
|
||||
text-align:center;
|
||||
}
|
||||
div.testArea div.testName{
|
||||
position:absolute;
|
||||
top:0.1em; left:0;
|
||||
width:100%;
|
||||
font-size:1.4em;
|
||||
z-index:9;
|
||||
}
|
||||
div.testArea2 div.testName{
|
||||
display:block;
|
||||
text-align:center;
|
||||
font-size:1.4em;
|
||||
}
|
||||
div.testArea div.meterText{
|
||||
position:absolute;
|
||||
bottom:1.55em; left:0;
|
||||
width:100%;
|
||||
font-size:2.5em;
|
||||
z-index:9;
|
||||
}
|
||||
div.testArea2 div.meterText{
|
||||
display:inline-block;
|
||||
font-size:2.5em;
|
||||
}
|
||||
div.meterText:empty:before{
|
||||
content:"0.00";
|
||||
}
|
||||
div.testArea div.unit{
|
||||
position:absolute;
|
||||
bottom:2em; left:0;
|
||||
width:100%;
|
||||
z-index:9;
|
||||
}
|
||||
div.testArea2 div.unit{
|
||||
display:inline-block;
|
||||
}
|
||||
div.testArea canvas{
|
||||
position:absolute;
|
||||
top:0; left:0; width:100%; height:100%;
|
||||
z-index:1;
|
||||
}
|
||||
div.testGroup{
|
||||
display:block;
|
||||
margin: 0 auto;
|
||||
}
|
||||
@media all and (max-width:40em){
|
||||
body{
|
||||
font-size:0.8em;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<title>LibreSpeed Example</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>LibreSpeed Example</h1>
|
||||
<div id="testWrapper">
|
||||
<div id="startStopBtn" onclick="startStop()"></div>
|
||||
<div id="test">
|
||||
<div class="testGroup">
|
||||
<div class="testArea2">
|
||||
<div class="testName">Ping</div>
|
||||
<div id="pingText" class="meterText" style="color:#AA6060"></div>
|
||||
<div class="unit">ms</div>
|
||||
</div>
|
||||
<div class="testArea2">
|
||||
<div class="testName">Jitter</div>
|
||||
<div id="jitText" class="meterText" style="color:#AA6060"></div>
|
||||
<div class="unit">ms</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="testGroup">
|
||||
<div class="testArea">
|
||||
<div class="testName">Download</div>
|
||||
<canvas id="dlMeter" class="meter"></canvas>
|
||||
<div id="dlText" class="meterText"></div>
|
||||
<div class="unit">Mbps</div>
|
||||
</div>
|
||||
<div class="testArea">
|
||||
<div class="testName">Upload</div>
|
||||
<canvas id="ulMeter" class="meter"></canvas>
|
||||
<div id="ulText" class="meterText"></div>
|
||||
<div class="unit">Mbps</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="ipArea">
|
||||
<span id="ip"></span>
|
||||
</div>
|
||||
</div>
|
||||
<a href="https://github.com/librespeed/speedtest">Source code</a>
|
||||
</div>
|
||||
<script type="text/javascript">setTimeout(function(){initUI()},100);</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,192 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, user-scalable=no" />
|
||||
<title>LibreSpeed Example</title>
|
||||
<link rel="shortcut icon" href="favicon.ico">
|
||||
<script type="text/javascript" src="speedtest.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
//INITIALIZE SPEEDTEST
|
||||
var s=new Speedtest(); //create speedtest object
|
||||
s.onupdate=function(data){ //callback to update data in UI
|
||||
I("ip").textContent=data.clientIp;
|
||||
I("dlText").textContent=(data.testState==1&&data.dlStatus==0)?"...":data.dlStatus;
|
||||
I("ulText").textContent=(data.testState==3&&data.ulStatus==0)?"...":data.ulStatus;
|
||||
I("pingText").textContent=data.pingStatus;
|
||||
I("jitText").textContent=data.jitterStatus;
|
||||
}
|
||||
s.onend=function(aborted){ //callback for test ended/aborted
|
||||
I("startStopBtn").className=""; //show start button again
|
||||
if(aborted){ //if the test was aborted, clear the UI and prepare for new test
|
||||
initUI();
|
||||
}
|
||||
}
|
||||
|
||||
function startStop(){ //start/stop button pressed
|
||||
if(s.getState()==3){
|
||||
//speedtest is running, abort
|
||||
s.abort();
|
||||
}else{
|
||||
//test is not running, begin
|
||||
s.start();
|
||||
I("startStopBtn").className="running";
|
||||
}
|
||||
}
|
||||
|
||||
//function to (re)initialize UI
|
||||
function initUI(){
|
||||
I("dlText").textContent="";
|
||||
I("ulText").textContent="";
|
||||
I("pingText").textContent="";
|
||||
I("jitText").textContent="";
|
||||
I("ip").textContent="";
|
||||
}
|
||||
|
||||
function I(id){return document.getElementById(id);}
|
||||
</script>
|
||||
|
||||
<style type="text/css">
|
||||
html,body{
|
||||
border:none; padding:0; margin:0;
|
||||
background:#FFFFFF;
|
||||
color:#202020;
|
||||
}
|
||||
body{
|
||||
text-align:center;
|
||||
font-family:"Roboto",sans-serif;
|
||||
}
|
||||
h1{
|
||||
color:#404040;
|
||||
}
|
||||
#startStopBtn{
|
||||
display:inline-block;
|
||||
margin:0 auto;
|
||||
color:#6060AA;
|
||||
background-color:rgba(0,0,0,0);
|
||||
border:0.15em solid #6060FF;
|
||||
border-radius:0.3em;
|
||||
transition:all 0.3s;
|
||||
box-sizing:border-box;
|
||||
width:8em; height:3em;
|
||||
line-height:2.7em;
|
||||
cursor:pointer;
|
||||
box-shadow: 0 0 0 rgba(0,0,0,0.1), inset 0 0 0 rgba(0,0,0,0.1);
|
||||
}
|
||||
#startStopBtn:hover{
|
||||
box-shadow: 0 0 2em rgba(0,0,0,0.1), inset 0 0 1em rgba(0,0,0,0.1);
|
||||
}
|
||||
#startStopBtn.running{
|
||||
background-color:#FF3030;
|
||||
border-color:#FF6060;
|
||||
color:#FFFFFF;
|
||||
}
|
||||
#startStopBtn:before{
|
||||
content:"Start";
|
||||
}
|
||||
#startStopBtn.running:before{
|
||||
content:"Abort";
|
||||
}
|
||||
#test{
|
||||
margin-top:2em;
|
||||
margin-bottom:12em;
|
||||
}
|
||||
div.testArea{
|
||||
display:inline-block;
|
||||
width:14em;
|
||||
height:9em;
|
||||
position:relative;
|
||||
box-sizing:border-box;
|
||||
}
|
||||
div.testName{
|
||||
position:absolute;
|
||||
top:0.1em; left:0;
|
||||
width:100%;
|
||||
font-size:1.4em;
|
||||
z-index:9;
|
||||
}
|
||||
div.meterText{
|
||||
position:absolute;
|
||||
bottom:1.5em; left:0;
|
||||
width:100%;
|
||||
font-size:2.5em;
|
||||
z-index:9;
|
||||
}
|
||||
#dlText{
|
||||
color:#6060AA;
|
||||
}
|
||||
#ulText{
|
||||
color:#309030;
|
||||
}
|
||||
#pingText,#jitText{
|
||||
color:#AA6060;
|
||||
}
|
||||
div.meterText:empty:before{
|
||||
color:#505050 !important;
|
||||
content:"0.00";
|
||||
}
|
||||
div.unit{
|
||||
position:absolute;
|
||||
bottom:2em; left:0;
|
||||
width:100%;
|
||||
z-index:9;
|
||||
}
|
||||
div.testGroup{
|
||||
display:inline-block;
|
||||
}
|
||||
@media all and (max-width:65em){
|
||||
body{
|
||||
font-size:1.5vw;
|
||||
}
|
||||
}
|
||||
@media all and (max-width:40em){
|
||||
body{
|
||||
font-size:0.8em;
|
||||
}
|
||||
div.testGroup{
|
||||
display:block;
|
||||
margin: 0 auto;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>LibreSpeed Example</h1>
|
||||
<div id="startStopBtn" onclick="startStop()"></div>
|
||||
<div id="test">
|
||||
<div class="testGroup">
|
||||
<div class="testArea">
|
||||
<div class="testName">Download</div>
|
||||
<div id="dlText" class="meterText"></div>
|
||||
<div class="unit">Mbps</div>
|
||||
</div>
|
||||
<div class="testArea">
|
||||
<div class="testName">Upload</div>
|
||||
<div id="ulText" class="meterText"></div>
|
||||
<div class="unit">Mbps</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="testGroup">
|
||||
<div class="testArea">
|
||||
<div class="testName">Ping</div>
|
||||
<div id="pingText" class="meterText"></div>
|
||||
<div class="unit">ms</div>
|
||||
</div>
|
||||
<div class="testArea">
|
||||
<div class="testName">Jitter</div>
|
||||
<div id="jitText" class="meterText"></div>
|
||||
<div class="unit">ms</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="ipArea">
|
||||
IP Address: <span id="ip"></span>
|
||||
</div>
|
||||
</div>
|
||||
<a href="https://github.com/librespeed/speedtest">Source code</a>
|
||||
<script type="text/javascript">
|
||||
initUI();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,212 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, user-scalable=no" />
|
||||
<title>LibreSpeed Example</title>
|
||||
<link rel="shortcut icon" href="favicon.ico">
|
||||
<script type="text/javascript" src="speedtest.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
//INITIALIZE SPEEDTEST
|
||||
var s=new Speedtest(); //create speedtest object
|
||||
s.onupdate=function(data){ //callback to update data in UI
|
||||
I("ip").textContent=data.clientIp;
|
||||
I("dlText").textContent=(data.testState==1&&data.dlStatus==0)?"...":data.dlStatus;
|
||||
I("ulText").textContent=(data.testState==3&&data.ulStatus==0)?"...":data.ulStatus;
|
||||
I("pingText").textContent=data.pingStatus;
|
||||
I("jitText").textContent=data.jitterStatus;
|
||||
var prog=(Number(data.dlProgress)*2+Number(data.ulProgress)*2+Number(data.pingProgress))/5;
|
||||
I("progress").style.width=(100*prog)+"%";
|
||||
}
|
||||
s.onend=function(aborted){ //callback for test ended/aborted
|
||||
I("startStopBtn").className=""; //show start button again
|
||||
if(aborted){ //if the test was aborted, clear the UI and prepare for new test
|
||||
initUI();
|
||||
}
|
||||
}
|
||||
|
||||
function startStop(){ //start/stop button pressed
|
||||
if(s.getState()==3){
|
||||
//speedtest is running, abort
|
||||
s.abort();
|
||||
}else{
|
||||
//test is not running, begin
|
||||
s.start();
|
||||
I("startStopBtn").className="running";
|
||||
}
|
||||
}
|
||||
|
||||
//function to (re)initialize UI
|
||||
function initUI(){
|
||||
I("dlText").textContent="";
|
||||
I("ulText").textContent="";
|
||||
I("pingText").textContent="";
|
||||
I("jitText").textContent="";
|
||||
I("ip").textContent="";
|
||||
}
|
||||
|
||||
function I(id){return document.getElementById(id);}
|
||||
</script>
|
||||
|
||||
<style type="text/css">
|
||||
html,body{
|
||||
border:none; padding:0; margin:0;
|
||||
background:#FFFFFF;
|
||||
color:#202020;
|
||||
}
|
||||
body{
|
||||
text-align:center;
|
||||
font-family:"Roboto",sans-serif;
|
||||
}
|
||||
h1{
|
||||
color:#404040;
|
||||
}
|
||||
#startStopBtn{
|
||||
display:inline-block;
|
||||
margin:0 auto;
|
||||
color:#6060AA;
|
||||
background-color:rgba(0,0,0,0);
|
||||
border:0.15em solid #6060FF;
|
||||
border-radius:0.3em;
|
||||
transition:all 0.3s;
|
||||
box-sizing:border-box;
|
||||
width:8em; height:3em;
|
||||
line-height:2.7em;
|
||||
cursor:pointer;
|
||||
box-shadow: 0 0 0 rgba(0,0,0,0.1), inset 0 0 0 rgba(0,0,0,0.1);
|
||||
}
|
||||
#startStopBtn:hover{
|
||||
box-shadow: 0 0 2em rgba(0,0,0,0.1), inset 0 0 1em rgba(0,0,0,0.1);
|
||||
}
|
||||
#startStopBtn.running{
|
||||
background-color:#FF3030;
|
||||
border-color:#FF6060;
|
||||
color:#FFFFFF;
|
||||
}
|
||||
#startStopBtn:before{
|
||||
content:"Start";
|
||||
}
|
||||
#startStopBtn.running:before{
|
||||
content:"Abort";
|
||||
}
|
||||
#test{
|
||||
margin-top:2em;
|
||||
margin-bottom:12em;
|
||||
}
|
||||
div.testArea{
|
||||
display:inline-block;
|
||||
width:14em;
|
||||
height:9em;
|
||||
position:relative;
|
||||
box-sizing:border-box;
|
||||
}
|
||||
div.testName{
|
||||
position:absolute;
|
||||
top:0.1em; left:0;
|
||||
width:100%;
|
||||
font-size:1.4em;
|
||||
z-index:9;
|
||||
}
|
||||
div.meterText{
|
||||
position:absolute;
|
||||
bottom:1.5em; left:0;
|
||||
width:100%;
|
||||
font-size:2.5em;
|
||||
z-index:9;
|
||||
}
|
||||
#dlText{
|
||||
color:#6060AA;
|
||||
}
|
||||
#ulText{
|
||||
color:#309030;
|
||||
}
|
||||
#pingText,#jitText{
|
||||
color:#AA6060;
|
||||
}
|
||||
div.meterText:empty:before{
|
||||
color:#505050 !important;
|
||||
content:"0.00";
|
||||
}
|
||||
div.unit{
|
||||
position:absolute;
|
||||
bottom:2em; left:0;
|
||||
width:100%;
|
||||
z-index:9;
|
||||
}
|
||||
div.testGroup{
|
||||
display:inline-block;
|
||||
}
|
||||
@media all and (max-width:65em){
|
||||
body{
|
||||
font-size:1.5vw;
|
||||
}
|
||||
}
|
||||
@media all and (max-width:40em){
|
||||
body{
|
||||
font-size:0.8em;
|
||||
}
|
||||
div.testGroup{
|
||||
display:block;
|
||||
margin: 0 auto;
|
||||
}
|
||||
}
|
||||
#progressBar{
|
||||
width:90%;
|
||||
height:0.3em;
|
||||
background-color:#EEEEEE;
|
||||
position:relative;
|
||||
display:block;
|
||||
margin:0 auto;
|
||||
margin-bottom:2em;
|
||||
}
|
||||
#progress{
|
||||
position:absolute;
|
||||
top:0; left:0;
|
||||
height:100%;
|
||||
width:0%;
|
||||
transition: width 2s;
|
||||
background-color:#90BBFF;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>LibreSpeed Example</h1>
|
||||
<div id="startStopBtn" onclick="startStop()"></div>
|
||||
<div id="test">
|
||||
<div id="progressBar"><div id="progress"></div></div>
|
||||
<div class="testGroup">
|
||||
<div class="testArea">
|
||||
<div class="testName">Download</div>
|
||||
<div id="dlText" class="meterText"></div>
|
||||
<div class="unit">Mbps</div>
|
||||
</div>
|
||||
<div class="testArea">
|
||||
<div class="testName">Upload</div>
|
||||
<div id="ulText" class="meterText"></div>
|
||||
<div class="unit">Mbps</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="testGroup">
|
||||
<div class="testArea">
|
||||
<div class="testName">Ping</div>
|
||||
<div id="pingText" class="meterText"></div>
|
||||
<div class="unit">ms</div>
|
||||
</div>
|
||||
<div class="testArea">
|
||||
<div class="testName">Jitter</div>
|
||||
<div id="jitText" class="meterText"></div>
|
||||
<div class="unit">ms</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="ipArea">
|
||||
IP Address: <span id="ip"></span>
|
||||
</div>
|
||||
</div>
|
||||
<a href="https://github.com/librespeed/speedtest">Source code</a>
|
||||
<script type="text/javascript">
|
||||
initUI();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,352 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, user-scalable=no" />
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="shortcut icon" href="favicon.ico">
|
||||
<script type="text/javascript" src="speedtest.js"></script>
|
||||
<script type="text/javascript">
|
||||
function I(i){return document.getElementById(i);}
|
||||
//INITIALIZE SPEEDTEST
|
||||
var s=new Speedtest(); //create speedtest object
|
||||
s.setParameter("telemetry_level","basic"); //enable telemetry
|
||||
var meterBk=/Trident.*rv:(\d+\.\d+)/i.test(navigator.userAgent)?"#EAEAEA":"#80808040";
|
||||
var dlColor="#6060AA",
|
||||
ulColor="#616161";
|
||||
var progColor=meterBk;
|
||||
//CODE FOR GAUGES
|
||||
function drawMeter(c,amount,bk,fg,progress,prog){
|
||||
var ctx=c.getContext("2d");
|
||||
var dp=window.devicePixelRatio||1;
|
||||
var cw=c.clientWidth*dp, ch=c.clientHeight*dp;
|
||||
var sizScale=ch*0.0055;
|
||||
if(c.width==cw&&c.height==ch){
|
||||
ctx.clearRect(0,0,cw,ch);
|
||||
}else{
|
||||
c.width=cw;
|
||||
c.height=ch;
|
||||
}
|
||||
ctx.beginPath();
|
||||
ctx.strokeStyle=bk;
|
||||
ctx.lineWidth=12*sizScale;
|
||||
ctx.arc(c.width/2,c.height-58*sizScale,c.height/1.8-ctx.lineWidth,-Math.PI*1.1,Math.PI*0.1);
|
||||
ctx.stroke();
|
||||
ctx.beginPath();
|
||||
ctx.strokeStyle=fg;
|
||||
ctx.lineWidth=12*sizScale;
|
||||
ctx.arc(c.width/2,c.height-58*sizScale,c.height/1.8-ctx.lineWidth,-Math.PI*1.1,amount*Math.PI*1.2-Math.PI*1.1);
|
||||
ctx.stroke();
|
||||
if(typeof progress !== "undefined"){
|
||||
ctx.fillStyle=prog;
|
||||
ctx.fillRect(c.width*0.3,c.height-16*sizScale,c.width*0.4*progress,4*sizScale);
|
||||
}
|
||||
}
|
||||
function mbpsToAmount(s){
|
||||
return 1-(1/(Math.pow(1.3,Math.sqrt(s))));
|
||||
}
|
||||
function format(d){
|
||||
d=Number(d);
|
||||
if(d<10) return d.toFixed(2);
|
||||
if(d<100) return d.toFixed(1);
|
||||
return d.toFixed(0);
|
||||
}
|
||||
//UI CODE
|
||||
var uiData=null;
|
||||
function startStop(){
|
||||
if(s.getState()==3){
|
||||
//speedtest is running, abort
|
||||
s.abort();
|
||||
data=null;
|
||||
I("startStopBtn").className="";
|
||||
initUI();
|
||||
}else{
|
||||
//test is not running, begin
|
||||
I("startStopBtn").className="running";
|
||||
I("shareArea").style.display="none";
|
||||
s.onupdate=function(data){
|
||||
uiData=data;
|
||||
};
|
||||
s.onend=function(aborted){
|
||||
I("startStopBtn").className="";
|
||||
updateUI(true);
|
||||
if(!aborted){
|
||||
//if testId is present, show sharing panel, otherwise do nothing
|
||||
try{
|
||||
var testId=uiData.testId;
|
||||
if(testId!=null){
|
||||
var shareURL=window.location.href.substring(0,window.location.href.lastIndexOf("/"))+"/results/?id="+testId;
|
||||
I("resultsImg").src=shareURL;
|
||||
I("resultsURL").value=shareURL;
|
||||
I("testId").innerHTML=testId;
|
||||
I("shareArea").style.display="";
|
||||
}
|
||||
}catch(e){}
|
||||
}
|
||||
};
|
||||
s.start();
|
||||
}
|
||||
}
|
||||
//this function reads the data sent back by the test and updates the UI
|
||||
function updateUI(forced){
|
||||
if(!forced&&s.getState()!=3) return;
|
||||
if(uiData==null) return;
|
||||
var status=uiData.testState;
|
||||
I("ip").textContent=uiData.clientIp;
|
||||
I("dlText").textContent=(status==1&&uiData.dlStatus==0)?"...":format(uiData.dlStatus);
|
||||
drawMeter(I("dlMeter"),mbpsToAmount(Number(uiData.dlStatus*(status==1?oscillate():1))),meterBk,dlColor,Number(uiData.dlProgress),progColor);
|
||||
I("ulText").textContent=(status==3&&uiData.ulStatus==0)?"...":format(uiData.ulStatus);
|
||||
drawMeter(I("ulMeter"),mbpsToAmount(Number(uiData.ulStatus*(status==3?oscillate():1))),meterBk,ulColor,Number(uiData.ulProgress),progColor);
|
||||
I("pingText").textContent=format(uiData.pingStatus);
|
||||
I("jitText").textContent=format(uiData.jitterStatus);
|
||||
}
|
||||
function oscillate(){
|
||||
return 1+0.02*Math.sin(Date.now()/100);
|
||||
}
|
||||
//update the UI every frame
|
||||
window.requestAnimationFrame=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.msRequestAnimationFrame||(function(callback,element){setTimeout(callback,1000/60);});
|
||||
function frame(){
|
||||
requestAnimationFrame(frame);
|
||||
updateUI();
|
||||
}
|
||||
frame(); //start frame loop
|
||||
//function to (re)initialize UI
|
||||
function initUI(){
|
||||
drawMeter(I("dlMeter"),0,meterBk,dlColor,0);
|
||||
drawMeter(I("ulMeter"),0,meterBk,ulColor,0);
|
||||
I("dlText").textContent="";
|
||||
I("ulText").textContent="";
|
||||
I("pingText").textContent="";
|
||||
I("jitText").textContent="";
|
||||
I("ip").textContent="";
|
||||
}
|
||||
</script>
|
||||
<style type="text/css">
|
||||
html,body{
|
||||
border:none; padding:0; margin:0;
|
||||
background:#FFFFFF;
|
||||
color:#202020;
|
||||
}
|
||||
body{
|
||||
text-align:center;
|
||||
font-family:"Roboto",sans-serif;
|
||||
}
|
||||
h1{
|
||||
color:#404040;
|
||||
}
|
||||
#startStopBtn{
|
||||
display:inline-block;
|
||||
margin:0 auto;
|
||||
color:#6060AA;
|
||||
background-color:rgba(0,0,0,0);
|
||||
border:0.15em solid #6060FF;
|
||||
border-radius:0.3em;
|
||||
transition:all 0.3s;
|
||||
box-sizing:border-box;
|
||||
width:8em; height:3em;
|
||||
line-height:2.7em;
|
||||
cursor:pointer;
|
||||
box-shadow: 0 0 0 rgba(0,0,0,0.1), inset 0 0 0 rgba(0,0,0,0.1);
|
||||
}
|
||||
#startStopBtn:hover{
|
||||
box-shadow: 0 0 2em rgba(0,0,0,0.1), inset 0 0 1em rgba(0,0,0,0.1);
|
||||
}
|
||||
#startStopBtn.running{
|
||||
background-color:#FF3030;
|
||||
border-color:#FF6060;
|
||||
color:#FFFFFF;
|
||||
}
|
||||
#startStopBtn:before{
|
||||
content:"Start";
|
||||
}
|
||||
#startStopBtn.running:before{
|
||||
content:"Abort";
|
||||
}
|
||||
#test{
|
||||
margin-top:2em;
|
||||
margin-bottom:12em;
|
||||
}
|
||||
div.testArea{
|
||||
display:inline-block;
|
||||
width:16em;
|
||||
height:12.5em;
|
||||
position:relative;
|
||||
box-sizing:border-box;
|
||||
}
|
||||
div.testArea2{
|
||||
display:inline-block;
|
||||
width:14em;
|
||||
height:7em;
|
||||
position:relative;
|
||||
box-sizing:border-box;
|
||||
text-align:center;
|
||||
}
|
||||
div.testArea div.testName{
|
||||
position:absolute;
|
||||
top:0.1em; left:0;
|
||||
width:100%;
|
||||
font-size:1.4em;
|
||||
z-index:9;
|
||||
}
|
||||
div.testArea2 div.testName{
|
||||
display:block;
|
||||
text-align:center;
|
||||
font-size:1.4em;
|
||||
}
|
||||
div.testArea div.meterText{
|
||||
position:absolute;
|
||||
bottom:1.55em; left:0;
|
||||
width:100%;
|
||||
font-size:2.5em;
|
||||
z-index:9;
|
||||
}
|
||||
div.testArea2 div.meterText{
|
||||
display:inline-block;
|
||||
font-size:2.5em;
|
||||
}
|
||||
div.meterText:empty:before{
|
||||
content:"0.00";
|
||||
}
|
||||
div.testArea div.unit{
|
||||
position:absolute;
|
||||
bottom:2em; left:0;
|
||||
width:100%;
|
||||
z-index:9;
|
||||
}
|
||||
div.testArea2 div.unit{
|
||||
display:inline-block;
|
||||
}
|
||||
div.testArea canvas{
|
||||
position:absolute;
|
||||
top:0; left:0; width:100%; height:100%;
|
||||
z-index:1;
|
||||
}
|
||||
div.testGroup{
|
||||
display:block;
|
||||
margin: 0 auto;
|
||||
}
|
||||
#shareArea{
|
||||
width:95%;
|
||||
max-width:40em;
|
||||
margin:0 auto;
|
||||
margin-top:2em;
|
||||
}
|
||||
#shareArea > *{
|
||||
display:block;
|
||||
width:100%;
|
||||
height:auto;
|
||||
margin: 0.25em 0;
|
||||
}
|
||||
#privacyPolicy{
|
||||
position:fixed;
|
||||
top:2em;
|
||||
bottom:2em;
|
||||
left:2em;
|
||||
right:2em;
|
||||
overflow-y:auto;
|
||||
width:auto;
|
||||
height:auto;
|
||||
box-shadow:0 0 3em 1em #000000;
|
||||
z-index:999999;
|
||||
text-align:left;
|
||||
background-color:#FFFFFF;
|
||||
padding:1em;
|
||||
}
|
||||
a.privacy{
|
||||
text-align:center;
|
||||
font-size:0.8em;
|
||||
color:#808080;
|
||||
display:block;
|
||||
}
|
||||
@media all and (max-width:40em){
|
||||
body{
|
||||
font-size:0.8em;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<title>LibreSpeed Speedtest</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>LibreSpeed Speedtest</h1>
|
||||
<div id="testWrapper">
|
||||
<div id="startStopBtn" onclick="startStop()"></div><br/>
|
||||
<a class="privacy" href="#" onclick="I('privacyPolicy').style.display=''">Privacy</a>
|
||||
<div id="test">
|
||||
<div class="testGroup">
|
||||
<div class="testArea2">
|
||||
<div class="testName">Ping</div>
|
||||
<div id="pingText" class="meterText" style="color:#AA6060"></div>
|
||||
<div class="unit">ms</div>
|
||||
</div>
|
||||
<div class="testArea2">
|
||||
<div class="testName">Jitter</div>
|
||||
<div id="jitText" class="meterText" style="color:#AA6060"></div>
|
||||
<div class="unit">ms</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="testGroup">
|
||||
<div class="testArea">
|
||||
<div class="testName">Download</div>
|
||||
<canvas id="dlMeter" class="meter"></canvas>
|
||||
<div id="dlText" class="meterText"></div>
|
||||
<div class="unit">Mbps</div>
|
||||
</div>
|
||||
<div class="testArea">
|
||||
<div class="testName">Upload</div>
|
||||
<canvas id="ulMeter" class="meter"></canvas>
|
||||
<div id="ulText" class="meterText"></div>
|
||||
<div class="unit">Mbps</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="ipArea">
|
||||
<span id="ip"></span>
|
||||
</div>
|
||||
<div id="shareArea" style="display:none">
|
||||
<h3>Share results</h3>
|
||||
<p>Test ID: <span id="testId"></span></p>
|
||||
<input type="text" value="" id="resultsURL" readonly="readonly" onclick="this.select();this.focus();this.select();document.execCommand('copy');alert('Link copied')"/>
|
||||
<img src="" id="resultsImg" />
|
||||
</div>
|
||||
</div>
|
||||
<a href="https://github.com/librespeed/speedtest">Source code</a>
|
||||
</div>
|
||||
<div id="privacyPolicy" style="display:none">
|
||||
<h2>Privacy Policy</h2>
|
||||
<p>This HTML5 Speedtest server is configured with telemetry enabled.</p>
|
||||
<h4>What data we collect</h4>
|
||||
<p>
|
||||
At the end of the test, the following data is collected and stored:
|
||||
<ul>
|
||||
<li>Test ID</li>
|
||||
<li>Time of testing</li>
|
||||
<li>Test results (download and upload speed, ping and jitter)</li>
|
||||
<li>IP address</li>
|
||||
<li>ISP information</li>
|
||||
<li>Approximate location (inferred from IP address, not GPS)</li>
|
||||
<li>User agent and browser locale</li>
|
||||
<li>Test log (contains no personal information)</li>
|
||||
</ul>
|
||||
</p>
|
||||
<h4>How we use the data</h4>
|
||||
<p>
|
||||
Data collected through this service is used to:
|
||||
<ul>
|
||||
<li>Allow sharing of test results (sharable image for forums, etc.)</li>
|
||||
<li>To improve the service offered to you (for instance, to detect problems on our side)</li>
|
||||
</ul>
|
||||
No personal information is disclosed to third parties.
|
||||
</p>
|
||||
<h4>Your consent</h4>
|
||||
<p>
|
||||
By starting the test, you consent to the terms of this privacy policy.
|
||||
</p>
|
||||
<h4>Data removal</h4>
|
||||
<p>
|
||||
If you want to have your information deleted, you need to provide either the ID of the test or your IP address. This is the only way to identify your data, without this information we won't be able to comply with your request.<br/><br/>
|
||||
Contact the web admin for all deletion requests.
|
||||
</p>
|
||||
<br/><br/>
|
||||
<a class="privacy" href="#" onclick="I('privacyPolicy').style.display='none'">Close</a><br/>
|
||||
</div>
|
||||
<script type="text/javascript">setTimeout(function(){initUI()},100);</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -6,7 +6,7 @@
|
|||
collection_jitter = "0s"
|
||||
flush_interval = "5s"
|
||||
flush_jitter = "0s"
|
||||
#debug=true
|
||||
debug=false
|
||||
|
||||
# Output Configuration for telegraf agent
|
||||
[[outputs.influxdb_v2]]
|
||||
|
|
@ -16,12 +16,26 @@
|
|||
token = "7km_XYOmaTnOrCSt2MReAyGT-nWmG5lSfyiS8e9rn3jjLaDTEaJzsP7KdnHI9sReAGgmKSAKK98EWUrEAZ0EyA=="
|
||||
## Organization is the name of the organization you wish to write to; created with the influxdb_cli service.
|
||||
organization = "milvert"
|
||||
## Destination bucket to write into; created with the influxdb_cli service.
|
||||
# Destination bucket to write into; created with the influxdb_cli service.
|
||||
bucket = "MilvertBucket"
|
||||
namedrop = ["home", "electricity"]
|
||||
|
||||
[[outputs.influxdb_v2]]
|
||||
## Point to your influxdb container
|
||||
urls = ["http://influxdb:8086"]
|
||||
## Token for authentication; created with the influxdb_cli service.
|
||||
token = "G0KAflWQcbl-9OjDwGVwm-E7y3xchi4UBE_HWIzYwgt1IiB-mUZ0TXbCVCkSJyk7yXtDoedK2erQIQzbifIrsQ=="
|
||||
organization = "milvert"
|
||||
bucket = "HomeBucket"
|
||||
namepass = ["home", "el"]
|
||||
tagexclude = ["topic"]
|
||||
alias="Dummy"
|
||||
|
||||
#[[outputs.file]]
|
||||
#files = ["stdout", "/tmp/metrics.out"]
|
||||
|
||||
#tagexclude = ["topic"]
|
||||
#namepass = ["home", "el"]
|
||||
#data_format = "influx"
|
||||
|
||||
|
||||
|
|
@ -34,7 +48,48 @@
|
|||
## Path to listen to.
|
||||
path = "/write"
|
||||
|
||||
## HTTP methods to accept.
|
||||
## HTTP methods to accept.
|
||||
methods = ["POST", "PUT"]
|
||||
|
||||
data_format = "influx"
|
||||
|
||||
[[inputs.mqtt_consumer]]
|
||||
name_override = "el"
|
||||
servers = ["tcp://mqtt:1883"]
|
||||
username = "simon"
|
||||
password = "bajsa123"
|
||||
tagexclude = ["host"]
|
||||
topics = [
|
||||
"dsmr/reading/electricity_delivered",
|
||||
"dsmr/reading/electricity_delivered_1",
|
||||
"dsmr/reading/electricity_returned",
|
||||
"dsmr/reading/electricity_returned_1",
|
||||
"dsmr/reading/electricity_delivered_2",
|
||||
"dsmr/reading/electricity_returned_2",
|
||||
"dsmr/reading/electricity_currently_delivered",
|
||||
"dsmr/reading/electricity_currently_returned",
|
||||
"dsmr/reading/phase_currently_delivered_l1",
|
||||
"dsmr/reading/phase_currently_delivered_l2",
|
||||
"dsmr/reading/phase_currently_delivered_l3",
|
||||
"dsmr/reading/phase_currently_returned_l1",
|
||||
"dsmr/reading/phase_currently_returned_l2",
|
||||
"dsmr/reading/phase_currently_returned_l3",
|
||||
"dsmr/reading/phase_voltage_l1",
|
||||
"dsmr/reading/phase_voltage_l2",
|
||||
"dsmr/reading/phase_voltage_l3",
|
||||
"dsmr/reading/phase_power_current_l1",
|
||||
"dsmr/reading/phase_power_current_l2",
|
||||
"dsmr/reading/phase_power_current_l3",
|
||||
"dsmr/reading/electricity_hourly_usage"
|
||||
]
|
||||
data_format = "value"
|
||||
data_type = "float"
|
||||
|
||||
[[inputs.mqtt_consumer.topic_parsing]]
|
||||
topic = "dsmr/+/+"
|
||||
tags = "_/_/_field"
|
||||
|
||||
[[processors.pivot]]
|
||||
tag_key = "_field"
|
||||
value_key = "value"
|
||||
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -0,0 +1 @@
|
|||
d8:bitfieldi1760e5:filesld9:completedi1e5:mtimei1631041183e8:priorityi1eed9:completedi24e5:mtimei1631041185e8:priorityi1eed9:completedi25e5:mtimei1631041961e8:priorityi1eed9:completedi25e5:mtimei1631041961e8:priorityi1eed9:completedi25e5:mtimei1631041961e8:priorityi1eed9:completedi25e5:mtimei1631041230e8:priorityi1eed9:completedi25e5:mtimei1631041303e8:priorityi1eed9:completedi24e5:mtimei1631041318e8:priorityi1eed9:completedi25e5:mtimei1631041348e8:priorityi1eed9:completedi25e5:mtimei1631041363e8:priorityi1eed9:completedi25e5:mtimei1631041378e8:priorityi1eed9:completedi25e5:mtimei1631041379e8:priorityi1eed9:completedi25e5:mtimei1631041961e8:priorityi1eed9:completedi24e5:mtimei1631041961e8:priorityi1eed9:completedi25e5:mtimei1631041961e8:priorityi1eed9:completedi25e5:mtimei1631041424e8:priorityi1eed9:completedi25e5:mtimei1631041961e8:priorityi1eed9:completedi25e5:mtimei1631041453e8:priorityi1eed9:completedi25e5:mtimei1631041455e8:priorityi1eed9:completedi24e5:mtimei1631041961e8:priorityi1eed9:completedi25e5:mtimei1631041484e8:priorityi1eed9:completedi25e5:mtimei1631041961e8:priorityi1eed9:completedi25e5:mtimei1631041528e8:priorityi1eed9:completedi25e5:mtimei1631041536e8:priorityi1eed9:completedi25e5:mtimei1631041543e8:priorityi1eed9:completedi25e5:mtimei1631041634e8:priorityi1eed9:completedi24e5:mtimei1631041710e8:priorityi1eed9:completedi25e5:mtimei1631041708e8:priorityi1eed9:completedi25e5:mtimei1631041961e8:priorityi1eed9:completedi25e5:mtimei1631041725e8:priorityi1eed9:completedi25e5:mtimei1631041798e8:priorityi1eed9:completedi25e5:mtimei1631041806e8:priorityi1eed9:completedi24e5:mtimei1631041961e8:priorityi1eed9:completedi25e5:mtimei1631041829e8:priorityi1eed9:completedi25e5:mtimei1631041840e8:priorityi1eed9:completedi25e5:mtimei1631041961e8:priorityi1eed9:completedi25e5:mtimei1631041961e8:priorityi1eed9:completedi25e5:mtimei1631041873e8:priorityi1eed9:completedi24e5:mtimei1631041334e8:priorityi1eed9:completedi25e5:mtimei1631041349e8:priorityi1eed9:completedi25e5:mtimei1631041875e8:priorityi1eed9:completedi25e5:mtimei1631041889e8:priorityi1eed9:completedi25e5:mtimei1631041903e8:priorityi1eed9:completedi25e5:mtimei1631041918e8:priorityi1eed9:completedi25e5:mtimei1631041934e8:priorityi1eed9:completedi24e5:mtimei1631041936e8:priorityi1eed9:completedi25e5:mtimei1631041933e8:priorityi1eed9:completedi25e5:mtimei1631041258e8:priorityi1eed9:completedi25e5:mtimei1631041259e8:priorityi1eed9:completedi25e5:mtimei1631041961e8:priorityi1eed9:completedi25e5:mtimei1631041961e8:priorityi1eed9:completedi24e5:mtimei1631041664e8:priorityi1eed9:completedi25e5:mtimei1631041755e8:priorityi1eed9:completedi25e5:mtimei1631041961e8:priorityi1eed9:completedi25e5:mtimei1631041770e8:priorityi1eed9:completedi25e5:mtimei1631041769e8:priorityi1eed9:completedi25e5:mtimei1631041573e8:priorityi1eed9:completedi24e5:mtimei1631041575e8:priorityi1eed9:completedi25e5:mtimei1631041589e8:priorityi1eed9:completedi25e5:mtimei1631041603e8:priorityi1eed9:completedi25e5:mtimei1631041618e8:priorityi1eed9:completedi25e5:mtimei1631041620e8:priorityi1eed9:completedi25e5:mtimei1631041678e8:priorityi1eed9:completedi25e5:mtimei1631041961e8:priorityi1eed9:completedi24e5:mtimei1631041798e8:priorityi1eed9:completedi25e5:mtimei1631041948e8:priorityi1eed9:completedi25e5:mtimei1631041961e8:priorityi1eed9:completedi25e5:mtimei1631041963e8:priorityi1eed9:completedi25e5:mtimei1631041695e8:priorityi1eed9:completedi25e5:mtimei1631041709e8:priorityi1eed9:completedi24e5:mtimei1631041500e8:priorityi1eed9:completedi25e5:mtimei1631041498e8:priorityi1eed9:completedi25e5:mtimei1631041157e8:priorityi1eed9:completedi20e5:mtimei1631041171e8:priorityi1eed9:completedi25e5:mtimei1631041183e8:priorityi1eed9:completedi1e5:mtimei1631041963e8:priorityi1eee5:peersld6:failedi1e4:inet6:%.¤e±þ4:lasti1631041963eed6:failedi1e4:inet6:Søæ<>£4:lasti1631042051eee8:trackersd76:https://tracker.tleechreload.org/a/2a44f3ccc79b994bd9eaf1e9df55c011/announced7:enabledi1ee76:https://tracker.torrentleech.org/a/2a44f3ccc79b994bd9eaf1e9df55c011/announced7:enabledi1eee26:uncertain_pieces.timestampi1680110686ee
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
d27:choke_heuristics.down.leech0:26:choke_heuristics.down.seed0:25:choke_heuristics.up.leech0:24:choke_heuristics.up.seed0:11:chunks_donei1760e13:chunks_wantedi0e8:completei1e16:connection_leech0:15:connection_seed0:6:customd7:addtime11:1631041073
|
||||
11:seedingtime11:1631042050
|
||||
10:x-filename86:Nils.Karlsson.Pyssling.1990.SWE.NOR.DTS-HD.DTS.AC3.1080p.BluRay.x264.HQ-TUSAHD.torrente7:custom10:7:custom20:7:custom30:7:custom41:17:custom50:9:directory99:/downloads/completed/Nils.Karlsson.Pyssling.1990.SWE.NOR.DTS-HD.DTS.AC3.1080p.BluRay.x264.HQ-TUSAHD7:hashingi0e15:ignore_commandsi0e3:keyi1055222477e11:loaded_file79:/config/rtorrent/rtorrent_sess/5312C6C5326F577A54FA4A1A878D56CB0425A5D8.torrent8:priorityi2e5:statei0e13:state_changedi1631042281e13:state_counteri2e13:throttle_name0:12:tied_to_file0:18:timestamp.finishedi1631042047e17:timestamp.startedi1631041075e16:total_downloadedi7389322333e14:total_uploadedi0e5:viewslee
|
||||
Binary file not shown.
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1 @@
|
|||
d27:choke_heuristics.down.leech0:26:choke_heuristics.down.seed0:25:choke_heuristics.up.leech0:24:choke_heuristics.up.seed0:11:chunks_donei2234e13:chunks_wantedi0e8:completei1e16:connection_leech0:15:connection_seed0:6:customd10:x-filename112:Harry.Potter.And.The.Sorcerers.Stone.2001.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD.torrente7:custom10:7:custom20:7:custom30:7:custom40:7:custom50:9:directory128:/downloads/Video/Filmer/Harry.Potter.And.The.Sorcerers.Stone.2001.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD7:hashingi0e15:ignore_commandsi0e3:keyi418072744e11:loaded_file79:/config/rtorrent/rtorrent_sess/BE0CC1D374538989DC8542E173084551184E2739.torrent8:priorityi2e5:statei1e13:state_changedi1678736693e13:state_counteri12e13:throttle_name0:12:tied_to_file0:18:timestamp.finishedi1636655589e17:timestamp.startedi1636557531e16:total_downloadedi18917906877e14:total_uploadedi10155533899e5:viewslee
|
||||
Binary file not shown.
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,3 @@
|
|||
d27:choke_heuristics.down.leech0:26:choke_heuristics.down.seed0:25:choke_heuristics.up.leech0:24:choke_heuristics.up.seed0:11:chunks_donei1195e13:chunks_wantedi0e8:completei1e16:connection_leech0:15:connection_seed0:6:customd7:addtime11:1636912541
|
||||
11:seedingtime11:1636914953
|
||||
10:x-filename115:Harry.Potter.And.The.Chamber.Of.Secrets.2002.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD.torrente7:custom10:7:custom20:7:custom30:7:custom41:17:custom50:9:directory131:/downloads/Video/Filmer/Harry.Potter.And.The.Chamber.Of.Secrets.2002.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD7:hashingi0e15:ignore_commandsi0e3:keyi412081695e11:loaded_file79:/config/rtorrent/rtorrent_sess/C5B7F28719A1588ED7FD3D09B2DC04E6E40D87E6.torrent8:priorityi2e5:statei1e13:state_changedi1678736693e13:state_counteri11e13:throttle_name0:12:tied_to_file0:18:timestamp.finishedi1636914952e17:timestamp.startedi1636912542e16:total_downloadedi20044130545e14:total_uploadedi4965187623e5:viewslee
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1 @@
|
|||
d8:bitfieldi1014e5:filesld9:completedi1e5:mtimei1635605851e8:priorityi1eed9:completedi12e5:mtimei1635605851e8:priorityi1eed9:completedi13e5:mtimei1635605371e8:priorityi1eed9:completedi13e5:mtimei1635605753e8:priorityi1eed9:completedi13e5:mtimei1635605851e8:priorityi1eed9:completedi13e5:mtimei1635605843e8:priorityi1eed9:completedi13e5:mtimei1635605822e8:priorityi1eed9:completedi13e5:mtimei1635605828e8:priorityi1eed9:completedi13e5:mtimei1635605402e8:priorityi1eed9:completedi13e5:mtimei1635605851e8:priorityi1eed9:completedi13e5:mtimei1635605482e8:priorityi1eed9:completedi13e5:mtimei1635605851e8:priorityi1eed9:completedi13e5:mtimei1635605852e8:priorityi1eed9:completedi12e5:mtimei1635604297e8:priorityi1eed9:completedi13e5:mtimei1635605852e8:priorityi1eed9:completedi13e5:mtimei1635604392e8:priorityi1eed9:completedi13e5:mtimei1635605852e8:priorityi1eed9:completedi13e5:mtimei1635605852e8:priorityi1eed9:completedi13e5:mtimei1635604378e8:priorityi1eed9:completedi13e5:mtimei1635604422e8:priorityi1eed9:completedi13e5:mtimei1635604421e8:priorityi1eed9:completedi13e5:mtimei1635604439e8:priorityi1eed9:completedi13e5:mtimei1635604512e8:priorityi1eed9:completedi13e5:mtimei1635605852e8:priorityi1eed9:completedi13e5:mtimei1635605852e8:priorityi1eed9:completedi13e5:mtimei1635604528e8:priorityi1eed9:completedi12e5:mtimei1635604783e8:priorityi1eed9:completedi13e5:mtimei1635604807e8:priorityi1eed9:completedi13e5:mtimei1635604812e8:priorityi1eed9:completedi13e5:mtimei1635605852e8:priorityi1eed9:completedi13e5:mtimei1635604148e8:priorityi1eed9:completedi13e5:mtimei1635604168e8:priorityi1eed9:completedi13e5:mtimei1635605852e8:priorityi1eed9:completedi13e5:mtimei1635604207e8:priorityi1eed9:completedi13e5:mtimei1635604271e8:priorityi1eed9:completedi13e5:mtimei1635604256e8:priorityi1eed9:completedi13e5:mtimei1635604813e8:priorityi1eed9:completedi13e5:mtimei1635604882e8:priorityi1eed9:completedi12e5:mtimei1635605852e8:priorityi1eed9:completedi13e5:mtimei1635604632e8:priorityi1eed9:completedi13e5:mtimei1635605852e8:priorityi1eed9:completedi13e5:mtimei1635604633e8:priorityi1eed9:completedi13e5:mtimei1635604649e8:priorityi1eed9:completedi13e5:mtimei1635604674e8:priorityi1eed9:completedi13e5:mtimei1635604693e8:priorityi1eed9:completedi13e5:mtimei1635605852e8:priorityi1eed9:completedi13e5:mtimei1635605852e8:priorityi1eed9:completedi13e5:mtimei1635604754e8:priorityi1eed9:completedi13e5:mtimei1635605852e8:priorityi1eed9:completedi13e5:mtimei1635605852e8:priorityi1eed9:completedi13e5:mtimei1635605852e8:priorityi1eed9:completedi12e5:mtimei1635604891e8:priorityi1eed9:completedi13e5:mtimei1635604912e8:priorityi1eed9:completedi13e5:mtimei1635604929e8:priorityi1eed9:completedi13e5:mtimei1635605002e8:priorityi1eed9:completedi13e5:mtimei1635605002e8:priorityi1eed9:completedi13e5:mtimei1635604997e8:priorityi1eed9:completedi13e5:mtimei1635605852e8:priorityi1eed9:completedi13e5:mtimei1635605852e8:priorityi1eed9:completedi13e5:mtimei1635605059e8:priorityi1eed9:completedi13e5:mtimei1635605852e8:priorityi1eed9:completedi13e5:mtimei1635605101e8:priorityi1eed9:completedi13e5:mtimei1635605852e8:priorityi1eed9:completedi13e5:mtimei1635605852e8:priorityi1eed9:completedi12e5:mtimei1635605182e8:priorityi1eed9:completedi13e5:mtimei1635605183e8:priorityi1eed9:completedi13e5:mtimei1635605852e8:priorityi1eed9:completedi13e5:mtimei1635605852e8:priorityi1eed9:completedi13e5:mtimei1635605244e8:priorityi1eed9:completedi13e5:mtimei1635605852e8:priorityi1eed9:completedi13e5:mtimei1635605852e8:priorityi1eed9:completedi13e5:mtimei1635605453e8:priorityi1eed9:completedi13e5:mtimei1635605852e8:priorityi1eed9:completedi13e5:mtimei1635605498e8:priorityi1eed9:completedi13e5:mtimei1635605852e8:priorityi1eed9:completedi13e5:mtimei1635605572e8:priorityi1eed9:completedi12e5:mtimei1635605852e8:priorityi1eed9:completedi13e5:mtimei1635605583e8:priorityi1eed9:completedi13e5:mtimei1635605604e8:priorityi1eed9:completedi13e5:mtimei1635605624e8:priorityi1eed9:completedi13e5:mtimei1635605648e8:priorityi1eed9:completedi13e5:mtimei1635605852e8:priorityi1eed9:completedi13e5:mtimei1635605852e8:priorityi1eed9:completedi13e5:mtimei1635605852e8:priorityi1eed9:completedi13e5:mtimei1635605753e8:priorityi1eed9:completedi1e5:mtimei1635605737e8:priorityi1eed9:completedi13e5:mtimei1635605755e8:priorityi1eed9:completedi1e5:mtimei1635605852e8:priorityi1eee5:peersle8:trackersd76:https://tracker.tleechreload.org/a/2a44f3ccc79b994bd9eaf1e9df55c011/announced7:enabledi1ee76:https://tracker.torrentleech.org/a/2a44f3ccc79b994bd9eaf1e9df55c011/announced7:enabledi1eee26:uncertain_pieces.timestampi1680110686ee
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
d27:choke_heuristics.down.leech0:26:choke_heuristics.down.seed0:25:choke_heuristics.up.leech0:24:choke_heuristics.up.seed0:11:chunks_donei1014e13:chunks_wantedi0e8:completei1e16:connection_leech0:15:connection_seed0:6:customd7:addtime11:1635604061
|
||||
11:seedingtime11:1635606048
|
||||
10:x-filename81:Harry.Potter.Och.De.Vises.Sten.2001.SWEDiSH.2160p.UHD.BluRay.x265-NORDCUP.torrente7:custom10:7:custom20:7:custom30:7:custom41:17:custom50:9:directory94:/downloads/completed/Harry.Potter.Och.De.Vises.Sten.2001.SWEDiSH.2160p.UHD.BluRay.x265-NORDCUP7:hashingi0e15:ignore_commandsi0e3:keyi396393803e11:loaded_file79:/config/rtorrent/rtorrent_sess/CBC3A2F9D25184E01944C44C89460FDFD544291E.torrent8:priorityi2e5:statei1e13:state_changedi1678736693e13:state_counteri13e13:throttle_name0:12:tied_to_file0:18:timestamp.finishedi1635606045e17:timestamp.startedi1635604062e16:total_downloadedi17015675701e14:total_uploadedi8358253338e5:viewslee
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
d8:contactsle5:nodesde7:self_id20:©‚B±L£ˆ‰
|
||||
¾l<EFBFBD>R£®"ÉÜqe
|
||||
|
|
@ -0,0 +1 @@
|
|||
a3ba414fbd5a:+363
|
||||
|
|
@ -0,0 +1 @@
|
|||
O:4:"rCPU":2:{s:4:"hash";s:7:"cpu.dat";s:5:"count";i:4;}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,7 @@
|
|||
a:4:{s:40:"5312C6C5326F577A54FA4A1A878D56CB0425A5D8";a:44:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";i:4;s:78:"Nils.Karlsson.Pyssling.1990.SWE.NOR.DTS-HD.DTS.AC3.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:10:"7380692232";i:6;s:4:"1760";i:7;s:4:"1760";i:8;s:10:"7380692232";i:9;s:1:"0";i:10;s:1:"0";i:11;s:1:"0";i:12;s:1:"0";i:13;s:7:"4194304";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"2";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1631042281";i:22;s:1:"0";i:23;s:1:"0";i:24;s:1:"0";i:25;s:0:"";i:26;s:10:"1541708894";i:27;s:1:"2";i:28;s:1:"0";i:29;s:0:"";i:30;s:0:"";i:31;s:1:"0";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:4:"8#0#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1631042050
|
||||
";i:43;s:11:"1631041073
|
||||
";}s:40:"C5B7F28719A1588ED7FD3D09B2DC04E6E40D87E6";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:107:"Harry.Potter.And.The.Chamber.Of.Secrets.2002.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:11:"20036032467";i:6;s:4:"1195";i:7;s:4:"1195";i:8;s:11:"20036032467";i:9;s:10:"2304358776";i:10;s:3:"115";i:11;s:1:"0";i:12;s:1:"0";i:13;s:8:"16777216";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1652549369";i:22;s:1:"0";i:23;s:1:"0";i:24;s:4:"1195";i:25;s:131:"/downloads/Video/Filmer/Harry.Potter.And.The.Chamber.Of.Secrets.2002.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:26;s:10:"1485421133";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"832456048640";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:6:"17#15#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1636914953
|
||||
";i:43;s:11:"1636912541
|
||||
";}s:40:"CBC3A2F9D25184E01944C44C89460FDFD544291E";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:73:"Harry.Potter.Och.De.Vises.Sten.2001.SWEDiSH.2160p.UHD.BluRay.x265-NORDCUP";i:5;s:11:"17010257692";i:6;s:4:"1014";i:7;s:4:"1014";i:8;s:11:"17010257692";i:9;s:10:"5850250841";i:10;s:3:"343";i:11;s:1:"0";i:12;s:1:"0";i:13;s:8:"16777216";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1652549369";i:22;s:1:"0";i:23;s:1:"0";i:24;s:4:"1014";i:25;s:94:"/downloads/completed/Harry.Potter.Och.De.Vises.Sten.2001.SWEDiSH.2160p.UHD.BluRay.x265-NORDCUP";i:26;s:10:"1615637733";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"832456048640";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:5:"21#0#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1635606048
|
||||
";i:43;s:11:"1635604061
|
||||
";}s:40:"BE0CC1D374538989DC8542E173084551184E2739";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:104:"Harry.Potter.And.The.Sorcerers.Stone.2001.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:11:"18739052272";i:6;s:4:"2234";i:7;s:4:"2234";i:8;s:11:"18739052272";i:9;s:10:"3402260353";i:10;s:3:"181";i:11;s:1:"0";i:12;s:1:"0";i:13;s:7:"8388608";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1652549369";i:22;s:1:"0";i:23;s:1:"0";i:24;s:4:"2234";i:25;s:128:"/downloads/Video/Filmer/Harry.Potter.And.The.Sorcerers.Stone.2001.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:26;s:10:"1578432358";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"832456048640";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:6:"15#15#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:0:"";i:43;s:0:"";}}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
a:4:{s:40:"5312C6C5326F577A54FA4A1A878D56CB0425A5D8";a:44:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";i:4;s:78:"Nils.Karlsson.Pyssling.1990.SWE.NOR.DTS-HD.DTS.AC3.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:10:"7380692232";i:6;s:4:"1760";i:7;s:4:"1760";i:8;s:10:"7380692232";i:9;s:1:"0";i:10;s:1:"0";i:11;s:1:"0";i:12;s:1:"0";i:13;s:7:"4194304";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"2";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1631042281";i:22;s:1:"0";i:23;s:1:"0";i:24;s:1:"0";i:25;s:0:"";i:26;s:10:"1541708894";i:27;s:1:"2";i:28;s:1:"0";i:29;s:0:"";i:30;s:0:"";i:31;s:1:"0";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:4:"3#0#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1631042050
|
||||
";i:43;s:11:"1631041073
|
||||
";}s:40:"CBC3A2F9D25184E01944C44C89460FDFD544291E";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:73:"Harry.Potter.Och.De.Vises.Sten.2001.SWEDiSH.2160p.UHD.BluRay.x265-NORDCUP";i:5;s:11:"17010257692";i:6;s:4:"1014";i:7;s:4:"1014";i:8;s:11:"17010257692";i:9;s:10:"5850250841";i:10;s:3:"343";i:11;s:1:"0";i:12;s:1:"0";i:13;s:8:"16777216";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1636653545";i:22;s:1:"0";i:23;s:1:"0";i:24;s:4:"1014";i:25;s:94:"/downloads/completed/Harry.Potter.Och.De.Vises.Sten.2001.SWEDiSH.2160p.UHD.BluRay.x265-NORDCUP";i:26;s:10:"1615637733";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"832791949312";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:5:"20#0#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1635606048
|
||||
";i:43;s:11:"1635604061
|
||||
";}s:40:"BE0CC1D374538989DC8542E173084551184E2739";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:104:"Harry.Potter.And.The.Sorcerers.Stone.2001.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:11:"18739052272";i:6;s:4:"2234";i:7;s:4:"2234";i:8;s:11:"18739052272";i:9;s:10:"3378831233";i:10;s:3:"180";i:11;s:1:"0";i:12;s:1:"0";i:13;s:7:"8388608";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1636655589";i:22;s:7:"4711953";i:23;s:1:"0";i:24;s:4:"2234";i:25;s:128:"/downloads/Video/Filmer/Harry.Potter.And.The.Sorcerers.Stone.2001.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:26;s:10:"1578432358";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"832791949312";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:5:"21#0#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:0:"";i:43;s:0:"";}s:40:"C5B7F28719A1588ED7FD3D09B2DC04E6E40D87E6";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:107:"Harry.Potter.And.The.Chamber.Of.Secrets.2002.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:11:"20036032467";i:6;s:4:"1195";i:7;s:4:"1195";i:8;s:11:"20036032467";i:9;s:10:"2304358776";i:10;s:3:"115";i:11;s:1:"0";i:12;s:1:"0";i:13;s:8:"16777216";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1636914952";i:22;s:7:"8067914";i:23;s:1:"0";i:24;s:4:"1195";i:25;s:131:"/downloads/Video/Filmer/Harry.Potter.And.The.Chamber.Of.Secrets.2002.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:26;s:10:"1485421133";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"832791949312";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:6:"23#25#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1636914953
|
||||
";i:43;s:11:"1636912541
|
||||
";}}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
a:4:{s:40:"5312C6C5326F577A54FA4A1A878D56CB0425A5D8";a:44:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";i:4;s:78:"Nils.Karlsson.Pyssling.1990.SWE.NOR.DTS-HD.DTS.AC3.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:10:"7380692232";i:6;s:4:"1760";i:7;s:4:"1760";i:8;s:10:"7380692232";i:9;s:1:"0";i:10;s:1:"0";i:11;s:1:"0";i:12;s:1:"0";i:13;s:7:"4194304";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"2";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1631042281";i:22;s:1:"0";i:23;s:1:"0";i:24;s:1:"0";i:25;s:0:"";i:26;s:10:"1541708894";i:27;s:1:"2";i:28;s:1:"0";i:29;s:0:"";i:30;s:0:"";i:31;s:1:"0";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:4:"3#0#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1631042050
|
||||
";i:43;s:11:"1631041073
|
||||
";}s:40:"CBC3A2F9D25184E01944C44C89460FDFD544291E";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:73:"Harry.Potter.Och.De.Vises.Sten.2001.SWEDiSH.2160p.UHD.BluRay.x265-NORDCUP";i:5;s:11:"17010257692";i:6;s:4:"1014";i:7;s:4:"1014";i:8;s:11:"17010257692";i:9;s:10:"5850250841";i:10;s:3:"343";i:11;s:1:"0";i:12;s:1:"0";i:13;s:8:"16777216";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1636653545";i:22;s:1:"0";i:23;s:1:"0";i:24;s:4:"1014";i:25;s:94:"/downloads/completed/Harry.Potter.Och.De.Vises.Sten.2001.SWEDiSH.2160p.UHD.BluRay.x265-NORDCUP";i:26;s:10:"1615637733";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"832791953408";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:5:"20#0#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1635606048
|
||||
";i:43;s:11:"1635604061
|
||||
";}s:40:"BE0CC1D374538989DC8542E173084551184E2739";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:104:"Harry.Potter.And.The.Sorcerers.Stone.2001.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:11:"18739052272";i:6;s:4:"2234";i:7;s:4:"2234";i:8;s:11:"18739052272";i:9;s:10:"3378831233";i:10;s:3:"180";i:11;s:1:"0";i:12;s:1:"0";i:13;s:7:"8388608";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1636655589";i:22;s:7:"4711953";i:23;s:1:"0";i:24;s:4:"2234";i:25;s:128:"/downloads/Video/Filmer/Harry.Potter.And.The.Sorcerers.Stone.2001.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:26;s:10:"1578432358";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"832791953408";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:5:"24#0#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:0:"";i:43;s:0:"";}s:40:"C5B7F28719A1588ED7FD3D09B2DC04E6E40D87E6";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:107:"Harry.Potter.And.The.Chamber.Of.Secrets.2002.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:11:"20036032467";i:6;s:4:"1195";i:7;s:4:"1195";i:8;s:11:"20036032467";i:9;s:10:"2304358776";i:10;s:3:"115";i:11;s:1:"0";i:12;s:1:"0";i:13;s:8:"16777216";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1636914952";i:22;s:7:"8067914";i:23;s:1:"0";i:24;s:4:"1195";i:25;s:131:"/downloads/Video/Filmer/Harry.Potter.And.The.Chamber.Of.Secrets.2002.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:26;s:10:"1485421133";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"832791953408";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:6:"25#25#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1636914953
|
||||
";i:43;s:11:"1636912541
|
||||
";}}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
a:4:{s:40:"5312C6C5326F577A54FA4A1A878D56CB0425A5D8";a:44:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";i:4;s:78:"Nils.Karlsson.Pyssling.1990.SWE.NOR.DTS-HD.DTS.AC3.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:10:"7380692232";i:6;s:4:"1760";i:7;s:4:"1760";i:8;s:10:"7380692232";i:9;s:1:"0";i:10;s:1:"0";i:11;s:1:"0";i:12;s:1:"0";i:13;s:7:"4194304";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"2";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1631042281";i:22;s:1:"0";i:23;s:1:"0";i:24;s:1:"0";i:25;s:0:"";i:26;s:10:"1541708894";i:27;s:1:"2";i:28;s:1:"0";i:29;s:0:"";i:30;s:0:"";i:31;s:1:"0";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:4:"5#0#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1631042050
|
||||
";i:43;s:11:"1631041073
|
||||
";}s:40:"C5B7F28719A1588ED7FD3D09B2DC04E6E40D87E6";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:107:"Harry.Potter.And.The.Chamber.Of.Secrets.2002.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:11:"20036032467";i:6;s:4:"1195";i:7;s:4:"1195";i:8;s:11:"20036032467";i:9;s:10:"4965187623";i:10;s:3:"247";i:11;s:1:"0";i:12;s:1:"0";i:13;s:8:"16777216";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1678736693";i:22;s:1:"0";i:23;s:1:"0";i:24;s:4:"1195";i:25;s:131:"/downloads/Video/Filmer/Harry.Potter.And.The.Chamber.Of.Secrets.2002.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:26;s:10:"1485421133";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"825128677376";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:5:"13#0#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1636914953
|
||||
";i:43;s:11:"1636912541
|
||||
";}s:40:"CBC3A2F9D25184E01944C44C89460FDFD544291E";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:73:"Harry.Potter.Och.De.Vises.Sten.2001.SWEDiSH.2160p.UHD.BluRay.x265-NORDCUP";i:5;s:11:"17010257692";i:6;s:4:"1014";i:7;s:4:"1014";i:8;s:11:"17010257692";i:9;s:10:"8358253338";i:10;s:3:"491";i:11;s:1:"0";i:12;s:1:"0";i:13;s:8:"16777216";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1678736693";i:22;s:1:"0";i:23;s:1:"0";i:24;s:4:"1014";i:25;s:94:"/downloads/completed/Harry.Potter.Och.De.Vises.Sten.2001.SWEDiSH.2160p.UHD.BluRay.x265-NORDCUP";i:26;s:10:"1615637733";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"825128677376";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:5:"21#0#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1635606048
|
||||
";i:43;s:11:"1635604061
|
||||
";}s:40:"BE0CC1D374538989DC8542E173084551184E2739";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:104:"Harry.Potter.And.The.Sorcerers.Stone.2001.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:11:"18739052272";i:6;s:4:"2234";i:7;s:4:"2234";i:8;s:11:"18739052272";i:9;s:11:"10131791473";i:10;s:3:"540";i:11;s:1:"0";i:12;s:1:"0";i:13;s:7:"8388608";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1678736693";i:22;s:1:"0";i:23;s:1:"0";i:24;s:4:"2234";i:25;s:128:"/downloads/Video/Filmer/Harry.Potter.And.The.Sorcerers.Stone.2001.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:26;s:10:"1578432358";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"825128677376";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:5:"13#0#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:0:"";i:43;s:0:"";}}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
a:4:{s:40:"5312C6C5326F577A54FA4A1A878D56CB0425A5D8";a:44:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";i:4;s:78:"Nils.Karlsson.Pyssling.1990.SWE.NOR.DTS-HD.DTS.AC3.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:10:"7380692232";i:6;s:4:"1760";i:7;s:4:"1760";i:8;s:10:"7380692232";i:9;s:1:"0";i:10;s:1:"0";i:11;s:1:"0";i:12;s:1:"0";i:13;s:7:"4194304";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"2";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1631042281";i:22;s:1:"0";i:23;s:1:"0";i:24;s:1:"0";i:25;s:0:"";i:26;s:10:"1541708894";i:27;s:1:"2";i:28;s:1:"0";i:29;s:0:"";i:30;s:0:"";i:31;s:1:"0";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:4:"5#0#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1631042050
|
||||
";i:43;s:11:"1631041073
|
||||
";}s:40:"C5B7F28719A1588ED7FD3D09B2DC04E6E40D87E6";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:107:"Harry.Potter.And.The.Chamber.Of.Secrets.2002.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:11:"20036032467";i:6;s:4:"1195";i:7;s:4:"1195";i:8;s:11:"20036032467";i:9;s:10:"4965187623";i:10;s:3:"247";i:11;s:1:"0";i:12;s:1:"0";i:13;s:8:"16777216";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1678736693";i:22;s:1:"0";i:23;s:1:"0";i:24;s:4:"1195";i:25;s:131:"/downloads/Video/Filmer/Harry.Potter.And.The.Chamber.Of.Secrets.2002.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:26;s:10:"1485421133";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"825128382464";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:6:"13#12#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1636914953
|
||||
";i:43;s:11:"1636912541
|
||||
";}s:40:"CBC3A2F9D25184E01944C44C89460FDFD544291E";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:73:"Harry.Potter.Och.De.Vises.Sten.2001.SWEDiSH.2160p.UHD.BluRay.x265-NORDCUP";i:5;s:11:"17010257692";i:6;s:4:"1014";i:7;s:4:"1014";i:8;s:11:"17010257692";i:9;s:10:"8358253338";i:10;s:3:"491";i:11;s:1:"0";i:12;s:1:"0";i:13;s:8:"16777216";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1678736693";i:22;s:1:"0";i:23;s:1:"0";i:24;s:4:"1014";i:25;s:94:"/downloads/completed/Harry.Potter.Och.De.Vises.Sten.2001.SWEDiSH.2160p.UHD.BluRay.x265-NORDCUP";i:26;s:10:"1615637733";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"825128382464";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:6:"20#19#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1635606048
|
||||
";i:43;s:11:"1635604061
|
||||
";}s:40:"BE0CC1D374538989DC8542E173084551184E2739";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:104:"Harry.Potter.And.The.Sorcerers.Stone.2001.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:11:"18739052272";i:6;s:4:"2234";i:7;s:4:"2234";i:8;s:11:"18739052272";i:9;s:11:"10155533899";i:10;s:3:"541";i:11;s:1:"0";i:12;s:1:"0";i:13;s:7:"8388608";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1678736693";i:22;s:1:"0";i:23;s:1:"0";i:24;s:4:"2234";i:25;s:128:"/downloads/Video/Filmer/Harry.Potter.And.The.Sorcerers.Stone.2001.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:26;s:10:"1578432358";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"825128382464";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:5:"14#0#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:0:"";i:43;s:0:"";}}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
a:4:{s:40:"5312C6C5326F577A54FA4A1A878D56CB0425A5D8";a:44:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";i:4;s:78:"Nils.Karlsson.Pyssling.1990.SWE.NOR.DTS-HD.DTS.AC3.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:10:"7380692232";i:6;s:4:"1760";i:7;s:4:"1760";i:8;s:10:"7380692232";i:9;s:1:"0";i:10;s:1:"0";i:11;s:1:"0";i:12;s:1:"0";i:13;s:7:"4194304";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"2";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1631042281";i:22;s:1:"0";i:23;s:1:"0";i:24;s:1:"0";i:25;s:0:"";i:26;s:10:"1541708894";i:27;s:1:"2";i:28;s:1:"0";i:29;s:0:"";i:30;s:0:"";i:31;s:1:"0";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:4:"6#0#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1631042050
|
||||
";i:43;s:11:"1631041073
|
||||
";}s:40:"C5B7F28719A1588ED7FD3D09B2DC04E6E40D87E6";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:107:"Harry.Potter.And.The.Chamber.Of.Secrets.2002.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:11:"20036032467";i:6;s:4:"1195";i:7;s:4:"1195";i:8;s:11:"20036032467";i:9;s:10:"4965187623";i:10;s:3:"247";i:11;s:1:"0";i:12;s:1:"0";i:13;s:8:"16777216";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1659465786";i:22;s:1:"0";i:23;s:1:"0";i:24;s:4:"1195";i:25;s:131:"/downloads/Video/Filmer/Harry.Potter.And.The.Chamber.Of.Secrets.2002.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:26;s:10:"1485421133";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"832455401472";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:5:"12#0#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1636914953
|
||||
";i:43;s:11:"1636912541
|
||||
";}s:40:"CBC3A2F9D25184E01944C44C89460FDFD544291E";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:73:"Harry.Potter.Och.De.Vises.Sten.2001.SWEDiSH.2160p.UHD.BluRay.x265-NORDCUP";i:5;s:11:"17010257692";i:6;s:4:"1014";i:7;s:4:"1014";i:8;s:11:"17010257692";i:9;s:10:"8358253338";i:10;s:3:"491";i:11;s:1:"0";i:12;s:1:"0";i:13;s:8:"16777216";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1659465786";i:22;s:1:"0";i:23;s:1:"0";i:24;s:4:"1014";i:25;s:94:"/downloads/completed/Harry.Potter.Och.De.Vises.Sten.2001.SWEDiSH.2160p.UHD.BluRay.x265-NORDCUP";i:26;s:10:"1615637733";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"832455401472";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:5:"24#0#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1635606048
|
||||
";i:43;s:11:"1635604061
|
||||
";}s:40:"BE0CC1D374538989DC8542E173084551184E2739";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:104:"Harry.Potter.And.The.Sorcerers.Stone.2001.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:11:"18739052272";i:6;s:4:"2234";i:7;s:4:"2234";i:8;s:11:"18739052272";i:9;s:11:"10131791473";i:10;s:3:"540";i:11;s:1:"0";i:12;s:1:"0";i:13;s:7:"8388608";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1659465786";i:22;s:1:"0";i:23;s:1:"0";i:24;s:4:"2234";i:25;s:128:"/downloads/Video/Filmer/Harry.Potter.And.The.Sorcerers.Stone.2001.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:26;s:10:"1578432358";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"832455401472";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:5:"14#0#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:0:"";i:43;s:0:"";}}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
a:4:{s:40:"5312C6C5326F577A54FA4A1A878D56CB0425A5D8";a:44:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";i:4;s:78:"Nils.Karlsson.Pyssling.1990.SWE.NOR.DTS-HD.DTS.AC3.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:10:"7380692232";i:6;s:4:"1760";i:7;s:4:"1760";i:8;s:10:"7380692232";i:9;s:1:"0";i:10;s:1:"0";i:11;s:1:"0";i:12;s:1:"0";i:13;s:7:"4194304";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"2";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1631042281";i:22;s:1:"0";i:23;s:1:"0";i:24;s:1:"0";i:25;s:0:"";i:26;s:10:"1541708894";i:27;s:1:"2";i:28;s:1:"0";i:29;s:0:"";i:30;s:0:"";i:31;s:1:"0";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:4:"5#0#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1631042050
|
||||
";i:43;s:11:"1631041073
|
||||
";}s:40:"C5B7F28719A1588ED7FD3D09B2DC04E6E40D87E6";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:107:"Harry.Potter.And.The.Chamber.Of.Secrets.2002.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:11:"20036032467";i:6;s:4:"1195";i:7;s:4:"1195";i:8;s:11:"20036032467";i:9;s:10:"4965187623";i:10;s:3:"247";i:11;s:1:"0";i:12;s:1:"0";i:13;s:8:"16777216";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1678736693";i:22;s:1:"0";i:23;s:1:"0";i:24;s:4:"1195";i:25;s:131:"/downloads/Video/Filmer/Harry.Potter.And.The.Chamber.Of.Secrets.2002.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:26;s:10:"1485421133";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"825128542208";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:6:"13#12#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1636914953
|
||||
";i:43;s:11:"1636912541
|
||||
";}s:40:"CBC3A2F9D25184E01944C44C89460FDFD544291E";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:73:"Harry.Potter.Och.De.Vises.Sten.2001.SWEDiSH.2160p.UHD.BluRay.x265-NORDCUP";i:5;s:11:"17010257692";i:6;s:4:"1014";i:7;s:4:"1014";i:8;s:11:"17010257692";i:9;s:10:"8358253338";i:10;s:3:"491";i:11;s:1:"0";i:12;s:1:"0";i:13;s:8:"16777216";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1678736693";i:22;s:1:"0";i:23;s:1:"0";i:24;s:4:"1014";i:25;s:94:"/downloads/completed/Harry.Potter.Och.De.Vises.Sten.2001.SWEDiSH.2160p.UHD.BluRay.x265-NORDCUP";i:26;s:10:"1615637733";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"825128542208";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:6:"20#19#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1635606048
|
||||
";i:43;s:11:"1635604061
|
||||
";}s:40:"BE0CC1D374538989DC8542E173084551184E2739";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:104:"Harry.Potter.And.The.Sorcerers.Stone.2001.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:11:"18739052272";i:6;s:4:"2234";i:7;s:4:"2234";i:8;s:11:"18739052272";i:9;s:11:"10155533899";i:10;s:3:"541";i:11;s:1:"0";i:12;s:1:"0";i:13;s:7:"8388608";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1678736693";i:22;s:1:"0";i:23;s:1:"0";i:24;s:4:"2234";i:25;s:128:"/downloads/Video/Filmer/Harry.Potter.And.The.Sorcerers.Stone.2001.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:26;s:10:"1578432358";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"825128542208";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:5:"14#0#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:0:"";i:43;s:0:"";}}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
a:4:{s:40:"5312C6C5326F577A54FA4A1A878D56CB0425A5D8";a:44:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";i:4;s:78:"Nils.Karlsson.Pyssling.1990.SWE.NOR.DTS-HD.DTS.AC3.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:10:"7380692232";i:6;s:4:"1760";i:7;s:4:"1760";i:8;s:10:"7380692232";i:9;s:1:"0";i:10;s:1:"0";i:11;s:1:"0";i:12;s:1:"0";i:13;s:7:"4194304";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"2";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1631042281";i:22;s:1:"0";i:23;s:1:"0";i:24;s:1:"0";i:25;s:0:"";i:26;s:10:"1541708894";i:27;s:1:"2";i:28;s:1:"0";i:29;s:0:"";i:30;s:0:"";i:31;s:1:"0";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:4:"5#0#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1631042050
|
||||
";i:43;s:11:"1631041073
|
||||
";}s:40:"C5B7F28719A1588ED7FD3D09B2DC04E6E40D87E6";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:107:"Harry.Potter.And.The.Chamber.Of.Secrets.2002.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:11:"20036032467";i:6;s:4:"1195";i:7;s:4:"1195";i:8;s:11:"20036032467";i:9;s:10:"4965187623";i:10;s:3:"247";i:11;s:1:"0";i:12;s:1:"0";i:13;s:8:"16777216";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1678736693";i:22;s:1:"0";i:23;s:1:"0";i:24;s:4:"1195";i:25;s:131:"/downloads/Video/Filmer/Harry.Potter.And.The.Chamber.Of.Secrets.2002.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:26;s:10:"1485421133";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"825128484864";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:6:"13#12#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1636914953
|
||||
";i:43;s:11:"1636912541
|
||||
";}s:40:"CBC3A2F9D25184E01944C44C89460FDFD544291E";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:73:"Harry.Potter.Och.De.Vises.Sten.2001.SWEDiSH.2160p.UHD.BluRay.x265-NORDCUP";i:5;s:11:"17010257692";i:6;s:4:"1014";i:7;s:4:"1014";i:8;s:11:"17010257692";i:9;s:10:"8358253338";i:10;s:3:"491";i:11;s:1:"0";i:12;s:1:"0";i:13;s:8:"16777216";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1678736693";i:22;s:1:"0";i:23;s:1:"0";i:24;s:4:"1014";i:25;s:94:"/downloads/completed/Harry.Potter.Och.De.Vises.Sten.2001.SWEDiSH.2160p.UHD.BluRay.x265-NORDCUP";i:26;s:10:"1615637733";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"825128484864";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:6:"20#19#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1635606048
|
||||
";i:43;s:11:"1635604061
|
||||
";}s:40:"BE0CC1D374538989DC8542E173084551184E2739";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:104:"Harry.Potter.And.The.Sorcerers.Stone.2001.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:11:"18739052272";i:6;s:4:"2234";i:7;s:4:"2234";i:8;s:11:"18739052272";i:9;s:11:"10155533899";i:10;s:3:"541";i:11;s:1:"0";i:12;s:1:"0";i:13;s:7:"8388608";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1678736693";i:22;s:1:"0";i:23;s:1:"0";i:24;s:4:"2234";i:25;s:128:"/downloads/Video/Filmer/Harry.Potter.And.The.Sorcerers.Stone.2001.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:26;s:10:"1578432358";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"825128484864";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:5:"14#0#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:0:"";i:43;s:0:"";}}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
a:4:{s:40:"5312C6C5326F577A54FA4A1A878D56CB0425A5D8";a:44:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";i:4;s:78:"Nils.Karlsson.Pyssling.1990.SWE.NOR.DTS-HD.DTS.AC3.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:10:"7380692232";i:6;s:4:"1760";i:7;s:4:"1760";i:8;s:10:"7380692232";i:9;s:1:"0";i:10;s:1:"0";i:11;s:1:"0";i:12;s:1:"0";i:13;s:7:"4194304";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"2";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1631042281";i:22;s:1:"0";i:23;s:1:"0";i:24;s:1:"0";i:25;s:0:"";i:26;s:10:"1541708894";i:27;s:1:"2";i:28;s:1:"0";i:29;s:0:"";i:30;s:0:"";i:31;s:1:"0";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:4:"3#0#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1631042050
|
||||
";i:43;s:11:"1631041073
|
||||
";}s:40:"CBC3A2F9D25184E01944C44C89460FDFD544291E";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:73:"Harry.Potter.Och.De.Vises.Sten.2001.SWEDiSH.2160p.UHD.BluRay.x265-NORDCUP";i:5;s:11:"17010257692";i:6;s:4:"1014";i:7;s:4:"1014";i:8;s:11:"17010257692";i:9;s:10:"5850250841";i:10;s:3:"343";i:11;s:1:"0";i:12;s:1:"0";i:13;s:8:"16777216";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1636653545";i:22;s:1:"0";i:23;s:1:"0";i:24;s:4:"1014";i:25;s:94:"/downloads/completed/Harry.Potter.Och.De.Vises.Sten.2001.SWEDiSH.2160p.UHD.BluRay.x265-NORDCUP";i:26;s:10:"1615637733";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"832791953408";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:5:"21#0#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1635606048
|
||||
";i:43;s:11:"1635604061
|
||||
";}s:40:"BE0CC1D374538989DC8542E173084551184E2739";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:104:"Harry.Potter.And.The.Sorcerers.Stone.2001.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:11:"18739052272";i:6;s:4:"2234";i:7;s:4:"2234";i:8;s:11:"18739052272";i:9;s:10:"3378831233";i:10;s:3:"180";i:11;s:1:"0";i:12;s:1:"0";i:13;s:7:"8388608";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1636655589";i:22;s:7:"4711953";i:23;s:1:"0";i:24;s:4:"2234";i:25;s:128:"/downloads/Video/Filmer/Harry.Potter.And.The.Sorcerers.Stone.2001.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:26;s:10:"1578432358";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"832791953408";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:5:"24#0#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:0:"";i:43;s:0:"";}s:40:"C5B7F28719A1588ED7FD3D09B2DC04E6E40D87E6";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:107:"Harry.Potter.And.The.Chamber.Of.Secrets.2002.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:11:"20036032467";i:6;s:4:"1195";i:7;s:4:"1195";i:8;s:11:"20036032467";i:9;s:10:"2304358776";i:10;s:3:"115";i:11;s:1:"0";i:12;s:1:"0";i:13;s:8:"16777216";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1636914952";i:22;s:7:"8067914";i:23;s:1:"0";i:24;s:4:"1195";i:25;s:131:"/downloads/Video/Filmer/Harry.Potter.And.The.Chamber.Of.Secrets.2002.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:26;s:10:"1485421133";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"832791953408";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:6:"27#25#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1636914953
|
||||
";i:43;s:11:"1636912541
|
||||
";}}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
a:4:{s:40:"5312C6C5326F577A54FA4A1A878D56CB0425A5D8";a:44:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";i:4;s:78:"Nils.Karlsson.Pyssling.1990.SWE.NOR.DTS-HD.DTS.AC3.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:10:"7380692232";i:6;s:4:"1760";i:7;s:4:"1760";i:8;s:10:"7380692232";i:9;s:1:"0";i:10;s:1:"0";i:11;s:1:"0";i:12;s:1:"0";i:13;s:7:"4194304";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"2";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1631042281";i:22;s:1:"0";i:23;s:1:"0";i:24;s:1:"0";i:25;s:0:"";i:26;s:10:"1541708894";i:27;s:1:"2";i:28;s:1:"0";i:29;s:0:"";i:30;s:0:"";i:31;s:1:"0";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:4:"3#0#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1631042050
|
||||
";i:43;s:11:"1631041073
|
||||
";}s:40:"CBC3A2F9D25184E01944C44C89460FDFD544291E";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:73:"Harry.Potter.Och.De.Vises.Sten.2001.SWEDiSH.2160p.UHD.BluRay.x265-NORDCUP";i:5;s:11:"17010257692";i:6;s:4:"1014";i:7;s:4:"1014";i:8;s:11:"17010257692";i:9;s:10:"5850250841";i:10;s:3:"343";i:11;s:1:"0";i:12;s:1:"0";i:13;s:8:"16777216";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1636653545";i:22;s:1:"0";i:23;s:1:"0";i:24;s:4:"1014";i:25;s:94:"/downloads/completed/Harry.Potter.Och.De.Vises.Sten.2001.SWEDiSH.2160p.UHD.BluRay.x265-NORDCUP";i:26;s:10:"1615637733";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"832791949312";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:5:"21#0#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1635606048
|
||||
";i:43;s:11:"1635604061
|
||||
";}s:40:"BE0CC1D374538989DC8542E173084551184E2739";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:104:"Harry.Potter.And.The.Sorcerers.Stone.2001.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:11:"18739052272";i:6;s:4:"2234";i:7;s:4:"2234";i:8;s:11:"18739052272";i:9;s:10:"3378831233";i:10;s:3:"180";i:11;s:1:"0";i:12;s:1:"0";i:13;s:7:"8388608";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1636655589";i:22;s:7:"4711953";i:23;s:1:"0";i:24;s:4:"2234";i:25;s:128:"/downloads/Video/Filmer/Harry.Potter.And.The.Sorcerers.Stone.2001.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:26;s:10:"1578432358";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"832791949312";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:5:"20#0#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:0:"";i:43;s:0:"";}s:40:"C5B7F28719A1588ED7FD3D09B2DC04E6E40D87E6";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:107:"Harry.Potter.And.The.Chamber.Of.Secrets.2002.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:11:"20036032467";i:6;s:4:"1195";i:7;s:4:"1195";i:8;s:11:"20036032467";i:9;s:10:"2304358776";i:10;s:3:"115";i:11;s:1:"0";i:12;s:1:"0";i:13;s:8:"16777216";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1636914952";i:22;s:7:"8067914";i:23;s:1:"0";i:24;s:4:"1195";i:25;s:131:"/downloads/Video/Filmer/Harry.Potter.And.The.Chamber.Of.Secrets.2002.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:26;s:10:"1485421133";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"832791949312";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:6:"23#25#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1636914953
|
||||
";i:43;s:11:"1636912541
|
||||
";}}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
a:4:{s:40:"5312C6C5326F577A54FA4A1A878D56CB0425A5D8";a:44:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";i:4;s:78:"Nils.Karlsson.Pyssling.1990.SWE.NOR.DTS-HD.DTS.AC3.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:10:"7380692232";i:6;s:4:"1760";i:7;s:4:"1760";i:8;s:10:"7380692232";i:9;s:1:"0";i:10;s:1:"0";i:11;s:1:"0";i:12;s:1:"0";i:13;s:7:"4194304";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"2";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1631042281";i:22;s:1:"0";i:23;s:1:"0";i:24;s:1:"0";i:25;s:0:"";i:26;s:10:"1541708894";i:27;s:1:"2";i:28;s:1:"0";i:29;s:0:"";i:30;s:0:"";i:31;s:1:"0";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:4:"3#0#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1631042050
|
||||
";i:43;s:11:"1631041073
|
||||
";}s:40:"CBC3A2F9D25184E01944C44C89460FDFD544291E";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:73:"Harry.Potter.Och.De.Vises.Sten.2001.SWEDiSH.2160p.UHD.BluRay.x265-NORDCUP";i:5;s:11:"17010257692";i:6;s:4:"1014";i:7;s:4:"1014";i:8;s:11:"17010257692";i:9;s:10:"5850250841";i:10;s:3:"343";i:11;s:1:"0";i:12;s:1:"0";i:13;s:8:"16777216";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1636653545";i:22;s:1:"0";i:23;s:1:"0";i:24;s:4:"1014";i:25;s:94:"/downloads/completed/Harry.Potter.Och.De.Vises.Sten.2001.SWEDiSH.2160p.UHD.BluRay.x265-NORDCUP";i:26;s:10:"1615637733";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"832791953408";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:5:"20#0#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1635606048
|
||||
";i:43;s:11:"1635604061
|
||||
";}s:40:"BE0CC1D374538989DC8542E173084551184E2739";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:104:"Harry.Potter.And.The.Sorcerers.Stone.2001.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:11:"18739052272";i:6;s:4:"2234";i:7;s:4:"2234";i:8;s:11:"18739052272";i:9;s:10:"3378831233";i:10;s:3:"180";i:11;s:1:"0";i:12;s:1:"0";i:13;s:7:"8388608";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1636655589";i:22;s:7:"4711953";i:23;s:1:"0";i:24;s:4:"2234";i:25;s:128:"/downloads/Video/Filmer/Harry.Potter.And.The.Sorcerers.Stone.2001.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:26;s:10:"1578432358";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"832791953408";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:5:"24#0#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:0:"";i:43;s:0:"";}s:40:"C5B7F28719A1588ED7FD3D09B2DC04E6E40D87E6";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:107:"Harry.Potter.And.The.Chamber.Of.Secrets.2002.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:11:"20036032467";i:6;s:4:"1195";i:7;s:4:"1195";i:8;s:11:"20036032467";i:9;s:10:"2304358776";i:10;s:3:"115";i:11;s:1:"0";i:12;s:1:"0";i:13;s:8:"16777216";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1636914952";i:22;s:7:"8067914";i:23;s:1:"0";i:24;s:4:"1195";i:25;s:131:"/downloads/Video/Filmer/Harry.Potter.And.The.Chamber.Of.Secrets.2002.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:26;s:10:"1485421133";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"832791953408";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:6:"26#25#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1636914953
|
||||
";i:43;s:11:"1636912541
|
||||
";}}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
a:4:{s:40:"5312C6C5326F577A54FA4A1A878D56CB0425A5D8";a:44:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";i:4;s:78:"Nils.Karlsson.Pyssling.1990.SWE.NOR.DTS-HD.DTS.AC3.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:10:"7380692232";i:6;s:4:"1760";i:7;s:4:"1760";i:8;s:10:"7380692232";i:9;s:1:"0";i:10;s:1:"0";i:11;s:1:"0";i:12;s:1:"0";i:13;s:7:"4194304";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"2";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1631042281";i:22;s:1:"0";i:23;s:1:"0";i:24;s:1:"0";i:25;s:0:"";i:26;s:10:"1541708894";i:27;s:1:"2";i:28;s:1:"0";i:29;s:0:"";i:30;s:0:"";i:31;s:1:"0";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:4:"5#0#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1631042050
|
||||
";i:43;s:11:"1631041073
|
||||
";}s:40:"C5B7F28719A1588ED7FD3D09B2DC04E6E40D87E6";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:107:"Harry.Potter.And.The.Chamber.Of.Secrets.2002.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:11:"20036032467";i:6;s:4:"1195";i:7;s:4:"1195";i:8;s:11:"20036032467";i:9;s:10:"4965187623";i:10;s:3:"247";i:11;s:1:"0";i:12;s:1:"0";i:13;s:8:"16777216";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1678736693";i:22;s:1:"0";i:23;s:1:"0";i:24;s:4:"1195";i:25;s:131:"/downloads/Video/Filmer/Harry.Potter.And.The.Chamber.Of.Secrets.2002.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:26;s:10:"1485421133";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"825128435712";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:6:"13#12#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1636914953
|
||||
";i:43;s:11:"1636912541
|
||||
";}s:40:"CBC3A2F9D25184E01944C44C89460FDFD544291E";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:73:"Harry.Potter.Och.De.Vises.Sten.2001.SWEDiSH.2160p.UHD.BluRay.x265-NORDCUP";i:5;s:11:"17010257692";i:6;s:4:"1014";i:7;s:4:"1014";i:8;s:11:"17010257692";i:9;s:10:"8358253338";i:10;s:3:"491";i:11;s:1:"0";i:12;s:1:"0";i:13;s:8:"16777216";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1678736693";i:22;s:1:"0";i:23;s:1:"0";i:24;s:4:"1014";i:25;s:94:"/downloads/completed/Harry.Potter.Och.De.Vises.Sten.2001.SWEDiSH.2160p.UHD.BluRay.x265-NORDCUP";i:26;s:10:"1615637733";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"825128435712";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:6:"20#19#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1635606048
|
||||
";i:43;s:11:"1635604061
|
||||
";}s:40:"BE0CC1D374538989DC8542E173084551184E2739";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:104:"Harry.Potter.And.The.Sorcerers.Stone.2001.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:11:"18739052272";i:6;s:4:"2234";i:7;s:4:"2234";i:8;s:11:"18739052272";i:9;s:11:"10155533899";i:10;s:3:"541";i:11;s:1:"0";i:12;s:1:"0";i:13;s:7:"8388608";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1678736693";i:22;s:1:"0";i:23;s:1:"0";i:24;s:4:"2234";i:25;s:128:"/downloads/Video/Filmer/Harry.Potter.And.The.Sorcerers.Stone.2001.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:26;s:10:"1578432358";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"825128431616";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:5:"14#0#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:0:"";i:43;s:0:"";}}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
a:4:{s:40:"5312C6C5326F577A54FA4A1A878D56CB0425A5D8";a:44:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";i:4;s:78:"Nils.Karlsson.Pyssling.1990.SWE.NOR.DTS-HD.DTS.AC3.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:10:"7380692232";i:6;s:4:"1760";i:7;s:4:"1760";i:8;s:10:"7380692232";i:9;s:1:"0";i:10;s:1:"0";i:11;s:1:"0";i:12;s:1:"0";i:13;s:7:"4194304";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"2";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1631042281";i:22;s:1:"0";i:23;s:1:"0";i:24;s:1:"0";i:25;s:0:"";i:26;s:10:"1541708894";i:27;s:1:"2";i:28;s:1:"0";i:29;s:0:"";i:30;s:0:"";i:31;s:1:"0";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:4:"3#0#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1631042050
|
||||
";i:43;s:11:"1631041073
|
||||
";}s:40:"CBC3A2F9D25184E01944C44C89460FDFD544291E";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:73:"Harry.Potter.Och.De.Vises.Sten.2001.SWEDiSH.2160p.UHD.BluRay.x265-NORDCUP";i:5;s:11:"17010257692";i:6;s:4:"1014";i:7;s:4:"1014";i:8;s:11:"17010257692";i:9;s:10:"5850250841";i:10;s:3:"343";i:11;s:1:"0";i:12;s:1:"0";i:13;s:8:"16777216";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1636653545";i:22;s:1:"0";i:23;s:1:"0";i:24;s:4:"1014";i:25;s:94:"/downloads/completed/Harry.Potter.Och.De.Vises.Sten.2001.SWEDiSH.2160p.UHD.BluRay.x265-NORDCUP";i:26;s:10:"1615637733";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"832791949312";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:5:"20#0#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1635606048
|
||||
";i:43;s:11:"1635604061
|
||||
";}s:40:"BE0CC1D374538989DC8542E173084551184E2739";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:104:"Harry.Potter.And.The.Sorcerers.Stone.2001.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:11:"18739052272";i:6;s:4:"2234";i:7;s:4:"2234";i:8;s:11:"18739052272";i:9;s:10:"3378831233";i:10;s:3:"180";i:11;s:1:"0";i:12;s:1:"0";i:13;s:7:"8388608";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1636655589";i:22;s:7:"4711953";i:23;s:1:"0";i:24;s:4:"2234";i:25;s:128:"/downloads/Video/Filmer/Harry.Potter.And.The.Sorcerers.Stone.2001.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:26;s:10:"1578432358";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"832791949312";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:5:"20#0#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:0:"";i:43;s:0:"";}s:40:"C5B7F28719A1588ED7FD3D09B2DC04E6E40D87E6";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:107:"Harry.Potter.And.The.Chamber.Of.Secrets.2002.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:11:"20036032467";i:6;s:4:"1195";i:7;s:4:"1195";i:8;s:11:"20036032467";i:9;s:10:"2304358776";i:10;s:3:"115";i:11;s:1:"0";i:12;s:1:"0";i:13;s:8:"16777216";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1636914952";i:22;s:7:"8067914";i:23;s:1:"0";i:24;s:4:"1195";i:25;s:131:"/downloads/Video/Filmer/Harry.Potter.And.The.Chamber.Of.Secrets.2002.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:26;s:10:"1485421133";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"832791949312";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:6:"23#25#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1636914953
|
||||
";i:43;s:11:"1636912541
|
||||
";}}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
a:4:{s:40:"5312C6C5326F577A54FA4A1A878D56CB0425A5D8";a:44:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";i:4;s:78:"Nils.Karlsson.Pyssling.1990.SWE.NOR.DTS-HD.DTS.AC3.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:10:"7380692232";i:6;s:4:"1760";i:7;s:4:"1760";i:8;s:10:"7380692232";i:9;s:1:"0";i:10;s:1:"0";i:11;s:1:"0";i:12;s:1:"0";i:13;s:7:"4194304";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"2";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1631042281";i:22;s:1:"0";i:23;s:1:"0";i:24;s:1:"0";i:25;s:0:"";i:26;s:10:"1541708894";i:27;s:1:"2";i:28;s:1:"0";i:29;s:0:"";i:30;s:0:"";i:31;s:1:"0";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:4:"8#0#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1631042050
|
||||
";i:43;s:11:"1631041073
|
||||
";}s:40:"C5B7F28719A1588ED7FD3D09B2DC04E6E40D87E6";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:107:"Harry.Potter.And.The.Chamber.Of.Secrets.2002.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:11:"20036032467";i:6;s:4:"1195";i:7;s:4:"1195";i:8;s:11:"20036032467";i:9;s:10:"2304358776";i:10;s:3:"115";i:11;s:1:"0";i:12;s:1:"0";i:13;s:8:"16777216";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1652549369";i:22;s:1:"0";i:23;s:1:"0";i:24;s:4:"1195";i:25;s:131:"/downloads/Video/Filmer/Harry.Potter.And.The.Chamber.Of.Secrets.2002.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:26;s:10:"1485421133";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"832456052736";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:6:"17#15#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1636914953
|
||||
";i:43;s:11:"1636912541
|
||||
";}s:40:"CBC3A2F9D25184E01944C44C89460FDFD544291E";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:73:"Harry.Potter.Och.De.Vises.Sten.2001.SWEDiSH.2160p.UHD.BluRay.x265-NORDCUP";i:5;s:11:"17010257692";i:6;s:4:"1014";i:7;s:4:"1014";i:8;s:11:"17010257692";i:9;s:10:"5850250841";i:10;s:3:"343";i:11;s:1:"0";i:12;s:1:"0";i:13;s:8:"16777216";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1652549369";i:22;s:1:"0";i:23;s:1:"0";i:24;s:4:"1014";i:25;s:94:"/downloads/completed/Harry.Potter.Och.De.Vises.Sten.2001.SWEDiSH.2160p.UHD.BluRay.x265-NORDCUP";i:26;s:10:"1615637733";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"832456052736";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:5:"22#0#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1635606048
|
||||
";i:43;s:11:"1635604061
|
||||
";}s:40:"BE0CC1D374538989DC8542E173084551184E2739";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:104:"Harry.Potter.And.The.Sorcerers.Stone.2001.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:11:"18739052272";i:6;s:4:"2234";i:7;s:4:"2234";i:8;s:11:"18739052272";i:9;s:10:"3402260353";i:10;s:3:"181";i:11;s:1:"0";i:12;s:1:"0";i:13;s:7:"8388608";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1652549369";i:22;s:1:"0";i:23;s:1:"0";i:24;s:4:"2234";i:25;s:128:"/downloads/Video/Filmer/Harry.Potter.And.The.Sorcerers.Stone.2001.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:26;s:10:"1578432358";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"832456052736";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:6:"16#15#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:0:"";i:43;s:0:"";}}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
a:4:{s:40:"5312C6C5326F577A54FA4A1A878D56CB0425A5D8";a:44:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";i:4;s:78:"Nils.Karlsson.Pyssling.1990.SWE.NOR.DTS-HD.DTS.AC3.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:10:"7380692232";i:6;s:4:"1760";i:7;s:4:"1760";i:8;s:10:"7380692232";i:9;s:1:"0";i:10;s:1:"0";i:11;s:1:"0";i:12;s:1:"0";i:13;s:7:"4194304";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"2";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1631042281";i:22;s:1:"0";i:23;s:1:"0";i:24;s:1:"0";i:25;s:0:"";i:26;s:10:"1541708894";i:27;s:1:"2";i:28;s:1:"0";i:29;s:0:"";i:30;s:0:"";i:31;s:1:"0";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:4:"3#0#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1631042050
|
||||
";i:43;s:11:"1631041073
|
||||
";}s:40:"CBC3A2F9D25184E01944C44C89460FDFD544291E";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:73:"Harry.Potter.Och.De.Vises.Sten.2001.SWEDiSH.2160p.UHD.BluRay.x265-NORDCUP";i:5;s:11:"17010257692";i:6;s:4:"1014";i:7;s:4:"1014";i:8;s:11:"17010257692";i:9;s:10:"5850250841";i:10;s:3:"343";i:11;s:1:"0";i:12;s:1:"0";i:13;s:8:"16777216";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1636653545";i:22;s:1:"0";i:23;s:1:"0";i:24;s:4:"1014";i:25;s:94:"/downloads/completed/Harry.Potter.Och.De.Vises.Sten.2001.SWEDiSH.2160p.UHD.BluRay.x265-NORDCUP";i:26;s:10:"1615637733";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"832791953408";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:5:"21#0#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1635606048
|
||||
";i:43;s:11:"1635604061
|
||||
";}s:40:"BE0CC1D374538989DC8542E173084551184E2739";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:104:"Harry.Potter.And.The.Sorcerers.Stone.2001.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:11:"18739052272";i:6;s:4:"2234";i:7;s:4:"2234";i:8;s:11:"18739052272";i:9;s:10:"3378831233";i:10;s:3:"180";i:11;s:1:"0";i:12;s:1:"0";i:13;s:7:"8388608";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1636655589";i:22;s:7:"4711953";i:23;s:1:"0";i:24;s:4:"2234";i:25;s:128:"/downloads/Video/Filmer/Harry.Potter.And.The.Sorcerers.Stone.2001.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:26;s:10:"1578432358";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"832791953408";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:5:"24#0#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:0:"";i:43;s:0:"";}s:40:"C5B7F28719A1588ED7FD3D09B2DC04E6E40D87E6";a:44:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:1:"1";i:3;s:1:"1";i:4;s:107:"Harry.Potter.And.The.Chamber.Of.Secrets.2002.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:5;s:11:"20036032467";i:6;s:4:"1195";i:7;s:4:"1195";i:8;s:11:"20036032467";i:9;s:10:"2304358776";i:10;s:3:"115";i:11;s:1:"0";i:12;s:1:"0";i:13;s:8:"16777216";i:14;s:0:"";i:15;s:1:"0";i:16;s:1:"0";i:17;s:1:"0";i:18;s:1:"0";i:19;s:1:"0";i:20;s:1:"2";i:21;s:10:"1636914952";i:22;s:7:"8067914";i:23;s:1:"0";i:24;s:4:"1195";i:25;s:131:"/downloads/Video/Filmer/Harry.Potter.And.The.Chamber.Of.Secrets.2002.MULTILANG.DTS-HD.DTS.AC3.MULTISUBS.1080p.BluRay.x264.HQ-TUSAHD";i:26;s:10:"1485421133";i:27;s:1:"2";i:28;s:1:"1";i:29;s:0:"";i:30;s:0:"";i:31;s:12:"832791953408";i:32;s:1:"1";i:33;s:1:"1";i:34;s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:6:"26#25#";i:39;s:4:"0#0#";i:40;s:0:"";i:41;s:0:"";i:42;s:11:"1636914953
|
||||
";i:43;s:11:"1636912541
|
||||
";}}
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1 @@
|
|||
O:12:"rRSSMetaList":6:{s:4:"hash";s:4:"info";s:3:"lst";a:0:{}s:9:"updatedAt";i:1680111003;s:3:"err";a:0:{}s:12:"loadedErrors";i:0;s:8:"modified";i:1680109203;}
|
||||
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue