A Thunderbird FileLink extension for uploading email attachments to a KekUpload instance.
- Node.js 20 or newer
- Yarn 1.22 or newer
- Thunderbird 128 or newer
- Access to a KekUpload-compatible server
Install the project dependencies from a fresh checkout:
yarn install --frozen-lockfileBuild the extension from source into the dist directory:
yarn buildThe build runs these steps:
- Remove the previous
distdirectory. - Compile TypeScript with
tsc -p .intodist. - Copy only the extension package assets:
management.html,icon-48.png,icon-96.png, andmanifest.json. - Bundle
dist/main.jswith Browserify so the published package contains the required dependencies.
Validate the built extension:
yarn web-ext lint -s distCreate a package for submission or local installation:
yarn packageThis command compiles the extension and creates an XPI file in the web-ext-artifacts directory. Use --overwrite-dest flag to automatically overwrite existing files.
For source review, use Node.js 20 or newer with Yarn 1.22.22 and run the commands above from a clean checkout. The yarn.lock file is required so reviewers install the same dependency versions.
- Run
yarn build. - Open Thunderbird.
- Go to Add-ons and Themes.
- Open the settings menu and choose Debug Add-ons.
- Choose Load Temporary Add-on.
- Select
dist/manifest.json.
After loading the extension, add or configure the FileLink account in Thunderbird and set:
- KekUpload instance URL. Use the server root URL, not an
/apiURL. - Upload chunk size in bytes.
- Whether uploads should include the original file name.
Finished uploads cannot be deleted by this extension. Remove files directly from the configured KekUpload server manually.
Compile TypeScript in watch mode:
yarn watchFormat the repository:
yarn formatThis project is licensed under the GNU General Public License v3.0 only. See LICENSE for the full license text.