commit 85ea0b6dcc2c83dcdb91ab288c7c220c75ce311b Author: ben Date: Wed Oct 15 23:04:29 2025 +0200 Initial commit diff --git a/.build.yml b/.build.yml new file mode 100644 index 0000000..4d372ad --- /dev/null +++ b/.build.yml @@ -0,0 +1,41 @@ +image: debian/unstable +oauth: pages.sr.ht/PAGES:RW +packages: + - ikiwiki + - git + - libtimedate-perl + - libauthen-passphrase-perl + - libgravatar-url-perl + - libxml-simple-perl + - libhighlight-perl + - libhtml-tree-perl + - libtext-multimarkdown-perl + - libtext-textile-perl + - libtext-typography-perl + - locales-all + - perlmagick + - rsync + - hut +environment: + site: hackade.org +secrets: + - 1fcf62a0-7681-4125-908f-0363368b0609 +sources: + - git@git.sr.ht:~hackade/wiki + - git@git.sr.ht:~hackade/ikiwiki-setup + - git@git.sr.ht:~hackade/wiki-html-overlay +tasks: +- build: | + ssh-keyscan git.sr.ht >> ~/.ssh/known_hosts + git -C wiki checkout - + sed -e '/cgiurl/ s/^#*/#/' -i ikiwiki-setup/ikiwiki.setup + sed -e '/cgi_wrapper/ s/^#*/#/' -i ikiwiki-setup/ikiwiki.setup + sed 's/\/root/\/home\/build/g' -i ikiwiki-setup/ikiwiki.setup + sed 's/\/var\/www/\/home\/build/g' -i ikiwiki-setup/ikiwiki.setup + ikiwiki --verbose --setup ikiwiki-setup/ikiwiki.setup --url https://$site +- package: | + rsync -a wiki-html-overlay/ html/ + cd html + tar -cvz . > ../site.tar.gz +- upload: | + hut pages publish -d $site site.tar.gz diff --git a/about.mdwn b/about.mdwn new file mode 100644 index 0000000..a099036 --- /dev/null +++ b/about.mdwn @@ -0,0 +1 @@ +TBD diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000..4c699fd Binary files /dev/null and b/favicon.ico differ diff --git a/favicon.svg b/favicon.svg new file mode 100644 index 0000000..096297e --- /dev/null +++ b/favicon.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/index.mdwn b/index.mdwn new file mode 100644 index 0000000..ef2a790 --- /dev/null +++ b/index.mdwn @@ -0,0 +1,15 @@ +# Welcome + +Hi! Welcome to hackade.org, a personal website where I share experiments in cyber security, open-source software, and DIY projects. + +Here you'll find code, explorations, and ideas – a mix of security, tech, and hands-on creation. + +Here's how the site is structured: + +* [Git](https://git.sr.ht/~hackade/): The forge Git is for hosting all the open source projects. +* [Projects](/projects/): The descriptions of available projects. +* [Tools](/tools/): Online resources and tools that I share. +* [Wiki](/wiki/): Notes (in French) on my experiments. +* [About](/about): Information about this site. + + diff --git a/local.css b/local.css new file mode 100644 index 0000000..1492e74 --- /dev/null +++ b/local.css @@ -0,0 +1,1103 @@ +:root { + --blue: #007bff; + --indigo: #6610f2; + --purple: #6f42c1; + --pink: #e83e8c; + --red: #dc3545; + --orange: #fd7e14; + --yellow: #ffc107; + --green: #28a745; + --teal: #20c997; + --cyan: #17a2b8; + --white: #fff; + --gray: #6c757d; + --gray-dark: #343a40; + --primary: #007bff; + --secondary: #6c757d; + --success: #28a745; + --info: #17a2b8; + --warning: #ffc107; + --danger: #dc3545; + --light: #f8f9fa; + --dark: #343a40; + --breakpoint-xs: 0; + --breakpoint-sm: 576px; + --breakpoint-md: 768px; + --breakpoint-lg: 992px; + --breakpoint-xl: 1200px; + --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", + Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", + "Segoe UI Emoji", "Segoe UI Symbol"; + --font-family-monospace: monospace; +} +*, +*::before, +*::after { + box-sizing: border-box; +} +html { + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + -ms-overflow-style: scrollbar; + -webkit-tap-highlight-color: transparent; +} +@-ms-viewport { + width: device-width; +} + +footer, +header, +nav { + display: block; +} +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, segoe ui, Roboto, + helvetica neue, Arial, sans-serif, apple color emoji, segoe ui emoji, + segoe ui symbol; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: left; + background-color: #fff; +} +hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} +h1, +h2, +h3, +h4, +h5, +h6 { + margin-top: 0; + margin-bottom: 0.5rem; +} +p { + margin-top: 0; + margin-bottom: 1rem; +} +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} +ol, +ul { + margin-top: 0; + margin-bottom: 1rem; +} +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} +blockquote { + margin: 0 0 1rem; +} + +strong { + font-weight: bolder; +} +a { + color: #0242f2; + text-decoration: none; + background-color: initial; + -webkit-text-decoration-skip: objects; +} +a:hover { + color: #0056b3; + text-decoration: underline; +} +a:not([href]):not([tabindex]) { + color: inherit; + text-decoration: none; +} +a:not([href]):not([tabindex]):hover, +a:not([href]):not([tabindex]):focus { + color: inherit; + text-decoration: none; +} +a:not([href]):not([tabindex]):focus { + outline: 0; +} +pre, +code { + font-family: monospace; + font-size: 1em; +} +pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + -ms-overflow-style: scrollbar; +} +img { + vertical-align: middle; + border-style: none; +} +svg:not(:root) { + overflow: hidden; +} +table { + border-collapse: collapse; +} +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #6c757d; + text-align: left; + caption-side: bottom; +} +th { + text-align: inherit; +} +progress { + vertical-align: baseline; +} +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} +code { + font-size: 87.5%; + color: #e83e8c; + word-break: break-word; +} +a > code { + color: inherit; +} +pre { + display: block; + font-size: 87.5%; + color: #212529; +} +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + margin-bottom: 0.5rem; + font-family: inherit; + font-weight: 500; + line-height: 1.2; + color: inherit; +} +h1, +.h1 { + font-size: 2.5rem; +} +h2, +.h2 { + font-size: 2rem; +} +h3, +.h3 { + font-size: 1.75rem; +} +h4, +.h4 { + font-size: 1.5rem; +} +h5, +.h5 { + font-size: 1.25rem; +} +h6, +.h6 { + font-size: 1rem; +} +hr { + margin-top: 1rem; + margin-bottom: 1rem; + border: 0; + border-top: 1px solid rgba(0, 0, 0, 0.1); +} +.blockquote { + margin-bottom: 1rem; + font-size: 1.25rem; +} +.container { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} +@media (min-width: 576px) { + .container { + max-width: 540px; + } +} +@media (min-width: 768px) { + .container { + max-width: 720px; + } +} +@media (min-width: 992px) { + .container { + max-width: 960px; + } +} +@media (min-width: 1200px) { + .container { + max-width: 1140px; + } +} +.table, +.markdown table { + width: 100%; + max-width: 100%; + margin-bottom: 1rem; + background-color: initial; +} +.table th, +.markdown table th, +.table td, +.markdown table td { + padding: 0.75rem; + vertical-align: top; + border-top: 1px solid #dee2e6; +} +.table thead th, +.markdown table thead th { + vertical-align: bottom; + border-bottom: 2px solid #dee2e6; +} +.table tbody + tbody, +.markdown table tbody + tbody { + border-top: 2px solid #dee2e6; +} +.table .table, +.markdown table .table, +.table .markdown table, +.markdown .table table, +.markdown table table { + background-color: #fff; +} +@keyframes progress-bar-stripes { + from { + background-position: 1rem 0; + } + to { + background-position: 0 0; + } +} +.progress { + display: flex; +/* height: 1rem; */ + overflow: hidden; + font-size: 0.75rem; + background-color: #e9ecef; + border-radius: 0.25rem; +} +.nav { + display: flex; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} +.nav-link { + display: block; + padding: 0.5rem 1rem; +} +.nav-link:hover, +.nav-link:focus { + text-decoration: none; +} +.nav-tabs { + border-bottom: 1px solid #dee2e6; +} +.nav-tabs .nav-item { + margin-bottom: -1px; +} +.nav-tabs .nav-link { + border: 1px solid transparent; + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} +.nav-tabs .nav-link:hover, +.nav-tabs .nav-link:focus { + border-color: #e9ecef #e9ecef #dee2e6; +} +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + color: #495057; + background-color: #fff; + border-color: #dee2e6 #dee2e6 #fff; +} +.navbar { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + padding: 0.5rem 1rem; +} +.navbar > .container { + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; +} +.navbar-brand { + display: inline-block; + padding-top: 0.3125rem; + padding-bottom: 0.3125rem; + margin-right: 1rem; + font-size: 1.25rem; + line-height: inherit; + white-space: nowrap; +} +.navbar-brand:hover, +.navbar-brand:focus { + text-decoration: none; +} +.navbar-nav { + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} +.navbar-nav .nav-link { + padding-right: 0; + padding-left: 0; +} +@media (max-width: 575.98px) { + .navbar-expand-sm > .container { + padding-right: 0; + padding-left: 0; + } +} +@media (min-width: 576px) { + .navbar-expand-sm { + flex-flow: row nowrap; + justify-content: flex-start; + } + .navbar-expand-sm .navbar-nav { + flex-direction: row; + } + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-sm > .container { + flex-wrap: nowrap; + } +} +.navbar-light .navbar-brand { + color: #000; +} +.navbar-light .navbar-brand:hover, +.navbar-light .navbar-brand:focus { + color: #000; +} +.navbar-light .navbar-nav .nav-link { + color: dimgray; +} +.navbar-light .navbar-nav .nav-link:hover, +.navbar-light .navbar-nav .nav-link:focus { + color: rgba(0, 0, 0, 0.7); +} +.navbar-light .navbar-nav .show > .nav-link, +.navbar-light .navbar-nav .active > .nav-link, +.navbar-light .navbar-nav .nav-link.show, +.navbar-light .navbar-nav .nav-link.active { + color: #000; +} +.alert { + position: relative; + padding: 0.75rem 1.25rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: 0.25rem; +} +@media print { + *, + *::before, + *::after { + text-shadow: none !important; + box-shadow: none !important; + } + a:not(.btn) { + text-decoration: underline; + } + pre { + white-space: pre-wrap !important; + } + pre, + blockquote { + border: 1px solid #adb5bd; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + @page { + size: a3; + } + body { + min-width: 992px !important; + } + .container { + min-width: 992px !important; + } + .navbar { + display: none; + } + .table, + .markdown table { + border-collapse: collapse !important; + } + .table td, + .markdown table td, + .table th, + .markdown table th { + background-color: #fff !important; + } +} +.icon { + display: inline-block; + line-height: 0.75em; + width: 1.1em; + vertical-align: -0.2em; +} +.icon svg { + display: block; +} +@keyframes fa-spin { + 0% { + transform: rotate(0); + } + 100% { + transform: rotate(1turn); + } +} +.navbar { + flex-wrap: wrap; +} +.navbar .navbar-nav { + flex-grow: 1; + flex-wrap: nowrap; +} +@media (max-width: 575.98px) { + .navbar .navbar-nav { + flex-direction: row !important; + } + .navbar .navbar-nav .nav-link { + padding: 0 0.5rem; + } + .navbar .navbar-nav .nav-link:first-child { + padding-left: 0; + } +} +.navbar .nav-link:hover { + text-decoration: underline; +} +.navbar-light .navbar-brand a { + text-decoration: none; + color: #000; +} +.navbar-light .navbar-brand a:hover { + text-decoration: underline; +} +.navbar-light .navbar-brand .icon { + position: relative; + top: 1px; +} +.nav-tabs { + padding-left: 1rem; + margin-bottom: 0.5rem; + border-bottom: 3px #ddd solid; +} +.nav-tabs .nav-link { + padding: 0 1rem; + border-radius: 0; + border: none; + color: #65686a; + cursor: pointer; +} +.nav-tabs .nav-link.active, +.nav-tabs .nav-link.active:hover { + color: #000; + background: #ddd; +} +.header-tabbed { + border-bottom: 3px solid #ddd; + margin-bottom: 1rem; +} +.header-tabbed .container { + display: flex; + flex-wrap: wrap; +} +@media (max-width: 767.98px) { + .header-tabbed .container { + flex-direction: column; + } +} +.header-tabbed h2 { + display: inline; + margin: 0; + padding-right: 1rem; +} +.header-tabbed .nav { + border: none; + margin: 0; + flex-grow: 1; + display: inline-flex; + flex-wrap: nowrap; + padding: 0; +} +.header-tabbed .nav li { + align-self: flex-end; +} +.header-tabbed .nav .nav-item:hover { + background: #ddd; +} +.header-tabbed .nav .nav-item:hover a { + color: #000; +} +@media (max-width: 767.98px) { + .header-tabbed .nav { + flex-wrap: wrap; + } + .header-tabbed .nav li { + align-self: flex-start; + margin: 0 -1rem; + width: 100vw; + } +} +.header-tabbed form { + margin-top: 0; + margin-bottom: 0; +} +@media (max-width: 575.98px) { + .header-tabbed .nav-tabs { + padding-left: 0; + } +} +.map { + margin-bottom: 1rem; + text-overflow: ellipsis; + overflow: hidden; + padding: 0.5rem; + margin: 0.5rem 0; + background: #f8f9fa; +} +.map a { + color: #0640e0; +} +.map a:hover { + color: #0056b3; +} +.map:first-child { + margin-top: 0; +} +.map:last-child { + margin-bottom: 0; +} +.map h4 { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + margin-bottom: 0; + padding: 0; +} +.map blockquote { + margin-bottom: 0.5rem; +} +.map blockquote *:last-child { + margin-bottom: 0; +} +.map *:last-child { + margin-bottom: 0; +} +.toc { + margin-bottom: 1rem; + text-overflow: ellipsis; + overflow: hidden; + padding: 0.5rem; + margin: 0.5rem 0; + background: #f8f9fa; +} +.toc a { + color: #0640e0; +} +.toc a:hover { + color: #0056b3; +} +.toc:first-child { + margin-top: 0; +} +.toc:last-child { + margin-bottom: 0; +} +.toc h4 { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + margin-bottom: 0; + padding: 0; +} +.toc blockquote { + margin-bottom: 0.5rem; +} +.toc blockquote *:last-child { + margin-bottom: 0; +} +.toc *:last-child { + margin-bottom: 0; +} +body { + font-family: sans-serif; + font-size: 1rem; + padding-bottom: 1rem; + text-align: initial; +} +@media (max-width: 991.98px) { + .container { + width: 100%; + max-width: 100%; + } +} +a { + text-decoration: underline; +} +a:hover { + text-decoration: none; +} +a.nav-link, +a.navbar-brand { + text-decoration: none; +} +h1 a, +h2 a, +h3 a, +h4 a, +h5 a { + text-decoration: none; +} +h1 a:hover, +h2 a:hover, +h3 a:hover, +h4 a:hover, +h5 a:hover { + text-decoration: underline; +} +form { + margin-bottom: 1rem; +} +h1, +h2 { + margin-top: 0; +} +h3 { + font-size: 1.3rem; + border-bottom: 1px solid #e9ecef; + padding-bottom: 0.25rem; +} +h4 { + font-size: 1.1rem; + border-bottom: 1px solid #e9ecef; + padding-bottom: 0.25rem; +} +h5 { + font-size: 1rem; + font-weight: 700; +} +.table thead th, +.markdown table thead th { + padding: 0.1rem 0.75rem; + border: none; +} +.table tbody td, +.markdown table tbody td { + position: relative; + background-clip: padding-box; + vertical-align: middle; + padding: 0.1rem 0.75rem; + border: 1px solid #ced4da; + background-color: #fff; +} +.alert { + padding: 0.5rem; + border-radius: 0; +} +blockquote { + padding-left: 0.5rem; + border-left: 3px solid #aaa; +} +pre { + background: #e9ecef; + padding: 0.25rem; +} +code { + margin: 0; + background: 0 0; + color: #000; +} +.markdown h1, +.markdown h2, +.markdown h3, +.markdown h4, +.markdown h5, +.markdown h6 { + position: relative; + margin-top: 1em; +} +.markdown h1:first-child, +.markdown h2:first-child, +.markdown h3:first-child, +.markdown h4:first-child, +.markdown h5:first-child, +.markdown h6:first-child { + margin-top: 0; +} +.markdown h1 > a:first-child, +.markdown h2 > a:first-child, +.markdown h3 > a:first-child, +.markdown h4 > a:first-child, +.markdown h5 > a:first-child, +.markdown h6 > a:first-child { + transition: opacity 0.15s linear; + opacity: 0; + position: absolute; + font-size: inherit; + left: -0.7em; +} +@media (prefers-reduced-motion) { + .markdown h1 > a:first-child, + .markdown h2 > a:first-child, + .markdown h3 > a:first-child, + .markdown h4 > a:first-child, + .markdown h5 > a:first-child, + .markdown h6 > a:first-child { + transition: none; + } +} +.markdown h1:hover > a:first-child, +.markdown h2:hover > a:first-child, +.markdown h3:hover > a:first-child, +.markdown h4:hover > a:first-child, +.markdown h5:hover > a:first-child, +.markdown h6:hover > a:first-child { + opacity: 1; +} +.markdown h1 img, +.markdown h2 img, +.markdown h3 img, +.markdown h4 img, +.markdown h5 img, +.markdown h6 img { + margin: 0 0.2rem; + max-width: 100%; +} +@media (prefers-color-scheme: dark) { + body { + background: #212529; + color: #f8f9fa; + } + .toc { + background: #131618; + color: #fff; + } + .toc a:not(.btn) { + color: #3395ff; + } + .map { + background: #131618; + color: #fff; + } + .map a:not(.btn) { + color: #3395ff; + } + a { + color: #3395ff; + } + h3, + h4 { + border-bottom-color: #495057; + } + pre { + color: #fff; + background: #131618; + } + code { + color: #fff; + } + .table, + .markdown table, + .table tbody tr, + .markdown table tbody tr, + .table tbody td, + .markdown table tbody td, + .table thead th, + .markdown table thead th { + background: #343a40; + } + .table tbody td, + .markdown table tbody td { + border: 1px solid #212529; + } + .navbar-light .navbar-brand, + .navbar-light .navbar-brand a, + .navbar-light .navbar-brand a:hover, + .navbar-light .navbar-brand:hover { + color: #fff; + } + .navbar-light .navbar-nav .nav-link { + color: #78828a; + } + .navbar-light .navbar-nav .nav-link:focus { + color: #adb5bd; + } + .navbar-light .navbar-nav .nav-link:hover { + color: #fff; + } + .navbar-light .navbar-nav .active .nav-link { + color: #fff; + } + .header-tabbed { + border-color: #131618; + } + .header-tabbed .nav .nav-item .nav-link.active, + .header-tabbed .nav .nav-item .nav-link:hover { + color: #fff; + background: #131618; + border-color: #131618; + } + .header-tabbed .nav .nav-link { + color: #ced4da; + } +} +html, +body { + min-height: 100%; + height: 100%; +} +img { + max-width: 100%; +/* display: block;*/ + margin: 0 0.2rem; +} +.img-block { + display: block; +} +h3 { + padding-top: 1rem; +} +h4 { + padding-top: 1rem; +} +h5 { + border-bottom: 1px solid #e9ecef; +} +.toc { + padding: 0.5rem 1rem; +} +.map { + padding: 0.5rem 1rem; +} +.alert { + position: initial; +} +.toc { + padding: 0.5rem 1rem; +} +.map { + display: flex; + justify-content: space-between; + align-content: space-between; + align-items: stretch; + flex-wrap: wrap; + margin-bottom: 0; +} +.toggle { + display: inline-block; + text-align: center; + white-space: nowrap; + vertical-align: middle; + user-select: none; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + background: #dee2e6; + border: #343a40 1px solid; + color: #000; + border-radius: 0; + padding: 0.1rem 0.75rem; + font-size: 0.9rem; + transition: background 0.1s linear; +} + +@media screen and (prefers-reduced-motion: reduce) { + .toggle { + transition: none; + } +} +.toggle:hover, +.toggle:focus { + text-decoration: none; +} +.toggle:focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.toggle:disabled { + opacity: 0.65; +} +.toggle:not(:disabled):not(.disabled) { + cursor: pointer; +} +.toggle:not(:disabled):not(.disabled):active, +.toggle:not(:disabled):not(.disabled).active { + background-image: none; +} +a.toggle { + color: #000; + text-decoration: none; +} +a.toggle:hover { + color: #000; +} +.toggle:hover { + background: #e9ecef; +} +.tip { + position: relative; + padding: 0.75rem 1.25rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: 0.25rem; + color: #004085; + background-color: #cce5ff; + border-color: #b8daff; + +} +.tip hr { + border-top-color: #9fcdff; +} +a.tip { + color: #002752; +} +.note { + position: relative; + padding: 0.75rem 1.25rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: 0.25rem; + color: #0c5460; + background-color: #d1ecf1; + border-color: #bee5eb; +} +.note hr { + border-top-color: #abdde5; +} +a.note { + color: #062c33; +} +.important { + position: relative; + padding: 0.75rem 1.25rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: 0.25rem; + color: #1b1e21; + background-color: #d6d8d9; + border-color: #c6c8ca; + +} +.important hr { + border-top-color: #b9bbbe; +} +a.important { + color: #040505; +} +.caution { + position: relative; + padding: 0.75rem 1.25rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: 0.25rem; + color: #856404; + background-color: #fff3cd; + border-color: #ffeeba; + +} +.caution hr { +border-top-color: #ffe8a1; +} +a.caution { +color: #533f03; +} +.warning { + position: relative; + padding: 0.75rem 1.25rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: 0.25rem; + color: #721c24; + background-color: #f8d7da; + border-color: #f5c6cb; + +} +.warning hr { +border-top-color: #f1b0b7; +} +a.warning { + color: #491217; +} +.sidebar { + width: 20ex; + float: right; + margin-left: 4px; + margin-bottom: 4px; + margin-top: -1px; + padding: 0ex 2ex; +border-top: 0px; +border-left: 1px solid #ddd; +border-bottom: 0px; +border-right: 0px; + background: white; + color: black !important; + + +} diff --git a/offsec-mind.html b/offsec-mind.html new file mode 100644 index 0000000..334eeff --- /dev/null +++ b/offsec-mind.html @@ -0,0 +1,86 @@ + [[!meta stylesheet=jsmind-0.8.3]] + [[!meta script=jsmind-0.8.3]] + [[!meta script=openseadragon.min]] + +
+ OSCP +  |  + Windows +  |  + Active directory 1 +  |  + Active directory 2 +
+
+
+ +
diff --git a/projects.mdwn b/projects.mdwn new file mode 100644 index 0000000..db3186f --- /dev/null +++ b/projects.mdwn @@ -0,0 +1,12 @@ +# Projects + + +* [Truepolyglot](https://truepolyglot.hackade.org/): a PDF/ZIP polyglot file generator project in Python. + +* [Honeyjs](https://git.sr.ht/~hackade/honeyjs): a fake server administration website in static html/js. demo root:password1234 + +* [Inexact](https://git.sr.ht/~hackade/inexact): an experimental cryptographic tool, multi-platform, scriptable in C. + +* [Fast Memo Shell](https://git.sr.ht/~hackade/fms): a shell script for memorizing and executing numerous commands, designed for productivity in CTF and Pentesting. + +* [AI env](https://git.sr.ht/~hackade/ai_env): a containerized solution for a Privacy-First Command-Line AI for Linux. diff --git a/sandbox.mdwn b/sandbox.mdwn new file mode 100644 index 0000000..2d41ed1 --- /dev/null +++ b/sandbox.mdwn @@ -0,0 +1,228 @@ +# sandbox + +Nunc vero inanes flatus quorundam vile esse quicquid extra urbis pomerium nascitur aestimant praeter orbos et caelibes, nec credi potest qua obsequiorum diversitate coluntur homines sine liberis Romae. + +# titre + +Hinc ille commotus ut iniusta :) perferens et indigna praefecti custodiam protectoribus mandaverat fidis. quo conperto Montius tunc quaestor acer quidem sed ad lenitatem propensior, consulens in commune advocatos palatinarum primos scholarum adlocutus est mollius docens nec decere haec fieri nec prodesse addensque vocis obiurgatorio sonu quod si id placeret, post statuas Constantii deiectas super adimenda vita praefecto conveniet securius cogitari. + +* coucou :) +* smiley :-) +* smiley :D +* smiley :-D +* smiley B) + +[[!progress percent="33"]] + +[[!table class="table" data=""" +Customer |Amount +Fulanito |134,34 +Menganito|234,56 +Menganito|234,56 +"""]] + + +[[!toggle id="ipsum" text="show"]] + +[[!toggleable id="ipsum" text=""" +Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do +eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim +ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut +aliquip ex ea commodo consequat. + +[[!toggle class="button" id="ipsum" text="hide"]] +"""]] + +## Tips + +[[!tip "TIP Admonitions should be used with care. A page riddled with admonitions will look restless and will be harder to follow than a page where admonitions are used sparingly."]] + +[[!note "NOTE Lorem ipsum dolor sit amet, consectetuer adipiscing elit."]] + +[[!important "IMPORTANT Lorem ipsum dolor sit amet, consectetuer adipiscing elit."]] + +[[!caution "CAUTION Lorem ipsum dolor sit amet, consectetuer adipiscing elit."]] + +[[!warning "WARNING Lorem ipsum dolor sit amet, consectetuer adipiscing elit."]] + +## Code + +``` +ls -al /etc +``` +```bash +ls -al / +``` + +## titre 2 + +Et est admodum mirum videre plebem innumeram mentibus ardore quodam infuso cum dimicationum curulium eventu pendentem. haec similiaque memorabile nihil vel serium agi Romae permittunt. ergo redeundum ad textum. + +## titre 2 bis + +Et Epigonus quidem amictu tenus philosophus, ut apparuit, prece frustra temptata, sulcatis lateribus mortisque metu admoto turpi confessione cogitatorum socium, quae nulla erant, fuisse firmavit cum nec vidisset quicquam nec audisset penitus expers forensium rerum; Eusebius vero obiecta fidentius negans, suspensus in eodem gradu constantiae stetit latrocinium illud esse, non iudicium clamans. + + +### Table of Contents +[[!toc ]] + +## Map +[[!map pages="* and !blog/* and !*/Discussion"]] + +## Images + +screenshot: +[[!img sandbox/prusa_slicer.png title="title image" class="img-block" caption="caption" size=600x]] + + +### titre 3 + +Et quoniam apud eos ut in capite mundi morborum acerbitates celsius dominantur, ad quos vel sedandos omnis professio medendi torpescit, excogitatum est adminiculum sospitale nequi amicum perferentem similia videat, additumque est cautionibus paucis remedium aliud satis validum, ut famulos percontatum missos quem ad modum valeant noti hac aegritudine colligati, non ante recipiant domum quam lavacro purgaverint corpus. ita etiam alienis oculis visa metuitur labes. + +[[!more linktext="click for more" text=""" +This is the rest of my post. Not intended for people catching up on +their blogs at 30,000 feet. Because I like to make things +difficult. +"""]] + +[[!meta robots="noindex, follow"]] + +Text on this wiki is, by default, written in a form very close to how you +might write text for an email message. This style of text formatting is +called [[MarkDown]], and it works like this: + +Leave blank lines between paragraphs. + +You can *\*emphasise\** or **\*\*strongly emphasise\*\*** text by placing it +in single or double asterisks. + +To create a list, start each line with an asterisk: + +* "* this is my list" +* "* another item" + +To make a numbered list, start each line with a number (any number will +do) followed by a period: + +1. "1. first line" +2. "2. second line" +2. "2. third line" + +To create a header, start a line with one or more `#` characters followed +by a space and the header text. The number of `#` characters controls the +size of the header: + +# # h1 +## ## h2 +### ### h3 +#### #### h4 +##### ##### h5 +###### ###### h6 + +To create a horizontal rule, just write three or more dashes or stars on +their own line: + +---- + +To quote someone, prefix the quote with ">": + +> To be or not to be, +> that is the question. + +To write a code block, indent each line with a tab or 4 spaces: + + 10 PRINT "Hello, world!" + 20 GOTO 10 + +To link to an url or email address, you can just put the +url in angle brackets: <>, or you can use the +form \[link text\]\(url\) + +---- + +In addition to basic html formatting using [[MarkDown]], this wiki lets +you use the following additional features: + +* To link to another page on the wiki, place the page's name inside double + square brackets. So you would use `\[[WikiLink]]` to link to [[WikiLink]]. + +[[!if test="enabled(smiley) and smileys" then=""" +* Insert [[smileys]] and some other useful symbols. :-) +"""]] + +[[!if test="enabled(shortcut) and shortcuts" then=""" +* Use [[shortcuts]] to link to common resources. + + \[[!wikipedia War\_of\_1812]] +"""]] + +[[!if test="enabled(template) and templates" then=""" +* Create and fill out [[templates]] for repeated chunks of + parameterized wiki text. +"""]] + +* Insert various [[directives|directive]] onto a page to perform useful + actions. +[[!if test="enabled(toc) or enabled(meta) or enabled(inline)" then=""" + For example, you can: +"""]] + +[[!if test="enabled(toc)" then=""" + * Add a table of contents to a page: + + \[[!toc]] +"""]] + + +[[!if test="enabled(meta)" then=""" + * Change the title of a page: + + \[[!meta title="full page title"]] +"""]] + +[[!if test="enabled(inline)" then=""" + * Create a blog by inlining a set of pages: + + \[[!inline pages="blog/*"]] +"""]] + +[[!if test="enabled(listdirectives)" then=""" + Full list of [[directives|directive]] enabled for this wiki: + [[!listdirectives ]] +"""]] + +This is the SandBox, a page anyone can edit to learn how to use the wiki. + +---- + +Here's a paragraph. + +Here's another one with *emphasised* text. + +# Header + +## Subheader + +> This is a blockquote. +> +> This is the first level of quoting. +> +> > This is nested blockquote. +> +> Back to the first level. + +Numbered list + +1. First item. +1. Another. +1. And another.. + +Bulleted list + +* *item* +* item + +[[ikiwiki/WikiLink]] + + + diff --git a/sandbox/prusa_slicer.png b/sandbox/prusa_slicer.png new file mode 100644 index 0000000..8ad5555 Binary files /dev/null and b/sandbox/prusa_slicer.png differ diff --git a/sidebar.mdwn b/sidebar.mdwn new file mode 100644 index 0000000..3613850 --- /dev/null +++ b/sidebar.mdwn @@ -0,0 +1,3 @@ +* [Wiki](https://hackade.org/wiki/) +* [Git Repositories](https://hackade.org/git/) +* [Projects](https://hackade.org/project/) diff --git a/templates/page.tmpl b/templates/page.tmpl new file mode 100644 index 0000000..6e4e383 --- /dev/null +++ b/templates/page.tmpl @@ -0,0 +1,293 @@ + + + + + + + + + + +<TMPL_VAR TITLE> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ + + / + + + + + +  (%) + + + + + + +

+ + + + + + +
+ + + + + +
+
+ + + + + + + +
+ + + + + + + +
+
+
+ +
+ + + + + diff --git a/tools.mdwn b/tools.mdwn new file mode 100644 index 0000000..44a6924 --- /dev/null +++ b/tools.mdwn @@ -0,0 +1,5 @@ + +* [CORS checker](https://cors.hackade.org/): a tool to check if the browser behavior complies with Cross-Origin Resource Sharing policies. + +* [OffSec Mind Maps](/offsec-mind/): Mind maps for penetration testing and OSCP students. + diff --git a/wiki.mdwn b/wiki.mdwn new file mode 100644 index 0000000..a099036 --- /dev/null +++ b/wiki.mdwn @@ -0,0 +1 @@ +TBD