Polish store and v2rayA app for release

- Redesign store README as a minimal storefront

- Refine app README and remove technical clutter

- Update Sphera icon with refined vector styling

- Use original v2rayA app icon

- Use raw GitHub URL for v2rayA icon per Umbrel Community Store spec

- Add custom v2rayA image build for UmbrelOS nf_tables iptables
This commit is contained in:
Sphera Bot
2026-08-03 22:13:53 +10:00
commit a7d1a0741f
11 changed files with 355 additions and 0 deletions
+61
View File
@@ -0,0 +1,61 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="512" height="512">
<defs>
<linearGradient id="bg" x1="0" y1="0" x2="512" y2="512">
<stop offset="0%" stop-color="#1e1b4b"/>
<stop offset="100%" stop-color="#0f172a"/>
</linearGradient>
<radialGradient id="sphere" cx="35%" cy="35%" r="65%">
<stop offset="0%" stop-color="#a5b4fc"/>
<stop offset="50%" stop-color="#6366f1"/>
<stop offset="100%" stop-color="#4338ca"/>
</radialGradient>
<linearGradient id="line" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#c084fc"/>
<stop offset="100%" stop-color="#818cf8"/>
</linearGradient>
<filter id="glow" x="-50%" y="-50%" width="200%" height="200%">
<feGaussianBlur stdDeviation="14" result="blur"/>
<feComposite in="SourceGraphic" in2="blur" operator="over"/>
</filter>
<filter id="shadow" x="-20%" y="-20%" width="140%" height="140%">
<feDropShadow dx="0" dy="16" stdDeviation="28" flood-color="#000000" flood-opacity="0.45"/>
</filter>
</defs>
<!-- Squircle -->
<rect x="16" y="16" width="480" height="480" rx="128" fill="url(#bg)" filter="url(#shadow)"/>
<!-- Outer ring -->
<circle cx="256" cy="256" r="158" fill="none" stroke="url(#line)" stroke-width="2" opacity="0.25" filter="url(#glow)"/>
<circle cx="256" cy="256" r="140" fill="none" stroke="#6366f1" stroke-width="1" opacity="0.15"/>
<!-- Main sphere -->
<circle cx="256" cy="256" r="96" fill="url(#sphere)" filter="url(#glow)"/>
<!-- Specular highlight -->
<ellipse cx="232" cy="212" rx="44" ry="30" fill="#ffffff" opacity="0.14" transform="rotate(-40 232 212)"/>
<!-- Orbit nodes -->
<circle cx="256" cy="98" r="8" fill="#ffffff" filter="url(#glow)"/>
<circle cx="414" cy="256" r="8" fill="#ffffff" filter="url(#glow)"/>
<circle cx="256" cy="414" r="8" fill="#ffffff" filter="url(#glow)"/>
<circle cx="98" cy="256" r="8" fill="#ffffff" filter="url(#glow)"/>
<circle cx="368" cy="144" r="5" fill="#e0e7ff" opacity="0.9"/>
<circle cx="144" cy="368" r="5" fill="#e0e7ff" opacity="0.9"/>
<circle cx="368" cy="368" r="5" fill="#e0e7ff" opacity="0.9"/>
<circle cx="144" cy="144" r="5" fill="#e0e7ff" opacity="0.9"/>
<!-- Connections -->
<g stroke="url(#line)" stroke-width="2.5" opacity="0.35" filter="url(#glow)">
<line x1="256" y1="98" x2="414" y2="256"/>
<line x1="414" y1="256" x2="256" y2="414"/>
<line x1="256" y1="414" x2="98" y2="256"/>
<line x1="98" y1="256" x2="256" y2="98"/>
<line x1="368" y1="144" x2="144" y2="368" opacity="0.6"/>
<line x1="144" y1="144" x2="368" y2="368" opacity="0.6"/>
</g>
<!-- Core dot -->
<circle cx="256" cy="256" r="5" fill="#ffffff" filter="url(#glow)"/>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB