This commit is contained in:
2025-10-19 13:20:58 +02:00
parent c80792cb47
commit 467fd14ada
40 changed files with 8552 additions and 1 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
!function(){function i(i,e,o){var t=new __ez.Pixel(o);return t.setPixelBuilder((function(o,t){var _=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(__ez.dot.isDefined(o)&&__ez.dot.isValid(t)){var d={type:i,domain_id:__ez.dot.getDID(),t_epoch:__ez.dot.getEpoch(0),data:__ez.dot.dataToStr(t)};return d[e]=o,_&&_.hasOwnProperty("impression_id")&&_.hasOwnProperty("ad_unit")&&(d.impression_id=_.impression_id.toString(),d.unit=_.ad_unit),d}})),t.setFireConfig({urlParam:"v",withAutomaticFire:!1}),t}__ez.vep=i("video","video_impression_id","/detroitchicago/grapefruit.gif"),__ez.vaep=i("video-ad","video_ad_impression_id","/porpoiseant/lemon.gif"),__ez.osvaep=i("outstream-video-ad","video_ad_impression_id","/porpoiseant/tangerine.gif")}();

View File

@@ -0,0 +1 @@
try { __ez.ck.get=function(n,e){null!==e&&(n=n+"_"+e);for(var t=n+"=",o=decodeURIComponent(document.cookie).split(";"),c=0;c<o.length;c++){for(var i=o[c];" "===i.charAt(0);)i=i.substring(1);if(0===i.indexOf(t))return i.substring(t.length,i.length)}return""},__ez.ck.setByCat=function(n,e,t,o){var c=function(){(o||window.ezTcfConsent[t])&&(document.cookie=n+"="+e)};o||window.ezTcfConsent&&window.ezTcfConsent.loaded?c():"function"==typeof getEzConsentData?getEzConsentData().then((function(n){n&&n.loaded||(console.error("cannot get ez consent data"),o=!0),c()})):(o=!0,c())};} catch(err) {var hREED = function(er) {return function() {reportEzError(er, "/detroitchicago/boise.js")}}; typeof reportEzError==="function"?hREED(err):window.addEventListener('reportEzErrorDefined',hREED(err), {once: true}); console.error(err);}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
"use strict";(async function(){const a={},c=new Set,d=document.querySelector("[data-ghost-comments-counts-api]").dataset.ghostCommentsCountsApi,i=function(o,e=100){let n;return(...t)=>{clearTimeout(n),n=setTimeout(()=>o.apply(this,t),e)}},m=function(o){(o.querySelectorAll?.("[data-ghost-comment-count]")||[]).forEach(n=>{a[n.dataset.ghostCommentCount]||c.add(n.dataset.ghostCommentCount)})},l=function(){for(const[o,e]of Object.entries(a))document.querySelectorAll(`[data-ghost-comment-count="${o}"]`).forEach(t=>{let s=t.dataset.ghostCommentCountEmpty;if(e===1&&(t.dataset.ghostCommentCountSingular?s=`${e} ${t.dataset.ghostCommentCountSingular}`:s=e),e>1&&(t.dataset.ghostCommentCountPlural?s=`${e} ${t.dataset.ghostCommentCountPlural}`:s=e),s)if(t.dataset.ghostCommentCountAutowrap!=="false"){const u=document.createElement(t.dataset.ghostCommentCountTag);t.dataset.ghostCommentCountClassName&&u.classList.add(t.dataset.ghostCommentCountClassName),u.textContent=s,t.insertAdjacentElement("afterend",u)}else t.insertAdjacentText("afterend",s);t.remove()})},r=async function(){const o=Array.from(c);if(c.clear(),!o.length)return;const e=await fetch(`${d}?ids=${o.join(",")}`,{method:"GET",headers:{Accept:"application/json","Content-Type":"application/json"}});if(e.status!==200)return;const n=await e.json();for(const[t,s]of Object.entries(n))a[t]=s;l()};new MutationObserver(o=>{o.forEach(e=>{e.addedNodes.forEach(n=>{m(n),i(r)})})}).observe(document.body,{subtree:!0,childList:!0}),m(document.body),r()})();

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,3 @@
<!DOCTYPE html>
<!-- saved from url=(0326)https://m.stripe.network/inner.html#url=https%3A%2F%2Flinuxhandbook.com%2Flvm-guide%2F&title=Complete%20Beginner's%20Guide%20to%20LVM%20in%20Linux%20%5BWith%20Hands-on%5D&referrer=https%3A%2F%2Fduckduckgo.com%2F&muid=NA&sid=NA&version=6&preview=false&metaReferrerPolicy=no-referrer-when-downgrade&__shared_params__[version]=v3 -->
<html class=" ktqbsk"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>StripeM-Inner</title></head><body><script>!function(){var e=document.createElement("script");e.defer=!0,e.src="out-4.5.45.js",e.onload=function(){var e;window.StripeM&&(e=window.location.hash,/ping=false/.test(e)||(e=(e=e.match(/version=(4|6)/))?e[1]:"4",window.StripeM.p({t:!0,v:e})),e=function(e){if(window.opener||window.parent||window)try{var i=((t=JSON.parse(e.data)).message||t).action,t=t.message?t.message.payload:t;switch(i){case"ping":window.StripeM.p({t:!0,o:{muid:t.muid,sid:t.sid,referrer:t.referrer,url:t.url,title:t.title,v2:t.v2},v:t.version||"4"});break;case"track":if(!t.source||!t.data)return;window.StripeM.b({muid:t.muid,sid:t.sid,url:t.url,source:t.source,data:t.data},t.version||"4")}}catch(e){}},window.addEventListener?window.addEventListener("message",e,!1):window.attachEvent("onMessage",e))},document.body.appendChild(e)}()</script><script defer="" src="./out-4.5.45.js.download"></script></body></html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
!function(){"use strict";var e="https://m.stripe.network",n=window.location.hash,t=/preview=true/.test(n)?"inner-preview.html":"inner.html",o=document.createElement("iframe");o.src="".concat(e,"/").concat(t).concat(n);var i=function(n){if(n.origin===e){var t=window.opener||window.parent||window;if(!t)return;t.postMessage(n.data,"*")}else o.contentWindow.postMessage(n.data,"*")};window.addEventListener?window.addEventListener("message",i,!1):window.attachEvent("onMessage",i),document.body&&document.body.appendChild(o)}();

