Add initial Metadata
84
Readme.md
|
|
@ -1,3 +1,81 @@
|
|||
AVNC
|
||||
====
|
||||
**AVNC** is a VNC client for Android.
|
||||
|
||||
<p align="center"><img src="metadata/en-US/branding/wordmark.svg" alt="AVNC Banner" height="200"></img></a>
|
||||
|
||||
|
||||
<p align="center"> <b>AVNC</b> is a VNC client for Android. </p>
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
|
||||
### Features
|
||||
- Material Design (with Dark theme)
|
||||
- Configurable gestures
|
||||
- Tight encoding
|
||||
- Virtual Keys
|
||||
- Picture-in-Picture mode
|
||||
- View-only mode
|
||||
- Zeroconf Server Discovery
|
||||
- TLS support (AnonTLS, VeNCrypt)
|
||||
- SSH tunnel (VNC over SSH)
|
||||
- Import/Export servers
|
||||
- VNC Repeater support
|
||||
- Clipboard Sync with server
|
||||
|
||||
|
||||
### Screenshots
|
||||
|
||||
[<img src="metadata/en-US/images/phoneScreenshots/1.jpg" width="250">](metadata/en-US/images/phoneScreenshots/1.jpg)
|
||||
[<img src="metadata/en-US/images/phoneScreenshots/2.jpg" width="250">](metadata/en-US/images/phoneScreenshots/2.jpg)
|
||||
[<img src="metadata/en-US/images/phoneScreenshots/3.jpg" width="250">](metadata/en-US/images/phoneScreenshots/3.jpg)
|
||||
[<img src="metadata/en-US/images/phoneScreenshots/4.jpg" width="250">](metadata/en-US/images/phoneScreenshots/4.jpg)
|
||||
[<img src="metadata/en-US/images/phoneScreenshots/5.jpg" width="250">](metadata/en-US/images/phoneScreenshots/5.jpg)
|
||||
[<img src="metadata/en-US/images/phoneScreenshots/6.jpg" width="250">](metadata/en-US/images/phoneScreenshots/6.jpg)
|
||||
[<img src="metadata/en-US/images/phoneScreenshots/7.jpg" width="380">](metadata/en-US/images/phoneScreenshots/7.jpg)
|
||||
[<img src="metadata/en-US/images/phoneScreenshots/8.jpg" width="380">](metadata/en-US/images/phoneScreenshots/8.jpg)
|
||||
|
||||
|
||||
Development
|
||||
===========
|
||||
|
||||
Tools required:
|
||||
|
||||
- Git
|
||||
- Android Studio
|
||||
- Android SDK
|
||||
- NDK (with CMake)
|
||||
|
||||
To get started, simply clone the repo and initialize submodules:
|
||||
|
||||
```bash
|
||||
git clone git@github.com:gujjwal00/avnc.git
|
||||
cd avnc
|
||||
git submodule update --init --depth 1
|
||||
```
|
||||
|
||||
Now you can import the project in Android Studio, or build it directly from terminal.
|
||||
|
||||
Read [Architecture.kt](app/src/main/java/com/gaurav/avnc/Architecture.kt) (preferably in
|
||||
Android Studio) to know more about the code.
|
||||
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
To reduce build time during development, Libjpeg-turbo and LibreSSL are **not**
|
||||
included in default build types.
|
||||
|
||||
Thus, the Tight encoding, and security types based on TLS, will not work in such builds.
|
||||
If you need these features, you can create a full build.
|
||||
|
||||
Before creating a full build, you have to prepare the LibreSSL source tree:
|
||||
|
||||
1. Make sure following packages are installed: automake, autoconf, git, libtool, perl
|
||||
2. Run the following commands from root of the project:
|
||||
```bash
|
||||
cd extern/libressl/
|
||||
./autogen.sh
|
||||
```
|
||||
|
||||
Now, select an appropriate build type (`releaseAll`/`debugAll`) to create full build.
|
||||
See [build.gradle](app/build.gradle) for available build types.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
|
|
|||
55
metadata/en-US/branding/icon.svg
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
<?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="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="192pt" height="192pt"
|
||||
viewBox="0 0 192 192" version="1.2" id="svg373" sodipodi:docname="wire.svg"
|
||||
inkscape:version="1.0.2 (1.0.2+r75+1)">
|
||||
<metadata id="metadata377">
|
||||
<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 />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<sodipodi:namedview pagecolor="#ffffff" bordercolor="#666666" borderopacity="1"
|
||||
objecttolerance="10" gridtolerance="10" guidetolerance="10" inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2" inkscape:window-width="1920" inkscape:window-height="1004"
|
||||
id="namedview375" showgrid="false" inkscape:zoom="2.53" inkscape:cx="168.28078"
|
||||
inkscape:cy="132.37362" inkscape:window-x="0" inkscape:window-y="0"
|
||||
inkscape:window-maximized="1" inkscape:current-layer="layer3" inkscape:snap-bbox="true"
|
||||
inkscape:object-paths="true" inkscape:snap-intersection-paths="true"
|
||||
inkscape:document-rotation="0" />
|
||||
<defs id="defs342">
|
||||
<linearGradient inkscape:collect="always" id="linearGradient1378" x1="97.520142" y1="192.98738"
|
||||
x2="97.520142" y2="-2.1316282e-14" gradientUnits="userSpaceOnUse">
|
||||
<stop style="stop-color:#102359;stop-opacity:1" offset="0" id="stop7" />
|
||||
<stop style="stop-color:#3365ff;stop-opacity:1" offset="1" id="stop9" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g inkscape:groupmode="layer" id="layer1" inkscape:label="Layer 1" style="display:inline"
|
||||
sodipodi:insensitive="true">
|
||||
<rect
|
||||
style="opacity:1;fill:url(#linearGradient1378);fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect1370" width="192" height="192" x="-2.1316282e-14" y="-2.1316282e-14" />
|
||||
</g>
|
||||
<g inkscape:groupmode="layer" id="layer3" inkscape:label="Layer 2" style="display:inline"
|
||||
sodipodi:insensitive="true">
|
||||
<g id="g1354" transform="matrix(0.93660255,0,0,0.94847931,6.0861538,4.9459848)">
|
||||
<path
|
||||
style="fill:none;stroke:#e0b609;stroke-width:12.2257;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 74.80537,72.159937 98.197377,119.93525" id="path1343" />
|
||||
<path
|
||||
style="fill:none;stroke:#ffce00;stroke-width:12.2257;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 50.423073,119.93525 74.80537,72.159937" id="path1923" />
|
||||
<path
|
||||
style="fill:none;stroke:#00c21d;stroke-width:12.2194;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 141.58008,72.061603 -23.9271,47.781647" id="path1925" />
|
||||
<path
|
||||
style="fill:none;stroke:#00e524;stroke-width:12.2194;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 117.65298,119.84325 93.799434,72.061603" id="path1347" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.4 KiB |
74
metadata/en-US/branding/wordmark.svg
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
<?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="http://www.w3.org/2000/svg"
|
||||
width="270" height="135" viewBox="0 0 270 135" version="1.2" id="svg373">
|
||||
<metadata id="metadata377">
|
||||
<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="defs342">
|
||||
<linearGradient id="linearGradient1378" x1="97.520142" y1="192.98738" x2="97.520142"
|
||||
y2="-2.1316282e-14" gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="scale(1.4062499,0.70312499)">
|
||||
<stop style="stop-color:#102359;stop-opacity:1" offset="0" id="stop7" />
|
||||
<stop style="stop-color:#3365ff;stop-opacity:1" offset="1" id="stop9" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g id="layer1" style="display:inline">
|
||||
<rect
|
||||
style="opacity:1;fill:url(#linearGradient1378);fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect1370" width="270" height="135" x="-2.1316282e-14" y="-2.1316282e-14" />
|
||||
</g>
|
||||
<g id="layer4" style="display:inline">
|
||||
<g id="g888">
|
||||
<path
|
||||
style="fill:none;stroke:#d6ac00;stroke-width:11.523;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 62.835877,44.88821 84.744891,90.202108" id="path1343" />
|
||||
<path
|
||||
style="fill:none;stroke:#ffce00;stroke-width:11.523;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 39.999356,90.202108 62.835877,44.88821" id="path1923" />
|
||||
</g>
|
||||
<g id="g892">
|
||||
<path
|
||||
style="fill:none;stroke:#00c21d;stroke-width:11.5171;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 125.37724,44.794942 102.96705,90.114848" id="path1925" />
|
||||
<path
|
||||
style="fill:none;stroke:#00e524;stroke-width:11.5171;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 102.96705,90.114848 80.625766,44.794942" id="path1347" />
|
||||
</g>
|
||||
<g id="g897">
|
||||
<path
|
||||
style="display:inline;opacity:0.994888;fill:none;stroke:#cc2e00;stroke-width:11.4951;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 140.93564,90.207468 140.71046,44.792563" id="path1432" />
|
||||
<path
|
||||
style="display:inline;opacity:0.994888;fill:none;stroke:#cc2f00;stroke-width:11.4951;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 185.40954,90.207468 185.18436,44.792563" id="path1468" />
|
||||
<path
|
||||
style="display:inline;opacity:0.994888;fill:none;stroke:#ff3c00;stroke-width:11.4951;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 185.40954,90.207468 140.71046,44.792563" id="path1473" />
|
||||
</g>
|
||||
<g id="g904">
|
||||
<path
|
||||
style="opacity:0.994888;fill:none;fill-opacity:0.09;stroke:#ff00a4;stroke-width:11.4955;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
id="path850" transform="matrix(0.70407264,-0.71012796,0.70407264,0.71012796,0,0)"
|
||||
d="m 95.673352,222.66088 a 22.580896,22.580896 0 0 1 0,-31.93421 22.580896,22.580896 0 0 1 31.934208,0" />
|
||||
<path
|
||||
style="display:inline;opacity:0.994888;fill:none;stroke:#ff00a3;stroke-width:11.4952;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 230.01454,44.797978 -7.25146,0.09142" id="path1273" />
|
||||
<path
|
||||
style="display:inline;opacity:0.994888;fill:none;stroke:#ff00a3;stroke-width:11.4952;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 230.01454,90.110648 -7.25146,0.0914" id="path1277" />
|
||||
<circle
|
||||
style="opacity:0.994888;fill:#d6008a;fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path922" cx="230.01451" cy="44.843689" r="5.7476249" />
|
||||
<circle
|
||||
style="opacity:0.994888;fill:#d6008a;fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="circle924" cx="230.01451" cy="90.156349" r="5.7476249" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.1 KiB |
16
metadata/en-US/full_description.txt
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
AVNC is an open source VNC client for Android. It allows you to remotely control any device running a VNC server.
|
||||
|
||||
Features:
|
||||
|
||||
- Material Design (with Dark theme)
|
||||
- Configurable gestures
|
||||
- Tight encoding
|
||||
- Virtual Keys
|
||||
- Picture-in-Picture mode
|
||||
- View-only mode
|
||||
- Zeroconf Server Discovery
|
||||
- TLS support (AnonTLS, VeNCrypt)
|
||||
- SSH tunnel (VNC over SSH)
|
||||
- Import/Export servers
|
||||
- VNC Repeater support
|
||||
- Clipboard Sync with server
|
||||
BIN
metadata/en-US/images/phoneScreenshots/1.jpg
Normal file
|
After Width: | Height: | Size: 45 KiB |
BIN
metadata/en-US/images/phoneScreenshots/2.jpg
Normal file
|
After Width: | Height: | Size: 56 KiB |
BIN
metadata/en-US/images/phoneScreenshots/3.jpg
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
metadata/en-US/images/phoneScreenshots/4.jpg
Normal file
|
After Width: | Height: | Size: 49 KiB |
BIN
metadata/en-US/images/phoneScreenshots/5.jpg
Normal file
|
After Width: | Height: | Size: 43 KiB |
BIN
metadata/en-US/images/phoneScreenshots/6.jpg
Normal file
|
After Width: | Height: | Size: 64 KiB |
BIN
metadata/en-US/images/phoneScreenshots/7.jpg
Normal file
|
After Width: | Height: | Size: 117 KiB |
BIN
metadata/en-US/images/phoneScreenshots/8.jpg
Normal file
|
After Width: | Height: | Size: 100 KiB |
1
metadata/en-US/short_description.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
Fast & Secure VNC client for Android
|
||||
1
metadata/en-US/title.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
AVNC
|
||||