Skip to main content

Příloha

Příloha A: Kategorie aplikací

ID kategorieZobrazovaný název
Audio_Video_EntertainmentAudio & Video Entertainment
Photography_VideoPhotography & Video
Backup_SyncBackup & Sync
Development_ToolsDevelopment Tools
UtilitiesUtilities
Web_ServicesWeb Services
SecuritySecurity
DownloadDownload
DriverDriver
Artificial_IntelligenceAI

Žádost o novou kategorii: Pokud žádná stávající kategorie nevyhovuje vaší aplikaci, můžete požádat o novou kategorii:

  1. Odešlete žádost o kategorii prostřednictvím kanálu podpory Vývojářské platformy
  2. Uveďte: navrhované ID kategorie, zobrazovaný název a odůvodnění s alespoň 3 stávajícími nebo plánovanými aplikacemi
  3. Posouzení trvá 5–10 pracovních dnů
  4. Vlastní/standardní kategorie bez předchozího schválení budou zamítnuty

Příloha B: Referenční seznam systémových portů

Následující porty jsou vyhrazeny systémem TOS a aplikace je nesmějí používat:

PortSlužba
22SSH
80HTTP (TOS Web)
443HTTPS
445SMB
3306MySQL
5050TOS Daemon (interní systémový servisní port; pro aplikace zakázán)
5432PostgreSQL
6379Redis
8181TOS Nginx (Web UI)
8443TOS HTTPS

Doporučený rozsah portů pro aplikace: 8000–19999 (kromě portů, které již zabírají nainstalované aplikace). Pokud jsou porty v doporučeném rozsahu obsazené, můžete použít 49152–65535 (rozsah dynamických portů), ale musí být explicitně deklarován v konfiguraci.

Příloha C: Systémové adresáře TOS

CestaPopis
/Volume*/@apps/<appid>/Instalační adresář aplikace (nevložené aplikace)
/Volume*/@apps/<appid>/data/Běhová data aplikace (mezipaměti, dočasné soubory)
/Volume*/@apps/<appid>/logs/Protokoly aplikace
/Volume*/DockerAppData/<appid>/Data aplikace Docker (konfigurace a obchodní data)
/usr/local/system_app_data/<appid>/Adresář systémově vložených aplikací (pouze pro vestavěné aplikace)
/etc/systemd/system/<appid>.serviceSoubor služby systemd

Poznámka: * v /Volume*/ představuje číslo svazku (např. Volume1, Volume2) zvolené uživatelem při instalaci.

  • U nevložených aplikací (oficiálních i třetích stran) jsou všechny soubory uloženy pod /Volume*/@apps/<appid>/.
  • Systémově vložené aplikace (např. GlobalSearch, StorageManager) sídlí na systémovém disku v /usr/local/system_app_data/.
  • Data aplikací Docker se ukládají samostatně pod /Volume*/DockerAppData/<appid>/ prostřednictvím připojení svazků.

Příloha D: Systémové cíle systemd v TOS

CílPopis
multi-user.targetCíl služeb aplikací TOS (všechny služby aplikací musí používat tento cíl jako WantedBy)
default.targetVýchozí spouštěcí cíl systému (nepoužívejte pro služby aplikací; místo toho použijte multi-user.target)

Příloha E: Matice kompatibility

Verze TOSZákladní systémglibcPython3DockerNode.js
TOS 7.0Kompatibilní s Ubuntu 22.042.353.1020.10+18.x
TOS 7.xKompatibilní s Ubuntu 22.042.353.1020.10+ (nebo vyšší)18.x (nebo vyšší)

Poznámka: Dílčí verze řady TOS 7.x budou udržovat kompatibilitu s TOS 7.0. Aplikace vyvinuté pro TOS 7.0 poběží bez dalšího přizpůsobení. Nejnovější podrobnosti specifické pro verze najdete v oficiálních poznámkách k vydání TOS nebo na Vývojářské platformě.

Příloha F: Rychlá šablona jazykového souboru

[zh-cn]
name = ""
auth = ""
descript = ""
release_note = ""
important = ""