View File

@@ -0,0 +1,3 @@
<!DOCTYPE html>
<!-- saved from url=(0361)https://js.stripe.com/v3/m-outer-3437aaddcdf6922d623e172c2d6f9278.html#url=https%3A%2F%2Flinuxhandbook.com%2Flvm-guide%2F&title=Complete%20Beginner's%20Guide%20to%20LVM%20in%20Linux%20%5BWith%20Hands-on%5D&referrer=https%3A%2F%2Fduckduckgo.com%2F&muid=NA&sid=NA&version=6&preview=false&metaReferrerPolicy=no-referrer-when-downgrade&__shared_params__[version]=v3 -->
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><script defer="defer" src="./m-outer-15a2b40a058ddff1cffdb63779fe3de1.js.download"></script></head><body><iframe src="./inner.html"></iframe></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
"use strict";(()=>{var f=Object.defineProperty;var R=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var M=Object.prototype.hasOwnProperty;var _=(t,r)=>()=>(t&&(r=t(t=0)),r);var U=(t,r)=>{for(var i in r)f(t,i,{get:r[i],enumerable:!0})},x=(t,r,i,e)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of S(r))!M.call(t,n)&&n!==i&&f(t,n,{get:()=>r[n],enumerable:!(e=R(r,n))||e.enumerable});return t};var A=t=>x(f({},"__esModule",{value:!0}),t);var p={};U(p,{getFinalReferrer:()=>g,getReferrer:()=>I,parsePortalHash:()=>d,parseReferrer:()=>h});function h(t){let r=new URL(t||window.location.href),i=r.searchParams.get("ref"),e=r.searchParams.get("source"),n=r.searchParams.get("utm_source"),a=r.searchParams.get("utm_medium"),s=i||e||n||null;return!s&&r.hash&&r.hash.includes("#/portal")?d(r):{source:s,medium:a||null,url:window.document.referrer||null}}function d(t){let r=new URL(t.href.replace("/#/portal","")),i=r.searchParams.get("ref"),e=r.searchParams.get("source"),n=r.searchParams.get("utm_source"),a=r.searchParams.get("utm_medium");return{source:i||e||n||null,medium:a||null,url:window.document.referrer||null}}function g(t){let{source:r,medium:i,url:e}=t,n=r||i||e||null;if(n)try{let a=new URL(n).hostname,s=window.location.hostname;if(a===s)return null}catch{return n}return n}function I(t){let r=h(t);return g(r)}var w=_(()=>{"use strict"});var y=(w(),A(p)),T=y.parseReferrer,E=y.getReferrer,P="ghost-history",L=24*60*60*1e3,b=15;(async function(){try{let t=window.sessionStorage,r=t.getItem(P),i=new Date().getTime(),e=[];if(r)try{e=JSON.parse(r)}catch(o){console.warn("[Member Attribution] Error while parsing history",o)}let n=e.findIndex(o=>{if(!o.time||typeof o.time!="number")return!1;let c=i-o.time;return!(isNaN(o.time)||c>L)});n>0?e.splice(0,n):n===-1&&(e=[]);let a;try{a=T(window.location.href)}catch(o){console.error("[Member Attribution] Parsing referrer failed",o),a={source:null,medium:null,url:null}}let s=a.source,l=a.medium,u;try{u=E(window.location.href),!u&&a.url&&(u=a.url)}catch(o){console.error("[Member Attribution] Getting final referrer failed",o),u=a.url}try{let o=new URL(window.location.href),c=o.searchParams;c.get("attribution_id")&&c.get("attribution_type")&&(e.push({time:i,id:c.get("attribution_id"),type:c.get("attribution_type"),referrerSource:s,referrerMedium:l,referrerUrl:u}),c.delete("attribution_id"),c.delete("attribution_type"),o.search="?"+c.toString(),window.history.replaceState({},"",`${o.pathname}${o.search}${o.hash}`))}catch(o){console.error("[Member Attribution] Parsing attribution from querystring failed",o)}let m=window.location.pathname;e.length===0||e[e.length-1].path!==m?e.push({path:m,time:i,referrerSource:s,referrerMedium:l,referrerUrl:u}):e.length>0&&(e[e.length-1].time=i,s&&(e[e.length-1].referrerSource=s,e[e.length-1].referrerMedium=l),u&&(e[e.length-1].referrerUrl=u)),e.length>b&&(e=e.slice(-b)),t.setItem(P,JSON.stringify(e))}catch(t){console.error("[Member Attribution] Failed with error",t)}})();})();

