Skip to content
Open

V2 #1153

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
node_modules
npm-debug.log
dist
.env
.DS_Store
.git
.gitignore
README.md
.vscode
.dockerignore
Dockerfile
docker-compose.yml
public/data/apps/mock/
12 changes: 0 additions & 12 deletions .editorconfig

This file was deleted.

1 change: 0 additions & 1 deletion .gitattributes

This file was deleted.

29 changes: 27 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,27 @@
/data.json
/.idea
# build output
dist/

# generated types
.astro/

# dependencies
node_modules/

# logs
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*

# environment variables
.env
.env.production

# macOS-specific files
.DS_Store

# jetbrains setting folder
.idea/

# custom
public/data/apps/mock/
4 changes: 4 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"recommendations": ["astro-build.astro-vscode"],
"unwantedRecommendations": []
}
11 changes: 11 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"version": "0.2.0",
"configurations": [
{
"command": "./node_modules/.bin/astro dev",
"name": "Development server",
"request": "launch",
"type": "node-terminal"
}
]
}
57 changes: 12 additions & 45 deletions APP_CRITERIA.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,9 @@ Before opening a new app request/PR with updates to a config, please read the fo

2. Search in both open AND closed discussions to see if this app has already been requested by someone else.

3. Do not request apps that are [**simple configs**](#simple-config) - see below.

4. Forks of apps will not be accepted, unless both the package name and display name of the app has been changed. This is so people do not unknowingly download unofficial versions of apps.
3. Forks of apps will not be accepted, unless both the package name and display name of the app has been changed. This is so people do not unknowingly download unofficial versions of apps.

5. Only configs from official sources from the app are accepted. This means reupload site (eg. APKPure, APKMirror etc...) configs will NOT be added.
4. Only configs from official sources from the app are accepted. This means reupload site (eg. APKPure, APKMirror etc...) configs will NOT be added.


If you've gone through the above steps, then you can [open an app request](https://github.com/ImranR98/apps.obtainium.imranr.dev/discussions/new?category=app-requests). Make sure to include at a minimum:
Expand All @@ -32,24 +30,15 @@ If you've gone through the above steps, then you can [open an app request](https

1. Search in both open AND closed PRs to see if someone has already tried to add the app at some point, and if it was declined, the reason why.

2. Do not add apps that are [**simple configs**](#simple-config) - see below.
2. Forks of apps will not be accepted, unless both the package name and display name of the app has been changed. This is so people do not unknowingly download unofficial versions of apps.

3. Forks of apps will not be accepted, unless both the package name and display name of the app has been changed. This is so people do not unknowingly download unofficial versions of apps.

4. Only configs from official sources from the app are accepted. This means reupload site (eg. APKPure, APKMirror etc...) configs will NOT be added.
3. Only configs from official sources from the app are accepted. This means reupload site (eg. APKPure, APKMirror etc...) configs will NOT be added.

If you've gone through the above steps, then you can open an PR. Keep these things in mind:

- Keep the amount of alternative configs to a minimum, only provide the ones that will work the best in the long term.
- Ensure that you leave as many config options as you can as the default setting. Only change what you need. For example, with a GitHub config you would not add an app with the `Include prereleases` setting enabled unless necessary as not everyone will want prereleases.

<span id="simple-config"></span>
### What is a simple config?

A simple config is an app that you can add by simply pasting the URL of the website and clicking add in Obtainium, without changing any additional settings.

The exception to this is if the URL may be hard to find. For example, the URL which has the links to Signal APKs (https://updates.signal.org/android/latest.json) is not easy to find unless you have knowledge of browser developer tools.

<span id="de"></span>
# App-Kriterien

Expand All @@ -62,11 +51,9 @@ Bevor Sie eine neue App-Anfrage oder einen neuen Pull-Request mit einer neuen Ko

2. Durchsuchen Sie sowohl offene als auch geschlossene Diskussionen, um zu sehen, ob diese App bereits von jemand anderem angefordert wurde.

3. Fordern Sie keine Anwendungen an, die [**einfache Konfigurationen**](#simple-config-de) sind – siehe [unten](#simple-config-de).

4. In der Regel werden Forks und Mods von Apps nicht akzeptiert, es sei denn, sowohl der Paketname als auch der Anzeigename der App wurden geändert. Damit soll verhindert werden, dass Benutzer unwissentlich inoffizielle Versionen von Anwendungen herunterladen.
3. In der Regel werden Forks und Mods von Apps nicht akzeptiert, es sei denn, sowohl der Paketname als auch der Anzeigename der App wurden geändert. Damit soll verhindert werden, dass Benutzer unwissentlich inoffizielle Versionen von Anwendungen herunterladen.

5. Es werden nur Konfigurationen aus offiziellen Quellen der App akzeptiert. Das bedeutet, dass Konfigurationen von Re-Upload-Seiten (z.B. APKPure, APKMirror usw.) NICHT hinzugefügt werden.
4. Es werden nur Konfigurationen aus offiziellen Quellen der App akzeptiert. Das bedeutet, dass Konfigurationen von Re-Upload-Seiten (z.B. APKPure, APKMirror usw.) NICHT hinzugefügt werden.


Nachdem Sie die oben genannten Punkte überprüft haben, können Sie [eine App-Anfrage eröffnen] (https://github.com/ImranR98/apps.obtainium.imranr.dev/discussions/new?category=app-requests). Stellen Sie sicher, dass Sie mindestens die folgenden Informationen angeben:
Expand All @@ -79,24 +66,15 @@ Nachdem Sie die oben genannten Punkte überprüft haben, können Sie [eine App-A

1. Durchsuchen Sie sowohl offene als auch geschlossene PRs, um zu prüfen, ob bereits jemand versucht hat, die App hinzuzufügen, und um die Begründung einer etwaigen Ablehnung zu finden.

2. Fügen Sie keine Anwendungen hinzu, bei denen es sich um [**einfache Konfigurationen**](#simple-config-de) handelt – siehe [unten](#simple-config-de).

3. In der Regel werden Forks und Mods von Apps nicht akzeptiert, es sei denn, sowohl der Paketname als auch der Anzeigename der App wurden geändert. Damit soll verhindert werden, dass Benutzer unwissentlich inoffizielle Versionen von Anwendungen herunterladen.
2. In der Regel werden Forks und Mods von Apps nicht akzeptiert, es sei denn, sowohl der Paketname als auch der Anzeigename der App wurden geändert. Damit soll verhindert werden, dass Benutzer unwissentlich inoffizielle Versionen von Anwendungen herunterladen.

4. Es werden nur Konfigurationen aus offiziellen Quellen der Anwendung akzeptiert. Das bedeutet, dass Konfigurationen von Re-Upload-Seiten (z.B. APKPure, APKMirror usw.) NICHT hinzugefügt werden.
3. Es werden nur Konfigurationen aus offiziellen Quellen der Anwendung akzeptiert. Das bedeutet, dass Konfigurationen von Re-Upload-Seiten (z.B. APKPure, APKMirror usw.) NICHT hinzugefügt werden.

Nachdem Sie die oben genannten Punkte überprüft haben, können Sie einen PR eröffnen. Stellen Sie sicher, dass Sie mindestens die folgenden Informationen angeben:

- Halten Sie die Anzahl der alternativen Konfigurationen so gering wie möglich und geben Sie nur die an, die langfristig am besten funktionieren.
- Stellen Sie sicher, dass Sie so viele Konfigurationsoptionen wie möglich als Standardeinstellung belassen. Ändern Sie nur, was zwingend für eine zufriedenstellend lauffähige Konfiguration benötigt wird. Bei einer GitHub-Konfiguration würden Sie zum Beispiel keine App mit der Einstellung „Vorabversionen einbeziehen“ hinzufügen, es sei denn, dies ist notwendig, da nicht jeder Vorabversionen haben möchte.

<span id="simple-config-de"></span>
### Was ist eine einfache Konfiguration?

Eine einfache Konfiguration ist eine Anwendung, die Sie einfach durch Einfügen der URL der Website und Klicken auf „Hinzufügen“ in Obtainium hinzufügen können, ohne zusätzliche Einstellungen zu ändern.

Davon ausgenommen sind URLs, die möglicherweise schwer zu finden sind. Die URL mit den Links zu den Signal-APKs (https://updates.signal.org/android/latest.json) ist beispielsweise nicht leicht zu finden, es sei denn, Sie verfügen über Kenntnisse der Browser-Entwickler-Tools.

<span id="zh-cn"></span>
# 应用标准

Expand All @@ -108,11 +86,9 @@ Davon ausgenommen sind URLs, die möglicherweise schwer zu finden sind. Die URL

2. 在已打开和已关闭的讨论中搜索,查看是否已有提出过的该应用请求。

3. 请勿申请[**简单配置**](#simple-config-zh-cn)的应用——见下文。

4. 除非软件包名称和显示名称都已更改,否则不会接受应用的分支。这是为了避免人们在不知情的情况下下载非官方版本的应用。
3. 除非软件包名称和显示名称都已更改,否则不会接受应用的分支。这是为了避免人们在不知情的情况下下载非官方版本的应用。

5. 只接受来自应用官方源的配置。这意味着不会添加第三方下载站(如 APKPure、APKMirror 等……)的配置。
4. 只接受来自应用官方源的配置。这意味着不会添加第三方下载站(如 APKPure、APKMirror 等……)的配置。


如果您已完成上述步骤,则可以[打开应用请求](https://github.com/ImranR98/apps.obtainium.imranr.dev/discussions/new?category=app-requests)。请确保至少包含:
Expand All @@ -125,20 +101,11 @@ Davon ausgenommen sind URLs, die möglicherweise schwer zu finden sind. Die URL

1. 在已打开和已关闭的 PR 中搜索,看看是否有人曾尝试添加该应用,如果被拒绝,请查看原因。

2. 请勿添加[**简单配置**](#simple-config-zh-cn)的应用——见下文
2. 除非软件包名称和显示名称都已更改,否则不会接受应用的分支。这是为了避免人们在不知情的情况下下载非官方版本的应用

3. 除非软件包名称和显示名称都已更改,否则不会接受应用的分支。这是为了避免人们在不知情的情况下下载非官方版本的应用。

4. 只接受来自应用官方源的配置。这意味着不会添加第三方下载站(如 APKPure、APKMirror 等……)的配置。
3. 只接受来自应用官方源的配置。这意味着不会添加第三方下载站(如 APKPure、APKMirror 等……)的配置。

如果您已完成上述步骤,那么就可以开启 PR。请牢记以下几点:

- 尽量减少备选配置的数量,只提供长期效果最好的配置。
- 确保将尽可能多的配置选项保留为默认设置。只更改需要的配置。例如,在 GitHub 配置中,除非有必要,否则不会在添加应用时启用“包含预发布版本”设置,因为不是每个人都需要预发布版本。

<span id="simple-config-zh-cn"></span>
### 什么是简单配置?

简单配置是指只需粘贴网站链接在 Obtainium 中,无需更改任何其他设置,单击添加即可添加的应用。

如果链接难以找到,则属于例外情况。例如,除非您了解浏览器开发工具,否则很难找到包含 [Signal APK](https://updates.signal.org/android/latest.json) 的链接。
20 changes: 10 additions & 10 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
# Contributing

- To contribute content, create a [pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request) with valid changes/additions to any files in the repo.
- To test locally, run: `node buildData.js && python -m http.server 8080`
- To test locally, run: `npm run dev` (you should have Node 22 installed, run `npm i` once to install dependencies).
- See https://github.com/ImranR98/Obtainium/issues/1214 for background/context for this repo.


Expand All @@ -16,15 +16,15 @@
> [!IMPORTANT]
> Please make sure to read the [app criteria](APP_CRITERIA.md) before opening a PR with new/updated app configs.

- You can auto-generate config files from an Obtainium export by running `node generateFromExport.js <path to Obtainium export>`
- You can auto-generate config files from an Obtainium export by running `node scripts/generate_from_export.js <path to Obtainium export>`
- Note: Auto-generated entries will not have icon, category, or description data. Adding those manually is not required but would result in a better user experience.
- You can also auto-generate config files from an Obtainium URL redirection link by running `generate_from_url.py`
- Note: Using `generate_from_url.py` requires you to install "Colorama" by using the `pip` command `pip install colorama`
- You can also auto-generate config files from an Obtainium URL redirection link by running `scripts/generate_from_url.py`
- Note: Using `scripts/generate_from_url.py` requires you to install "Colorama" by using the `pip` command `pip install colorama`


### Minimal Example

To add an app config to this repo, your app configuration JSON must contain at least the `id`, `url`, `author`, `name`, and `additionalSettings` keys. Note that for any app-specific setting you don't define in `additionalSettings`, the default value will be used.
To add an app config to this repo, your app configuration JSON must contain at least the `id`, `url`, `author`, und `name` keys. Note that for any app-specific setting you don't define in `additionalSettings`, the default value will be used.

For example:
- Minimal app JSON: `{"id":"dev.patrickgold.florisboard.beta","url":"https://github.com/florisboard/florisboard","author":"florisboard","name":"FlorisBoard Beta","additionalSettings":"{\"includePrereleases\":true}"}`
Expand All @@ -35,7 +35,7 @@ For example:
# Beitragen

- Um Inhalte beizusteuern, erstellen Sie einen [Pull-Request](https://docs.github.com/de/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request) mit gültigen Änderungen/Ergänzungen zu allen Dateien im Repo.
- Um Ihre Änderungen lokal zu testen, führen Sie bitte `node buildData.js && python -m http.server 8080` aus
- Um Ihre Änderungen lokal zu testen, führen Sie bitte `npm run dev` aus
- Siehe https://github.com/ImranR98/Obtainium/issues/1214 für den Hintergrund/Kontext für dieses Repo.


Expand All @@ -44,15 +44,15 @@ For example:
> [!IMPORTANT]
> Bitte stellen Sie sicher, dass Sie die [App-Kriterien](APP_CRITERIA.md) lesen, bevor Sie einen PR mit neuen/aktualisierten App-Konfigurationen eröffnen.

- Sie können Konfigurationsdateien automatisch aus einem Obtainium-Export generieren, indem Sie `node generateFromExport.js <Pfad zum Obtainium-Export>` ausführen.
- Sie können Konfigurationsdateien automatisch aus einem Obtainium-Export generieren, indem Sie `node scripts/generate_from_export.js <Pfad zum Obtainium-Export>` ausführen.
- Hinweis: Automatisch generierte Einträge haben keine Symbol-, Kategorie- oder Beschreibungsdaten. Diese manuell hinzuzufügen ist nicht zwingend erforderlich, ist aber erwünscht, weil es zu einer besseren Benutzerfreundlichkeit führen würde.
- Sie können auch automatisch Konfigurationsdateien aus einem Obtainium-URL-Umleitungslink generieren, indem Sie `generate_from_url.py` ausführen.
- Hinweis: Die Verwendung von `generate_from_url.py` erfordert die Installation von „Colorama“ mit dem `pip` Befehl `pip install colorama`.
- Sie können auch automatisch Konfigurationsdateien aus einem Obtainium-URL-Umleitungslink generieren, indem Sie `scripts/generate_from_url.py` ausführen.
- Hinweis: Die Verwendung von `scripts/generate_from_url.py` erfordert die Installation von „Colorama“ mit dem `pip` Befehl `pip install colorama`.


### Minimalbeispiel

Um eine App-Konfiguration zu diesem Repo hinzuzufügen, muss Ihre App-Konfiguration JSON mindestens die Schlüssel `id`, `url`, `author`, `name` und `additionalSettings` enthalten. Beachten Sie, dass für jede app-spezifische Einstellung, die Sie nicht in `additionalSettings` definieren, der Standardwert verwendet wird.
Um eine App-Konfiguration zu diesem Repo hinzuzufügen, muss Ihre App-Konfiguration JSON mindestens die Schlüssel `id`, `url`, `author`, und `name` enthalten. Beachten Sie, dass für jede app-spezifische Einstellung, die Sie nicht in `additionalSettings` definieren, der Standardwert verwendet wird.

Zum Beispiel:
- Minimale App JSON: `{„id“: „dev.patrickgold.florisboard.beta“, „url“: „https://github.com/florisboard/florisboard“, „author“: „florisboard“, „name“: „FlorisBoard Beta“, „additionalSettings“:„{\“includePrereleases\„:true}“}`
Expand Down
18 changes: 18 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
FROM node:lts-alpine AS builder
WORKDIR /app
COPY package.json package-lock.json* ./
RUN npm ci --omit=dev
COPY . .
RUN npm run build

FROM node:lts-alpine AS runtime
WORKDIR /app
COPY --from=builder /app/dist ./dist
COPY --from=builder /app/public ./public
COPY --from=builder /app/node_modules ./node_modules
EXPOSE 8080
CMD ["node", "dist/server/entry.mjs"]

# docker build -t imranrdev/apps.obtainium.imranr.dev .
# docker push imranrdev/apps.obtainium.imranr.dev
# docker run --rm -d -p 8080:8080 --name apps.obtainium.imranr.dev imranrdev/apps.obtainium.imranr.dev
21 changes: 21 additions & 0 deletions astro.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
// @ts-check
import { defineConfig } from 'astro/config';

import node from '@astrojs/node';

import tailwindcss from '@tailwindcss/vite';

// https://astro.build/config
export default defineConfig({
output: 'server',
adapter: node({
mode: 'standalone'
}),
server: {
port: 8080,
host: true
},
vite: {
plugins: [tailwindcss()]
}
});
24 changes: 0 additions & 24 deletions buildData.js

This file was deleted.

Loading