migrate to bun, add aves

This commit is contained in:
Aidan 2025-01-07 19:57:03 -05:00
parent 755c590526
commit 90ea4d100c
4 changed files with 137 additions and 7 deletions

View File

@ -1,8 +1,8 @@
FROM node:22 FROM oven/bun:latest
WORKDIR /app WORKDIR /app
COPY package.json ./ COPY package.json bun.lockb ./
RUN npm install -g bun && bun install RUN bun install
COPY . . COPY . .
RUN npm run build:css RUN bun run build:css
EXPOSE 3000 EXPOSE 3000
CMD ["node", "app.js"] CMD ["bun", "run", "app.js"]

View File

@ -820,5 +820,134 @@
}, },
"description": "This app supports generating, saving, loading, parsing and verifying Android key and ID attestation data.\n\nThe app is used for self-testing, so it has no network permission. The certificate revocation data is embedded in the apk and will not be updated online. If the system is compromised, parsing and verifying is not safe, you should save the data to a file and then load the file on another device to verify it.\n\nThis app also supports loading attestation data generated by other software, and the supported storage format is PkiPath and PKCS7.", "description": "This app supports generating, saving, loading, parsing and verifying Android key and ID attestation data.\n\nThe app is used for self-testing, so it has no network permission. The certificate revocation data is embedded in the apk and will not be updated online. If the system is compromised, parsing and verifying is not safe, you should save the data to a file and then load the file on another device to verify it.\n\nThis app also supports loading attestation data generated by other software, and the supported storage format is PkiPath and PKCS7.",
"github": "https://github.com/vvb2060/KeyAttestation" "github": "https://github.com/vvb2060/KeyAttestation"
},
{
"id": "25",
"name": "Aves",
"icon": "/img/apps/aves.svg",
"foss": true,
"root": false,
"selfHosted": true,
"downloadLinks": {
"v1.12.1": {
"izzy-arm64-v8a": "https://github.com/deckerst/aves/releases/download/v1.12.1/app-izzy-arm64-v8a-release.apk",
"izzy-armeabi-v7a": "https://github.com/deckerst/aves/releases/download/v1.12.1/app-izzy-armeabi-v7a-release.apk",
"izzy-x86-64": "https://github.com/deckerst/aves/releases/download/v1.12.1/app-izzy-x86_64-release.apk",
"libre-arm64-v8a": "https://github.com/deckerst/aves/releases/download/v1.12.1/app-libre-arm64-v8a-release.apk",
"libre-armeabi-v7a": "https://github.com/deckerst/aves/releases/download/v1.12.1/app-libre-armeabi-v7a-release.apk",
"libre-x86-64": "https://github.com/deckerst/aves/releases/download/v1.12.1/app-libre-x86_64-release.apk",
"play": "https://github.com/deckerst/aves/releases/download/v1.12.1/app-play-release.apk"
},
"v1.12.0": {
"izzy-arm64-v8a": "https://github.com/deckerst/aves/releases/download/v1.12.0/app-izzy-arm64-v8a-release.apk",
"izzy-armeabi-v7a": "https://github.com/deckerst/aves/releases/download/v1.12.0/app-izzy-armeabi-v7a-release.apk",
"izzy-x86-64": "https://github.com/deckerst/aves/releases/download/v1.12.0/app-izzy-x86_64-release.apk",
"libre-arm64-v8a": "https://github.com/deckerst/aves/releases/download/v1.12.0/app-libre-arm64-v8a-release.apk",
"libre-armeabi-v7a": "https://github.com/deckerst/aves/releases/download/v1.12.0/app-libre-armeabi-v7a-release.apk",
"libre-x86-64": "https://github.com/deckerst/aves/releases/download/v1.12.0/app-libre-x86_64-release.apk",
"play": "https://github.com/deckerst/aves/releases/download/v1.12.0/app-play-release.apk"
},
"v1.11.20": {
"izzy-arm64-v8a": "https://github.com/deckerst/aves/releases/download/v1.11.20/app-izzy-arm64-v8a-release.apk",
"izzy-armeabi-v7a": "https://github.com/deckerst/aves/releases/download/v1.11.20/app-izzy-armeabi-v7a-release.apk",
"izzy-x86-64": "https://github.com/deckerst/aves/releases/download/v1.11.20/app-izzy-x86_64-release.apk",
"libre-arm64-v8a": "https://github.com/deckerst/aves/releases/download/v1.11.20/app-libre-arm64-v8a-release.apk",
"libre-armeabi-v7a": "https://github.com/deckerst/aves/releases/download/v1.11.20/app-libre-armeabi-v7a-release.apk",
"libre-x86-64": "https://github.com/deckerst/aves/releases/download/v1.11.20/app-libre-x86_64-release.apk",
"play": "https://github.com/deckerst/aves/releases/download/v1.11.20/app-play-release.apk"
},
"v1.11.19": {
"izzy-arm64-v8a": "https://github.com/deckerst/aves/releases/download/v1.11.19/app-izzy-arm64-v8a-release.apk",
"izzy-armeabi-v7a": "https://github.com/deckerst/aves/releases/download/v1.11.19/app-izzy-armeabi-v7a-release.apk",
"izzy-x86-64": "https://github.com/deckerst/aves/releases/download/v1.11.19/app-izzy-x86_64-release.apk",
"libre-arm64-v8a": "https://github.com/deckerst/aves/releases/download/v1.11.19/app-libre-arm64-v8a-release.apk",
"libre-armeabi-v7a": "https://github.com/deckerst/aves/releases/download/v1.11.19/app-libre-armeabi-v7a-release.apk",
"libre-x86-64": "https://github.com/deckerst/aves/releases/download/v1.11.19/app-libre-x86_64-release.apk",
"play": "https://github.com/deckerst/aves/releases/download/v1.11.19/app-play-release.apk"
},
"v1.11.18": {
"izzy-arm64-v8a": "https://github.com/deckerst/aves/releases/download/v1.11.18/app-izzy-arm64-v8a-release.apk",
"izzy-armeabi-v7a": "https://github.com/deckerst/aves/releases/download/v1.11.18/app-izzy-armeabi-v7a-release.apk",
"izzy-x86-64": "https://github.com/deckerst/aves/releases/download/v1.11.18/app-izzy-x86_64-release.apk",
"libre-arm64-v8a": "https://github.com/deckerst/aves/releases/download/v1.11.18/app-libre-arm64-v8a-release.apk",
"libre-armeabi-v7a": "https://github.com/deckerst/aves/releases/download/v1.11.18/app-libre-armeabi-v7a-release.apk",
"libre-x86-64": "https://github.com/deckerst/aves/releases/download/v1.11.18/app-libre-x86_64-release.apk",
"play": "https://github.com/deckerst/aves/releases/download/v1.11.18/app-play-release.apk"
},
"v1.11.17": {
"izzy-arm64-v8a": "https://github.com/deckerst/aves/releases/download/v1.11.17/app-izzy-arm64-v8a-release.apk",
"izzy-armeabi-v7a": "https://github.com/deckerst/aves/releases/download/v1.11.17/app-izzy-armeabi-v7a-release.apk",
"izzy-x86-64": "https://github.com/deckerst/aves/releases/download/v1.11.17/app-izzy-x86_64-release.apk",
"libre-arm64-v8a": "https://github.com/deckerst/aves/releases/download/v1.11.17/app-libre-arm64-v8a-release.apk",
"libre-armeabi-v7a": "https://github.com/deckerst/aves/releases/download/v1.11.17/app-libre-armeabi-v7a-release.apk",
"libre-x86-64": "https://github.com/deckerst/aves/releases/download/v1.11.17/app-libre-x86_64-release.apk",
"play": "https://github.com/deckerst/aves/releases/download/v1.11.17/app-play-release.apk"
},
"v1.11.16": {
"izzy-arm64-v8a": "https://github.com/deckerst/aves/releases/download/v1.11.16/app-izzy-arm64-v8a-release.apk",
"izzy-armeabi-v7a": "https://github.com/deckerst/aves/releases/download/v1.11.16/app-izzy-armeabi-v7a-release.apk",
"izzy-x86-64": "https://github.com/deckerst/aves/releases/download/v1.11.16/app-izzy-x86_64-release.apk",
"libre-arm64-v8a": "https://github.com/deckerst/aves/releases/download/v1.11.16/app-libre-arm64-v8a-release.apk",
"libre-armeabi-v7a": "https://github.com/deckerst/aves/releases/download/v1.11.16/app-libre-armeabi-v7a-release.apk",
"libre-x86-64": "https://github.com/deckerst/aves/releases/download/v1.11.16/app-libre-x86_64-release.apk",
"play": "https://github.com/deckerst/aves/releases/download/v1.11.16/app-play-release.apk"
},
"v1.11.15": {
"izzy-arm64-v8a": "https://github.com/deckerst/aves/releases/download/v1.11.15/app-izzy-arm64-v8a-release.apk",
"izzy-armeabi-v7a": "https://github.com/deckerst/aves/releases/download/v1.11.15/app-izzy-armeabi-v7a-release.apk",
"izzy-x86-64": "https://github.com/deckerst/aves/releases/download/v1.11.15/app-izzy-x86_64-release.apk",
"libre-arm64-v8a": "https://github.com/deckerst/aves/releases/download/v1.11.15/app-libre-arm64-v8a-release.apk",
"libre-armeabi-v7a": "https://github.com/deckerst/aves/releases/download/v1.11.15/app-libre-armeabi-v7a-release.apk",
"libre-x86-64": "https://github.com/deckerst/aves/releases/download/v1.11.15/app-libre-x86_64-release.apk",
"play": "https://github.com/deckerst/aves/releases/download/v1.11.15/app-play-release.apk"
},
"v1.11.14": {
"izzy-arm64-v8a": "https://github.com/deckerst/aves/releases/download/v1.11.14/app-izzy-arm64-v8a-release.apk",
"izzy-armeabi-v7a": "https://github.com/deckerst/aves/releases/download/v1.11.14/app-izzy-armeabi-v7a-release.apk",
"izzy-x86-64": "https://github.com/deckerst/aves/releases/download/v1.11.14/app-izzy-x86_64-release.apk",
"libre-arm64-v8a": "https://github.com/deckerst/aves/releases/download/v1.11.14/app-libre-arm64-v8a-release.apk",
"libre-armeabi-v7a": "https://github.com/deckerst/aves/releases/download/v1.11.14/app-libre-armeabi-v7a-release.apk",
"libre-x86-64": "https://github.com/deckerst/aves/releases/download/v1.11.14/app-libre-x86_64-release.apk",
"play": "https://github.com/deckerst/aves/releases/download/v1.11.14/app-play-release.apk"
},
"v1.11.13": {
"izzy-arm64-v8a": "https://github.com/deckerst/aves/releases/download/v1.11.13/app-izzy-arm64-v8a-release.apk",
"izzy-armeabi-v7a": "https://github.com/deckerst/aves/releases/download/v1.11.13/app-izzy-armeabi-v7a-release.apk",
"izzy-x86-64": "https://github.com/deckerst/aves/releases/download/v1.11.13/app-izzy-x86_64-release.apk",
"libre-arm64-v8a": "https://github.com/deckerst/aves/releases/download/v1.11.13/app-libre-arm64-v8a-release.apk",
"libre-armeabi-v7a": "https://github.com/deckerst/aves/releases/download/v1.11.13/app-libre-armeabi-v7a-release.apk",
"libre-x86-64": "https://github.com/deckerst/aves/releases/download/v1.11.13/app-libre-x86_64-release.apk",
"play": "https://github.com/deckerst/aves/releases/download/v1.11.13/app-play-release.apk"
},
"v1.11.12": {
"izzy-arm64-v8a": "https://github.com/deckerst/aves/releases/download/v1.11.12/app-izzy-arm64-v8a-release.apk",
"izzy-armeabi-v7a": "https://github.com/deckerst/aves/releases/download/v1.11.12/app-izzy-armeabi-v7a-release.apk",
"izzy-x86-64": "https://github.com/deckerst/aves/releases/download/v1.11.12/app-izzy-x86_64-release.apk",
"libre-arm64-v8a": "https://github.com/deckerst/aves/releases/download/v1.11.12/app-libre-arm64-v8a-release.apk",
"libre-armeabi-v7a": "https://github.com/deckerst/aves/releases/download/v1.11.12/app-libre-armeabi-v7a-release.apk",
"libre-x86-64": "https://github.com/deckerst/aves/releases/download/v1.11.12/app-libre-x86_64-release.apk",
"play": "https://github.com/deckerst/aves/releases/download/v1.11.12/app-play-release.apk"
},
"v1.11.11": {
"izzy-arm64-v8a": "https://github.com/deckerst/aves/releases/download/v1.11.11/app-izzy-arm64-v8a-release.apk",
"izzy-armeabi-v7a": "https://github.com/deckerst/aves/releases/download/v1.11.11/app-izzy-armeabi-v7a-release.apk",
"izzy-x86-64": "https://github.com/deckerst/aves/releases/download/v1.11.11/app-izzy-x86_64-release.apk",
"libre-arm64-v8a": "https://github.com/deckerst/aves/releases/download/v1.11.11/app-libre-arm64-v8a-release.apk",
"libre-armeabi-v7a": "https://github.com/deckerst/aves/releases/download/v1.11.11/app-libre-armeabi-v7a-release.apk",
"libre-x86-64": "https://github.com/deckerst/aves/releases/download/v1.11.11/app-libre-x86_64-release.apk",
"play": "https://github.com/deckerst/aves/releases/download/v1.11.11/app-play-release.apk"
},
"v1.11.10": {
"izzy-arm64-v8a": "https://github.com/deckerst/aves/releases/download/v1.11.10/app-izzy-arm64-v8a-release.apk",
"izzy-armeabi-v7a": "https://github.com/deckerst/aves/releases/download/v1.11.10/app-izzy-armeabi-v7a-release.apk",
"izzy-x86-64": "https://github.com/deckerst/aves/releases/download/v1.11.10/app-izzy-x86_64-release.apk",
"libre-arm64-v8a": "https://github.com/deckerst/aves/releases/download/v1.11.10/app-libre-arm64-v8a-release.apk",
"libre-armeabi-v7a": "https://github.com/deckerst/aves/releases/download/v1.11.10/app-libre-armeabi-v7a-release.apk",
"libre-x86-64": "https://github.com/deckerst/aves/releases/download/v1.11.10/app-libre-x86_64-release.apk",
"play": "https://github.com/deckerst/aves/releases/download/v1.11.10/app-play-release.apk"
}
},
"description": "Aves can handle all sorts of images and videos, including your typical JPEGs and MP4s, but also more exotic things like multi-page TIFFs, SVGs, old AVIs and more!\n\nIt scans your media collection to identify motion photos, panoramas (aka photo spheres), 360° videos, as well as GeoTIFF files.\n\nNavigation and search is an important part of Aves. The goal is for users to easily flow from albums to photos to tags to maps, etc.\n\nAves integrates with Android (from KitKat to Android 14, including Android TV) with features such as widgets, app shortcuts, screen saver and global search handling. It also works as a media viewer and picker.",
"github": "https://github.com/deckerst/aves"
} }
] ]

