This commit is contained in:
Evert Prants 2023-10-10 20:14:53 +03:00
parent 799f50ea08
commit 001dc0b63a
Signed by: evert
GPG Key ID: 1688DA83D222D0B5
21 changed files with 7473 additions and 6312 deletions

12829
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -24,90 +24,89 @@
"test:e2e": "jest --config ./test/jest-e2e.json"
},
"dependencies": {
"@icynet/oauth2-provider": "^1.0.7",
"@nestjs/common": "^9.0.11",
"@nestjs/core": "^9.0.11",
"@nestjs/platform-express": "^9.0.11",
"@nestjs/serve-static": "^3.0.0",
"@nestjs/swagger": "^6.1.0",
"@nestjs/throttler": "^3.0.0",
"bcrypt": "^5.0.1",
"@icynet/oauth2-provider": "^1.0.8",
"@nestjs/common": "^10.2.7",
"@nestjs/core": "^10.2.7",
"@nestjs/platform-express": "^10.2.7",
"@nestjs/serve-static": "^4.0.0",
"@nestjs/swagger": "^7.1.13",
"@nestjs/throttler": "^5.0.0",
"bcrypt": "^5.1.1",
"class-transformer": "^0.5.1",
"class-validator": "^0.13.2",
"connect-redis": "^6.1.3",
"class-validator": "^0.14.0",
"connect-redis": "^7.1.0",
"cookie-parser": "^1.4.6",
"cors": "^2.8.5",
"cropperjs": "^1.5.12",
"cropperjs": "^1.6.1",
"csrf": "^3.1.0",
"dotenv": "^16.0.1",
"dotenv": "^16.3.1",
"express-session": "^1.17.3",
"express-useragent": "^1.0.15",
"geoip-lite": "^1.4.6",
"geoip-lite": "^1.4.7",
"image-size": "^1.0.2",
"jsonwebtoken": "^8.5.1",
"marked": "^4.0.18",
"jsonwebtoken": "^9.0.2",
"marked": "^9.1.0",
"mime-types": "^2.1.35",
"multer": "^1.4.4",
"mysql2": "^2.3.3",
"nodemailer": "^6.7.8",
"mysql2": "^3.6.1",
"nodemailer": "^6.9.6",
"otplib": "^12.0.1",
"pug": "^3.0.2",
"qrcode": "^1.5.1",
"redis": "^4.3.0",
"qrcode": "^1.5.3",
"redis": "^4.6.10",
"reflect-metadata": "^0.1.13",
"rimraf": "^3.0.2",
"rxjs": "^7.5.6",
"rimraf": "^5.0.5",
"rxjs": "^7.8.1",
"thirty-two": "^1.0.2",
"toml": "^3.0.0",
"typeorm": "^0.3.7",
"uuid": "^8.3.2"
"typeorm": "^0.3.17",
"uuid": "^9.0.1"
},
"devDependencies": {
"@babel/preset-env": "^7.18.10",
"@babel/preset-typescript": "^7.18.6",
"@nestjs/cli": "^9.0.0",
"@nestjs/schematics": "^9.0.1",
"@nestjs/testing": "^9.0.11",
"@babel/preset-env": "^7.22.20",
"@babel/preset-typescript": "^7.23.0",
"@nestjs/cli": "^10.1.18",
"@nestjs/schematics": "^10.0.2",
"@nestjs/testing": "^10.2.7",
"@types/bcrypt": "^5.0.0",
"@types/connect-redis": "^0.0.18",
"@types/cookie-parser": "^1.4.3",
"@types/cors": "^2.8.12",
"@types/express": "^4.17.13",
"@types/express-session": "^1.17.5",
"@types/express-useragent": "^1.0.2",
"@types/geoip-lite": "^1.4.1",
"@types/jest": "28.1.7",
"@types/jsonwebtoken": "^8.5.8",
"@types/cookie-parser": "^1.4.4",
"@types/cors": "^2.8.14",
"@types/express": "^4.17.18",
"@types/express-session": "^1.17.8",
"@types/express-useragent": "^1.0.3",
"@types/geoip-lite": "^1.4.2",
"@types/jest": "29.5.5",
"@types/jsonwebtoken": "^9.0.3",
"@types/marked": "^4.0.4",
"@types/mime-types": "^2.1.1",
"@types/multer": "^1.4.7",
"@types/node": "^18.7.16",
"@types/nodemailer": "^6.4.5",
"@types/qrcode": "^1.4.3",
"@types/supertest": "^2.0.12",
"@types/uuid": "^8.3.4",
"@typescript-eslint/eslint-plugin": "^5.33.1",
"@typescript-eslint/parser": "^5.33.1",
"babel-loader": "^8.2.5",
"css-loader": "^6.7.1",
"eslint": "^8.22.0",
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-prettier": "^4.2.1",
"jest": "^28.1.3",
"mini-css-extract-plugin": "^2.6.1",
"prettier": "^2.7.1",
"sass": "^1.54.4",
"sass-loader": "^13.0.2",
"@types/mime-types": "^2.1.2",
"@types/multer": "^1.4.8",
"@types/node": "^20.8.4",
"@types/nodemailer": "^6.4.11",
"@types/qrcode": "^1.5.2",
"@types/supertest": "^2.0.14",
"@types/uuid": "^9.0.5",
"@typescript-eslint/eslint-plugin": "^6.7.5",
"@typescript-eslint/parser": "^6.7.5",
"babel-loader": "^9.1.3",
"css-loader": "^6.8.1",
"eslint": "^8.51.0",
"eslint-config-prettier": "^9.0.0",
"eslint-plugin-prettier": "^5.0.0",
"jest": "^29.7.0",
"mini-css-extract-plugin": "^2.7.6",
"prettier": "^3.0.3",
"sass": "^1.69.1",
"sass-loader": "^13.3.2",
"source-map-support": "^0.5.21",
"supertest": "^6.2.4",
"supertest": "^6.3.3",
"text-loader": "^0.0.1",
"ts-jest": "^28.0.8",
"ts-loader": "^9.3.1",
"ts-jest": "^29.1.1",
"ts-loader": "^9.5.0",
"ts-node": "^10.9.1",
"tsconfig-paths": "^4.1.0",
"typescript": "^4.7.4",
"webpack": "^5.74.0",
"webpack-cli": "^4.10.0"
"tsconfig-paths": "^4.2.0",
"typescript": "^5.2.2",
"webpack": "^5.88.2",
"webpack-cli": "^5.1.4"
},
"jest": {
"moduleFileExtensions": [

View File

@ -1,54 +1,90 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
id="svg8"
version="1.1"
viewBox="0 0 29.898235 29.898235"
width="29.898235mm"
height="29.898235mm"
width="29.898235mm">
viewBox="0 0 29.898235 29.898235"
version="1.1"
id="svg8"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
sodipodi:docname="icynet-icon-analytics.svg"
inkscape:export-filename="../../../icynet-auth-server/public/image/icynet-icon.png"
inkscape:export-xdpi="231.56612"
inkscape:export-ydpi="231.56612"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs
id="defs2">
<filter
inkscape:label="Apparition"
inkscape:menu="Blurs"
inkscape:menu-tooltip="Edges are partly feathered out"
style="color-interpolation-filters:sRGB;"
id="filter2660"
x="-0.89911998"
y="-1.0271712"
width="2.79824"
height="3.0543424">
<feMorphology
radius="4"
in="SourceGraphic"
result="result0"
id="feMorphology2654" />
<feGaussianBlur
in="result0"
stdDeviation="8"
result="result91"
id="feGaussianBlur2656" />
<feComposite
operator="in"
in="SourceGraphic"
in2="result91"
id="feComposite2658" />
</filter>
<marker
style="overflow:visible;"
style="overflow:visible"
id="Arrow1Send"
refX="0.0"
refY="0.0"
refX="0"
refY="0"
orient="auto">
<path
transform="scale(0.2) rotate(180) translate(6,0)"
style="fill-rule:evenodd;stroke:#03a9f4;stroke-width:1pt;stroke-opacity:1;fill:#03a9f4;fill-opacity:1"
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
transform="matrix(-0.2,0,0,-0.2,-1.2,0)"
style="fill:#03a9f4;fill-opacity:1;fill-rule:evenodd;stroke:#03a9f4;stroke-width:1pt;stroke-opacity:1"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
id="path856" />
</marker>
<marker
style="overflow:visible;"
id="Arrow1Mend"
refX="0.0"
refY="0.0"
orient="auto">
<path
transform="scale(0.4) rotate(180) translate(10,0)"
style="fill-rule:evenodd;stroke:#03a9f4;stroke-width:1pt;stroke-opacity:1;fill:#03a9f4;fill-opacity:1"
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
id="path850" />
</marker>
<marker
style="overflow:visible;"
id="Arrow1Lend"
refX="0.0"
refY="0.0"
orient="auto">
<path
transform="scale(0.8) rotate(180) translate(12.5,0)"
style="fill-rule:evenodd;stroke:#03a9f4;stroke-width:1pt;stroke-opacity:1;fill:#03a9f4;fill-opacity:1"
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
id="path844" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="4"
inkscape:cx="38.75"
inkscape:cy="63"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1920"
inkscape:window-height="1025"
inkscape:window-x="1920"
inkscape:window-y="31"
inkscape:window-maximized="1"
inkscape:showpageshadow="2"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1" />
<metadata
id="metadata5">
<rdf:RDF>
@ -57,61 +93,100 @@
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
transform="translate(-1.2029979e-7,-0.00176382)"
id="layer1">
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-1.2029979e-7,-0.00176382)">
<rect
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#00a1b5;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;font-variant-east_asian:normal"
transform="rotate(4.9247462)"
y="1.0026652"
x="3.5677404"
height="25.219364"
width="25.219364"
id="rect2635"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#00464f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.01462;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<rect
transform="rotate(1.6937281)"
y="1.8928192"
x="2.7748053"
height="25.219364"
width="25.219364"
id="rect1083"
width="24.856066"
height="24.856066"
x="1.5723678"
y="3.4147503"
transform="rotate(-3.5293181)" />
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#00707e;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.01462;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<rect
transform="rotate(-8.5307657)"
y="4.5749965"
x="0.13787289"
height="24.856066"
width="24.856066"
transform="rotate(-3.5293181)"
y="3.2331011"
x="1.3907185"
height="25.219364"
width="25.219364"
id="rect939"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#00a1b5;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.01462;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<rect
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#00e1fd;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.993345;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="rect815"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#00e1fd;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;font-variant-east_asian:normal" />
width="24.690649"
height="24.690649"
x="0.22058077"
y="4.6577044"
transform="rotate(-8.5307657)" />
<rect
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#6fefff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
y="1.1378485"
x="4.3940787"
height="24.19313"
width="24.19313"
id="rect817"
width="24.856066"
height="24.856066"
x="2.5211489"
y="2.5227857"
transform="rotate(2.4309033e-4)" />
<path
clip-path="none"
id="path827"
d="m 10.375347,9.502362 8.447685,9.454613 4.277499,-12.1369222"
style="fill:none;fill-opacity:1;stroke:#03a9f4;stroke-width:1.876;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Send)" />
<path
id="path831"
d="M 10.375347,9.502362 6.5886091,23.968708"
style="fill:none;fill-opacity:1;stroke:#03a9f4;stroke-width:1.87612462;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<circle
r="2.1394424"
cy="9.6658792"
cx="10.358132"
id="path833"
style="fill:#03a9f4;fill-opacity:1;stroke:none;stroke-width:0.92037439;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path833-3"
d="m 20.970232,18.802922 a 2.1394424,2.1394424 0 0 1 -2.139443,2.139442 2.1394424,2.1394424 0 0 1 -2.139442,-2.139442 2.1394424,2.1394424 0 0 1 2.139442,-2.139443 2.1394424,2.1394424 0 0 1 2.139443,2.139443 z"
style="opacity:1;vector-effect:none;fill:#03a9f4;fill-opacity:1;stroke:none;stroke-width:0.92037439;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<circle
r="2.1394424"
cy="23.691137"
cx="6.5025473"
id="path833-6"
style="fill:#03a9f4;fill-opacity:1;stroke:none;stroke-width:0.92037439;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#6fefff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.973329;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
transform="rotate(7.0463029)" />
<g
id="g603"
transform="matrix(0.94264948,0.17853381,-0.17853381,0.94264948,4.0048107,-2.1374345)">
<g
id="path827"
clip-path="none"
transform="translate(-7.9764753,0.55048925)">
<path
style="color:#000000;fill:#03a9f4;-inkscape-stroke:none"
d="m 30.416016,6.5800781 -3.75,10.6406249 -7.390625,-8.2714842 -1.398438,1.2500002 9.503906,10.638672 4.804688,-13.6328129 z"
id="path583" />
<g
id="g573">
<g
id="path575">
<path
style="color:#000000;fill:#03a9f4;fill-rule:evenodd;stroke-width:0.3752pt;-inkscape-stroke:none"
d="m 30.553356,9.0157909 1.145752,2.3929071 0.41319,-6.8162315 -3.951849,5.5690775 z"
id="path579" />
<path
style="color:#000000;fill:#03a9f4;fill-rule:evenodd;-inkscape-stroke:none"
d="M 32.414062,3.734375 27.398437,10.804688 30.4375,9.3496094 31.890625,12.386719 Z M 31.810547,5.4492187 31.507812,10.429688 30.671875,8.6816406 30.445312,8.7910156 28.923828,9.5195313 Z"
id="path581" />
</g>
</g>
</g>
<path
style="color:#000000;fill:#03a9f4;-inkscape-stroke:none"
d="M 9.6934467,9.8883799 5.9063377,24.353223 7.7207907,24.829786 11.5079,10.362989 Z"
id="path831" />
<circle
r="2.1394424"
cy="10.288911"
cx="10.582774"
id="circle569"
style="fill:#03a9f4;fill-opacity:1;stroke:none;stroke-width:0.920374;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path588"
d="m 21.194874,19.425953 a 2.1394424,2.1394424 0 0 1 -2.139443,2.139442 2.1394424,2.1394424 0 0 1 -2.139442,-2.139442 2.1394424,2.1394424 0 0 1 2.139442,-2.139443 2.1394424,2.1394424 0 0 1 2.139443,2.139443 z"
style="vector-effect:none;fill:#03a9f4;fill-opacity:1;stroke:none;stroke-width:0.920374;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<circle
r="2.1394424"
cy="24.314169"
cx="6.7271886"
id="circle560"
style="fill:#03a9f4;fill-opacity:1;stroke:none;stroke-width:0.920374;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 9.1 KiB

View File

@ -2,36 +2,62 @@
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="29.898235mm"
height="29.898235mm"
viewBox="0 0 29.898235 29.898235"
version="1.1"
id="svg8"
inkscape:version="0.92.4 5da689c313, 2019-01-14"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
sodipodi:docname="icynet-icon-git.svg"
inkscape:export-filename="/home/diamond/IcyNetwork/IcyNet.eu/static/image/icynet-icon-large.png"
inkscape:export-xdpi="460.05008"
inkscape:export-ydpi="460.05008">
inkscape:export-filename="../../../icynet-auth-server/public/image/icynet-icon.png"
inkscape:export-xdpi="231.56612"
inkscape:export-ydpi="231.56612"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs
id="defs2">
<filter
inkscape:label="Apparition"
inkscape:menu="Blurs"
inkscape:menu-tooltip="Edges are partly feathered out"
style="color-interpolation-filters:sRGB;"
id="filter2660"
x="-0.89911998"
y="-1.0271712"
width="2.79824"
height="3.0543424">
<feMorphology
radius="4"
in="SourceGraphic"
result="result0"
id="feMorphology2654" />
<feGaussianBlur
in="result0"
stdDeviation="8"
result="result91"
id="feGaussianBlur2656" />
<feComposite
operator="in"
in="SourceGraphic"
in2="result91"
id="feComposite2658" />
</filter>
<clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath877">
id="clipPath1319">
<rect
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#6fefff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="rect879"
width="24.856066"
height="24.856066"
x="2.5211489"
y="2.5227857"
transform="rotate(2.4309033e-4)" />
y="0.60363495"
x="2.5229926"
height="27.922024"
width="27.922024"
id="rect1321"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#6fefff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.12335;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
transform="rotate(7.0463029)" />
</clipPath>
</defs>
<sodipodi:namedview
@ -41,9 +67,9 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.3312427"
inkscape:cx="28.418921"
inkscape:cy="80.641272"
inkscape:zoom="4"
inkscape:cx="14.5"
inkscape:cy="61.25"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
@ -52,14 +78,13 @@
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1920"
inkscape:window-height="1021"
inkscape:window-x="0"
inkscape:window-height="1025"
inkscape:window-x="1920"
inkscape:window-y="31"
inkscape:window-maximized="1"
inkscape:object-paths="true"
inkscape:snap-intersection-paths="true"
inkscape:snap-smooth-nodes="false"
inkscape:object-nodes="true" />
inkscape:showpageshadow="2"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1" />
<metadata
id="metadata5">
<rdf:RDF>
@ -68,7 +93,6 @@
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
@ -78,57 +102,77 @@
id="layer1"
transform="translate(-1.2029979e-7,-0.00176382)">
<rect
transform="rotate(-3.5293181)"
y="3.4147503"
x="1.5723678"
height="24.856066"
width="24.856066"
id="rect1083"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#00a1b5;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;font-variant-east_asian:normal" />
transform="rotate(4.9247462)"
y="1.0026652"
x="3.5677404"
height="25.219364"
width="25.219364"
id="rect2635"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#00464f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.01462;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<rect
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#00e1fd;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;font-variant-east_asian:normal"
transform="rotate(1.6937281)"
y="1.8928192"
x="2.7748053"
height="25.219364"
width="25.219364"
id="rect1083"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#00707e;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.01462;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<rect
transform="rotate(-3.5293181)"
y="3.2331011"
x="1.3907185"
height="25.219364"
width="25.219364"
id="rect939"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#00a1b5;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.01462;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<rect
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#00e1fd;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.993345;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="rect815"
width="24.856066"
height="24.856066"
x="0.13787289"
y="4.5749965"
width="24.690649"
height="24.690649"
x="0.22058077"
y="4.6577044"
transform="rotate(-8.5307657)" />
<rect
transform="rotate(2.4309033e-4)"
y="2.5227857"
x="2.5211489"
height="24.856066"
width="24.856066"
y="1.111316"
x="4.390799"
height="24.19313"
width="24.19313"
id="rect817"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#6fefff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<path
style="fill:none;fill-opacity:1;stroke:#03a9f4;stroke-width:2.63730979;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 5.0038362,0.64767494 6.6339828,6.39015866 8.36023,8.3602304"
id="path827"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccc"
clip-path="url(#clipPath877)" />
<path
style="fill:none;fill-opacity:1;stroke:#03a9f4;stroke-width:2.63730979;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 11.637819,7.0378336 V 22.098787"
id="path831"
inkscape:connector-curvature="0" />
<circle
style="fill:#03a9f4;fill-opacity:1;stroke:none;stroke-width:1.29379058;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path833"
cx="11.637817"
cy="7.0378332"
r="3.0074615" />
<path
style="opacity:1;vector-effect:none;fill:#03a9f4;fill-opacity:1;stroke:none;stroke-width:1.29379058;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 24.135889,16.54294 a 3.0074614,3.0074614 0 0 1 -3.007462,3.007461 3.0074614,3.0074614 0 0 1 -3.007461,-3.007461 3.0074614,3.0074614 0 0 1 3.007461,-3.007462 3.0074614,3.0074614 0 0 1 3.007462,3.007462 z"
id="path833-3"
inkscape:connector-curvature="0" />
<circle
style="fill:#03a9f4;fill-opacity:1;stroke:none;stroke-width:1.29379058;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path833-6"
cx="11.637819"
cy="22.204615"
r="3.0074615" />
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#6fefff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.973329;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
transform="rotate(7.0463029)" />
<g
id="g1219"
transform="matrix(0.86645333,0,0,0.86645333,2.1159251,0.85431022)">
<path
style="fill:none;fill-opacity:1;stroke:#03a9f4;stroke-width:2.63731;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 2.0325457,-0.50735864 12.336539,9.0911729 20.696769,17.451403"
id="path827"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccc"
clip-path="url(#clipPath1319)" />
<path
style="fill:none;fill-opacity:1;stroke:#03a9f4;stroke-width:2.63731;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 12.33654,9.0911729 V 24.152126"
id="path831"
inkscape:connector-curvature="0" />
<circle
style="fill:#03a9f4;fill-opacity:1;stroke:none;stroke-width:1.29379;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path833"
cx="12.336537"
cy="9.0911722"
r="3.0074615" />
<path
style="vector-effect:none;fill:#03a9f4;fill-opacity:1;stroke:none;stroke-width:1.29379;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 24.834609,18.596279 a 3.0074614,3.0074614 0 0 1 -3.007462,3.007461 3.0074614,3.0074614 0 0 1 -3.007461,-3.007461 3.0074614,3.0074614 0 0 1 3.007461,-3.007461 3.0074614,3.0074614 0 0 1 3.007462,3.007461 z"
id="path833-3"
inkscape:connector-curvature="0" />
<circle
style="fill:#03a9f4;fill-opacity:1;stroke:none;stroke-width:1.29379;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path833-6"
cx="12.336539"
cy="24.257954"
r="3.0074615" />
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -2,37 +2,73 @@
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="29.898235mm"
height="29.898235mm"
viewBox="0 0 29.898235 29.898235"
version="1.1"
id="svg8"
inkscape:version="0.92.2 5c3e80d, 2017-08-06"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
sodipodi:docname="icynet-icon.svg"
inkscape:export-filename="/home/diamond/IcyNetwork/IcyNet.eu/static/image/icynet-icon-large.png"
inkscape:export-xdpi="460.05008"
inkscape:export-ydpi="460.05008">
inkscape:export-filename="../../../icynet-auth-server/public/image/icynet-icon.png"
inkscape:export-xdpi="231.56612"
inkscape:export-ydpi="231.56612"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs
id="defs2">
<filter
<linearGradient
inkscape:collect="always"
style="color-interpolation-filters:sRGB"
id="filter1378"
x="-0.024088247"
width="1.0481765"
y="-0.023912397"
height="1.0478248">
id="linearGradient2420">
<stop
style="stop-color:#005b8d;stop-opacity:1;"
offset="0"
id="stop2416" />
<stop
style="stop-color:#008bdc;stop-opacity:1;"
offset="1"
id="stop2418" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2420"
id="linearGradient2549"
gradientUnits="userSpaceOnUse"
x1="15.328702"
y1="15.039351"
x2="15.328702"
y2="15.942641"
gradientTransform="matrix(0.8545986,0,0,0.8545986,2.2028839,2.1880836)" />
<filter
inkscape:label="Apparition"
inkscape:menu="Blurs"
inkscape:menu-tooltip="Edges are partly feathered out"
style="color-interpolation-filters:sRGB;"
id="filter2660"
x="-0.89911998"
y="-1.0271712"
width="2.79824"
height="3.0543424">
<feMorphology
radius="4"
in="SourceGraphic"
result="result0"
id="feMorphology2654" />
<feGaussianBlur
inkscape:collect="always"
stdDeviation="0.19860895"
id="feGaussianBlur1380" />
in="result0"
stdDeviation="8"
result="result91"
id="feGaussianBlur2656" />
<feComposite
operator="in"
in="SourceGraphic"
in2="result91"
id="feComposite2658" />
</filter>
</defs>
<sodipodi:namedview
@ -42,9 +78,9 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="5.6568543"
inkscape:cx="38.38993"
inkscape:cy="45.763944"
inkscape:zoom="4"
inkscape:cx="38.75"
inkscape:cy="63"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
@ -53,10 +89,13 @@
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1920"
inkscape:window-height="1011"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1" />
inkscape:window-height="1025"
inkscape:window-x="1920"
inkscape:window-y="31"
inkscape:window-maximized="1"
inkscape:showpageshadow="2"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1" />
<metadata
id="metadata5">
<rdf:RDF>
@ -65,7 +104,6 @@
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
@ -75,60 +113,51 @@
id="layer1"
transform="translate(-1.2029979e-7,-0.00176382)">
<rect
transform="rotate(-3.5293181)"
y="3.4147503"
x="1.5723678"
height="24.856066"
width="24.856066"
id="rect1083"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#00a1b5;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;font-variant-east_asian:normal" />
transform="rotate(4.9247462)"
y="1.0026652"
x="3.5677404"
height="25.219364"
width="25.219364"
id="rect2635"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#00464f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.01462;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<rect
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#00e1fd;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;font-variant-east_asian:normal"
transform="rotate(1.6937281)"
y="1.8928192"
x="2.7748053"
height="25.219364"
width="25.219364"
id="rect1083"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#00707e;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.01462;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<rect
transform="rotate(-3.5293181)"
y="3.2331011"
x="1.3907185"
height="25.219364"
width="25.219364"
id="rect939"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#00a1b5;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.01462;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<rect
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#00e1fd;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.993345;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="rect815"
width="24.856066"
height="24.856066"
x="0.13787289"
y="4.5749965"
width="24.690649"
height="24.690649"
x="0.22058077"
y="4.6577044"
transform="rotate(-8.5307657)" />
<rect
transform="rotate(2.4309033e-4)"
y="2.5227857"
x="2.5211489"
height="24.856066"
width="24.856066"
y="1.1378485"
x="4.3940787"
height="24.19313"
width="24.19313"
id="rect817"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#6fefff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:52.66549683px;line-height:0;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.61717373px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter1378)"
x="14.788064"
y="14.919127"
id="text1264"><tspan
id="tspan1260"
sodipodi:role="line"
x="14.788064"
y="14.919127"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.16637421px;line-height:0;font-family:'Open Sans';-inkscape-font-specification:'Open Sans Bold';text-align:center;text-anchor:middle;fill:#0059a0;fill-opacity:1;stroke-width:0.61717373px">ICY</tspan><tspan
id="tspan1262"
sodipodi:role="line"
x="14.788064"
y="25.230335"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:9.05188179px;line-height:0;font-family:'Open Sans';-inkscape-font-specification:'Open Sans Bold';text-align:center;text-anchor:middle;fill:#007104;fill-opacity:1;stroke-width:0.61717373px">net</tspan></text>
<text
id="text839"
y="14.615795"
x="14.558904"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:52.66549683px;line-height:0;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.61717373px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
xml:space="preserve"><tspan
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.16637421px;line-height:0;font-family:'Open Sans';-inkscape-font-specification:'Open Sans Bold';text-align:center;text-anchor:middle;fill:#03a9f4;fill-opacity:1;stroke-width:0.61717373px"
y="14.615795"
x="14.558904"
sodipodi:role="line"
id="tspan1252">ICY</tspan><tspan
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:9.05188179px;line-height:0;font-family:'Open Sans';-inkscape-font-specification:'Open Sans Bold';text-align:center;text-anchor:middle;fill:#00b300;fill-opacity:1;stroke-width:0.61717373px"
y="24.927004"
x="14.558904"
sodipodi:role="line"
id="tspan1258">net</tspan></text>
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#6fefff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.973329;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
transform="rotate(7.0463029)" />
<path
id="path381"
style="font-weight:bold;font-size:9.05188px;line-height:0;font-family:'Open Sans';-inkscape-font-specification:'Open Sans Bold';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:url(#linearGradient2549);fill-opacity:1;stroke-width:0.527436px"
d="m 20.176626,20.410989 c 0.201451,0 0.443193,-0.04407 0.725224,-0.132202 v 0.857427 c -0.287068,0.128425 -0.639608,0.192637 -1.057619,0.192637 -0.460819,0 -0.796991,-0.115834 -1.008514,-0.347503 -0.209006,-0.234187 -0.313509,-0.584209 -0.313509,-1.050065 v -2.035916 h -0.551472 v -0.487259 l 0.634571,-0.385276 0.332394,-0.891421 h 0.736557 v 0.898976 h 1.182266 v 0.86498 h -1.182266 v 2.035916 c 0,0.163679 0.04533,0.28455 0.135979,0.362613 0.09317,0.07806 0.215301,0.117093 0.366389,0.117093 z M 15.575985,17.77072 c -0.24426,0 -0.435639,0.07806 -0.574136,0.234187 -0.138498,0.153606 -0.21782,0.372684 -0.237965,0.657234 h 1.616646 c -0.005,-0.28455 -0.07928,-0.503628 -0.222855,-0.657234 -0.143534,-0.156125 -0.337431,-0.234187 -0.58169,-0.234187 z m 0.16242,3.558131 c -0.679898,0 -1.211225,-0.187601 -1.593982,-0.562804 -0.382758,-0.375203 -0.574137,-0.906531 -0.574137,-1.593982 0,-0.707597 0.17627,-1.254034 0.52881,-1.63931 0.355057,-0.387793 0.844836,-0.58169 1.469335,-0.58169 0.596799,0 1.061395,0.169974 1.393789,0.509923 0.332395,0.339949 0.498592,0.809582 0.498592,1.408899 v 0.559028 h -2.723368 c 0.01259,0.327358 0.109542,0.582949 0.290845,0.766774 0.181306,0.183824 0.435638,0.275736 0.762997,0.275736 0.254332,0 0.494814,-0.02644 0.721447,-0.07932 0.226632,-0.05288 0.463337,-0.137238 0.710115,-0.253073 v 0.891421 c -0.201451,0.100725 -0.416752,0.175011 -0.645903,0.222856 -0.22915,0.05037 -0.508663,0.07555 -0.83854,0.07555 z m -3.097312,-0.07555 h -1.152049 v -2.466519 c 0,-0.304695 -0.05414,-0.532586 -0.16242,-0.683674 -0.10828,-0.153607 -0.280773,-0.23041 -0.517478,-0.23041 -0.322322,0 -0.55525,0.10828 -0.698784,0.32484 -0.1435337,0.214042 -0.2153006,0.570359 -0.2153006,1.06895 v 1.986813 H 8.7430125 V 17.03038 h 0.8800898 l 0.1548656,0.540141 h 0.064213 c 0.1284247,-0.203969 0.3046941,-0.357576 0.5288091,-0.460819 0.226633,-0.105763 0.483483,-0.158644 0.770551,-0.158644 0.491037,0 0.863721,0.133462 1.118053,0.400385 0.254333,0.264405 0.381499,0.647162 0.381499,1.148272 z M 20.092327,9.9537729 21.768034,6.6463105 h 1.835038 l -2.66465,4.9062525 v 3.126156 h -1.69219 v -3.071212 l -2.66465,-4.9611939 h 1.846026 z M 13.834519,7.9484203 c -0.640981,0 -1.137283,0.2417415 -1.488907,0.7252244 -0.351624,0.4798201 -0.527436,1.1501032 -0.527436,2.0108493 0,1.791084 0.672114,2.686626 2.016343,2.686626 0.564064,0 1.247167,-0.141016 2.049308,-0.423047 v 1.428472 c -0.659295,0.274706 -1.395507,0.412059 -2.208637,0.412059 -1.168417,0 -2.062127,-0.353455 -2.681132,-1.060365 -0.619005,-0.710574 -0.928507,-1.728818 -0.928507,-3.054733 0,-0.8351071 0.152004,-1.5658256 0.456012,-2.1921557 0.304008,-0.6299928 0.739875,-1.1116443 1.307602,-1.4449544 0.571388,-0.336973 1.239839,-0.5054595 2.005354,-0.5054595 0.780166,0 1.563994,0.1886316 2.351485,0.5658948 L 15.636592,8.4813503 C 15.336247,8.3385031 15.03407,8.2139696 14.730062,8.1077499 14.426053,8.0015302 14.127539,7.9484203 13.834519,7.9484203 Z M 6.6976529,14.678722 V 6.6463131 h 1.7031784 v 8.0324089 z"
class="UnoptimicedTransforms"
sodipodi:nodetypes="sccscsccccccccccscssccccscsscsssccssscccccccscscscccccccscscccccccccccscssccscsccsccssccccc"
transform="matrix(1.1198707,0,0,1.1198707,-2.0173286,-0.6488022)" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 7.1 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 201 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

@ -1,152 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
width="303.82721"
height="35.330757"
version="1.1"
viewBox="0 0 80.387615 9.3479292"
id="svg3874">
<metadata
id="metadata3880">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs3878">
<filter
style="color-interpolation-filters:sRGB"
id="filter5033"
x="0"
y="0"
width="1.04"
height="1.0599999">
<feFlood
flood-opacity="1"
flood-color="rgb(0,89,160)"
result="flood"
id="feFlood5023" />
<feComposite
in="flood"
in2="SourceGraphic"
operator="in"
result="composite1"
id="feComposite5025" />
<feOffset
dx="0.4"
dy="0.4"
result="offset"
id="feOffset5029" />
<feGaussianBlur
in="offset"
stdDeviation="0.3"
result="blur"
id="feGaussianBlur5027" />
<feComposite
in="SourceGraphic"
in2="blur"
operator="over"
result="composite2"
id="feComposite5031" />
</filter>
<filter
style="color-interpolation-filters:sRGB"
id="filter5045"
x="0"
y="0"
width="1.01"
height="1.0599999">
<feFlood
flood-opacity="1"
flood-color="rgb(0,113,4)"
result="flood"
id="feFlood5035" />
<feComposite
in="flood"
in2="SourceGraphic"
operator="in"
result="composite1"
id="feComposite5037" />
<feOffset
dx="0.4"
dy="0.4"
result="offset"
id="feOffset5041" />
<feGaussianBlur
in="offset"
stdDeviation="0.3"
result="blur"
id="feGaussianBlur5039" />
<feComposite
in="SourceGraphic"
in2="blur"
operator="over"
result="composite2"
id="feComposite5043" />
</filter>
</defs>
<!--style>
text {
font-family: "Open Sans";
font-weight: bold;
text-transform: uppercase;
text-align: center;
text-shadow: 2px 2px 1px #007104;
color: #00b300;
user-select: none;
cursor: default;
}
#ts1 {
color: #03a9f4;
text-shadow: 2px 2px 1px #0059a0;
}
</style-->
<g
transform="translate(-50.340659,-159.82899)"
id="g3872"
style="filter:url(#filter5045)">
<text
x="69.641945"
y="168.53017"
xml:space="preserve"
id="text3870"><tspan
id="ts2"
x="69.641945"
y="168.53017"
style="color:#00b300;font-weight:bold;font-family:'Open Sans';text-align:center;text-transform:uppercase;fill:#00b300;fill-opacity:1">NETWORK</tspan></text>
</g>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:141.11109924px;line-height:1.25;font-family:P052;-inkscape-font-specification:P052;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="16.607485"
y="2.4248574"
id="text4974"><tspan
id="tspan4972"
x="16.607485"
y="122.5104"
style="stroke-width:0.26458332" /></text>
<g
transform="translate(-82.121269,-160.8011)"
id="g3872-7">
<text
x="81.043144"
y="169.50345"
xml:space="preserve"
id="text3870-0"
style="fill:#03a9f4;fill-opacity:1;filter:url(#filter5033)"><tspan
id="ts2-3"
x="81.043144"
y="169.50345"
style="color:#00b300;font-weight:bold;font-family:'Open Sans';text-align:center;text-transform:uppercase;fill:#03a9f4;fill-opacity:1">ICY</tspan></text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.2 KiB

