Initial commit: Mobile cheese POC with Python proxy server

This commit is contained in:
Paulo Truta
2026-01-22 23:18:37 +01:00
commit 791c75ecd2
26 changed files with 18002 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
<svg width="8" xmlns="http://www.w3.org/2000/svg" height="12" id="screenshot-d28dab85-57b8-80fc-8007-7280f8b3c887" viewBox="0 0 8 12" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1"><g id="shape-d28dab85-57b8-80fc-8007-7280f8b3c887"><defs><clipPath id="frame-clip-d28dab85-57b8-80fc-8007-7280f8b3c887-render-11" class="frame-clip frame-clip-def"><rect rx="0" ry="0" x="0" y="0" width="8" height="12" transform="matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)"/></clipPath></defs><g class="frame-container-wrapper"><g class="frame-container-blur"><g class="frame-container-shadows"><g clip-path="url(#frame-clip-d28dab85-57b8-80fc-8007-7280f8b3c887-render-11)" fill="none"><g class="fills" id="fills-d28dab85-57b8-80fc-8007-7280f8b3c887"><rect rx="0" ry="0" x="0" y="0" width="8" height="12" transform="matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)" class="frame-background"/></g><g class="frame-children"><g id="shape-d28dab85-57b8-80fc-8007-72810e62b280"><defs><filter id="filter-render-12" x="0" y="0" width="1" height="1" filterUnits="objectBoundingBox" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/><feOffset dx="0" dy="2"/><feGaussianBlur stdDeviation="0"/><feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/><feColorMatrix type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.2 0"/><feBlend mode="normal" in2="shape" result="filter_d28dab85-57b8-80fc-8007-728098e4ea0a"/><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/><feOffset dx="0" dy="-2"/><feGaussianBlur stdDeviation="0"/><feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05 0"/><feBlend mode="normal" in2="filter_d28dab85-57b8-80fc-8007-728098e4ea0a" result="filter_d28dab85-57b8-80fc-8007-7280c08c96a4"/></filter><filter id="filter-shadow-render-12" x="0" y="0" width="1" height="1" filterUnits="objectBoundingBox" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/><feOffset dx="0" dy="2"/><feGaussianBlur stdDeviation="0"/><feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/><feColorMatrix type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.2 0"/><feBlend mode="normal" in2="shape" result="filter_d28dab85-57b8-80fc-8007-728098e4ea0a"/><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/><feOffset dx="0" dy="-2"/><feGaussianBlur stdDeviation="0"/><feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05 0"/><feBlend mode="normal" in2="filter_d28dab85-57b8-80fc-8007-728098e4ea0a" result="filter_d28dab85-57b8-80fc-8007-7280c08c96a4"/></filter></defs><g class="fills" id="fills-d28dab85-57b8-80fc-8007-72810e62b280"><path d="M0,4C0,1.7923583984375,1.7923583984375,0,4,0L4,0C6.2076416015625,0,8,1.7923583984375,8,4L8,8C8,10.2076416015625,6.2076416015625,12,4,12L4,12C1.7923583984375,12,0,10.2076416015625,0,8L0,4M2,4L2,8C2,9.10382080078125,2.89617919921875,10,4,10L4,10C5.10382080078125,10,6,9.10382080078125,6,8L6,4C6,2.89617919921875,5.10382080078125,2,4,2L4,2C2.89617919921875,2,2,2.89617919921875,2,4" filter="url(#filter-render-12)" style="fill: rgb(202, 211, 237); fill-opacity: 1;"/></g></g></g></g></g></g></g></g></svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

+1
View File
@@ -0,0 +1 @@
<svg width="136" xmlns="http://www.w3.org/2000/svg" height="17" id="screenshot-d28dab85-57b8-80fc-8007-7293859b0261" viewBox="0 0 136 17" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1"><g id="shape-d28dab85-57b8-80fc-8007-7293859b0261"><defs><clipPath id="frame-clip-d28dab85-57b8-80fc-8007-7293859b0261-render-1" class="frame-clip frame-clip-def"><rect rx="0" ry="0" x="0" y="0" width="136" height="17" transform="matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)"/></clipPath></defs><g class="frame-container-wrapper"><g class="frame-container-blur"><g class="frame-container-shadows"><g clip-path="url(#frame-clip-d28dab85-57b8-80fc-8007-7293859b0261-render-1)" fill="none"><g class="fills" id="fills-d28dab85-57b8-80fc-8007-7293859b0261"><rect rx="0" ry="0" x="0" y="0" width="136" height="17" transform="matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)" class="frame-background"/></g><g class="frame-children"><g id="shape-d28dab85-57b8-80fc-8007-7293859b6ed6"><g class="fills" id="fills-d28dab85-57b8-80fc-8007-7293859b6ed6"><path d="M2,0 h126 a2,2 0 0 1 2,2 v15 a0,0 0 0 1 0,0 h-128 a2,2 0 0 1 -2,-2 v-13 a2,2 0 0 1 2,-2 z" x="0" y="0" transform="matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)" width="130" height="17" style="fill: rgb(160, 143, 134); fill-opacity: 1;"/></g></g><g id="shape-d28dab85-57b8-80fc-8007-7293859b6ed7"><g class="fills" id="fills-d28dab85-57b8-80fc-8007-7293859b6ed7"><path d="M130,2 h4 a2,2 0 0 1 2,2 v11 a2,2 0 0 1 -2,2 h-4 a0,0 0 0 1 0,0 v-15 a0,0 0 0 1 0,0 z" x="130" y="2" transform="matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)" width="6" height="15" style="fill: rgb(148, 133, 123); fill-opacity: 1;"/></g></g><g id="shape-d28dab85-57b8-80fc-8007-7293859b6ed8" style="opacity: 0.1;"><g class="fills" id="fills-d28dab85-57b8-80fc-8007-7293859b6ed8"><path d="M2,0 h126 a2,2 0 0 1 2,2 v0 a0,0 0 0 1 0,0 h-130 a0,0 0 0 1 0,0 v0 a2,2 0 0 1 2,-2 z" x="0" y="0" transform="matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)" width="130" height="2" style="fill: rgb(255, 255, 255); fill-opacity: 1;"/></g></g></g></g></g></g></g></g></svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

+1
View File
@@ -0,0 +1 @@
<svg width="55" xmlns="http://www.w3.org/2000/svg" height="10" id="screenshot-d28dab85-57b8-80fc-8007-729346f2c37f" viewBox="0 0 55 10" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1"><g id="shape-d28dab85-57b8-80fc-8007-729346f2c37f"><defs><clipPath id="frame-clip-d28dab85-57b8-80fc-8007-729346f2c37f-render-17" class="frame-clip frame-clip-def"><rect rx="0" ry="0" x="0" y="0" width="55" height="10" transform="matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)"/></clipPath></defs><g class="frame-container-wrapper"><g class="frame-container-blur"><g class="frame-container-shadows"><g clip-path="url(#frame-clip-d28dab85-57b8-80fc-8007-729346f2c37f-render-17)" fill="none"><g class="fills" id="fills-d28dab85-57b8-80fc-8007-729346f2c37f"><rect rx="0" ry="0" x="0" y="0" width="55" height="10" transform="matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)" class="frame-background"/></g><g class="frame-children"><g id="shape-d28dab85-57b8-80fc-8007-729346f2c389" style="opacity: 0.1;"><g class="fills" id="fills-d28dab85-57b8-80fc-8007-729346f2c389"><path d="M2,3 h126 a2,2 0 0 1 2,2 v0 a0,0 0 0 1 0,0 h-130 a0,0 0 0 1 0,0 v0 a2,2 0 0 1 2,-2 z" x="0" y="3" transform="matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)" width="130" height="2" style="fill: rgb(255, 255, 255); fill-opacity: 1;"/></g></g><g id="shape-d28dab85-57b8-80fc-8007-729346f2c38a"><g class="fills" id="fills-d28dab85-57b8-80fc-8007-729346f2c38a"><rect rx="2" ry="2" x="0" y="0" transform="matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)" width="55" height="10" style="fill: rgb(160, 143, 134); fill-opacity: 1;"/></g></g><g id="shape-d28dab85-57b8-80fc-8007-729346f2c38b" style="opacity: 0.1;"><g class="fills" id="fills-d28dab85-57b8-80fc-8007-729346f2c38b"><path d="M2,0 h51 a2,2 0 0 1 2,2 v0 a0,0 0 0 1 0,0 h-55 a0,0 0 0 1 0,0 v0 a2,2 0 0 1 2,-2 z" x="0" y="0" transform="matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)" width="55" height="2" style="fill: rgb(255, 255, 255); fill-opacity: 1;"/></g></g><g id="shape-d28dab85-57b8-80fc-8007-729346f2c38c" style="opacity: 0.05;"><g class="fills" id="fills-d28dab85-57b8-80fc-8007-729346f2c38c"><path d="M0,8 h55 a0,0 0 0 1 0,0 v0 a2,2 0 0 1 -2,2 h-51 a2,2 0 0 1 -2,-2 v0 a0,0 0 0 1 0,0 z" x="0" y="8" transform="matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)" width="55" height="2" style="fill: rgb(0, 0, 0); fill-opacity: 1;"/></g></g></g></g></g></g></g></g></svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.1 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.9 KiB

+1
View File
@@ -0,0 +1 @@
<svg width="22" xmlns="http://www.w3.org/2000/svg" height="22" id="screenshot-d28dab85-57b8-80fc-8007-7296918de646" viewBox="0 0 22 22" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1"><g id="shape-d28dab85-57b8-80fc-8007-7296918de646"><defs><clipPath id="frame-clip-d28dab85-57b8-80fc-8007-7296918de646-render-34" class="frame-clip frame-clip-def"><rect rx="0" ry="0" x="0" y="0" width="22" height="22" transform="matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)"/></clipPath></defs><g class="frame-container-wrapper"><g class="frame-container-blur"><g class="frame-container-shadows"><g clip-path="url(#frame-clip-d28dab85-57b8-80fc-8007-7296918de646-render-34)" fill="none"><g class="fills" id="fills-d28dab85-57b8-80fc-8007-7296918de646"><rect rx="0" ry="0" x="0" y="0" width="22" height="22" transform="matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)" class="frame-background"/></g><g class="frame-children"><g id="shape-d28dab85-57b8-80fc-8007-7296918e1ec4"><g class="fills" id="fills-d28dab85-57b8-80fc-8007-7296918e1ec4"><ellipse cx="11" cy="11" rx="11" ry="11" transform="matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)" style="fill: rgb(41, 35, 25); fill-opacity: 1;"/></g></g><g id="shape-d28dab85-57b8-80fc-8007-7296918e67ba"><g class="fills" id="fills-d28dab85-57b8-80fc-8007-7296918e67ba"><path d="M8.342041015625,1.9999923706054688L8.939697265625,3.2817306518554688"/></g><g id="strokes-d5fe543c-f897-80e6-8007-72977611550c-d28dab85-57b8-80fc-8007-7296918e67ba" class="strokes"><g class="stroke-shape"><path d="M8.342041015625,1.9999923706054688L8.939697265625,3.2817306518554688" style="fill: none; stroke-width: 2; stroke: rgb(255, 255, 255); stroke-opacity: 0.05; stroke-linecap: round;"/></g></g></g></g></g></g></g></g></g></svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

+1
View File
@@ -0,0 +1 @@
<svg width="17" xmlns="http://www.w3.org/2000/svg" height="17" id="screenshot-d28dab85-57b8-80fc-8007-7296fe542348" viewBox="0 0 17 17" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1"><g id="shape-d28dab85-57b8-80fc-8007-7296fe542348"><defs><clipPath id="frame-clip-d28dab85-57b8-80fc-8007-7296fe542348-render-22" class="frame-clip frame-clip-def"><rect rx="0" ry="0" x="0" y="0" width="17" height="17" transform="matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)"/></clipPath></defs><g class="frame-container-wrapper"><g class="frame-container-blur"><g class="frame-container-shadows"><g clip-path="url(#frame-clip-d28dab85-57b8-80fc-8007-7296fe542348-render-22)" fill="none"><g class="fills" id="fills-d28dab85-57b8-80fc-8007-7296fe542348"><rect rx="0" ry="0" x="0" y="0" width="17" height="17" transform="matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)" class="frame-background"/></g><g class="frame-children"><g id="shape-d28dab85-57b8-80fc-8007-7296fe5448f2"><g class="fills" id="fills-d28dab85-57b8-80fc-8007-7296fe5448f2"><ellipse cx="8.5" cy="8.5" rx="8.5" ry="8.5" transform="matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)" style="fill: rgb(48, 38, 21); fill-opacity: 1;"/></g></g><g id="shape-d28dab85-57b8-80fc-8007-7296fe5448f3" style="opacity: 0.1;"><g class="fills" id="fills-d28dab85-57b8-80fc-8007-7296fe5448f3"><path d="M6,1.4444503784179688C6,1.4444503784179688,8,0.44445037841796875,11,1.4444503784179688"/></g><g id="strokes-d5fe543c-f897-80e6-8007-729776079807-d28dab85-57b8-80fc-8007-7296fe5448f3" class="strokes"><g class="stroke-shape"><path d="M6,1.4444503784179688C6,1.4444503784179688,8,0.44445037841796875,11,1.4444503784179688" style="fill: none; stroke-width: 1; stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-linecap: round;"/></g></g></g></g></g></g></g></g></g></svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

+1
View File
@@ -0,0 +1 @@
<svg width="49" xmlns="http://www.w3.org/2000/svg" height="55" id="screenshot-d28dab85-57b8-80fc-8007-7296675b78ed" viewBox="0 0 49 55" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1"><g id="shape-d28dab85-57b8-80fc-8007-7296675b78ed"><defs><clipPath id="frame-clip-d28dab85-57b8-80fc-8007-7296675b78ed-render-5" class="frame-clip frame-clip-def"><rect rx="0" ry="0" x="0" y="0" width="49" height="55" transform="matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)"/></clipPath></defs><g class="frame-container-wrapper"><g class="frame-container-blur"><g class="frame-container-shadows"><g clip-path="url(#frame-clip-d28dab85-57b8-80fc-8007-7296675b78ed-render-5)" fill="none"><g class="fills" id="fills-d28dab85-57b8-80fc-8007-7296675b78ed"><rect rx="0" ry="0" x="0" y="0" width="49" height="55" transform="matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)" class="frame-background"/></g><g class="frame-children"><g id="shape-d28dab85-57b8-80fc-8007-7296675ba9b6"><defs><radialGradient id="fill-color-gradient-render-6-0" cx="0.16799355935575022" cy="0.7100719012795145" r="0.4407795129732544" gradientTransform="matrix(-0.657762, 0.753226, -0.753226, -0.657762, 0.813338, 1.050593)"><stop offset="0.64" stop-color="#000000" stop-opacity="0.5"/><stop offset="1" stop-color="#000000" stop-opacity="0"/></radialGradient><pattern patternUnits="userSpaceOnUse" x="27.948235617059424" y="10.905810760497303" width="5.000000000000057" height="48" id="fill-0-render-6"><g><rect width="5.000000000000057" height="48" style="fill: rgb(30, 23, 13); fill-opacity: 1;"/><rect width="5.000000000000057" height="48" style="fill: url(&quot;#fill-color-gradient-render-6-0&quot;);"/></g></pattern></defs><g class="fills" id="fills-d28dab85-57b8-80fc-8007-7296675ba9b6"><rect rx="0" ry="0" x="27.948235617059424" y="10.905810760497303" transform="matrix(0.761946, -0.647641, 0.647641, 0.761946, -15.358098, 28.029000)" width="5.000000000000057" height="48" fill="url(#fill-0-render-6)"/></g></g><g id="shape-d28dab85-57b8-80fc-8007-7296675ba9b7" style="opacity: 0.1;"><g class="fills" id="fills-d28dab85-57b8-80fc-8007-7296675ba9b7"><rect rx="0" ry="0" x="31.426007460126357" y="9.610494375291125" transform="matrix(0.761946, -0.647641, 0.647641, 0.761946, -14.167826, 28.676641)" width="0.996673460154625" height="48.00006918759399" style="fill: rgb(255, 255, 255); fill-opacity: 1;"/></g></g><g id="shape-d28dab85-57b8-80fc-8007-7296675ba9b9" style="opacity: 0.1;"><g class="fills" id="fills-d28dab85-57b8-80fc-8007-7296675ba9b9"><path d="M47,52.00001525878906C47,52.00001525878906,49,51.00001525878906,52,52.00001525878906"/></g><g id="strokes-d5fe543c-f897-80e6-8007-729775fdf08f-d28dab85-57b8-80fc-8007-7296675ba9b9" class="strokes"><g class="stroke-shape"><path d="M47,52.00001525878906C47,52.00001525878906,49,51.00001525878906,52,52.00001525878906" style="fill: none; stroke-width: 1; stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-linecap: round;"/></g></g></g><g id="shape-d28dab85-57b8-80fc-8007-7296675ba9ba"><g class="fills" id="fills-d28dab85-57b8-80fc-8007-7296675ba9ba"><path d="M47.201171875,47.85914611816406L47.798828125,49.14088439941406"/></g><g id="strokes-d5fe543c-f897-80e6-8007-729775fefb49-d28dab85-57b8-80fc-8007-7296675ba9ba" class="strokes"><g class="stroke-shape"><path d="M47.201171875,47.85914611816406L47.798828125,49.14088439941406" style="fill: none; stroke-width: 2; stroke: rgb(255, 255, 255); stroke-opacity: 0.05; stroke-linecap: round;"/></g></g></g><g id="shape-d28dab85-57b8-80fc-8007-7296675ba9bb"><g class="fills" id="fills-d28dab85-57b8-80fc-8007-7296675ba9bb"><path d="M1.295166015625,7.3522796630859375C0.580322265625,6.5111846923828125,0.682861328125,5.247966766357422,1.52398681640625,4.533123016357422L5.333984375,1.2951774597167969C6.175048828125,0.5803642272949219,7.43829345703125,0.6828727722167969,8.153076171875,1.5239677429199219L17.10491943359375,13.601425170898438C17.81976318359375,14.442550659179688,17.71722412109375,15.705764770507812,16.8760986328125,16.420578002929688L14.59014892578125,18.363357543945312C13.7490234375,19.078201293945312,12.48583984375,18.975662231445312,11.77099609375,18.134536743164062L1.295166015625,7.3522796630859375" style="fill: rgb(48, 38, 21); fill-opacity: 1;"/></g></g></g></g></g></g></g></g></svg>

After

Width:  |  Height:  |  Size: 4.2 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 23 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.1 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.9 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 8.1 KiB

+1
View File
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 355 B