View File

@@ -0,0 +1 @@
try { __ez.bit=new __ez.Pixel("/detroitchicago/greenoaks.gif"),__ez.bit.setPixelBuilder((function(e,i){if("undefined"!=typeof __ez&&void 0!==__ez.dot&&"function"==typeof __ez.dot.isDefined&&__ez.dot.isDefined(e)&&__ez.dot.isValid(i)){var t="";return"undefined"!=typeof _ezaq&&_ezaq.hasOwnProperty("visit_uuid")&&(t=_ezaq.visit_uuid),{type:"pageview",visit_uuid:t,pageview_id:e,domain_id:__ez.dot.getDID(),t_epoch:__ez.dot.getEpoch(0),data:__ez.dot.dataToStr(i)}}})),__ez.bit.setFireConfig({urlParam:"ds",fireInterval:15e3,includeVisitParamFn:function(){return void 0!==window.ezWp&&ezWp&&"undefined"!=typeof _ezaq&&_ezaq.hasOwnProperty("visit_uuid")}}),__ez.bit.AddAndFire=function(){this.Add.apply(this,arguments),this.Fire()},void 0!==window.ez_bit_cmd&&Array.isArray(window.ez_bit_cmd)&&window.ez_bit_cmd.forEach((function(e){"function"==typeof e&&e()}));} catch(err) {var hREED = function(er) {return function() {reportEzError(er, "/parsonsmaize/mulvane.js")}}; typeof reportEzError==="function"?hREED(err):window.addEventListener('reportEzErrorDefined',hREED(err), {once: true}); console.error(err);}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,3 @@
<!-- saved from url=(0011)about:blank -->
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body></body></html>