View File

@ -18,11 +18,17 @@ import { WellKnownModule } from './modules/well-known/well-known.module';
ServeStaticModule.forRoot({
rootPath: join(__dirname, '..', 'uploads'),
serveRoot: '/uploads',
serveStaticOptions: {
cacheControl: true,
maxAge: 8 * 60 * 60 * 1000,
},
}),
ThrottlerModule.forRoot({
ttl: 10,
limit: 10,
}),
ThrottlerModule.forRoot([
{
ttl: 10000,
limit: 10,
},
]),
ConfigurationModule,
UtilityModule,
JWTModule,

View File

@ -60,6 +60,7 @@ async function bootstrap() {
app.useStaticAssets(join(__dirname, '..', 'public'), {
prefix: '/public/',
maxAge: 8 * 60 * 60 * 1000,
});
app.setBaseViewsDir(join(__dirname, '..', 'views'));
app.setViewEngine('pug');

View File

@ -1,5 +1,5 @@
import { Injectable } from '@nestjs/common';
import { Client } from 'connect-redis';
import { OAuth2Client } from 'src/modules/objects/oauth2-client/oauth2-client.entity';
import { User } from 'src/modules/objects/user/user.entity';
const UNPRIVILEGED_STRIP = ['id_token', 'management', 'implicit'];
@ -10,7 +10,7 @@ export class AdminService {
return user.privileges.some(({ name }) => name === privilege);
}
public userCanEditClient(user: User, client: Client): boolean {
public userCanEditClient(user: User, client: OAuth2Client): boolean {
if (this.userHasPrivilege(user, 'admin:oauth2')) {
return true;
}

View File

@ -509,7 +509,7 @@ export class OAuth2AdminController {
return url;
}
@Throttle(3, 60)
@Throttle({ default: { limit: 3, ttl: 60000 } })
@Post('clients/:id/picture')
@Scopes('management')
@Privileges(['admin', 'admin:oauth2'], 'self:oauth2')

View File

@ -27,15 +27,7 @@ export class DocumentService {
}
public async render(input: string): Promise<string> {
return new Promise((resolve, reject) => {
marked.parse(input, (err, result) => {
if (err) {
return reject(err);
}
resolve(result);
});
});
return marked.parse(input);
}
public async getDocumentBySlug(

View File

@ -13,7 +13,6 @@ export const redisProviders = [
process.env.REDIS_URL ||
config.get<string>('app.redis_url') ||
'redis://localhost:6379',
legacyMode: true,
});
await redisClient.connect();

View File

@ -300,7 +300,7 @@ export class LoginController {
}
@Post('password')
@Throttle(3, 60)
@Throttle({ default: { limit: 3, ttl: 60000 } })
public async setNewPassword(
@Req() req: Request,
@Res() res: Response,

View File

@ -39,7 +39,7 @@ export class RegisterController {
}
@Post()
@Throttle(3, 10)
@Throttle({ default: { limit: 3, ttl: 10000 } })
public async registerRequest(
@Req() req: Request,
@Res() res: Response,

View File

@ -2,25 +2,20 @@ import { FactoryProvider } from '@nestjs/common';
import { ConfigurationService } from 'src/modules/config/config.service';
import * as session from 'express-session';
import * as connectRedis from 'connect-redis';
import RedisStore from 'connect-redis';
import type { RequestHandler } from 'express';
import type { Redis } from 'src/modules/redis/redis.providers';
const RedisStore = connectRedis(session);
export const sessionProviders = [
{
provide: 'SESSION_STORE',
useFactory: async (redis: Redis): Promise<connectRedis.RedisStore> =>
useFactory: async (redis: Redis): Promise<RedisStore> =>
new RedisStore({ client: redis }),
inject: ['REDIS_CLIENT'],
} as FactoryProvider<connectRedis.RedisStore>,
} as FactoryProvider<RedisStore>,
{
provide: 'SESSION',
useFactory: (
store: connectRedis.RedisStore,
config: ConfigurationService,
) =>
useFactory: (store: RedisStore, config: ConfigurationService) =>
session({
name: config.get<string>('app.session_name'),
secret: config.get<string>('app.session_secret'),

View File

@ -89,7 +89,7 @@ export class SettingsController {
res.redirect('/account/general');
}
@Throttle(3, 60)
@Throttle({ default: { limit: 3, ttl: 60000 } })
@Post('avatar')
@UseInterceptors(FileInterceptor('file'))
async uploadAvatarFile(