# Tilde Friends

Tilde Friends is a tool for making and sharing.

A public instance lives at https://www.tildefriends.net/.

It is both a peer-to-peer social network client, participating in Secure
Scuttlebutt, as well as a platform for writing and running web applications.

## Goals

1. Make it easy and fun to run all sorts of web applications.
2. Provide security that is easy to understand and protects your data.
3. Make creating and sharing web applications accessible to anyone with a
   browser.

## Building

Builds on Linux (x86_64 and aarch64), MacOS, OpenBSD, and Haiku. Builds for
all of those host platforms plus mingw64, iOS, and android.

1. Requires openssl (`libssl-dev`, in debian-speak). All other dependencies
   are kept up to date in the tree.
2. To build, run `make debug` or `make release`. An executable will be
   generated in a subdirectory of `out/`.
3. It's possible to build for Android, iOS, and Windows on Linux, if you have
   the right dependencies in the right places. `make windebug winrelease
iosdebug-ipa iosrelease-ipa release-apk`.
4. To build in docker, `docker build .`.
5. `make format` will normalize formatting to the coding standard.

## Running

By default, running the built `tildefriends` executable will start a web server
at <http://localhost:12345/>. `tildefriends -h` lists further options.

The first user to create an account and log in will be granted administrative
privileges. Further administration can be done at
<http://localhost:12345/~core/admin/>.

## Documentation

Docs are a work in progress:
<https://www.tildefriends.net/~cory/wiki/#test-wiki/tf-app-quick-reference>.

## License

All code unless otherwise noted in is provided under the
[MIT](https://opensource.org/licenses/MIT) license.