View File

@@ -0,0 +1,353 @@
<!DOCTYPE html>
<!-- saved from url=(0012)about:srcdoc -->
<html dir="undefined"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><style>
:root {
--brandcolor: #a52c5b
}
/* Colors
/* ----------------------------------------------------- */
:root {
--black: #000;
--blackrgb: 0,0,0;
--grey0: #1d1d1d;
--grey1: #333;
--grey1rgb: 33, 33, 33;
--grey2: #3d3d3d;
--grey3: #474747;
--grey4: #515151;
--grey5: #686868;
--grey6: #7f7f7f;
--grey7: #979797;
--grey8: #aeaeae;
--grey9: #c5c5c5;
--grey10: #dcdcdc;
--grey11: #e1e1e1;
--grey12: #eaeaea;
--grey13: #f9f9f9;
--grey13rgb: 249,249,249;
--grey14: #fbfbfb;
--white: #fff;
--whitergb: 255,255,255;
--red: #f02525;
--darkerRed: #C50202;
--yellow: #FFDC15;
--green: #30CF43;
}
/* Globals
/* ----------------------------------------------------- */
html {
font-size: 62.5%;
height: 100%;
}
body {
margin: 0px;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
font-size: 1.6rem;
height: 100%;
line-height: 1.6em;
font-weight: 400;
font-style: normal;
color: var(--grey2);
box-sizing: border-box;
overflow: hidden;
}
button,
button span {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
}
*, ::after, ::before {
box-sizing: border-box;
}
h1, h2, h3, h4, h5, h6, p {
line-height: 1.15em;
padding: 0;
margin: 0;
}
h1 {
font-size: 35px;
font-weight: 700;
letter-spacing: -0.022em;
}
h2 {
font-size: 32px;
font-weight: 700;
letter-spacing: -0.021em;
}
h3 {
font-size: 24px;
font-weight: 700;
letter-spacing: -0.019em;
}
h4 {
font-size: 19px;
font-weight: 700;
letter-spacing: -0.02em;
}
h5 {
font-size: 15px;
font-weight: 700;
letter-spacing: -0.02em;
}
p {
font-size: 15px;
line-height: 1.5em;
margin-bottom: 24px;
}
strong {
font-weight: 600;
}
a,
.gh-portal-link {
cursor: pointer;
}
p a {
font-weight: 500;
color: var(--brandcolor);
text-decoration: none;
}
svg {
box-sizing: content-box;
}
input,
textarea {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
font-size: 1.5rem;
}
textarea {
padding: 10px;
line-height: 1.5em;
}
.gh-longform {
padding: 56px 6vmin 6vmin;
}
.gh-longform p {
color: var(--grey3);
margin-bottom: 1.2em;
}
.gh-longform p:last-of-type {
margin-bottom: 0.2em;
}
.gh-longform h3 {
font-size: 27px;
margin-top: 0px;
margin-bottom: 0.25em;
text-wrap: balance;
}
.gh-longform h4 {
font-size: 17.5px;
margin-top: 1.85em;
margin-bottom: 0.4em;
}
.gh-longform h5 {
margin-top: 0.8em;
margin-bottom: 0.2em;
}
.gh-longform a {
color: var(--brandcolor);
font-weight: 500;
}
.gh-longform strong {
color: var(--grey1);
}
.gh-longform .ul {
text-decoration: underline;
}
.gh-longform .gh-portal-btn {
width: calc(100% + 4vmin);
margin-top: 4rem;
margin-inline-end: -4vmin;
}
.gh-longform .gh-portal-btn.no-margin-right {
margin-inline-end: 0;
width: 100%;
}
.gh-longform .gh-portal-btn-text {
color: var(--brandcolor);
cursor: pointer;
background: none;
transition: color linear 100ms;
font-size: 1.45rem;
text-decoration: underline;
}
@media (max-width: 1440px) {
h1 {
font-size: 32px;
letter-spacing: -0.022em;
}
h2 {
font-size: 28px;
letter-spacing: -0.021em;
}
h3 {
font-size: 26px;
letter-spacing: -0.02em;
}
}
@media (max-width: 480px) {
h1 {
font-size: 30px;
letter-spacing: -0.021em;
}
h2 {
font-size: 26px;
letter-spacing: -0.02em;
}
h3 {
font-size: 24px;
letter-spacing: -0.019em;
}
.gh-longform {
padding: 10vmin 28px;
}
.gh-desktop-only {
display: none;
}
}
@media (min-width: 481px) {
.gh-mobile-only {
display: none;
}
}
.gh-portal-triggerbtn-wrapper {
display: inline-flex;
align-items: flex-start;
justify-content: flex-end;
height: 100%;
opacity: 1;
transition: transform 0.16s linear 0s; opacity 0.08s linear 0s;
user-select: none;
line-height: 1;
padding: 10px 28px 0 17px;
}
html[dir="rtl"] .gh-portal-triggerbtn-wrapper {
padding: 10px 17px 0 28px;
}
.gh-portal-triggerbtn-wrapper span {
margin-bottom: 1px;
}
.gh-portal-triggerbtn-container {
position: relative;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
background: var(--brandcolor);
height: 60px;
min-width: 60px;
box-shadow: rgba(0, 0, 0, 0.24) 0px 8px 16px -2px;
border-radius: 999px;
transition: opacity 0.3s ease;
}
.gh-portal-triggerbtn-container:before {
position: absolute;
content: "";
top: 0;
right: 0;
bottom: 0;
left: 0;
border-radius: 999px;
background: rgba(var(--whitergb), 0);
transition: background 0.3s ease;
}
.gh-portal-triggerbtn-container:hover:before {
background: rgba(var(--whitergb), 0.08);
}
.gh-portal-triggerbtn-container.halo:before {
top: -4px;
right: -4px;
bottom: -4px;
left: -4px;
border: 4px solid rgba(var(--whitergb), 0.15);
}
.gh-portal-triggerbtn-container.with-label {
padding: 0 12px 0 16px;
}
html[dir="rtl"] .gh-portal-triggerbtn-container.with-label {
padding: 0 16px 0 12px;
}
.gh-portal-triggerbtn-label {
padding: 8px;
color: var(--white);
display: block;
white-space: nowrap;
max-width: 380px;
overflow: hidden;
text-overflow: ellipsis;
}
.gh-portal-avatar {
margin-bottom: 0px !important;
width: 60px;
height: 60px;
}
.gh-portal-avatar {
position: relative;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
margin: 0 0 8px 0;
border-radius: 999px;
}
.gh-portal-avatar img {
position: absolute;
display: block;
top: -2px;
right: -2px;
bottom: -2px;
left: -2px;
width: calc(100% + 4px);
height: calc(100% + 4px);
opacity: 1;
max-width: unset;
}
</style></head><body><div class="gh-portal-triggerbtn-wrapper"><div class="gh-portal-triggerbtn-container with-label" data-testid="portal-trigger-button"><svg width="26" height="26" viewBox="0 0 26 26" fill="none" xmlns="http://www.w3.org/2000/svg" style="width: 24px; height: 24px; color: rgb(255, 255, 255);"><path d="M17.903 12.016c-.332-1.665-1.491-3.032-3.031-3.654M11.037 8.4C9.252 9.163 8 10.935 8 13c0 .432.055.85.158 1.25M10.44 17.296c.748.447 1.624.704 2.56.704 1.71 0 3.22-.858 4.12-2.167M15.171 21.22c3.643-.96 6.329-4.276 6.329-8.22 0-1.084-.203-2.121-.573-3.075M18.611 6.615C17.114 5.3 15.151 4.5 13 4.5c-2.149 0-4.112.797-5.608 2.113M5.112 9.826c-.395.98-.612 2.052-.612 3.174 0 4.015 2.783 7.38 6.526 8.27" stroke="#fff" stroke-width="1.5" stroke-linecap="round"></path><path d="M8.924 24.29c1.273.46 2.645.71 4.076.71 5.52 0 10.17-3.727 11.57-8.803M6.712 2.777C3.285 4.89 1 8.678 1 13c0 3.545 1.537 6.731 3.982 8.928M24.849 11.089C23.933 5.369 18.977 1 13 1c-.69 0-1.367.058-2.025.17" stroke="#fff" stroke-width="1.5" stroke-linecap="round"></path></svg><span class="gh-portal-triggerbtn-label"> Subscribe </span></div></div></body></html>

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
!function(){"use strict";(t=>{const{screen:{width:e,height:a},navigator:{language:n,doNotTrack:r,msDoNotTrack:i},location:o,document:s,history:c,top:u,doNotTrack:d}=t,{currentScript:l,referrer:f}=s;if(!l)return;const{hostname:h,href:m,origin:p}=o,y=m.startsWith("data:")?void 0:t.localStorage,g="data-",b="true",v=l.getAttribute.bind(l),S=v(g+"website-id"),k=v(g+"host-url"),w=v(g+"before-send"),N=v(g+"tag")||void 0,T="false"!==v(g+"auto-track"),A=v(g+"do-not-track")===b,j=v(g+"exclude-search")===b,x=v(g+"exclude-hash")===b,$=v(g+"domains")||"",E=$.split(",").map(t=>t.trim()),K=`${(k||""||l.src.split("/").slice(0,-1).join("/")).replace(/\/$/,"")}/api/send`,L=`${e}x${a}`,O=/data-umami-event-([\w-_]+)/,_=g+"umami-event",D=300,U=()=>({website:S,screen:L,language:n,title:s.title,hostname:h,url:z,referrer:F,tag:N,id:q||void 0}),W=(t,e,a)=>{a&&(F=z,z=new URL(a,o.href),j&&(z.search=""),x&&(z.hash=""),z=z.toString(),z!==F&&setTimeout(J,D))},B=()=>H||!S||y&&y.getItem("umami.disabled")||$&&!E.includes(h)||A&&(()=>{const t=d||r||i;return 1===t||"1"===t||"yes"===t})(),C=async(e,a="event")=>{if(B())return;const n=t[w];if("function"==typeof n&&(e=n(a,e)),e)try{const t=await fetch(K,{keepalive:!0,method:"POST",body:JSON.stringify({type:a,payload:e}),headers:{"Content-Type":"application/json",...void 0!==R&&{"x-umami-cache":R}},credentials:"omit"}),n=await t.json();n&&(H=!!n.disabled,R=n.cache)}catch(t){}},I=()=>{G||(G=!0,J(),(()=>{const t=(t,e,a)=>{const n=t[e];return(...e)=>(a.apply(null,e),n.apply(t,e))};c.pushState=t(c,"pushState",W),c.replaceState=t(c,"replaceState",W)})(),(()=>{const t=async t=>{const e=t.getAttribute(_);if(e){const a={};return t.getAttributeNames().forEach(e=>{const n=e.match(O);n&&(a[n[1]]=t.getAttribute(e))}),J(e,a)}};s.addEventListener("click",async e=>{const a=e.target,n=a.closest("a,button");if(!n)return t(a);const{href:r,target:i}=n;if(n.getAttribute(_)){if("BUTTON"===n.tagName)return t(n);if("A"===n.tagName&&r){const a="_blank"===i||e.ctrlKey||e.shiftKey||e.metaKey||e.button&&1===e.button;return a||e.preventDefault(),t(n).then(()=>{a||(("_top"===i?u.location:o).href=r)})}}},!0)})())},J=(t,e)=>C("string"==typeof t?{...U(),name:t,data:e}:"object"==typeof t?{...t}:"function"==typeof t?t(U()):U()),P=(t,e)=>("string"==typeof t&&(q=t),R="",C({...U(),data:"object"==typeof t?t:e},"identify"));t.umami||(t.umami={track:J,identify:P});let R,q,z=m,F=f.startsWith(p)?"":f,G=!1,H=!1;T&&!B()&&("complete"===s.readyState?I():s.addEventListener("readystatechange",I,!0))})(window)}();