[zh-hk]
name = ""
auth = ""
descript = ""
release_note = ""
important = ""

[en-us]
name = ""
auth = ""
descript = ""
release_note = ""
important = ""

[fr-fr]
name = ""
auth = ""
descript = ""
release_note = ""
important = ""

[de-de]
name = ""
auth = ""
descript = ""
release_note = ""
important = ""

[it-it]
name = ""
auth = ""
descript = ""
release_note = ""
important = ""

[es-es]
name = ""
auth = ""
descript = ""
release_note = ""
important = ""

[hu-hu]
name = ""
auth = ""
descript = ""
release_note = ""
important = ""

[ja-jp]
name = ""
auth = ""
descript = ""
release_note = ""
important = ""

[ko-kr]
name = ""
auth = ""
descript = ""
release_note = ""
important = ""

[pl-pl]
name = ""
auth = ""
descript = ""
release_note = ""
important = ""

[ru-ru]
name = ""
auth = ""
descript = ""
release_note = ""
important = ""

[tr-tr]
name = ""
auth = ""
descript = ""
release_note = ""
important = ""

[pt-pt]
name = ""
auth = ""
descript = ""
release_note = ""
important = ""

Příloha G: API sdílených složek

# Create a shared folder for the app
ter_share_add -name <folder_name> -owner <username>

# Example
ter_share_add -name myapp-data -owner myapp

Příloha H: Kontrolní seznam migrace při upgradu

Použijte tento kontrolní seznam při upgradu aplikace na novou hlavní verzi:

  • Migrační skripty dat zpracovávají formáty předchozí verze
  • Konfigurační soubory jsou před úpravou zazálohovány
  • Nové závislosti jsou deklarovány v DEBIAN/control
  • Soubory služeb jsou aktualizovány (pokud je to nutné)
  • Čísla verzí jsou zvýšena v config.ini, DEBIAN/control a app.lang
  • Změnový protokol/poznámky k vydání jsou aktualizovány
  • Cesta upgradu otestována: instalace staré verze → přidání dat → upgrade → ověření dat
  • Cesta návratu otestována: downgrade nebo obnovení ze zálohy
  • Kontrolní součty SHA-256 přegenerovány

Příloha I: Šablona README.md

# <App Name>

## Overview
A brief description of the app and its purpose.

## Features
- Feature 1
- Feature 2
- Feature 3

## Installation
1. Requirements: TOS 7.0+, [other dependencies]
2. Install from TOS App Center
3. Initial configuration steps

## Usage
How to access and use the app:

1. Access URL: `http://<your-nas-ip>:<port>`
2. Default credentials: [if applicable]
3. Key settings

## Permissions
| Permission | Rationale |
|---|---|
| Network: port XXXX | [rationale] |
| File system: /path/to/data | [rationale] |
| User: <appid> | Isolated service execution |

## Configuration
Key configuration options and their defaults.

## Ports
| Port | Protocol | Purpose |
|---|---|---|
| XXXX | TCP | [purpose] |

## Support
- Documentation: [link]
- Issue tracker: [link]
- Community: [link]

## Changelog
### v1.0.0 (YYYY-MM-DD)
- Initial release

## License
[License type]

Příloha J: Kompletní šablony konfiguračních souborů

Kompletní ke stažení šablony konfiguračních souborů pro všechny typy aplikací jsou k dispozici na TOS Developer Platform:

  • Šablona config.ini (Deb WebUI Internal, Deb WebUI External, Deb No UI, Docker)
  • Šablona app.lang (rychlá šablona pro 14 jazyků; viz Příloha F)
  • Šablona souboru jednotky systemd (s posílením zabezpečení)
  • Šablona DEBIAN/control (jeden balíček, duální balíček)
  • Šablony skriptů životního cyklu (preinst, postinst, prerm, postrm)
  • Šablona konfigurace nginx
  • Šablona docker-compose.yml
  • Šablona CI/CD pro GitHub Actions

Příloha K: Běžné důvody zamítnutí a příklady oprav

