# [![Send](./assets/icon-64x64.png)](https://gitlab.com/timvisee/send/) Send [![Build status on GitLab CI][gitlab-ci-master-badge]][gitlab-ci-link] [![Latest release][release-badge]][release-link] [![Docker image][docker-image-badge]][docker-image-link] [![Project license][repo-license-badge]](LICENSE) [docker-image-badge]: https://img.shields.io/badge/docker-latest-blue.svg [docker-image-link]: https://gitlab.com/timvisee/send/container_registry/eyJuYW1lIjoidGltdmlzZWUvc2VuZCIsInRhZ3NfcGF0aCI6Ii90aW12aXNlZS9zZW5kL3JlZ2lzdHJ5L3JlcG9zaXRvcnkvMTQxODUwNC90YWdzP2Zvcm1hdD1qc29uIiwiaWQiOjE0MTg1MDQsImNsZWFudXBfcG9saWN5X3N0YXJ0ZWRfYXQiOm51bGx9 [gitlab-ci-link]: https://gitlab.com/timvisee/send/pipelines [gitlab-ci-master-badge]: https://gitlab.com/timvisee/send/badges/master/pipeline.svg [release-badge]: https://img.shields.io/github/v/tag/timvisee/send [release-link]: https://gitlab.com/timvisee/send/-/tags [repo-license-badge]: https://img.shields.io/github/license/timvisee/send.svg A fork of Mozilla's [Firefox Send][mozilla-send]. Mozilla discontinued Send, this fork is a community effort to keep the project up-to-date and alive. - Forked [at][fork-commit] Mozilla's last publicly hosted version - _Mozilla_ & _Firefox_ branding [is][remove-branding-pr] removed so you can legally self-host - Kept compatible with [`ffsend`][ffsend] (CLI for Send) - Dependencies have been updated - Mozilla's [changes][mozilla-patches] since the fork have been selectively [merged][mozilla-patches-pr] - Mozilla's experimental report feature, download tokens, trust warnings and FxA changes are not included Find an up-to-date Docker image here: [docs/docker.md](docs/docker.md) The original project by Mozilla can be found [here][mozilla-send]. The [`mozilla-master`][branch-mozilla-master] branch holds the `master` branch as left by Mozilla. The [`send-v3`][branch-send-v3] branch holds the commit tree of Mozilla's last publicly hosted version, which this fork is based on. The [`send-v4`][branch-send-v4] branch holds the commit tree of Mozilla's last experimental version which was still a work in progress (featuring file reporting, download tokens, trust warnings and FxA changes), this has selectively been merged into this fork. Please consider to [donate][donate] to allow me to keep working on this. Thanks [Mozilla][mozilla] for building this amazing tool! [branch-mozilla-master]: https://gitlab.com/timvisee/send/-/tree/mozilla-master [branch-send-v3]: https://gitlab.com/timvisee/send/-/tree/send-v3 [branch-send-v4]: https://gitlab.com/timvisee/send/-/tree/send-v4 [donate]: https://timvisee.com/donate [ffsend]: https://github.com/timvisee/ffsend [fork-commit]: https://gitlab.com/timvisee/send/-/commit/3e9be676413a6e1baaf6a354c180e91899d10bec [mozilla-patches-pr]: https://gitlab.com/timvisee/send/-/merge_requests/3 [mozilla-patches]: https://gitlab.com/timvisee/send/-/compare/3e9be676413a6e1baaf6a354c180e91899d10bec...mozilla-master [mozilla-send]: https://github.com/mozilla/send [mozilla]: https://mozilla.org/ [remove-branding-pr]: https://gitlab.com/timvisee/send/-/merge_requests/2 --- **Docs:** [FAQ](docs/faq.md), [Encryption](docs/encryption.md), [Build](docs/build.md), [Docker](docs/docker.md), [More](docs/) --- ## Table of Contents * [What it does](#what-it-does) * [Requirements](#requirements) * [Development](#development) * [Commands](#commands) * [Configuration](#configuration) * [Localization](#localization) * [Contributing](#contributing) * [Instances](#instances) * [Deployment](#deployment) * [Clients](#clients) * [License](#license) --- ## What it does A file sharing experiment which allows you to send encrypted files to other users. --- ## Requirements - [Node.js 16.x](https://nodejs.org/) - [Redis server](https://redis.io/) (optional for development) - [AWS S3](https://aws.amazon.com/s3/) or compatible service (optional) --- ## Development To start an ephemeral development server, run: ```sh npm install npm start ``` Then, browse to http://localhost:8080 --- ## Commands | Command | Description | |------------------|-------------| | `npm run format` | Formats the frontend and server code using **prettier**. | `npm run lint` | Lints the CSS and JavaScript code. | `npm test` | Runs the suite of mocha tests. | `npm start` | Runs the server in development configuration. | `npm run build` | Builds the production assets. | `npm run prod` | Runs the server in production configuration. --- ## Configuration The server is configured with environment variables. See [server/config.js](server/config.js) for all options and [docs/docker.md](docs/docker.md) for examples. --- ## Localization See: [docs/localization.md](docs/localization.md) --- ## Contributing Pull requests are always welcome! Feel free to check out the list of "good first issues" (to be implemented). --- ## Instances Find a list of public instances here: https://github.com/timvisee/send-instances/ --- ## Deployment See: [docs/deployment.md](docs/deployment.md) Docker quickstart: [docs/docker.md](docs/docker.md) AWS example using Ubuntu Server `20.04`: [docs/AWS.md](docs/AWS.md) --- ## Clients - Web: _this repository_ - Command-line: [`ffsend`](https://github.com/timvisee/ffsend) - Android: _see [Android](#android) section_ - Thunderbird: [FileLink provider for Send](https://addons.thunderbird.net/en-US/thunderbird/addon/filelink-provider-for-send/) #### Android The android implementation is contained in the `android` directory, and can be viewed locally for easy testing and editing by running `ANDROID=1 npm start` and then visiting . CSS and image files are located in the `android/app/src/main/assets` directory. --- ## License [Mozilla Public License Version 2.0](LICENSE) [qrcode.js](https://github.com/kazuhikoarase/qrcode-generator) licensed under MIT ---