View File

@@ -0,0 +1 @@
"use strict"; !function () { var e = function () { var e, t = "__tcfapiLocator", a = [], n = window; for (; n;) { try { if (n.frames[t]) { e = n; break } } catch (e) { } if (n === window.top) break; n = n.parent } e || (!function e() { var a = n.document, r = !!n.frames[t]; if (!r) if (a.body) { var i = a.createElement("iframe"); i.style.cssText = "display:none", i.name = t, a.body.appendChild(i) } else setTimeout(e, 5); return !r }(), n.__tcfapi = function () { for (var e, t = arguments.length, n = new Array(t), r = 0; r < t; r++)n[r] = arguments[r]; if (!n.length) return a; if ("setGdprApplies" === n[0]) n.length > 3 && 2 === parseInt(n[1], 10) && "boolean" == typeof n[3] && (e = n[3], "function" == typeof n[2] && n[2]("set", !0)); else if ("ping" === n[0]) { var i = { gdprApplies: e, cmpLoaded: !1, cmpStatus: "stub" }; "function" == typeof n[2] && n[2](i) } else a.push(n) }, n.addEventListener("message", (function (e) { var t = "string" == typeof e.data, a = {}; try { a = t ? JSON.parse(e.data) : e.data } catch (e) { } var n = a.__tcfapiCall; n && window.__tcfapi(n.command, n.version, (function (a, r) { var i = { __tcfapiReturn: { returnValue: a, success: r, callId: n.callId } }; t && (i = JSON.stringify(i)), e.source.postMessage(i, "*") }), n.parameter) }), !1)) }; "undefined" != typeof module ? module.exports = e : e() }();

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -1,4 +1,4 @@
# Linux commands
## Keyboard
## Keyboard - change keyboard configuration
sudo dpkg-reconfigure keyboard-configuration

View File

@@ -1,65 +0,0 @@
Linux connab
# MySQL
## How To Install MySQL on Ubuntu 24.04
[Install MySQL](https://linuxgenie.net/install-mysql-ubuntu-24-04/)
## MySQL Commands Cheat Sheet
[MySQL Cheat Sheet](https://phoenixnap.com/kb/mysql-commands-cheat-sheet)
## Install with apt
- sudo apt update
- sudo apt install mysql-server
- sudo systemctl start mysql.service
- secure your installation by running sudo mysql_secure_installation
## Start, stop, restart server
- sudo systemctl start mysql
- sudo systemctl stop mysql
- sudo systemctl restart mysql
[Start, Stop, Restart MySQL](https://www.mysqltutorial.org/mysql-administration/stop-mysql/)
## How to Change MySQL Password Policy Level
[MySQL Password Policy](https://tecadmin.net/change-mysql-password-policy-level/)
### Show password settings
SHOW VARIABLES LIKE 'validate_password%';
### Set password policy
SET GLOBAL validate_password.policy=LOW;
## How to Find the MYSQL Configuration File "my.cnf".
[my.cnf](https://www.geeksforgeeks.org/linux-unix/how-to-find-the-mysql-configuration-file-my-cnf/)
## How to Allow MySQL Remote Access Securely (2025 Guide)
[How to Allow MySQL Remote Access Securely (2025 Guide)](https://www.digitalocean.com/community/tutorials/how-to-allow-remote-access-to-mysql)
## Grant permissions
### Not Allowed to Create User with GRANT
[Not allowed to GRANT](https://askubuntu.com/questions/1322175/not-allowed-to-create-user-with-grant)
## How to create MySQL admin user (superuser) account
[Create MySQL admin user](https://www.cyberciti.biz/faq/how-to-create-mysql-admin-user-superuser-account/)
### List users
Use the following command to list users with their plugins:
SELECT USER,plugin FROM mysql.user;
SELECT USER,plugin,host,ssl_type FROM mysql.user;
SELECT USER,plugin,host FROM mysql.user;
### How do I turn off the mysql password validation?
[Disable MySQL password validation](https://stackoverflow.com/questions/36301100/how-do-i-turn-off-the-mysql-password-validation)
### MySQL Show User Privileges
[MySQL Show User Privileges](https://phoenixnap.com/kb/mysql-show-user-privileges)