Compare commits
12 Commits
4d8cb8d5c1
...
principale
Author | SHA1 | Date | |
---|---|---|---|
98b3fbb3e8 | |||
811ebb8ca0 | |||
b722d7668d | |||
52f63fb3f0 | |||
ab6de25744 | |||
58385e7aa6 | |||
a86c86f42f | |||
86581baf55 | |||
4bad27f316 | |||
dec7185037 | |||
|
f26038cc7c | ||
7c2d1a82ca |
4
.gitignore
vendored
4
.gitignore
vendored
@ -1,6 +1,8 @@
|
||||
*.o
|
||||
.flavor
|
||||
.objs
|
||||
sqlite3.so
|
||||
*.so
|
||||
assets.h
|
||||
cert
|
||||
*.db
|
||||
*.log
|
||||
|
23
README.md
23
README.md
@ -0,0 +1,23 @@
|
||||
# Une application web pour faire un portail utilisateurs
|
||||
|
||||
portal_user est une application web basé https://kore.io pour servir de portail aux utilisateurs pour un serveur mail(opensmtpd) + XMPP(prosody).
|
||||
|
||||
## Comme on a fait du C ben on a choisi de le faire en C.
|
||||
Oui, on fait cette application avant tout pour apprendre donc pas
|
||||
de prise de tête on fait avec ce qu'on connaît.
|
||||
Pour le CSS c'est basé sur picoCSS comme ça tout reste léger; il y a un thème sombre et un clair c'est très bien.
|
||||
|
||||
## installer kore :
|
||||
### Sous linux :
|
||||
Debian: apt install kore
|
||||
|
||||
Archlinux: pacman -S kore
|
||||
|
||||
OpenBSD: pkg_add kore
|
||||
|
||||
Il vous faudra installé les dépendances pour les librairie sqlite3 aussi.
|
||||
|
||||
## Lancer le programme :
|
||||
kodev run
|
||||
|
||||
et rendez-vous sur http://127.0.0.1:8888/
|
62
assets/private.html
Normal file
62
assets/private.html
Normal file
@ -0,0 +1,62 @@
|
||||
<!DOCTYPE>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="/css/style.css">
|
||||
<title>Portal User</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<nav class="container-fluid">
|
||||
<ul>
|
||||
<li>
|
||||
<details role="list" >
|
||||
<summary aria-haspopup="listbox" role="link" class="secondary">Theme</summary>
|
||||
<ul role="listbox">
|
||||
<li><a href="#" data-theme-switcher="auto">Auto</a></li>
|
||||
<li><a href="#" data-theme-switcher="light">Light</a></li>
|
||||
<li><a href="#" data-theme-switcher="dark">Dark</a></li>
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details role="list" >
|
||||
<summary aria-haspopup="listbox" role="link" class="secondary"> Mon compte </summary>
|
||||
<ul role="listbox">
|
||||
<li><a href="#"> Mes services </a> </li>
|
||||
<li><a href="#"> Documentation </a></li>
|
||||
<li><a href="#"> Changer mon mot de passe </a></li>
|
||||
<li><a href="/logout"> Se déconnecter </a></li>
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<!-- Header -->
|
||||
<header class="container">
|
||||
<hgroup>
|
||||
<h1> Bienvenue sur kitoy.me </h1>
|
||||
<h2> Gérez votre compte sur kitoy.me </h2>
|
||||
<h3> Connecté en tant que : $login$ </h3>
|
||||
</hgroup>
|
||||
|
||||
<!-- Nav -->
|
||||
</header><!-- ./ Header -->
|
||||
|
||||
|
||||
<main class="container">
|
||||
<h2> Gérer votre compte </h2>
|
||||
|
||||
<p>message debug: $msg$</p>
|
||||
|
||||
</main>
|
||||
<!-- Minimal theme switcher -->
|
||||
<script src="/js/theme-switcher.js"></script>
|
||||
|
||||
</body>
|
||||
|
||||
|
||||
</html>
|
@ -34,7 +34,7 @@
|
||||
|
||||
<!-- Markup example 2: input is after label -->
|
||||
<label for="Login"> Login </label>
|
||||
<input type="Login" id="Login" name="login" placeholder="Login" value="$login$" required>
|
||||
<input type="login" name="login" id="login" placeholder="Email address" value="" required>
|
||||
|
||||
<label for="Password"> Mot de passe </label>
|
||||
<input type="Password" id="Password" name="password" placeholder="Password" value="" required>
|
||||
|
1326
assets/style.css
1326
assets/style.css
File diff suppressed because it is too large
Load Diff
@ -1,106 +0,0 @@
|
||||
/*
|
||||
* Theme switcher
|
||||
*
|
||||
* Pico.css - https://picocss.com
|
||||
* Copyright 2019-2021 - Licensed under MIT
|
||||
*/
|
||||
|
||||
export const themeSwitcher = {
|
||||
// Config
|
||||
_scheme: 'auto',
|
||||
change: {
|
||||
light: '<i>Turn on dark mode</i>',
|
||||
dark: '<i>Turn off dark mode</i>',
|
||||
},
|
||||
buttonsTarget: '.theme-switcher',
|
||||
|
||||
// Init
|
||||
init() {
|
||||
this.scheme = this._scheme;
|
||||
this.initSwitchers();
|
||||
},
|
||||
|
||||
// Prefered color scheme
|
||||
get preferedColorScheme() {
|
||||
if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
|
||||
return 'dark';
|
||||
} else {
|
||||
return 'light';
|
||||
}
|
||||
},
|
||||
|
||||
// Init switchers
|
||||
initSwitchers() {
|
||||
const buttons = document.querySelectorAll(this.buttonsTarget);
|
||||
buttons.forEach(
|
||||
function (button) {
|
||||
button.addEventListener(
|
||||
'click',
|
||||
function (event) {
|
||||
if (this.scheme == 'dark') {
|
||||
this.scheme = 'light';
|
||||
} else {
|
||||
this.scheme = 'dark';
|
||||
}
|
||||
}.bind(this),
|
||||
false
|
||||
);
|
||||
}.bind(this)
|
||||
);
|
||||
},
|
||||
|
||||
// Add new button
|
||||
addButton(config) {
|
||||
// Insert Switcher
|
||||
let button = document.createElement(config.tag);
|
||||
button.className = config.class;
|
||||
document.querySelector(config.target).appendChild(button);
|
||||
},
|
||||
|
||||
// Set scheme
|
||||
set scheme(scheme) {
|
||||
if (scheme == 'auto') {
|
||||
if (this.preferedColorScheme == 'dark') {
|
||||
this._scheme = 'dark';
|
||||
} else {
|
||||
this._scheme = 'light';
|
||||
}
|
||||
}
|
||||
|
||||
// Set to Dark
|
||||
else if (scheme == 'dark' || scheme == 'light') {
|
||||
this._scheme = scheme;
|
||||
}
|
||||
|
||||
// Set to Apply theme
|
||||
this.applyScheme();
|
||||
},
|
||||
|
||||
// Get scheme
|
||||
get scheme() {
|
||||
return this._scheme;
|
||||
},
|
||||
|
||||
// Apply scheme
|
||||
applyScheme() {
|
||||
// Root attribute
|
||||
document.querySelector('html').setAttribute('data-theme', this.scheme);
|
||||
|
||||
// Buttons text
|
||||
const buttons = document.querySelectorAll(this.buttonsTarget);
|
||||
let text;
|
||||
buttons.forEach(
|
||||
function (button) {
|
||||
if (this.scheme == 'dark') {
|
||||
text = this.change.dark;
|
||||
} else {
|
||||
text = this.change.light;
|
||||
}
|
||||
button.innerHTML = text;
|
||||
button.setAttribute('aria-label', text.replace(/<[^>]*>?/gm, ''));
|
||||
}.bind(this)
|
||||
);
|
||||
},
|
||||
};
|
||||
|
||||
export default themeSwitcher;
|
@ -4,34 +4,39 @@
|
||||
# Set to yes if you wish to produce a single binary instead
|
||||
# of a dynamic library. If you set this to yes you must also
|
||||
# set kore_source together with kore_flavor.
|
||||
#single_binary=no
|
||||
#single_binary=yes
|
||||
#kore_source=/home/joris/src/kore
|
||||
#kore_flavor=
|
||||
|
||||
# The flags below are shared between flavors
|
||||
cflags=-Wall -Wmissing-declarations -Wshadow
|
||||
cflags=-Wall -Wmissing-declarations -Wshadow -I/usr/local/include
|
||||
cflags=-Wstrict-prototypes -Wmissing-prototypes
|
||||
cflags=-Wpointer-arith -Wcast-qual -Wsign-compare
|
||||
ldflags=-lsqlite3
|
||||
#a rejouter pour linux
|
||||
#ldflag=-lcrypt
|
||||
ldflags=-L/usr/local/lib
|
||||
cxxflags=-Wall -Wmissing-declarations -Wshadow
|
||||
cxxflags=-Wall -Wmissing-declarations -Wshadow
|
||||
cxxflags=-Wpointer-arith -Wcast-qual -Wsign-compare
|
||||
|
||||
# Mime types for assets served via the builtin asset_serve_*
|
||||
#mime_add=txt:text/plain; charset=utf-8
|
||||
#mime_add=png:image/png
|
||||
#mime_add=html:text/html; charset=utf-8
|
||||
mime_add=jpg:image/jpeg
|
||||
mime_add=css:text/css; charset=utf-8
|
||||
mime_add=txt:text/plain; charset=utf-8
|
||||
mime_add=png:image/png
|
||||
mime_add=html:text/html; charset=utf-8
|
||||
|
||||
dev {
|
||||
# These flags are added to the shared ones when
|
||||
# you build the "dev" flavor.
|
||||
cflags=-g
|
||||
cxxflags=-g
|
||||
cflags=-g
|
||||
cxxflags=-g
|
||||
}
|
||||
|
||||
#prod {
|
||||
prod {
|
||||
# You can specify additional flags here which are only
|
||||
# included if you build with the "prod" flavor.
|
||||
#}
|
||||
cflags=-g
|
||||
cxxflags=-g
|
||||
|
||||
}
|
||||
|
@ -1,35 +0,0 @@
|
||||
# sqlite3 build config
|
||||
# You can switch flavors using: kodev flavor [newflavor]
|
||||
|
||||
# Set to yes if you wish to produce a single binary instead
|
||||
# of a dynamic library. If you set this to yes you must also
|
||||
# set kore_source together with kore_flavor.
|
||||
#single_binary=no
|
||||
#kore_source=/home/joris/src/kore
|
||||
#kore_flavor=
|
||||
|
||||
# The flags below are shared between flavors
|
||||
cflags=-Wall -Wmissing-declarations -Wshadow
|
||||
cflags=-Wstrict-prototypes -Wmissing-prototypes
|
||||
cflags=-Wpointer-arith -Wcast-qual -Wsign-compare
|
||||
ldflags=-lsqlite3
|
||||
ldflags=-L/usr/lib
|
||||
cxxflags=-Wall -Wmissing-declarations -Wshadow
|
||||
cxxflags=-Wpointer-arith -Wcast-qual -Wsign-compare
|
||||
|
||||
# Mime types for assets served via the builtin asset_serve_*
|
||||
#mime_add=txt:text/plain; charset=utf-8
|
||||
#mime_add=png:image/png
|
||||
#mime_add=html:text/html; charset=utf-8
|
||||
|
||||
dev {
|
||||
# These flags are added to the shared ones when
|
||||
# you build the "dev" flavor.
|
||||
cflags=-g
|
||||
cxxflags=-g
|
||||
}
|
||||
|
||||
#prod {
|
||||
# You can specify additional flags here which are only
|
||||
# included if you build with the "prod" flavor.
|
||||
#}
|
72
conf/portal_user.conf
Normal file
72
conf/portal_user.conf
Normal file
@ -0,0 +1,72 @@
|
||||
# portal_user configuration
|
||||
|
||||
server notls {
|
||||
bind 127.0.0.1 8888
|
||||
tls no
|
||||
}
|
||||
|
||||
load ./portal_user.so init
|
||||
|
||||
http_body_max 1024000000
|
||||
http_body_disk_offload 1024000
|
||||
|
||||
workers 1
|
||||
|
||||
|
||||
validator v_login regex ^[-_.a-zA-Z0-9]*$
|
||||
validator v_password function v_password_func
|
||||
validator v_session function v_session_validate
|
||||
|
||||
pledge wpath cpath flock
|
||||
|
||||
authentication auth_example {
|
||||
authentication_type cookie
|
||||
authentication_value session_id
|
||||
authentication_validator v_session
|
||||
authentication_uri /
|
||||
}
|
||||
|
||||
|
||||
|
||||
domain * {
|
||||
attach notls
|
||||
|
||||
|
||||
accesslog kore_access.log
|
||||
|
||||
|
||||
route / {
|
||||
handler portal_user_load
|
||||
methods post get
|
||||
validate post login v_login
|
||||
validate post password v_password
|
||||
}
|
||||
|
||||
route /css/style.css {
|
||||
handler asset_serve_style_css
|
||||
}
|
||||
|
||||
route /js/theme-switcher.js {
|
||||
handler asset_serve_theme_switcher_js
|
||||
}
|
||||
|
||||
route /signup {
|
||||
handler create_user
|
||||
methods get post
|
||||
validate post login v_login
|
||||
validate post password v_password
|
||||
}
|
||||
|
||||
route /portal/bienvenue {
|
||||
handler private_portal
|
||||
authenticate auth_example
|
||||
}
|
||||
|
||||
route /logout {
|
||||
handler v_session_remove
|
||||
authenticate auth_example
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -1,40 +0,0 @@
|
||||
# portal_user configuration
|
||||
|
||||
server notls {
|
||||
bind 192.168.1.6 8888
|
||||
tls no
|
||||
}
|
||||
|
||||
load ./sqlite3.so
|
||||
|
||||
http_body_max 1024000000
|
||||
http_body_disk_offload 1024000
|
||||
|
||||
workers 1
|
||||
|
||||
|
||||
validator v_login regex ^[-_.a-zA-Z0-9]*$
|
||||
validator v_password function v_password_func
|
||||
pledge wpath cpath flock
|
||||
domain * {
|
||||
attach notls
|
||||
|
||||
|
||||
accesslog kore_access.log
|
||||
|
||||
|
||||
route / portal_user_load
|
||||
route /css/style.css asset_serve_style_css
|
||||
route /js/theme-switcher.js asset_serve_theme_switcher_js
|
||||
route /signup create_user
|
||||
|
||||
params post / {
|
||||
validate login v_login
|
||||
validate password v_password
|
||||
}
|
||||
params post /signup {
|
||||
validate login v_login
|
||||
validate password v_password
|
||||
}
|
||||
|
||||
}
|
422
kore_access.log
422
kore_access.log
@ -1,422 +0,0 @@
|
||||
127.0.0.1 - - [10/Feb/2022:10:03:48 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:10:03:48 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:10:03:48 +0700] "GET /css/style.css HTTP/1.1" 200 67719 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:10:06:01 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:10:06:01 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:10:06:01 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:10:08:39 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:10:08:39 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:10:08:39 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:10:10:08 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:10:10:08 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:10:10:08 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:10:10:13 +0700] "POST / HTTP/1.1" 200 1713 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:10:10:13 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:10:10:13 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:14:42:22 +0700] "POST / HTTP/1.1" 200 1713 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:14:42:22 +0700] "GET /css/style.css HTTP/1.1" 200 67719 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:14:42:22 +0700] "GET /js/theme-switcher.js HTTP/1.1" 200 807 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:14:45:48 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:14:45:48 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:14:45:48 +0700] "GET /css/style.css HTTP/1.1" 200 67719 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:14:45:53 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:14:45:53 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:14:45:53 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:14:46:09 +0700] "GET / HTTP/1.1" 200 1705 "-" "curl/7.81.0"
|
||||
127.0.0.1 - - [10/Feb/2022:14:50:56 +0700] "HEAD / HTTP/1.1" 200 1707 "-" "curl/7.81.0"
|
||||
127.0.0.1 - - [10/Feb/2022:14:51:08 +0700] "HEAD / HTTP/1.1" 200 1707 "-" "curl/7.81.0"
|
||||
127.0.0.1 - - [10/Feb/2022:14:52:00 +0700] "HEAD / HTTP/1.1" 200 1707 "-" "curl/7.81.0"
|
||||
127.0.0.1 - - [10/Feb/2022:14:52:36 +0700] "HEAD / HTTP/1.1" 200 1707 "-" "curl/7.81.0"
|
||||
127.0.0.1 - - [10/Feb/2022:14:52:39 +0700] "HEAD / HTTP/1.1" 200 1707 "-" "curl/7.81.0"
|
||||
127.0.0.1 - - [10/Feb/2022:14:52:46 +0700] "HEAD / HTTP/1.1" 200 1707 "-" "curl/7.81.0"
|
||||
127.0.0.1 - - [10/Feb/2022:14:53:29 +0700] "POST / HTTP/1.1" 200 1713 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:14:53:29 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:14:53:29 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:14:53:46 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:14:53:46 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:14:53:46 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:14:53:53 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:14:53:53 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:14:53:53 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:14:53:56 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:14:53:56 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:14:53:56 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:14:54:01 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:14:54:01 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:14:54:01 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:14:54:06 +0700] "POST / HTTP/1.1" 200 1713 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:14:54:06 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:14:54:06 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:14:54:11 +0700] "HEAD / HTTP/1.1" 200 1707 "-" "curl/7.81.0"
|
||||
127.0.0.1 - - [10/Feb/2022:14:54:18 +0700] "GET / HTTP/1.1" 200 1705 "-" "curl/7.81.0"
|
||||
127.0.0.1 - - [10/Feb/2022:15:02:09 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:15:02:09 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:15:02:09 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:15:02:14 +0700] "POST / HTTP/1.1" 0 20 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:15:52:09 +0700] "POST / HTTP/1.1" 200 1730 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:15:52:09 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:15:52:09 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:15:53:42 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:15:53:42 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:15:53:42 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:15:53:46 +0700] "POST / HTTP/1.1" 0 20 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:15:54:46 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:15:54:46 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:15:54:46 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:15:54:50 +0700] "POST / HTTP/1.1" 0 20 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:16:19:37 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:16:19:37 +0700] "GET /css/style.css HTTP/1.1" 200 67719 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:16:19:37 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:16:19:41 +0700] "POST / HTTP/1.1" 200 1730 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:16:19:41 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:16:19:41 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:16:24:52 +0700] "POST / HTTP/1.1" 200 1730 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:16:24:52 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:16:24:52 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:16:35:17 +0700] "POST / HTTP/1.1" 200 1730 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:16:35:17 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:16:35:17 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:16:39:06 +0700] "POST / HTTP/1.1" 200 1730 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:16:39:06 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:16:39:06 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:16:39:15 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:16:39:15 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:16:39:15 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:16:39:20 +0700] "POST / HTTP/1.1" 200 1730 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:16:39:20 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:16:39:20 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:17:51:52 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:17:51:52 +0700] "GET /css/style.css HTTP/1.1" 200 67719 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:17:51:52 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:17:53:27 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:17:53:27 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:17:53:27 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:17:57:23 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:17:57:23 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:17:57:23 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:17:57:29 +0700] "POST / HTTP/1.1" 200 1730 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:17:57:29 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:17:57:29 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:00:42 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:00:42 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:00:42 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:00:48 +0700] "POST / HTTP/1.1" 200 1727 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:00:48 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:00:48 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:01:33 +0700] "POST / HTTP/1.1" 200 1728 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:01:33 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:01:33 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:01:43 +0700] "POST / HTTP/1.1" 200 1728 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:01:43 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:01:43 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:01:50 +0700] "POST / HTTP/1.1" 200 1728 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:01:50 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:01:50 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:01:55 +0700] "POST / HTTP/1.1" 200 1728 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:01:55 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:01:55 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:02:15 +0700] "POST / HTTP/1.1" 200 1728 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:02:15 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:02:15 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:05:03 +0700] "POST / HTTP/1.1" 200 1728 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:05:03 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:05:03 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:05:12 +0700] "POST / HTTP/1.1" 200 1728 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:05:12 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:05:12 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:05:16 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:05:16 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:05:16 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:05:28 +0700] "POST / HTTP/1.1" 200 1728 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:05:28 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:05:28 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:06:21 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:06:21 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:06:21 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:06:29 +0700] "POST / HTTP/1.1" 200 1728 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:06:29 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:06:29 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:09:53 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:09:53 +0700] "GET /css/style.css HTTP/1.1" 200 67719 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:09:53 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:10:00 +0700] "POST / HTTP/1.1" 200 1727 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:10:00 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:10:00 +0700] "GET /css/style.css HTTP/1.1" 200 67719 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:10:18 +0700] "POST / HTTP/1.1" 200 1728 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:10:18 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:10:18 +0700] "GET /css/style.css HTTP/1.1" 200 67719 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:10:48 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:10:48 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:10:48 +0700] "GET /css/style.css HTTP/1.1" 200 67719 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:10:57 +0700] "POST / HTTP/1.1" 200 1727 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:10:57 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:10:57 +0700] "GET /css/style.css HTTP/1.1" 200 67719 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:11:09 +0700] "POST / HTTP/1.1" 200 1728 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:11:09 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:11:09 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:11:13 +0700] "POST / HTTP/1.1" 200 1727 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:11:13 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:11:13 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:11:16 +0700] "POST / HTTP/1.1" 200 1728 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:11:16 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:11:16 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:11:55 +0700] "POST / HTTP/1.1" 200 1727 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:11:55 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:11:55 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:11:57 +0700] "POST / HTTP/1.1" 200 1727 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:11:57 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:11:57 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:12:00 +0700] "POST / HTTP/1.1" 200 1727 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:12:00 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:12:00 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:12:01 +0700] "POST / HTTP/1.1" 200 1727 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:12:01 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:12:01 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:12:14 +0700] "POST / HTTP/1.1" 200 1727 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:12:14 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:12:14 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:12:16 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:12:16 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:12:16 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:12:19 +0700] "POST / HTTP/1.1" 200 1727 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:12:19 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:12:19 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:12:26 +0700] "POST / HTTP/1.1" 200 1727 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:12:26 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:12:26 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:13:49 +0700] "POST / HTTP/1.1" 200 1728 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:13:49 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:13:49 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:13:53 +0700] "POST / HTTP/1.1" 200 1727 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:13:53 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [10/Feb/2022:18:13:53 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0"
|
||||
127.0.0.1 - - [12/Feb/2022:14:04:48 +0700] "GET / HTTP/1.1" 200 1705 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:14:04:50 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:14:04:50 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:14:04:50 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:14:05:00 +0700] "POST / HTTP/1.1" 200 1728 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:14:05:00 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:14:05:00 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:14:14:51 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:14:14:51 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:14:14:51 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:14:29:02 +0700] "GET /signup HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:14:29:02 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:14:29:02 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:14:30:02 +0700] "GET /signup HTTP/1.1" 200 1709 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:14:30:02 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:14:30:02 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:14:57:20 +0700] "GET /signup HTTP/1.1" 200 1709 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:14:57:20 +0700] "GET /css/style.css HTTP/1.1" 200 67719 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:14:57:20 +0700] "GET /js/theme-switcher.js HTTP/1.1" 200 807 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:14:57:31 +0700] "POST /signup HTTP/1.1" 0 24 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:15:02:10 +0700] "GET /signup HTTP/1.1" 200 1709 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:15:02:10 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:15:02:10 +0700] "GET /css/style.css HTTP/1.1" 200 67719 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:15:02:15 +0700] "POST /signup HTTP/1.1" 0 24 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:15:17:10 +0700] "GET /signup HTTP/1.1" 200 1709 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:15:17:10 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:15:17:10 +0700] "GET /css/style.css HTTP/1.1" 200 67719 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:15:17:18 +0700] "POST /signup HTTP/1.1" 200 1734 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:15:17:18 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:15:17:18 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:15:17:31 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:15:17:31 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:15:17:31 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:15:17:36 +0700] "POST / HTTP/1.1" 200 1728 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:15:17:36 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:15:17:36 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:15:21:11 +0700] "GET /signup HTTP/1.1" 200 1709 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:15:21:11 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:15:21:11 +0700] "GET /css/style.css HTTP/1.1" 200 67719 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:15:21:18 +0700] "POST /signup HTTP/1.1" 200 1734 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:15:21:18 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:15:21:18 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:15:21:28 +0700] "POST / HTTP/1.1" 200 1728 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:15:21:28 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:15:21:28 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:15:21:57 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:15:21:57 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:15:21:57 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:15:22:01 +0700] "POST / HTTP/1.1" 200 1728 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:15:22:01 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:15:22:01 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:15:22:12 +0700] "POST / HTTP/1.1" 200 1728 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:15:22:12 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:15:22:12 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:15:25:55 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:15:25:55 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:15:25:55 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:15:26:00 +0700] "POST / HTTP/1.1" 200 1727 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:15:26:00 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [12/Feb/2022:15:26:00 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:08:11:28 +0700] "GET /signup HTTP/1.1" 200 1709 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:08:11:28 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:08:11:28 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:08:41:34 +0700] "POST /signup HTTP/1.1" 200 1734 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:08:41:34 +0700] "GET /css/style.css HTTP/1.1" 200 67719 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:08:41:34 +0700] "GET /js/theme-switcher.js HTTP/1.1" 200 807 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:08:42:03 +0700] "POST /signup HTTP/1.1" 200 1734 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:08:42:03 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:08:42:03 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:08:50:06 +0700] "POST /signup HTTP/1.1" 200 1734 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:08:50:06 +0700] "GET /css/style.css HTTP/1.1" 200 67719 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:08:50:06 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:10:28:30 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:10:28:30 +0700] "GET /css/style.css HTTP/1.1" 200 67719 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:10:28:30 +0700] "GET /js/theme-switcher.js HTTP/1.1" 200 807 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:10:28:52 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:10:28:52 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:10:28:52 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:10:32:50 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:10:32:50 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:10:32:50 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:10:33:11 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:10:33:11 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:10:33:11 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:10:35:00 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:10:35:00 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:10:35:00 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:10:40:51 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:10:40:51 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:10:40:51 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:10:41:51 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:10:41:51 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:10:41:51 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:10:44:28 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:10:44:28 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:10:44:28 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:13:53:00 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:13:53:00 +0700] "GET /css/style.css HTTP/1.1" 200 67719 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:13:53:00 +0700] "GET /js/theme-switcher.js HTTP/1.1" 200 807 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:13:58:07 +0700] "GET /signup HTTP/1.1" 200 1709 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:13:58:07 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:13:58:07 +0700] "GET /css/style.css HTTP/1.1" 200 67719 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:13:58:13 +0700] "POST /signup HTTP/1.1" 0 20 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:00:07 +0700] "GET /signup HTTP/1.1" 200 1709 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:00:07 +0700] "GET /css/style.css HTTP/1.1" 200 67719 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:00:07 +0700] "GET /js/theme-switcher.js HTTP/1.1" 200 807 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:00:14 +0700] "POST /signup HTTP/1.1" 200 1734 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:00:14 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:00:14 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:00:39 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:00:39 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:00:39 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:02:23 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:02:23 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:02:23 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:04:21 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:04:21 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:04:21 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:07:24 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:07:24 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:07:24 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:07:35 +0700] "POST / HTTP/1.1" 200 1727 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:07:35 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:07:35 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:09:07 +0700] "POST / HTTP/1.1" 200 1727 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:09:07 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:09:07 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:09:52 +0700] "POST / HTTP/1.1" 200 1727 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:09:52 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:09:52 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:11:26 +0700] "POST / HTTP/1.1" 200 1727 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:11:26 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:11:26 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:15:32 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:15:32 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:15:32 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:45:25 +0700] "GET / HTTP/1.1" 200 1705 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:45:25 +0700] "GET /css/style.css HTTP/1.1" 200 67719 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:45:25 +0700] "GET /js/theme-switcher.js HTTP/1.1" 200 807 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:45:30 +0700] "POST / HTTP/1.1" 200 1727 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:45:30 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:45:30 +0700] "GET /css/style.css HTTP/1.1" 200 67719 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:48:51 +0700] "POST / HTTP/1.1" 200 1727 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:48:51 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:48:51 +0700] "GET /css/style.css HTTP/1.1" 200 67719 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:49:23 +0700] "POST / HTTP/1.1" 200 1727 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:49:23 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:49:23 +0700] "GET /css/style.css HTTP/1.1" 200 67719 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:55:05 +0700] "POST /signup HTTP/1.1" 200 1734 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:55:05 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:55:05 +0700] "GET /css/style.css HTTP/1.1" 200 67719 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:55:13 +0700] "POST / HTTP/1.1" 200 1727 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:55:13 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:14:55:13 +0700] "GET /css/style.css HTTP/1.1" 200 67719 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:15:13:26 +0700] "GET /signup HTTP/1.1" 200 1660 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:15:13:26 +0700] "GET /css/style.css HTTP/1.1" 200 67719 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:15:13:26 +0700] "GET /js/theme-switcher.js HTTP/1.1" 200 807 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:15:13:34 +0700] "POST /signup HTTP/1.1" 200 1661 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:15:13:34 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:15:13:34 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:15:13:41 +0700] "GET / HTTP/1.1" 200 1640 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:15:13:41 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:15:13:41 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:15:13:47 +0700] "POST / HTTP/1.1" 200 1645 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:15:13:47 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:15:13:47 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:15:15:22 +0700] "POST / HTTP/1.1" 200 1656 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:15:15:22 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:15:15:22 +0700] "GET /css/style.css HTTP/1.1" 200 67719 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:15:15:31 +0700] "POST / HTTP/1.1" 200 1660 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:15:15:31 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
127.0.0.1 - - [14/Feb/2022:15:15:31 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://127.0.0.1:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:17:05:41 +0700] "GET / HTTP/1.1" 200 1640 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:17:05:41 +0700] "GET /css/style.css HTTP/1.1" 200 67719 "http://192.168.1.6:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:17:05:41 +0700] "GET /js/theme-switcher.js HTTP/1.1" 200 807 "http://192.168.1.6:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:17:08:56 +0700] "GET / HTTP/1.1" 200 1640 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:17:08:56 +0700] "GET /css/style.css HTTP/1.1" 200 67719 "http://192.168.1.6:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:17:08:56 +0700] "GET /js/theme-switcher.js HTTP/1.1" 200 807 "http://192.168.1.6:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:17:33:58 +0700] "GET / HTTP/1.1" 200 1640 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:17:33:58 +0700] "GET /css/style.css HTTP/1.1" 200 67719 "http://192.168.1.6:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:17:33:58 +0700] "GET /js/theme-switcher.js HTTP/1.1" 200 807 "http://192.168.1.6:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:17:53:37 +0700] "GET / HTTP/1.1" 200 1640 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:17:53:37 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://192.168.1.6:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:17:53:37 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://192.168.1.6:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:17:55:14 +0700] "GET / HTTP/1.1" 200 1640 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:17:55:14 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://192.168.1.6:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:17:55:14 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://192.168.1.6:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:17:57:41 +0700] "GET / HTTP/1.1" 200 1640 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:17:57:41 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://192.168.1.6:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:17:57:41 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://192.168.1.6:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:17:58:40 +0700] "GET / HTTP/1.1" 200 1640 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:17:58:40 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://192.168.1.6:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:17:58:40 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://192.168.1.6:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:17:59:33 +0700] "GET / HTTP/1.1" 200 1640 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:17:59:33 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://192.168.1.6:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:17:59:33 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://192.168.1.6:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:17:59:41 +0700] "POST / HTTP/1.1" 200 1656 "http://192.168.1.6:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:17:59:41 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://192.168.1.6:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:17:59:41 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://192.168.1.6:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:19:55:02 +0700] "GET /signup HTTP/1.1" 200 1660 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:19:55:02 +0700] "GET /css/style.css HTTP/1.1" 200 67719 "http://192.168.1.6:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:19:55:02 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://192.168.1.6:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:19:56:13 +0700] "GET /signup HTTP/1.1" 200 1660 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:19:56:13 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://192.168.1.6:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:19:56:13 +0700] "GET /css/style.css HTTP/1.1" 200 67719 "http://192.168.1.6:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:19:57:22 +0700] "GET /signup HTTP/1.1" 200 1660 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:19:57:22 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://192.168.1.6:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:19:57:22 +0700] "GET /css/style.css HTTP/1.1" 200 67719 "http://192.168.1.6:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:20:00:28 +0700] "GET /signup HTTP/1.1" 200 1660 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:20:00:28 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://192.168.1.6:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:20:00:28 +0700] "GET /css/style.css HTTP/1.1" 200 67719 "http://192.168.1.6:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:20:32:58 +0700] "GET /signup HTTP/1.1" 200 1660 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:20:32:58 +0700] "GET /css/style.css HTTP/1.1" 200 67719 "http://192.168.1.6:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [14/Feb/2022:20:32:58 +0700] "GET /js/theme-switcher.js HTTP/1.1" 200 807 "http://192.168.1.6:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [15/Feb/2022:11:08:53 +0700] "GET / HTTP/1.1" 200 1640 "http://192.168.1.6:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [15/Feb/2022:11:09:02 +0700] "POST / HTTP/1.1" 200 1656 "http://192.168.1.6:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [15/Feb/2022:11:09:02 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://192.168.1.6:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [15/Feb/2022:11:09:02 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://192.168.1.6:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [15/Feb/2022:11:13:50 +0700] "GET /signup HTTP/1.1" 200 1660 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [15/Feb/2022:11:13:50 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://192.168.1.6:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [15/Feb/2022:11:13:50 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://192.168.1.6:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [15/Feb/2022:11:23:42 +0700] "GET /signup HTTP/1.1" 200 1660 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [15/Feb/2022:11:23:42 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://192.168.1.6:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [15/Feb/2022:11:23:42 +0700] "GET /css/style.css HTTP/1.1" 200 67719 "http://192.168.1.6:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [15/Feb/2022:11:23:53 +0700] "POST /signup HTTP/1.1" 200 1661 "http://192.168.1.6:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [15/Feb/2022:11:23:53 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://192.168.1.6:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [15/Feb/2022:11:23:53 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://192.168.1.6:8888/signup" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [15/Feb/2022:11:27:14 +0700] "POST / HTTP/1.1" 200 1656 "http://192.168.1.6:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [15/Feb/2022:11:27:14 +0700] "GET /css/style.css HTTP/1.1" 304 0 "http://192.168.1.6:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
||||
192.168.1.100 - - [15/Feb/2022:11:27:14 +0700] "GET /js/theme-switcher.js HTTP/1.1" 304 0 "http://192.168.1.6:8888/" "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0"
|
BIN
ktrace.out
BIN
ktrace.out
Binary file not shown.
381
src/portal_user.c
Normal file
381
src/portal_user.c
Normal file
@ -0,0 +1,381 @@
|
||||
#include <kore/kore.h>
|
||||
#include <kore/http.h>
|
||||
#include <fcntl.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include <sqlite3.h>
|
||||
#include <unistd.h>
|
||||
#include "assets.h"
|
||||
#include "sessions.h"
|
||||
#include "sqlite_utils.h"
|
||||
#include <pwd.h>
|
||||
|
||||
#define SESSION_LEN 30
|
||||
#define DB_NAME "portal_user.db"
|
||||
|
||||
#if defined(__linux__)
|
||||
|
||||
#include <kore/seccomp.h>
|
||||
#include <crypt.h>
|
||||
|
||||
KORE_SECCOMP_FILTER("sqlite3",
|
||||
KORE_SYSCALL_ALLOW(newfstatat),
|
||||
KORE_SYSCALL_ALLOW(pread64),
|
||||
KORE_SYSCALL_ALLOW(pwrite64),
|
||||
KORE_SYSCALL_ALLOW(fdatasync),
|
||||
KORE_SYSCALL_ALLOW_ARG(write, 0, STDOUT_FILENO)
|
||||
);
|
||||
#endif
|
||||
|
||||
|
||||
int init(int state);
|
||||
int portal_user_load(struct http_request *);
|
||||
int v_password_func(struct http_request *, char *);
|
||||
int create_user(struct http_request *);
|
||||
int v_session_validate(struct http_request *, char *);
|
||||
int v_session_remove(struct http_request *);
|
||||
int private_portal(struct http_request *);
|
||||
|
||||
hashtable_t *hashtable = NULL;
|
||||
|
||||
int
|
||||
init(int state)
|
||||
{
|
||||
hashtable = ht_create( 65536 );
|
||||
int err=0;
|
||||
if( hashtable == NULL )
|
||||
{
|
||||
kore_log(LOG_ERR, "Can't create hastable sessions");
|
||||
err = 1;
|
||||
}
|
||||
|
||||
if ( access( DB_NAME, F_OK ) == 0 && err == 0 )
|
||||
{ kore_log(LOG_NOTICE, "Execute check_db()");
|
||||
err = check_db(DB_NAME);}
|
||||
else
|
||||
{
|
||||
kore_log(LOG_NOTICE, "Create Sqlite Base");
|
||||
err = init_db(DB_NAME);
|
||||
}
|
||||
if (err)
|
||||
return (KORE_RESULT_ERROR);
|
||||
else
|
||||
return (KORE_RESULT_OK);
|
||||
}
|
||||
|
||||
int
|
||||
create_user(struct http_request *req)
|
||||
{
|
||||
struct kore_buf *b = NULL;
|
||||
u_int8_t *d = NULL;
|
||||
size_t len = 0;
|
||||
char *salt = NULL, *cryptpwd = NULL;
|
||||
char *zErrMsg = NULL;
|
||||
char *user = NULL, *pwd = NULL, name[50];
|
||||
sqlite3 *db = NULL;
|
||||
char sql[512];
|
||||
|
||||
if (req->method == HTTP_METHOD_GET)
|
||||
http_populate_get(req);
|
||||
else if (req->method == HTTP_METHOD_POST)
|
||||
http_populate_post(req);
|
||||
|
||||
b = kore_buf_alloc(asset_len_signup_html);
|
||||
kore_buf_append(b, asset_signup_html, asset_len_signup_html);
|
||||
|
||||
|
||||
if (req->method == HTTP_METHOD_GET) {
|
||||
kore_buf_replace_string(b, "$msg$", "GO", 4);
|
||||
|
||||
http_response_header(req, "content-type", "text/html");
|
||||
d = kore_buf_release(b, &len);
|
||||
http_response(req, 200, d, len);
|
||||
kore_free(d);
|
||||
|
||||
return (KORE_RESULT_OK);
|
||||
}
|
||||
|
||||
if (req->method == HTTP_METHOD_POST)
|
||||
{
|
||||
int rc = sqlite3_open(DB_NAME, &db);
|
||||
|
||||
if (rc != SQLITE_OK) {
|
||||
|
||||
kore_log(LOG_ERR, "Cannot open database: %s\n", sqlite3_errmsg(db));
|
||||
sqlite3_close(db);
|
||||
|
||||
return (KORE_RESULT_ERROR);
|
||||
}
|
||||
#if defined(__linux__)
|
||||
salt = crypt_gensalt("$2b$", 15, NULL, 0); //-> linux
|
||||
#elif defined(__OpenBSD__)
|
||||
salt = bcrypt_gensalt(15);
|
||||
#endif
|
||||
if (salt == NULL) {
|
||||
kore_log(LOG_ERR, "crypt_gensalt");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
kore_log(LOG_NOTICE, "bcrypt_salt réussi");
|
||||
|
||||
(void)snprintf(name, sizeof(name), "login");
|
||||
http_argument_get_string(req, name, &user);
|
||||
|
||||
(void)snprintf(name, sizeof(name), "password");
|
||||
http_argument_get_string(req, name, &pwd);
|
||||
|
||||
cryptpwd = crypt(pwd, salt);
|
||||
if (cryptpwd == NULL) {
|
||||
kore_log(LOG_PERROR, "Can't encrypt password");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
|
||||
kore_log(LOG_NOTICE, "Encrypted called %s", cryptpwd );
|
||||
|
||||
(void)sprintf(sql,
|
||||
"INSERT INTO Users (Email, Password, Active) VALUES(\"%s\",\"%s\",\"yes\");",
|
||||
user, cryptpwd);
|
||||
|
||||
|
||||
printf ( "%s",sql);
|
||||
rc = sqlite3_exec(db, sql, 0, 0, &zErrMsg);
|
||||
|
||||
if( rc != SQLITE_OK ){
|
||||
kore_log(LOG_ERR, "SQL error: %s", zErrMsg);
|
||||
sqlite3_free(zErrMsg);
|
||||
} else {
|
||||
kore_log(LOG_NOTICE, "Database successfully created !");
|
||||
}
|
||||
|
||||
sqlite3_close(db);
|
||||
http_response_header(req, "location", "/");
|
||||
http_response_header(req, "content-type", "text/html");
|
||||
d = kore_buf_release(b, &len);
|
||||
http_response(req, HTTP_STATUS_FOUND, NULL, 0);
|
||||
kore_free(d);
|
||||
|
||||
return (KORE_RESULT_OK);
|
||||
}
|
||||
|
||||
return (KORE_RESULT_ERROR);
|
||||
|
||||
}
|
||||
|
||||
int
|
||||
portal_user_load(struct http_request *req)
|
||||
{
|
||||
struct kore_buf *b = NULL;
|
||||
u_int8_t *d = NULL;
|
||||
size_t len = 0;
|
||||
char *login = NULL, *pwd = NULL, name[70];
|
||||
char *err_msg = 0;
|
||||
char salt[29], *cryptpwd = NULL;
|
||||
int rc = 0;
|
||||
sqlite3_stmt *res= NULL;
|
||||
sqlite3 *db = NULL;
|
||||
char *cookie_session = NULL;
|
||||
char *cookie_samesite = NULL;
|
||||
char *cookie = NULL;
|
||||
char *session_id = NULL;
|
||||
|
||||
if (req->method == HTTP_METHOD_GET)
|
||||
http_populate_get(req);
|
||||
else if (req->method == HTTP_METHOD_POST)
|
||||
http_populate_post(req);
|
||||
|
||||
b = kore_buf_alloc(asset_len_index_html);
|
||||
kore_buf_append(b, asset_index_html, asset_len_index_html);
|
||||
|
||||
if (req->method == HTTP_METHOD_GET) {
|
||||
kore_buf_replace_string(b, "$login$", NULL, 0);
|
||||
kore_buf_replace_string(b, "$password$", NULL, 0);
|
||||
kore_buf_replace_string(b, "$msg$", "Toto", 4);
|
||||
|
||||
http_response_header(req, "content-type", "text/html");
|
||||
d = kore_buf_release(b, &len);
|
||||
http_response(req, 200, d, len);
|
||||
kore_free(d);
|
||||
|
||||
return (KORE_RESULT_OK);
|
||||
}
|
||||
|
||||
if (req->method == HTTP_METHOD_POST)
|
||||
{
|
||||
rc = sqlite3_open(DB_NAME, &db);
|
||||
|
||||
if (rc != SQLITE_OK)
|
||||
{
|
||||
kore_log(LOG_ERR, "Cannot open database: %s\n", sqlite3_errmsg(db));
|
||||
sqlite3_close(db);
|
||||
|
||||
return (KORE_RESULT_ERROR);
|
||||
}
|
||||
|
||||
char *sql = "SELECT Email, Password FROM Users WHERE Email = ?";
|
||||
|
||||
rc = sqlite3_prepare_v2(db, sql, -1, &res, 0);
|
||||
|
||||
if (rc == SQLITE_OK)
|
||||
{
|
||||
(void)snprintf(name, sizeof(name), "login");
|
||||
http_argument_get_string(req, name, &login);
|
||||
sqlite3_bind_text(res, 1, login , -1, NULL);
|
||||
}
|
||||
else
|
||||
{
|
||||
kore_log(LOG_ERR, "Failed to execute statement: %s\n", sqlite3_errmsg(db));
|
||||
}
|
||||
|
||||
sqlite3_step(res);
|
||||
if (rc != SQLITE_OK ) {
|
||||
kore_log(LOG_ERR, "SQL error: %s\n", err_msg);
|
||||
sqlite3_finalize(res);
|
||||
sqlite3_free(err_msg);
|
||||
sqlite3_close(db);
|
||||
return (KORE_RESULT_ERROR);
|
||||
}
|
||||
|
||||
(void)snprintf(name, sizeof(name), "password");
|
||||
http_argument_get_string(req, name, &pwd);
|
||||
|
||||
|
||||
strncpy (salt,(const char *)sqlite3_column_text(res, 1),29);
|
||||
|
||||
|
||||
cryptpwd = crypt(pwd, salt);
|
||||
if (cryptpwd == NULL) {
|
||||
kore_log(LOG_PERROR, "Can't encrypt password");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
|
||||
if ( strcmp( (const char *)sqlite3_column_text(res, 1), cryptpwd) )
|
||||
{
|
||||
kore_buf_replace_string(b, "$msg$", "Erreur de login ou mot de passe ", 17);
|
||||
}
|
||||
else
|
||||
{
|
||||
kore_log(LOG_NOTICE, "on va faire le set cookie");
|
||||
session_id = gen_session_id(SESSION_LEN);
|
||||
ht_set(hashtable, session_id, login);
|
||||
|
||||
kore_log(LOG_NOTICE, "on a ajouté le sessions dans la hastable");
|
||||
cookie_session = set_cookie_header("session_id", '=', session_id);
|
||||
cookie_samesite = set_cookie_header("SameSite", '=', "Strict");
|
||||
cookie = set_cookie_header(cookie_session, ';', cookie_samesite);
|
||||
kore_log(LOG_NOTICE, "on a set le cookie dans les headers");
|
||||
kore_buf_replace_string(b, "$msg$", "BRAVO !!!", 13);
|
||||
free(session_id);
|
||||
free(cookie_session);
|
||||
free(cookie_samesite);
|
||||
kore_log(LOG_NOTICE, "set cookie OK");
|
||||
}
|
||||
|
||||
sqlite3_finalize(res);
|
||||
sqlite3_close(db);
|
||||
|
||||
|
||||
http_response_header(req, "content-type", "text/html");
|
||||
if (cookie != NULL)
|
||||
{
|
||||
http_response_header(req, "set-cookie", cookie);
|
||||
free(cookie);
|
||||
}
|
||||
d = kore_buf_release(b, &len);
|
||||
|
||||
http_response_header(req, "location", "/portal/bienvenue");
|
||||
http_response(req, HTTP_STATUS_FOUND, NULL, 0);
|
||||
kore_free(d);
|
||||
return (KORE_RESULT_OK);
|
||||
}
|
||||
|
||||
return (KORE_RESULT_ERROR);
|
||||
|
||||
}
|
||||
|
||||
int
|
||||
v_password_func(struct http_request *req, char *data)
|
||||
{
|
||||
kore_log(LOG_NOTICE, "v_password_func called %s", data);
|
||||
|
||||
if ( strlen(data) < 128 )
|
||||
return (KORE_RESULT_OK);
|
||||
|
||||
return (KORE_RESULT_ERROR);
|
||||
|
||||
}
|
||||
|
||||
int
|
||||
v_session_remove (struct http_request *req)
|
||||
{
|
||||
char *buffer;
|
||||
|
||||
http_populate_cookies(req);
|
||||
if (http_request_cookie(req, "session_id", &buffer))
|
||||
kore_log(LOG_DEBUG, "Got session_id: %s", buffer);
|
||||
|
||||
if (ht_get(hashtable, buffer) != NULL)
|
||||
ht_delete(hashtable, buffer);
|
||||
http_response_header(req, "location", "/");
|
||||
http_response_header(req, "content-type", "text/html");
|
||||
http_response_header(req, "set-cookie", "session_id=""");
|
||||
http_response(req, HTTP_STATUS_FOUND, NULL, 0);
|
||||
|
||||
return (KORE_RESULT_OK);
|
||||
}
|
||||
|
||||
int
|
||||
v_session_validate(struct http_request *req, char *data)
|
||||
{
|
||||
|
||||
|
||||
kore_log(LOG_NOTICE, "v_session_validate: %s", data);
|
||||
|
||||
if ( ht_get(hashtable, data) != NULL )
|
||||
return (KORE_RESULT_OK);
|
||||
else
|
||||
{
|
||||
kore_log(LOG_NOTICE, "Session Inexistante");
|
||||
}
|
||||
return (KORE_RESULT_ERROR);
|
||||
}
|
||||
|
||||
int
|
||||
private_portal(struct http_request *req)
|
||||
{
|
||||
struct kore_buf *b = NULL;
|
||||
u_int8_t *d = NULL;
|
||||
size_t len = 0;
|
||||
char *buffer =NULL ;
|
||||
session_t *account = NULL;
|
||||
|
||||
if (req->method == HTTP_METHOD_GET)
|
||||
http_populate_get(req);
|
||||
|
||||
|
||||
http_populate_cookies(req);
|
||||
|
||||
if (http_request_cookie(req, "session_id", &buffer))
|
||||
kore_log(LOG_DEBUG, "Got session_id: %s", buffer);
|
||||
|
||||
|
||||
b = kore_buf_alloc(asset_len_signup_html);
|
||||
kore_buf_append(b, asset_private_html, asset_len_private_html);
|
||||
|
||||
account = ht_get(hashtable, buffer);
|
||||
if (req->method == HTTP_METHOD_GET) {
|
||||
|
||||
kore_buf_replace_string(b, "$msg$", "GO", 4);
|
||||
|
||||
if (account != NULL)
|
||||
{
|
||||
kore_log(LOG_NOTICE, "account trouvé: %s", account->user);
|
||||
kore_buf_replace_string(b, "$login$", account->user, sizeof(account->user)+1);
|
||||
}
|
||||
http_response_header(req, "content-type", "text/html");
|
||||
d = kore_buf_release(b, &len);
|
||||
http_response(req, 200, d, len);
|
||||
kore_free(d);
|
||||
}
|
||||
return (KORE_RESULT_OK);
|
||||
}
|
226
src/sessions.h
Normal file
226
src/sessions.h
Normal file
@ -0,0 +1,226 @@
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <limits.h>
|
||||
#include <string.h>
|
||||
#include <time.h>
|
||||
|
||||
struct session_s {
|
||||
char *session_id;
|
||||
char *user;
|
||||
struct session_s *next;
|
||||
};
|
||||
|
||||
typedef struct session_s session_t;
|
||||
|
||||
struct hashtable_s {
|
||||
int size;
|
||||
struct session_s **table;
|
||||
};
|
||||
|
||||
typedef struct hashtable_s hashtable_t;
|
||||
|
||||
static hashtable_t *ht_create( int size );
|
||||
static int ht_hash( hashtable_t *hashtable, char *session_id );
|
||||
static session_t *ht_newpair( char *session_id, char *user );
|
||||
static session_t *ht_get( hashtable_t *hashtable, char *session_id );
|
||||
static void ht_set( hashtable_t *hashtable, char *session_id, char *user );
|
||||
static void ht_delete (hashtable_t *hashtable, char *key);
|
||||
static char *gen_session_id(int len);
|
||||
static char *set_cookie_header( const char *champ, const char separator,
|
||||
const char *session_id);
|
||||
|
||||
|
||||
/* Create a new hashtable. */
|
||||
hashtable_t *ht_create( int size ) {
|
||||
hashtable_t *hashtable = NULL;
|
||||
int i;
|
||||
|
||||
if( size < 1 ) return NULL;
|
||||
|
||||
/* Allocate the table itself. */
|
||||
if( ( hashtable = malloc( sizeof( hashtable_t ) ) ) == NULL ) {
|
||||
return NULL;
|
||||
|
||||
}
|
||||
|
||||
/* Allocate pointers to the head nodes. */
|
||||
if( ( hashtable->table = malloc( sizeof( session_t * ) * size ) ) == NULL ) {
|
||||
return NULL;
|
||||
}
|
||||
for( i = 0; i < size; i++ ) {
|
||||
hashtable->table[i] = NULL;
|
||||
}
|
||||
|
||||
hashtable->size = size;
|
||||
|
||||
return hashtable;
|
||||
}
|
||||
|
||||
/* Hash a string for a particular hash table. */
|
||||
int ht_hash( hashtable_t *hashtable, char *session_id ) {
|
||||
|
||||
unsigned long int hashval = 0;
|
||||
int i = 0;
|
||||
|
||||
/* Convert our string to an integer */
|
||||
while( hashval < ULONG_MAX && i < strlen( session_id ) ) {
|
||||
hashval = hashval << 8;
|
||||
hashval += session_id[ i ];
|
||||
i++;
|
||||
}
|
||||
|
||||
return hashval % hashtable->size;
|
||||
}
|
||||
|
||||
/* Create a key-value pair. */
|
||||
session_t *ht_newpair( char *session_id, char *user ) {
|
||||
session_t *newpair;
|
||||
|
||||
if( ( newpair = malloc( sizeof( session_t ) ) ) == NULL ) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if( ( newpair->session_id = strdup( session_id ) ) == NULL ) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if( ( newpair->user = strdup( user ) ) == NULL ) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
newpair->next = NULL;
|
||||
|
||||
return newpair;
|
||||
}
|
||||
|
||||
/* Insert a key-value pair into a hash table. */
|
||||
static void ht_set( hashtable_t *hashtable, char *session_id, char *user ) {
|
||||
int bin = 0;
|
||||
session_t *newpair = NULL;
|
||||
session_t *next = NULL;
|
||||
session_t *last = NULL;
|
||||
|
||||
bin = ht_hash( hashtable, session_id );
|
||||
|
||||
next = hashtable->table[ bin ];
|
||||
|
||||
while( next != NULL && next->session_id != NULL && strcmp( session_id, next->session_id ) > 0 ) {
|
||||
last = next;
|
||||
next = next->next;
|
||||
}
|
||||
|
||||
/* There's already a pair. Let's replace that string. */
|
||||
if( next != NULL && next->session_id != NULL && strcmp( session_id, next->session_id ) == 0 ) {
|
||||
|
||||
free( next->user );
|
||||
next->user = strdup( user );
|
||||
|
||||
/* Nope, could't find it. Time to grow a pair. */
|
||||
} else {
|
||||
newpair = ht_newpair( session_id, user );
|
||||
|
||||
/* We're at the start of the linked list in this bin. */
|
||||
if( next == hashtable->table[ bin ] ) {
|
||||
newpair->next = next;
|
||||
hashtable->table[ bin ] = newpair;
|
||||
|
||||
/* We're at the end of the linked list in this bin. */
|
||||
} else if ( next == NULL ) {
|
||||
last->next = newpair;
|
||||
|
||||
/* We're in the middle of the list. */
|
||||
} else {
|
||||
newpair->next = next;
|
||||
last->next = newpair;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Retrieve a key-value pair from a hash table. */
|
||||
static session_t *ht_get( hashtable_t *hashtable, char *session_id ) {
|
||||
int bin = 0;
|
||||
session_t *pair;
|
||||
|
||||
bin = ht_hash( hashtable, session_id );
|
||||
|
||||
/* Step through the bin, looking for our value. */
|
||||
pair = hashtable->table[ bin ];
|
||||
while( pair != NULL && pair->session_id != NULL && strcmp( session_id, pair->session_id ) > 0 ) {
|
||||
pair = pair->next;
|
||||
}
|
||||
|
||||
/* Did we actually find anything? */
|
||||
if( pair == NULL || pair->session_id == NULL || strcmp( session_id, pair->session_id ) != 0 )
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
return pair;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
void ht_delete (hashtable_t *hashtable, char *key){
|
||||
|
||||
int bin = 0;
|
||||
session_t *pair;
|
||||
session_t *prec;
|
||||
|
||||
bin = ht_hash( hashtable, key );
|
||||
/* Step through the bin, looking for our value. */
|
||||
pair = hashtable->table[ bin ];
|
||||
while( pair != NULL && pair->session_id != NULL && strcmp( key, pair->session_id ) > 0 ) {
|
||||
prec = pair;
|
||||
pair = pair->next;
|
||||
}
|
||||
|
||||
/* Did we actually find anything? */
|
||||
if( pair != NULL || pair->session_id != NULL || strcmp( key, pair->session_id ) == 0 ) {
|
||||
free(pair->session_id);
|
||||
free(pair->user);
|
||||
}
|
||||
}
|
||||
|
||||
char *gen_session_id(int len){
|
||||
|
||||
int index = 0;
|
||||
char session_id[len];
|
||||
char char1[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789/,.-+~`<>:";
|
||||
int c_tmp = 0;
|
||||
char *res;
|
||||
srand((unsigned int)(time(NULL)));
|
||||
|
||||
for(index = 0; index < len; index++)
|
||||
{
|
||||
c_tmp = rand() % sizeof(char1) - 1;
|
||||
session_id[index] = char1[c_tmp];
|
||||
}
|
||||
session_id[len] = '\0';
|
||||
res = strdup(session_id);
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
char *set_cookie_header( const char *champ, const char separator,
|
||||
const char *session_id) {
|
||||
int lch, lse;
|
||||
int ls = 0;
|
||||
char *result;
|
||||
lch = strlen(champ);
|
||||
lse = strlen(session_id);
|
||||
if (separator)
|
||||
ls = 1;
|
||||
|
||||
result = calloc(lch + ls + lse + 1, sizeof *result);
|
||||
|
||||
if (result != NULL) {
|
||||
memcpy (result, champ, lch);
|
||||
if (separator)
|
||||
result[lch] = separator;
|
||||
|
||||
memcpy (result + lch + ls, session_id, lse + 1 );
|
||||
}
|
||||
return result;
|
||||
}
|
241
src/sqlite3.c
241
src/sqlite3.c
@ -1,241 +0,0 @@
|
||||
#include <kore/kore.h>
|
||||
#include <kore/http.h>
|
||||
#include <fcntl.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include <sqlite3.h>
|
||||
#include "assets.h"
|
||||
#include <pwd.h>
|
||||
#if defined(__linux__)
|
||||
|
||||
#include <kore/seccomp.h>
|
||||
#include <crypt.h>
|
||||
|
||||
KORE_SECCOMP_FILTER("sqlite3",
|
||||
KORE_SYSCALL_ALLOW(newfstatat),
|
||||
KORE_SYSCALL_ALLOW(pread64),
|
||||
KORE_SYSCALL_ALLOW(pwrite64),
|
||||
KORE_SYSCALL_ALLOW(fdatasync),
|
||||
KORE_SYSCALL_ALLOW_ARG(write, 0, STDOUT_FILENO)
|
||||
);
|
||||
#endif
|
||||
|
||||
|
||||
int portal_user_load(struct http_request *);
|
||||
int v_password_func(struct http_request *, char *);
|
||||
int create_user(struct http_request *);
|
||||
|
||||
int create_user(struct http_request *req)
|
||||
{
|
||||
struct kore_buf *b;
|
||||
u_int8_t *d;
|
||||
size_t len;
|
||||
char *salt, *cryptpwd;
|
||||
char *err_msg = 0;
|
||||
char *user,*pwd,name[10];
|
||||
sqlite3_stmt *res;
|
||||
sqlite3 *db;
|
||||
|
||||
if (req->method == HTTP_METHOD_GET)
|
||||
http_populate_get(req);
|
||||
else if (req->method == HTTP_METHOD_POST)
|
||||
http_populate_post(req);
|
||||
|
||||
b = kore_buf_alloc(asset_len_signup_html);
|
||||
kore_buf_append(b, asset_signup_html, asset_len_signup_html);
|
||||
|
||||
|
||||
if (req->method == HTTP_METHOD_GET) {
|
||||
kore_buf_replace_string(b, "$msg$", "Toto", 4);
|
||||
|
||||
http_response_header(req, "content-type", "text/html");
|
||||
d = kore_buf_release(b, &len);
|
||||
http_response(req, 200, d, len);
|
||||
kore_free(d);
|
||||
|
||||
return (KORE_RESULT_OK);
|
||||
}
|
||||
|
||||
if (req->method == HTTP_METHOD_POST)
|
||||
{
|
||||
|
||||
|
||||
int rc = sqlite3_open("test.db", &db);
|
||||
|
||||
if (rc != SQLITE_OK) {
|
||||
|
||||
fprintf(stderr, "Cannot open database: %s\n", sqlite3_errmsg(db));
|
||||
sqlite3_close(db);
|
||||
|
||||
return 1;
|
||||
}
|
||||
//salt = crypt_gensalt("$2b$", 15, NULL, 0); //-> linux
|
||||
salt = bcrypt_gensalt(15); //-> openbsd
|
||||
|
||||
if (salt == NULL) {
|
||||
perror("crypt_gensalt");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
|
||||
(void)snprintf(name, sizeof(name), "login");
|
||||
http_argument_get_string(req, name, &user);
|
||||
|
||||
(void)snprintf(name, sizeof(name), "password");
|
||||
http_argument_get_string(req, name, &pwd);
|
||||
|
||||
cryptpwd = crypt(pwd, salt);
|
||||
if (cryptpwd == NULL) {
|
||||
perror("crypt_gensalt");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
printf("Encrypted: %s\n", cryptpwd);
|
||||
char *sql ="INSERT INTO users VALUES(?,?);";
|
||||
|
||||
rc = sqlite3_prepare_v2(db, sql, -1, &res, 0);
|
||||
|
||||
if (rc == SQLITE_OK) {
|
||||
sqlite3_bind_text(res, 1, user, -1, NULL);
|
||||
sqlite3_bind_text(res, 2, cryptpwd, -1, NULL);
|
||||
|
||||
}else {
|
||||
fprintf(stderr, "Failed to execute statement: %s\n", sqlite3_errmsg(db));
|
||||
}
|
||||
|
||||
sqlite3_step(res);
|
||||
if (rc != SQLITE_OK ) {
|
||||
fprintf(stderr, "SQL error: %s\n", err_msg);
|
||||
sqlite3_finalize(res);
|
||||
sqlite3_free(err_msg);
|
||||
sqlite3_close(db);
|
||||
return 1;
|
||||
}
|
||||
|
||||
sqlite3_close(db);
|
||||
http_response_header(req, "content-type", "text/html");
|
||||
d = kore_buf_release(b, &len);
|
||||
http_response(req, 200, d, len);
|
||||
kore_free(d);
|
||||
|
||||
return (KORE_RESULT_OK);
|
||||
}
|
||||
return (KORE_RESULT_ERROR);
|
||||
}
|
||||
|
||||
int portal_user_load(struct http_request *req)
|
||||
{
|
||||
struct kore_buf *b;
|
||||
u_int8_t *d;
|
||||
size_t len;
|
||||
char *login,*pwd, name[10];
|
||||
char *err_msg = 0;
|
||||
char salt[29], *cryptpwd;
|
||||
int rc;
|
||||
sqlite3_stmt *res;
|
||||
sqlite3 *db;
|
||||
|
||||
if (req->method == HTTP_METHOD_GET)
|
||||
http_populate_get(req);
|
||||
else if (req->method == HTTP_METHOD_POST)
|
||||
http_populate_post(req);
|
||||
|
||||
b = kore_buf_alloc(asset_len_index_html);
|
||||
kore_buf_append(b, asset_index_html, asset_len_index_html);
|
||||
|
||||
if (req->method == HTTP_METHOD_GET) {
|
||||
kore_buf_replace_string(b, "$login$", NULL, 0);
|
||||
kore_buf_replace_string(b, "$password$", NULL, 0);
|
||||
kore_buf_replace_string(b, "$msg$", "Toto", 4);
|
||||
|
||||
http_response_header(req, "content-type", "text/html");
|
||||
d = kore_buf_release(b, &len);
|
||||
http_response(req, 200, d, len);
|
||||
kore_free(d);
|
||||
|
||||
return (KORE_RESULT_OK);
|
||||
}
|
||||
|
||||
if (req->method == HTTP_METHOD_POST)
|
||||
{
|
||||
rc = sqlite3_open("test.db", &db);
|
||||
|
||||
if (rc != SQLITE_OK)
|
||||
{
|
||||
fprintf(stderr, "Cannot open database: %s\n", sqlite3_errmsg(db));
|
||||
sqlite3_close(db);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
char *sql = "SELECT email_address, password FROM users WHERE email_address = ?";
|
||||
|
||||
rc = sqlite3_prepare_v2(db, sql, -1, &res, 0);
|
||||
|
||||
if (rc == SQLITE_OK)
|
||||
{
|
||||
(void)snprintf(name, sizeof(name), "login");
|
||||
http_argument_get_string(req, name, &login);
|
||||
sqlite3_bind_text(res, 1, login , -1, NULL);
|
||||
}
|
||||
else
|
||||
{
|
||||
fprintf(stderr, "Failed to execute statement: %s\n", sqlite3_errmsg(db));
|
||||
}
|
||||
|
||||
sqlite3_step(res);
|
||||
if (rc != SQLITE_OK ) {
|
||||
fprintf(stderr, "SQL error: %s\n", err_msg);
|
||||
sqlite3_finalize(res);
|
||||
sqlite3_free(err_msg);
|
||||
sqlite3_close(db);
|
||||
return 1;
|
||||
}
|
||||
|
||||
(void)snprintf(name, sizeof(name), "password");
|
||||
http_argument_get_string(req, name, &pwd);
|
||||
|
||||
|
||||
strncpy (salt,(const char *)sqlite3_column_text(res, 1),29);
|
||||
|
||||
|
||||
cryptpwd = crypt(pwd, salt);
|
||||
if (cryptpwd == NULL) {
|
||||
perror("crypt_gensalt");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
|
||||
if ( strcmp( (const char *)sqlite3_column_text(res, 1), cryptpwd) )
|
||||
{
|
||||
printf("mauvais mot de passe\n");
|
||||
kore_buf_replace_string(b, "$msg$", "Erreur connection", 17);
|
||||
}else
|
||||
{
|
||||
kore_buf_replace_string(b, "$msg$", "Connection ok", 13);
|
||||
|
||||
}
|
||||
sqlite3_finalize(res);
|
||||
sqlite3_close(db);
|
||||
|
||||
|
||||
http_response_header(req, "content-type", "text/html");
|
||||
d = kore_buf_release(b, &len);
|
||||
http_response(req, 200, d, len);
|
||||
kore_free(d);
|
||||
return (KORE_RESULT_OK);
|
||||
}
|
||||
|
||||
return (KORE_RESULT_ERROR);
|
||||
|
||||
}
|
||||
|
||||
int v_password_func(struct http_request *req, char *data)
|
||||
{
|
||||
kore_log(LOG_NOTICE, "v_password_func called %s", data);
|
||||
|
||||
if ( strlen(data) < 128 )
|
||||
return (KORE_RESULT_OK);
|
||||
|
||||
return (KORE_RESULT_ERROR);
|
||||
|
||||
}
|
85
src/sqlite_utils.h
Normal file
85
src/sqlite_utils.h
Normal file
@ -0,0 +1,85 @@
|
||||
#include <kore/kore.h>
|
||||
#include <sqlite3.h>
|
||||
#include <stdio.h>
|
||||
|
||||
int init_db(const char *name);
|
||||
int check_db(const char *name);
|
||||
|
||||
int init_db(const char *name)
|
||||
{
|
||||
sqlite3 *db = NULL;
|
||||
char *zErrMsg = 0;
|
||||
char *sql = "CREATE TABLE Users(" \
|
||||
"Email CHAR(70) PRIMARY KEY NOT NULL, " \
|
||||
"Password TEXT NOT NULL," \
|
||||
"Email_rescue TEXT," \
|
||||
"Alias TEXT," \
|
||||
"XMPP TEXT, " \
|
||||
"Active CHAR(3) NOT NULL, " \
|
||||
"Token CHAR(30), " \
|
||||
"Website TEXT, " \
|
||||
"Date_create BIGINT );";
|
||||
|
||||
int rc = sqlite3_open(name, &db);
|
||||
|
||||
if (rc != SQLITE_OK) {
|
||||
kore_log(LOG_ERR, "Cannot create database: %s\n",
|
||||
sqlite3_errmsg(db));
|
||||
sqlite3_close(db);
|
||||
return (KORE_RESULT_ERROR);
|
||||
}
|
||||
|
||||
rc = sqlite3_exec(db, sql, 0, 0, &zErrMsg);
|
||||
|
||||
if( rc != SQLITE_OK ){
|
||||
kore_log(LOG_ERR, "SQL error: %s", zErrMsg);
|
||||
sqlite3_free(zErrMsg);
|
||||
} else {
|
||||
kore_log(LOG_NOTICE, "Database successfully created !");
|
||||
}
|
||||
|
||||
sqlite3_close(db);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int check_db(const char *name){
|
||||
sqlite3 *db = NULL;
|
||||
char *zErrMsg = 0;
|
||||
char *sql;
|
||||
int rc = sqlite3_open(name, &db);
|
||||
if (rc != SQLITE_OK) {
|
||||
kore_log(LOG_ERR, "Cannot open database: %s\n",
|
||||
sqlite3_errmsg(db));
|
||||
sqlite3_close(db);
|
||||
return (KORE_RESULT_ERROR);
|
||||
}
|
||||
|
||||
sql = "SELECT EXISTS(SELECT 1 FROM Users WHERE Email=''); " \
|
||||
"SELECT EXISTS(SELECT 1 FROM Users WHERE Password='');" \
|
||||
"SELECT EXISTS(SELECT 1 FROM Users WHERE Email_rescue='');" \
|
||||
"SELECT EXISTS(SELECT 1 FROM Users WHERE Alias='');" \
|
||||
"SELECT EXISTS(SELECT 1 FROM Users WHERE XMPP='');" \
|
||||
"SELECT EXISTS(SELECT 1 FROM Users WHERE Active='');" \
|
||||
"SELECT EXISTS(SELECT 1 FROM Users WHERE Token='');" \
|
||||
"SELECT EXISTS(SELECT 1 FROM Users WHERE Website='');" \
|
||||
"SELECT EXISTS(SELECT 1 FROM Users WHERE Date_create='');";
|
||||
|
||||
rc = sqlite3_exec(db, sql, 0, 0, &zErrMsg);
|
||||
|
||||
if( rc != SQLITE_OK ){
|
||||
kore_log(LOG_ERR, "SQL error: %s", zErrMsg);
|
||||
sqlite3_free(zErrMsg);
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
kore_log(LOG_NOTICE, "Check database 0K!");
|
||||
}
|
||||
|
||||
sqlite3_close(db);
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user