View File

@ -4,9 +4,9 @@ services:
container_name: modules-app container_name: modules-app
restart: always restart: always
ports: ports:
- "3000:3000" - "3002:3000"
volumes: volumes:
- .:/app - .:/app
command: ["node", "app.js"] command: ["bun", "run", "app.js"]
environment: environment:
- NODE_ENV=production - NODE_ENV=production

1
public/img/apps/aves.svg Normal file
View File

@ -0,0 +1 @@
<svg width="100" height="100" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path d="m29.04 62.547 16.498 16.497a2.916 2.916 0 0 1 0 4.125l-7.887 7.887a15.094 15.094 0 0 1-21.345 0l-7.887-7.887a2.916 2.916 0 0 1 0-4.124l16.497-16.498a2.916 2.916 0 0 1 4.125 0z" style="fill:#ef435a;fill-opacity:1;fill-rule:evenodd;stroke:#000;stroke-width:3.0565;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"/><path style="fill:#e0e0e0;fill-rule:evenodd;stroke:#000;stroke-width:3.05648;stroke-linecap:round;stroke-linejoin:round" d="m53.669 37.917 16.498 16.498a2.91 2.91 0 0 1 0 4.123L53.669 75.036a2.91 2.91 0 0 1-4.124 0L33.047 58.538a2.91 2.91 0 0 1 0-4.123l16.498-16.498a2.91 2.91 0 0 1 4.124 0z"/><path style="fill:#ffc11f;fill-opacity:1;fill-rule:evenodd;stroke:#000;stroke-width:3.05648;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1" d="M57.678 29.784a2.916 2.916 0 0 0 0 4.124l16.498 16.497a2.916 2.916 0 0 0 4.124 0l16.497-16.497a2.916 2.916 0 0 0 0-4.124l-8.188-8.189a14.667 14.667 0 0 0-20.742 0zm16.284-.213a3.219 3.219 0 0 1 4.55 0 3.219 3.219 0 0 1 0 4.55 3.219 3.219 0 0 1-4.55 0 3.219 3.219 0 0 1 0-4.551z"/><path d="M21.548 5.792 45.636 29.88a2.916 2.916 0 0 1 0 4.124L29.138 50.501a2.916 2.916 0 0 1-4.124 0l-10.7-10.7a22.78 22.78 0 0 1 0-32.215l1.792-1.794a3.848 3.848 0 0 1 5.442 0z" style="fill:#1cc8eb;fill-opacity:1;fill-rule:evenodd;stroke:#000;stroke-width:3.0565;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"/></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB