diff --git a/project-words.txt b/project-words.txt index 7eaa7bd..548999f 100644 --- a/project-words.txt +++ b/project-words.txt @@ -63,6 +63,7 @@ mailcatcher mdsvex Metainfo mickvandijke +mika Multiuser nojekyll nologin @@ -74,6 +75,7 @@ postbuild postmarkapp println privkey +privtracker problably proto Radeon @@ -99,6 +101,7 @@ torrenting Torrust Torznab Troubleshoting +Ttorrent Tzou usermod valgrind diff --git a/src/lib/components/atoms/Table.svelte b/src/lib/components/atoms/Table.svelte index 5e32616..40736c4 100644 --- a/src/lib/components/atoms/Table.svelte +++ b/src/lib/components/atoms/Table.svelte @@ -13,9 +13,7 @@ {#each tableData as row} {#each tableHeading as heading} - {#if heading.fieldName == 'site'} - visit - {:else if heading.fieldName == 'demo'} + {#if ['site', 'demo', 'repo', 'useCase'].includes(heading.fieldName)} visit {:else} {row[heading.fieldName]} diff --git a/src/lib/constants/constants.ts b/src/lib/constants/constants.ts index 73db18c..d11f77a 100644 --- a/src/lib/constants/constants.ts +++ b/src/lib/constants/constants.ts @@ -98,27 +98,27 @@ export const indexTableData = [ stars: '38', contributors: '11', type: 'General', - localHosted: 'NO', - multiuser: 'YES', - public: 'YES', - bitTorrentV2: 'NO', - dhtCrawler: 'NO', + localHosted: 'No', + multiuser: 'Yes', + public: 'Yes', + bitTorrentV2: 'No', + dhtCrawler: 'No', db: 'SQLite3;MySQL', language: 'Rust;TypeScript;Nuxt', - api: 'YES', + api: 'Yes', importer: 'REST', torznab: 'healthcheck', - autoclassifier: 'NO', - integrationWithArrs: 'NO', - IntegrationWithTMDB: 'NO', - observabilityAndTelemetry: 'NO', - mobileFriendly: 'NO', - multiLanguage: 'NO', - themes: 'YES', - forum: 'NO', - invitations: 'NO', - polls: 'NO', - webfeed: 'NO', + autoclassifier: 'No', + integrationWithArrs: 'No', + IntegrationWithTMDB: 'No', + observabilityAndTelemetry: 'No', + mobileFriendly: 'No', + multiLanguage: 'No', + themes: 'Yes', + forum: 'No', + invitations: 'No', + polls: 'No', + webfeed: 'No', site: 'https://github.com/torrust/torrust-index', demo: 'https://index.torrust-demo.com/torrents' }, @@ -129,9 +129,9 @@ export const indexTableData = [ stars: '1.8k', contributors: '108', type: 'General', - localHosted: 'NO', - multiuser: 'YES', - public: 'YES', + localHosted: 'No', + multiuser: 'Yes', + public: 'Yes', bitTorrentV2: '?', dhtCrawler: '? ', db: 'MySQL', @@ -144,69 +144,323 @@ export const indexTableData = [ IntegrationWithTMDB: '?', observabilityAndTelemetry: '?', mobileFriendly: '?', - multiLanguage: 'YES', + multiLanguage: 'Yes', themes: '?', - forum: 'YES', - invitations: 'YES', - polls: 'YES', + forum: 'Yes', + invitations: 'Yes', + polls: 'Yes', webfeed: '?', site: 'https://github.com/HDInnovations/UNIT3D-Community-Edition', demo: 'https://unit3d.dev' } ]; -export const trackerTableHeadings = [ - 'Name', - 'License', - 'Starts', - 'Contributors', - 'Type', - 'UDP', - 'HTTP', - 'WebTorrent', - 'API', - 'Scrape', - 'Stats', - 'Whitelist', - 'Integrations', - 'High Availability', - 'TLS', - 'IPv6', - 'Databases', - 'Docker', - 'K8S', - 'Language', - 'OS', - 'Repo Link', - 'Demo', - 'Use Case' +export const trackerBasicTableHeadings = [ + { displayName: 'Name', fieldName: 'name' }, + { displayName: 'License', fieldName: 'license' }, + { displayName: 'Starts', fieldName: 'starts' }, + { displayName: 'Contributors', fieldName: 'contributors' }, + { displayName: 'Type', fieldName: 'type' }, + { displayName: 'UDP', fieldName: 'udp' }, + { displayName: 'HTTP', fieldName: 'http' }, + { displayName: 'WebTorrent', fieldName: 'webTorrent' }, + { displayName: 'Language', fieldName: 'language' }, + { displayName: 'OS', fieldName: 'os' }, + { displayName: 'Repo', fieldName: 'repo' }, + { displayName: 'Demo', fieldName: 'demo' } +]; + +export const trackerFeaturesTableHeadings = [ + { displayName: 'Name', fieldName: 'name' }, + { displayName: 'Scrape', fieldName: 'scrape' }, + { displayName: 'API', fieldName: 'api' }, + { displayName: 'Stats', fieldName: 'stats' }, + { displayName: 'Whitelist', fieldName: 'whitelist' }, + { displayName: 'Integrations', fieldName: 'integrations' }, + { displayName: 'High Availability', fieldName: 'highAvailability' }, + { displayName: 'TLS', fieldName: 'tls' }, + { displayName: 'IPv6', fieldName: 'ipv6' }, + { displayName: 'Databases', fieldName: 'databases' }, + { displayName: 'Docker', fieldName: 'docker' }, + { displayName: 'K8S', fieldName: 'k8s' } ]; export const trackerTableData = [ - 'Torrust', - 'AGPL-3.0 license', - '312', - '13', - 'Mixed', - 'Yes', - 'No', - 'No', - 'Yes', - 'Yes', - 'Yes', - 'Yes', - '?', - 'No', - 'Yes', - 'Yes', - 'Optional:\nSqlite\nMysQL', - 'Yes', - '?', - 'Rust', - 'Linux, MacOs', - 'link', - 'udp://tracker.torrust-demo.com:6969/announce', - 'https://tracker.torrust-demo.com/announce' + { + name: 'Torrust', + license: 'AGPL-3.0', + starts: '312', + contributors: '13', + type: 'Mixed', + udp: 'Yes', + http: 'No', + webTorrent: 'No', + api: 'Yes', + scrape: 'Yes', + stats: 'Yes', + whitelist: 'Yes', + integrations: 'No', + highAvailability: 'No', + tls: 'Yes', + ipv6: 'Yes', + databases: 'Optional: Sqlite,MysQL', + docker: 'Yes', + k8s: 'No', + language: 'Rust', + os: 'Linux, MacOs', + repo: 'https://github.com/torrust/torrust-tracker', + demo: 'udp://tracker.torrust-demo.com:6969/announce' + }, + { + name: 'opentracker', + license: '?', + starts: '?', + contributors: '?', + type: '?', + udp: '?', + http: '?', + webTorrent: '?', + api: '?', + scrape: '?', + stats: '?', + whitelist: '?', + integrations: '?', + highAvailability: '?', + tls: '?', + ipv6: '?', + databases: '?', + docker: '?', + k8s: '?', + language: '?', + os: '?', + repo: '', + demo: '?' + }, + { + name: 'bittorrent-tracker', + license: '?', + starts: '?', + contributors: '?', + type: '?', + udp: '?', + http: '?', + webTorrent: '?', + api: '?', + scrape: '?', + stats: '?', + whitelist: '?', + integrations: '?', + highAvailability: '?', + tls: '?', + ipv6: '?', + databases: '?', + docker: '?', + k8s: '?', + language: '?', + os: '?', + repo: '', + demo: '?' + }, + { + name: 'Chihaya', + license: '?', + starts: '?', + contributors: '?', + type: '?', + udp: '?', + http: '?', + webTorrent: '?', + api: '?', + scrape: '?', + stats: '?', + whitelist: '?', + integrations: '?', + highAvailability: '?', + tls: '?', + ipv6: '?', + databases: '?', + docker: '?', + k8s: '?', + language: '?', + os: '?', + repo: '', + demo: '?' + }, + { + name: 'Ttorrent', + license: '?', + starts: '?', + contributors: '?', + type: '?', + udp: '?', + http: '?', + webTorrent: '?', + api: '?', + scrape: '?', + stats: '?', + whitelist: '?', + integrations: '?', + highAvailability: '?', + tls: '?', + ipv6: '?', + databases: '?', + docker: '?', + k8s: '?', + language: '?', + os: '?', + repo: '', + demo: '?' + }, + { + name: 'aquatic', + license: '?', + starts: '?', + contributors: '?', + type: '?', + udp: '?', + http: '?', + webTorrent: '?', + api: '?', + scrape: '?', + stats: '?', + whitelist: '?', + integrations: '?', + highAvailability: '?', + tls: '?', + ipv6: '?', + databases: '?', + docker: '?', + k8s: '?', + language: '?', + os: '?', + repo: '', + demo: '?' + }, + { + name: 'privtracker', + license: '?', + starts: '?', + contributors: '?', + type: '?', + udp: '?', + http: '?', + webTorrent: '?', + api: '?', + scrape: '?', + stats: '?', + whitelist: '?', + integrations: '?', + highAvailability: '?', + tls: '?', + ipv6: '?', + databases: '?', + docker: '?', + k8s: '?', + language: '?', + os: '?', + repo: '', + demo: '?' + }, + { + name: 'XBT', + license: '?', + starts: '?', + contributors: '?', + type: '?', + udp: '?', + http: '?', + webTorrent: '?', + api: '?', + scrape: '?', + stats: '?', + whitelist: '?', + integrations: '?', + highAvailability: '?', + tls: '?', + ipv6: '?', + databases: '?', + docker: '?', + k8s: '?', + language: '?', + os: '?', + repo: '', + demo: '?' + }, + { + name: 'mika', + license: '?', + starts: '?', + contributors: '?', + type: '?', + udp: '?', + http: '?', + webTorrent: '?', + api: '?', + scrape: '?', + stats: '?', + whitelist: '?', + integrations: '?', + highAvailability: '?', + tls: '?', + ipv6: '?', + databases: '?', + docker: '?', + k8s: '?', + language: '?', + os: '?', + repo: '', + demo: '?' + }, + { + name: 'Radiance', + license: '?', + starts: '?', + contributors: '?', + type: '?', + udp: '?', + http: '?', + webTorrent: '?', + api: '?', + scrape: '?', + stats: '?', + whitelist: '?', + integrations: '?', + highAvailability: '?', + tls: '?', + ipv6: '?', + databases: '?', + docker: '?', + k8s: '?', + language: '?', + os: '?', + repo: '', + demo: '?' + }, + { + name: 'Ocelot', + license: '?', + starts: '?', + contributors: '?', + type: '?', + udp: '?', + http: '?', + webTorrent: '?', + api: '?', + scrape: '?', + stats: '?', + whitelist: '?', + integrations: '?', + highAvailability: '?', + tls: '?', + ipv6: '?', + databases: '?', + docker: '?', + k8s: '?', + language: '?', + os: '?', + repo: '', + demo: '?' + } ]; export interface TableItem { diff --git a/src/routes/(pages)/torrent-tracker/+page.svelte b/src/routes/(pages)/torrent-tracker/+page.svelte index c35a4eb..53595b5 100644 --- a/src/routes/(pages)/torrent-tracker/+page.svelte +++ b/src/routes/(pages)/torrent-tracker/+page.svelte @@ -27,7 +27,12 @@ }; }); - import { trackerTitleArr1, trackerTableHeadings, indexTableData } from '$lib/constants/constants'; + import { + trackerTitleArr1, + trackerBasicTableHeadings, + trackerFeaturesTableHeadings, + trackerTableData + } from '$lib/constants/constants'; import TorrustTrackerPost from '$lib/components/singletons/TorrustTrackerPost.svelte'; @@ -57,6 +62,7 @@ +

Stack

@@ -72,14 +78,27 @@

+

Comparison to other products

+

Unlike other trackers, Torrust Tracker balances speed with feature richness. While some trackers prioritize minimalism at the cost of flexibility, Torrust focuses on offering extensive functionality with only a small compromise in speed.

- + + +
+

General information

+ +
+ + +
+

Features

+ +