diff options
Diffstat (limited to 'notsecrets')
-rw-r--r-- | notsecrets/CMakeLists.txt | 14 | ||||
-rw-r--r-- | notsecrets/Launcher.icns | bin | 0 -> 304757 bytes | |||
-rw-r--r-- | notsecrets/Launcher.ico | bin | 0 -> 102134 bytes | |||
-rw-r--r-- | notsecrets/Launcher.manifest | 31 | ||||
-rw-r--r-- | notsecrets/README.md | 29 | ||||
-rwxr-xr-x | notsecrets/genicons.sh | 18 | ||||
-rw-r--r-- | notsecrets/launcher.rc | 29 | ||||
-rw-r--r-- | notsecrets/logo.qrc | 8 | ||||
-rw-r--r-- | notsecrets/logo.svg | 271 |
9 files changed, 393 insertions, 7 deletions
diff --git a/notsecrets/CMakeLists.txt b/notsecrets/CMakeLists.txt index f27aeb70..2369d046 100644 --- a/notsecrets/CMakeLists.txt +++ b/notsecrets/CMakeLists.txt @@ -2,3 +2,17 @@ add_library(secrets STATIC Secrets.cpp Secrets.h) target_link_libraries(secrets Qt5::Core) target_compile_definitions(secrets PUBLIC -DEMBED_SECRETS) target_include_directories(secrets PUBLIC .) + +set(Launcher_CommonName "DevLauncher") + +set(Launcher_Copyright "MultiMC Contributors" PARENT_SCOPE) +set(Launcher_Domain "multimc.org" PARENT_SCOPE) +set(Launcher_Name "${Launcher_CommonName}" PARENT_SCOPE) +set(Launcher_DisplayName "${Launcher_CommonName} 5" PARENT_SCOPE) +set(Launcher_UserAgent "${Launcher_CommonName}/5.0" PARENT_SCOPE) +set(Launcher_ConfigFile "devlauncher.cfg" PARENT_SCOPE) +set(Launcher_Git "https://github.com/MultiMC/MultiMC5" PARENT_SCOPE) + +set(Launcher_Branding_ICNS "notsecrets/Launcher.icns" PARENT_SCOPE) +set(Launcher_Branding_WindowsRC "notsecrets/launcher.rc" PARENT_SCOPE) +set(Launcher_Branding_LogoQRC "notsecrets/logo.qrc" PARENT_SCOPE) diff --git a/notsecrets/Launcher.icns b/notsecrets/Launcher.icns Binary files differnew file mode 100644 index 00000000..951b74fc --- /dev/null +++ b/notsecrets/Launcher.icns diff --git a/notsecrets/Launcher.ico b/notsecrets/Launcher.ico Binary files differnew file mode 100644 index 00000000..9308958f --- /dev/null +++ b/notsecrets/Launcher.ico diff --git a/notsecrets/Launcher.manifest b/notsecrets/Launcher.manifest new file mode 100644 index 00000000..0ee781ee --- /dev/null +++ b/notsecrets/Launcher.manifest @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3"> + <assemblyIdentity name="MultiMC.Application.5" type="win32" version="5.0.0.0" /> + <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> + <security> + <requestedPrivileges> + <requestedExecutionLevel level="asInvoker" uiAccess="false"/> + </requestedPrivileges> + </security> + </trustInfo> + <dependency> + <dependentAssembly> + <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="x86" publicKeyToken="6595b64144ccf1df" language="*"/> + </dependentAssembly> + </dependency> + <description>Custom Minecraft launcher for managing multiple installs.</description> + <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> + <application> + <!--The ID below indicates app support for Windows Vista --> + <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/> + <!--The ID below indicates app support for Windows 7 --> + <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/> + <!--The ID below indicates app support for Windows 8 --> + <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/> + <!--The ID below indicates app support for Windows 8.1 --> + <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/> + <!--The ID below indicates app support for Windows 10 --> + <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/> + </application> + </compatibility> +</assembly> diff --git a/notsecrets/README.md b/notsecrets/README.md index 14d27e7a..4664fa89 100644 --- a/notsecrets/README.md +++ b/notsecrets/README.md @@ -1,10 +1,25 @@ -# (Not) Secrets +# DevLauncher (Not) Secrets -This is a dummy implementation of MultiMC's _Secrets_ library, used to store private information needed for certain functions of MMC in a secure manner -(obfuscated or encrypted). - -Currently, this library contains: -- Your Microsoft Authentication app's client ID. **This is required to use Microsoft accounts to play!** +This is a dummy implementation of MultiMC's _Secrets_ library, used to store private information needed for: +- Application name and logo (and branding in general) +- Various URLs and API endpoints +- Your Microsoft Identity Platform client ID. **This is required to use Microsoft accounts to play!** - If omitted, adding Microsoft accounts will be completely disabled. -Forks of this project should provide their own implementation of this library to enable these functions properly. +## MultiMC development + +In its current state, the `notsecrets` library is suitable for MultiMC code contributions (the code builds as `DevLauncher`). + +All you have to do is add the Microsoft client ID. See `Secrets.cpp` for details. + +## Forking + +Forks of this project that intend to distribute binaries to users should use their own implementation of this library that does not impersonate MultiMC in any way (see the Apache 2.0 license, common sense and trademark law). + +A fork is a serious business, especially if you intend to distribute binaries to users. This is because you need to agree to the Microsoft identity platform Terms of Use: + +https://docs.microsoft.com/en-us/legal/microsoft-identity-platform/terms-of-use + +If you truly want to accept such an agreement, a starting point is to copy `notsecrets` to `secrets`, enable the `Launcher_EMBED_SECRETS` CMake option and customize the files. + +We do not want confused users asking for help with your fork in MultiMC Discord or similar locations. diff --git a/notsecrets/genicons.sh b/notsecrets/genicons.sh new file mode 100755 index 00000000..e6f704f9 --- /dev/null +++ b/notsecrets/genicons.sh @@ -0,0 +1,18 @@ +#/bin/bash + +inkscape -w 16 -h 16 -o logo_16.png logo.svg +inkscape -w 24 -h 24 -o logo_24.png logo.svg +inkscape -w 32 -h 32 -o logo_32.png logo.svg +inkscape -w 48 -h 48 -o logo_48.png logo.svg +inkscape -w 64 -h 64 -o logo_64.png logo.svg +inkscape -w 128 -h 128 -o logo_128.png logo.svg + +convert logo_128.png logo_64.png logo_48.png logo_32.png logo_24.png logo_16.png Launcher.ico + +inkscape -w 256 -h 256 -o logo_256.png logo.svg +inkscape -w 512 -h 512 -o logo_512.png logo.svg +inkscape -w 1024 -h 1024 -o logo_1024.png logo.svg + +png2icns Launcher.icns logo_1024.png logo_512.png logo_256.png logo_128.png logo_32.png logo_16.png + +rm -f logo_*.png diff --git a/notsecrets/launcher.rc b/notsecrets/launcher.rc new file mode 100644 index 00000000..d7e80888 --- /dev/null +++ b/notsecrets/launcher.rc @@ -0,0 +1,29 @@ +#ifndef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN +#endif +#include <windows.h> + +IDI_ICON1 ICON DISCARDABLE "Laucher.ico" +1 RT_MANIFEST "Laucher.manifest" + +VS_VERSION_INFO VERSIONINFO +FILEVERSION 1,0,0,0 +FILEOS VOS_NT_WINDOWS32 +FILETYPE VFT_APP +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "000004b0" + BEGIN + VALUE "CompanyName", "MultiMC Contributors" + VALUE "FileDescription", "A Minecraft Launcher" + VALUE "FileVersion", "1.0.0.0" + VALUE "ProductName", "Laucher" + VALUE "ProductVersion", "5" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0000, 0x04b0 // Unicode + END +END diff --git a/notsecrets/logo.qrc b/notsecrets/logo.qrc new file mode 100644 index 00000000..f1da6fe6 --- /dev/null +++ b/notsecrets/logo.qrc @@ -0,0 +1,8 @@ +<!DOCTYPE RCC> +<RCC version="1.0"> + <qresource prefix="/"> + <file>logo.svg</file> + </qresource> +</RCC> + + diff --git a/notsecrets/logo.svg b/notsecrets/logo.svg new file mode 100644 index 00000000..a1c8e439 --- /dev/null +++ b/notsecrets/logo.svg @@ -0,0 +1,271 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="68.26667" + height="68.26667" + id="svg4427" + version="1.1" + inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)" + sodipodi:docname="logo.svg" + 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="defs4429"> + <linearGradient + id="linearGradient5668" + inkscape:collect="always"> + <stop + id="stop5670" + offset="0" + style="stop-color:#75b54b;stop-opacity:1;" /> + <stop + id="stop5672" + offset="1" + style="stop-color:#75b54b;stop-opacity:0.6" /> + </linearGradient> + <linearGradient + id="linearGradient5084" + inkscape:collect="always"> + <stop + id="stop5086" + offset="0" + style="stop-color:#000000;stop-opacity:0.8" /> + <stop + id="stop5088" + offset="1" + style="stop-color:#000000;stop-opacity:0.35" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient5668" + id="linearGradient5072" + x1="6.7342591" + y1="28.510933" + x2="50.506943" + y2="61.773685" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(-0.01532073,-0.00938002)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient5084" + id="linearGradient5082" + x1="14.312115" + y1="9.7948904" + x2="44.097023" + y2="82.973114" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient5668" + id="linearGradient3281" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(-0.01532073,-0.00938002)" + x1="6.7342591" + y1="28.510933" + x2="50.506943" + y2="61.773685" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient5668" + id="linearGradient3283" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(-0.01532073,-0.00938002)" + x1="6.7342591" + y1="28.510933" + x2="50.506943" + y2="61.773685" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient5084" + id="linearGradient3288" + gradientUnits="userSpaceOnUse" + x1="14.312115" + y1="9.7948904" + x2="44.097023" + y2="82.973114" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient5084" + id="linearGradient3290" + gradientUnits="userSpaceOnUse" + x1="14.312115" + y1="9.7948904" + x2="44.097023" + y2="82.973114" /> + <linearGradient + inkscape:collect="always" + id="linearGradient5580"> + <stop + style="stop-color:#000000;stop-opacity:0.0627451" + offset="0" + id="stop5576" /> + <stop + style="stop-color:#252424;stop-opacity:0.58823532" + offset="1" + id="stop5578" /> + </linearGradient> + <linearGradient + id="linearGradient3999" + inkscape:collect="always"> + <stop + id="stop3995" + offset="0" + style="stop-color:#777777;stop-opacity:1" /> + <stop + id="stop3997" + offset="1" + style="stop-color:#4f4e4e;stop-opacity:1" /> + </linearGradient> + <linearGradient + id="linearGradient2727" + inkscape:collect="always"> + <stop + id="stop2723" + offset="0" + style="stop-color:#7f8080;stop-opacity:1" /> + <stop + id="stop2725" + offset="1" + style="stop-color:#404040;stop-opacity:1" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2727" + id="linearGradient2050" + gradientUnits="userSpaceOnUse" + x1="36.546478" + y1="33.80484" + x2="86.415741" + y2="97.065842" + gradientTransform="translate(-0.0016031,-4.5764148e-4)" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3999" + id="radialGradient2052" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(-0.00142193,-4.5702768e-4)" + cx="34.133331" + cy="34.133335" + fx="34.133331" + fy="34.133335" + r="29.866665" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient5580" + id="linearGradient2140" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(-0.0010513,-9.083059e-4)" + x1="29.866674" + y1="29.867579" + x2="38.400005" + y2="38.400913" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="8.0000001" + inkscape:cx="-15.9375" + inkscape:cy="15.75" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:document-units="px" + inkscape:grid-bbox="true" + inkscape:window-width="3840" + inkscape:window-height="2129" + inkscape:window-x="1200" + inkscape:window-y="0" + inkscape:window-maximized="1" + inkscape:snap-bbox="true" + inkscape:bbox-paths="true" + inkscape:snap-bbox-edge-midpoints="true" + inkscape:bbox-nodes="true" + inkscape:snap-bbox-midpoints="true" + inkscape:snap-smooth-nodes="true" + inkscape:snap-midpoints="false" + inkscape:snap-intersection-paths="true" + inkscape:object-paths="true" + inkscape:snap-object-midpoints="true" + inkscape:snap-text-baseline="true" + inkscape:snap-center="true" + inkscape:pagecheckerboard="0"> + <inkscape:grid + type="xygrid" + id="grid4446" + empspacing="16" + visible="true" + enabled="true" + snapvisiblegridlinesonly="true" + spacingx="4.2666667" + spacingy="4.2666667" + originx="0" + originy="0" /> + </sodipodi:namedview> + <metadata + id="metadata4432"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + id="layer1" + inkscape:label="Layer 1" + inkscape:groupmode="layer"> + <g + id="g2048" + transform="translate(9.113e-4,0.00104183)"> + <rect + rx="8.5333338" + ry="8.5333338" + style="fill:url(#linearGradient2050);fill-opacity:1;stroke:none;stroke-width:17.0667" + id="rect2026" + width="68.266998" + height="68.26667" + x="-0.0016037956" + y="-0.00045376646" /> + <rect + rx="4.2666626" + y="4.2662144" + x="4.2652307" + height="59.733334" + width="59.73333" + id="rect2028" + style="opacity:0.5;fill:url(#radialGradient2052);fill-opacity:1;stroke:none;stroke-width:14.9333" + ry="4.2666669" /> + <path + style="opacity:1;fill:url(#linearGradient2140);fill-opacity:1;stroke:none;stroke-width:17.06666756" + d="m 8.5322887,-9.083059e-4 c -4.72747,0 -8.5332,3.8057359059 -8.5332,8.5332029059 V 59.731515 c 0,4.727467 3.80573,8.535156 8.5332,8.535156 H 59.731502 c 4.72747,0 8.5332,-3.807689 8.5332,-8.535156 V 8.5322946 c 0,-4.727467 -3.80573,-8.5332029059 -8.5332,-8.5332029059 z m 0,4.2675779059 H 59.731502 c 2.36373,0 4.26758,1.901892 4.26758,4.265625 V 59.731515 c 0,2.363733 -1.90385,4.267578 -4.26758,4.267578 H 8.5322887 c -2.36373,0 -4.26758,-1.903845 -4.26758,-4.267578 V 8.5322946 c 0,-2.363733 1.90385,-4.265625 4.26758,-4.265625 z" + id="path2046" + inkscape:connector-curvature="0" /> + </g> + <path + style="fill:#000000;fill-opacity:0.494118;fill-rule:evenodd;stroke:none;stroke-width:0.999996px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 17.343575,15.030602 -1e-6,43.517002 38.229105,-21.758501 z" + id="path1382" + sodipodi:nodetypes="cccc" /> + <path + style="fill:#00ff66;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.999996px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 16.888808,11.986385 -1e-6,43.517003 38.229104,-21.758501 z" + id="path1059" + sodipodi:nodetypes="cccc" /> + <path + id="path13539" + style="fill:#ff00ff;fill-opacity:0.992157;fill-rule:evenodd;stroke:none;stroke-width:0.999996px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 19.576616,50.882478 C 29.612077,45.170295 39.647539,39.458112 49.682999,33.745928 39.647539,28.032869 29.612077,22.319811 19.576616,16.606753 c 0,11.425241 0,22.850484 0,34.275725 z" /> + </g> +</svg> |