Download Veiled Contact
Linux and Windows server files are published. The Linux desktop app is built but not published. The Windows desktop app is not built yet. Open the web app in a browser. Nothing to install.
Windows
-
Desktop app
Not built yet.
What is coming -
Server
One .exe, 16.1 MB, or the service installer, 4.7 MB.
Download Installer
Linux
-
Desktop app
Built, not published yet.
What is coming -
Server
Tarball, 4.5 MB, and the container files.
Download Container files
Files, sizes and checksums
| What it is | File | Size | SHA-256 |
|---|---|---|---|
| Linux server The server binary for Linux x86_64, plus the licence. Unpack it, run setup, then start it. |
veiled-server-0.1.0-beta.1-x86_64-unknown-linux-gnu.tar.gz | 4.5 MB | 0e522da1d6120f7dd38c600efdb816366e6ddd1a49eae789ae2296724c017505 |
| Windows server The same server for Windows x86_64, as a single .exe. Run it in a terminal to set it up, exactly like the Linux one. |
veiled-server-0.1.0-beta.1-x86_64-pc-windows-gnu.exe | 16.1 MB | ee721865ff2126068c5870744c3740e1547a73bf754aa04a650efa76e16666c6 |
| Windows server installer The same server, installed as a Windows service so it keeps running after you close the window. The plain .exe above is for running it by hand. |
veiled-server-setup-0.1.0-beta.1.exe | 4.7 MB | d9845f48cf7a07ddf707072fd8d8f39932f431deb4be646796eb240a83aef3e0 |
| Container files The Dockerfile, a compose file, a Caddyfile, an nginx sample and a systemd unit. The image is built locally with docker build -f server/Dockerfile . |
veiled-server-0.1.0-beta.1-container-files.tar.gz | 6.4 KB | 238a5740cab96832734cc7210f02f1ef466b73a5a8759e6c021fef971fe4e2c5 |
| Web client The compiled client, for a host who wants to serve the client files from somewhere else. Unpack it and point the server at it with --client-dir. |
veiled-client-0.1.0-beta.1.tar.gz | 0.5 MB | 26dd6616d680e33daf8a58302ffb147ba192888537dc11303275167f9362241d |
Every file listed above is served from this site, and each checksum is of exactly these bytes. Every release also publishes one SHA256SUMS file beside the files. ARM64 is not built yet and will be linked here when it is. A minimal Debian or Ubuntu image has no curl, so the checks below work with wget too, and the hosting guide uses it for that reason.
| veiled-client-0.1.0-beta.1.tar.gz | 26dd6616d680e33daf8a58302ffb147ba192888537dc11303275167f9362241d |
| veiled-install.sh | dedadf3f73e8f162a8461663bde84c87440f6680c79c8d34b252a326edd3754d |
| veiled-server-0.1.0-beta.1-container-files.tar.gz | 238a5740cab96832734cc7210f02f1ef466b73a5a8759e6c021fef971fe4e2c5 |
| veiled-server-0.1.0-beta.1-x86_64-pc-windows-gnu.exe | ee721865ff2126068c5870744c3740e1547a73bf754aa04a650efa76e16666c6 |
| veiled-server-0.1.0-beta.1-x86_64-unknown-linux-gnu.tar.gz | 0e522da1d6120f7dd38c600efdb816366e6ddd1a49eae789ae2296724c017505 |
| veiled-server-setup-0.1.0-beta.1.exe | d9845f48cf7a07ddf707072fd8d8f39932f431deb4be646796eb240a83aef3e0 |
Check a file before running it (SHA-256)
Each file has a published SHA-256, which is a short fingerprint of the exact bytes. The one-line commands below download a file and print its fingerprint, so it can be held against the value in the table above. They fetch nothing else, and they need no other tool than curl, which every Linux machine already has.
curl -s https://veiled.contact/downloads/veiled-server-0.1.0-beta.1-x86_64-unknown-linux-gnu.tar.gz?v=7 | sha256sum
curl -s https://veiled.contact/downloads/veiled-server-0.1.0-beta.1-container-files.tar.gz?v=7 | sha256sum
curl -s https://veiled.contact/downloads/veiled-client-0.1.0-beta.1.tar.gz?v=7 | sha256sum
The longer route does the same job and leaves the files on disk. Download both of these into one folder:
Linux
curl -O https://veiled.contact/downloads/SHA256SUMS
curl -O https://veiled.contact/downloads/veiled-server-0.1.0-beta.1-x86_64-unknown-linux-gnu.tar.gz?v=7
sha256sum --check SHA256SUMS
tar xzf veiled-server-0.1.0-beta.1-x86_64-unknown-linux-gnu.tar.gz
./veiled-server setup
Container files
curl -O https://veiled.contact/downloads/veiled-server-0.1.0-beta.1-container-files.tar.gz?v=7
tar xzf veiled-server-0.1.0-beta.1-container-files.tar.gz
docker build -f server/Dockerfile -t veiled-server:0.1.0-beta.1 .
docker run -d --name veiled -p 8443:8443/tcp -p 8444:8444/udp -v veiled-data:/data veiled-server:0.1.0-beta.1
Windows desktop app
There is no Windows desktop app published yet. A Windows server is published, and it is in the files list above.
- What is coming
- A Windows desktop app, an installer named with the version, expected as a .msi or .exe. It would use the direct voice path that a browser cannot use, and it would keep the identity key in the Windows key store. It is not built yet, and when it is built the installer will be listed here with its checksum. Unsigned builds trigger a Windows warning, which is expected. It is the same account in a nicer client.
- What works right now
- A browser. Open the server address a host has handed out, type the join password, and text, voice and screen share all work with nothing installed. Allow the microphone when the browser asks. The App button in the top bar opens the same client on this site.
- Building it locally
- Anyone with the Rust toolchain can build the desktop app from source in the meantime, with cargo build --release. The hosting guide covers the packages it needs.
Linux desktop app
The Linux desktop app is not published yet either. No .deb, no .rpm and no .AppImage has been released, so there is nothing here to click for one.
- What is coming
- The same desktop app for Linux, which needs no root to run and keeps the identity key in the desktop key store.
- What works right now
- Two things. The server itself runs on Linux, and its files are in the files disclosure above. Joining a server works from a browser, which needs no install and covers text, voice and screen share.
- Building it locally
- The desktop app can be built from source with the Rust toolchain for anyone who would rather not run a binary they did not compile.
Joining from a browser
The web app is the client that ships inside the server. Whoever runs a server already has it at their own address, so an invited person opens that address in a browser and is using Veiled Contact straight away. No account is created, no email address is given, and nothing is downloaded.
-
Get the address and the join password
The host sends both. The address looks like a website address, for example chat.example.org.
-
Open the address in a browser
The page that loads is the web app, served by that server. It also opens from the box on the front page.
-
Type the join password
The browser asks for the password the host set, and it is checked without being sent anywhere.
-
Choose a display name, then allow the microphone
The name is the label the other members see. Allowing the microphone is what makes voice work; typing and reading need no permission at all.
For whoever runs the server
OptionalA host who would rather serve the client files from somewhere else can do that with the published client bundle. It is the same web app, packaged as a file: veiled-client-0.1.0-beta.1.tar.gz, 0.5 MB, SHA-256 26dd6616d680e33daf8a58302ffb147ba192888537dc11303275167f9362241d. It is for server operators, not for visitors. Anyone joining from a browser downloads nothing, because the server they joined hands the client files over itself.
Getting a server running
The server is one file with its own database built in, so there is no database to install and no runtime to keep updated. The published build is for Linux, and it was built and checksummed on the day this page went live.
-
Download the server file
That is the Linux server file in the files disclosure above, at 4.5 MB. Unpack it, and the binary and the licence come out.
-
Run it and answer the wizard
Running ./veiled-server setup once asks the questions and writes the answers to a small settings file beside the binary.
-
Choose a name and a join password
The name is what invited people will see. The join password is what they type to get in, and it is never sent anywhere.
-
Open one port
Voice and video use port 8444, one port and not a range of them. The wizard prints the exact line to add to a firewall or a router.
-
Share the address and the password
Those two things are the whole invitation. The client files are already on the server, so there is nothing else to hand over.
-
Open the address and join
The address opens in a browser, the password goes in, a display name is chosen, and the server is being used.
With Docker
If the machine already runs Docker, this is the whole install. The data volume holds the database, the server identity and the settings, so it is worth keeping.
docker run -d --name veiled \
--restart unless-stopped \
-p 8443:8443/tcp -p 8444:8444/udp \
-v veiled-data:/srv/veiled/data -w /srv/veiled/data \
veiled-server:0.1.0-beta.1
# first run: walk the wizard once, in the same volume, so the config is kept too
docker run --rm -it -v veiled-data:/srv/veiled/data -w /srv/veiled/data \
veiled-server:0.1.0-beta.1 setup
The container serves the web client on the same web port, so invited people join in a browser with no extra container. When the wizard asks for the data directory, the answer is ., so the database and the settings sit together in the volume.
Licence
ProprietaryVeiled Contact is proprietary software. The files here are free to download, run and host, including on a server that makes money, and unmodified copies may be passed on with the licence and the checksums. The source is not published and is not offered, and no licence is granted to modify, rebrand or redistribute a changed build. This release carries no warranty, breaking changes between versions are expected, and the cryptography has not had an independent audit. It links against open source libraries, libsodium and libopus among them, and their licences are unaffected.
The security page states what the cryptography does and does not claim, in the same plain words.