2021-11-24 13:42:29 +00:00
# [![Send](./assets/icon-64x64.png)](https://gitlab.com/timvisee/send/) Send
2020-10-16 14:42:40 +00:00
[![Build status on GitLab CI][gitlab-ci-master-badge]][gitlab-ci-link]
2020-10-18 13:55:37 +00:00
[![Latest release][release-badge]][release-link]
2020-10-16 14:42:40 +00:00
[![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
2020-10-18 13:55:37 +00:00
[release-badge]: https://img.shields.io/github/v/tag/timvisee/send
2020-10-20 18:56:23 +00:00
[release-link]: https://gitlab.com/timvisee/send/-/tags
2020-10-16 14:42:40 +00:00
[repo-license-badge]: https://img.shields.io/github/license/timvisee/send.svg
2017-06-26 19:34:31 +00:00
2020-10-16 16:49:33 +00:00
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.
2020-10-16 16:54:19 +00:00
- Forked [at][fork-commit] Mozilla's last publicly hosted version
2020-10-16 16:49:33 +00:00
- _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
2020-10-16 16:54:19 +00:00
- Mozilla's [changes][mozilla-patches] since the fork have been selectively [merged][mozilla-patches-pr]
2020-10-16 16:49:33 +00:00
- 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 )
2020-10-16 16:54:19 +00:00
The original project by Mozilla can be found [here][mozilla-send].
2020-10-16 16:49:33 +00:00
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
2020-10-16 16:54:19 +00:00
publicly hosted version, which this fork is based on.
2020-10-16 16:49:33 +00:00
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.
2020-10-16 16:54:19 +00:00
Please consider to [donate][donate] to allow me to keep working on this.
2020-10-16 16:49:33 +00:00
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
2020-10-16 16:54:19 +00:00
[donate]: https://timvisee.com/donate
2020-10-16 16:49:33 +00:00
[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
---
2017-06-26 19:34:31 +00:00
2021-03-15 18:56:51 +00:00
**Docs:** [FAQ ](docs/faq.md ), [Encryption ](docs/encryption.md ), [Build ](docs/build.md ), [Docker ](docs/docker.md ), [More ](docs/ )
2017-07-14 20:20:28 +00:00
2017-08-20 12:05:48 +00:00
---
2017-10-06 19:03:14 +00:00
## Table of Contents
* [What it does ](#what-it-does )
* [Requirements ](#requirements )
* [Development ](#development )
* [Commands ](#commands )
* [Configuration ](#configuration )
* [Localization ](#localization )
* [Contributing ](#contributing )
2021-03-26 11:23:20 +00:00
* [Instances ](#instances )
2019-07-12 14:07:24 +00:00
* [Deployment ](#deployment )
2021-01-24 20:38:05 +00:00
* [Clients ](#clients )
2017-10-06 19:03:14 +00:00
* [License ](#license )
---
2017-08-20 12:05:48 +00:00
2017-06-26 19:34:31 +00:00
## What it does
2017-07-19 16:23:42 +00:00
A file sharing experiment which allows you to send encrypted files to other users.
2017-06-26 19:34:31 +00:00
2017-08-20 12:05:48 +00:00
---
2017-06-26 19:34:31 +00:00
## Requirements
2021-05-19 09:17:13 +00:00
- [Node.js 15.x ](https://nodejs.org/ )
2017-08-25 20:58:51 +00:00
- [Redis server ](https://redis.io/ ) (optional for development)
2020-06-09 02:47:39 +00:00
- [AWS S3 ](https://aws.amazon.com/s3/ ) or compatible service (optional)
2017-06-26 19:34:31 +00:00
2017-08-25 20:58:51 +00:00
---
## Development
2020-06-09 02:47:39 +00:00
To start an ephemeral development server, run:
2017-06-26 19:34:31 +00:00
```sh
2017-08-25 20:58:51 +00:00
npm install
npm start
2017-06-26 19:34:31 +00:00
```
2020-06-09 02:47:39 +00:00
Then, browse to http://localhost:8080
2017-08-25 22:41:53 +00:00
2017-08-20 12:05:48 +00:00
---
2017-08-25 20:58:51 +00:00
## Commands
2017-06-26 19:34:31 +00:00
| 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.
2017-08-24 21:54:02 +00:00
| `npm start` | Runs the server in development configuration.
| `npm run build` | Builds the production assets.
| `npm run prod` | Runs the server in production configuration.
2017-06-26 19:34:31 +00:00
2017-08-20 12:05:48 +00:00
---
2017-08-25 20:58:51 +00:00
## Configuration
2017-08-27 20:45:38 +00:00
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.
2017-08-25 20:58:51 +00:00
---
2017-06-26 19:34:31 +00:00
## Localization
2021-05-19 14:49:13 +00:00
See: [docs/localization.md ](docs/localization.md )
2018-03-06 00:29:09 +00:00
2017-08-20 12:05:48 +00:00
---
2017-06-26 19:34:31 +00:00
## Contributing
2021-04-02 06:55:18 +00:00
Pull requests are always welcome! Feel free to check out the list of "good first issues" (to be implemented).
2017-06-26 19:34:31 +00:00
2017-08-20 12:05:48 +00:00
---
2021-03-26 11:23:20 +00:00
## Instances
Find a list of public instances here: https://github.com/timvisee/send-instances/
---
2019-07-12 14:07:24 +00:00
## Deployment
2021-05-19 14:49:13 +00:00
See: [docs/deployment.md ](docs/deployment.md )
2019-07-12 14:07:24 +00:00
2021-05-19 14:49:13 +00:00
Docker quickstart: [docs/docker.md ](docs/docker.md )
AWS example using Ubuntu Server `20.04` : [docs/AWS.md ](docs/AWS.md )
2021-05-19 09:17:13 +00:00
2019-07-12 14:07:24 +00:00
---
2021-01-24 20:38:05 +00:00
## Clients
2018-09-19 14:19:18 +00:00
2021-01-24 20:38:05 +00:00
- Web: _this repository_
- Command-line: [`ffsend` ](https://github.com/timvisee/ffsend )
- Android: _see [Android](#android) section_
2021-08-30 13:28:29 +00:00
- Thunderbird: [FileLink provider for Send ](https://addons.thunderbird.net/en-US/thunderbird/addon/filelink-provider-for-send/ )
2021-01-24 20:38:05 +00:00
#### 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 < http: / / localhost:8080 > . CSS and image files are
located in the `android/app/src/main/assets` directory.
2018-09-19 14:19:18 +00:00
---
2017-06-26 19:34:31 +00:00
## License
[Mozilla Public License Version 2.0 ](LICENSE )
2017-08-20 12:05:48 +00:00
2020-07-27 21:49:10 +00:00
[qrcode.js ](https://github.com/kazuhikoarase/qrcode-generator ) licensed under MIT
2017-08-20 12:05:48 +00:00
---