Důvod zamítnutíChybný příkladSprávná oprava
Komentáře v config.ini// this is a comment v JSONOdstraňte všechny komentáře; JSON komentáře nepodporuje
Jednoduché uvozovky v JSON'version': '1.0.0'Použijte dvojité uvozovky: "version": "1.0.0"
Koncová čárka"beta": false,} (čárka u posledního pole)Odstraňte koncovou čárku za posledním polem
Pevně zakódovaná IP"path": "http://192.168.1.100:8080"Použijte zástupný symbol: "path": "http://${ip}:8080"
Chybějící jazykyapp.lang má pouze 12 jazykůPřidejte všech 14 požadovaných jazykových sekcí
root v systemdUser=root v souboru službyPoužijte vyhrazeného uživatele: User=<appid>
Privilegovaný režim Dockerprivileged: true v composeOdstraňte; použijte jemnozrnné capabilities
Chybějící kontrolní součetNení předložen soubor .sha256Spusťte sha256sum <file> > <file>.sha256
Verze nezvýšenav1.0.0 → v1.0.0 (stejná verze)Zvyšte verzi: v1.0.0 → v1.0.1

Příloha L: Terminologie a definice

TermínDefiniceAKA
ID aplikaceGlobálně jedinečný identifikátor aplikace; nastavuje se v config.ini.idapp_id, appid, id
Systémové IDNázev jednotky služby systemd; nastavuje se v config.ini.system_idsystem_id, název služby
Název balíčkuNázev balíčku Debian; nastavuje se v poli Package v DEBIAN/controlpackage, název deb balíčku
Režim duálního balíčkuDva deb balíčky v jednom archivu tar.gz — deb datový balíček (obsahující konfiguraci platformy TOS) a deb zdrojový balíček (obsahující binárky aplikace).Mechanismus duálního balíčku
Datový balíčekDatový balíček konfigurace aplikace rozpoznatelný systémem TOS, zkráceně deb datový balíčekDatový balíček aplikace, balíček metadat
Zdrojový balíčekHlavní deb balíček se spustitelnou aplikací, zkráceně deb zdrojový balíčekInstalační balíček aplikace, binární balíček
Režim jednoho balíčkuVývoj přímo podle specifikace TOS 7.0, integrace všech souborů do jednoho deb balíčkuMechanismus jednoho balíčku
WebUI interní otevíráníFrontend aplikace se otevírá v rámci desktopu TOS jako iframerežim iframe, vložený režim
WebUI externí otevíráníFrontend aplikace se otevírá v nové kartě prohlížečeRežim nové karty, externí režim
Služba bez UIAplikace bez grafického rozhraní; služba démona na pozadíHeadless služba, démon
Minimální verze TOSMinimální verze TOS požadovaná aplikací; nastavuje se v poli low_version v config.ini.Min. verze TOS, požadavek na verzi TOS

Příloha M: Správa beta aplikací

PravidloPopis
Rozsah viditelnostiBeta aplikace jsou viditelné pouze pro uživatele, kteří se přihlásili k beta testování
Řízení viditelnostiNastavte "beta": true v config.ini; platforma automaticky omezí viditelnost
Proces dokončeníPro dokončení beta fáze: nastavte "beta": false a zvyšte číslo verze. Řetězec verze by měl dodržovat standardní SemVer (nepoužívejte beta přípony)
Zakázané chováníBeta aplikace nesmějí být distribuovány jako produkční vydání; zavádění uživatelů ohledně beta stavu povede k zamítnutí
Vypršení a stažení z nabídkyBeta aplikace neaktualizované po dobu 90 dnů mohou být automaticky staženy z nabídky
Číslo verzePoužijte standardní SemVer s polem "beta": true; nepoužívejte přípony řetězce verze jako -beta, -rc

Tento dokument je oficiální globální specifikací pro vývoj a zveřejňování aplikací TOS7. Specifikace bude průběžně aktualizována s iteracemi verzí TOS7. Vývojáři by se měli řídit nejnovější verzí na Vývojářské platformě.