Skip to content

Commit

Permalink
Merge pull request #76 from Tribler/feature/macos-page
Browse files Browse the repository at this point in the history
Add macos.html page for additional information
  • Loading branch information
xoriole authored Apr 11, 2024
2 parents 81e74a8 + 7cd31f5 commit e87f9da
Show file tree
Hide file tree
Showing 6 changed files with 373 additions and 2 deletions.
5 changes: 3 additions & 2 deletions download.html
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
<link href="css/animate.min.css" rel="stylesheet">
<link rel="shortcut icon" href="img/favicon.ico" type="image/x-icon" />
<link rel="icon" href="img/favicon.ico" type="image/x-icon" />
<link rel="canonical" href="http://www.tribler.org/download.html">
<link rel="canonical" href="https://www.tribler.org/download.html">

<!--[if lt IE 9]>
<script src="/js/html5shiv.js"></script>
Expand Down Expand Up @@ -111,7 +111,8 @@

<p>
<a id="download-url-mac" href="">Download .dmg</a></br>
(macOS Mojave or later)
(macOS Mojave or later)<br>
<a class='dim' href="./macos.html">More information ...</a>
</p>
</div>

Expand Down
Binary file added img/macos/tribler-application.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/macos/tribler-developer-not-verified-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/macos/tribler-developer-not-verified.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/macos/tribler-opened.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
370 changes: 370 additions & 0 deletions macos.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,370 @@
<!DOCTYPE html>
<html lang="en" data-bs-theme="dark">
<head>
<meta charset="utf-8"/>
<title>Tribler: Download Torrent Client for MacOS</title>

<meta name="description"
content="Download the latest version of Tribler, a powerful and censorship resistant peer-to-peer decentralized torrent client for MacOS. Start fast and privacy enhanced file sharing now on your MacOS system.">
<meta name="keywords" content="Tribler, download, torrent client, peer-to-peer, decentralized, file sharing, MacOS">

<meta property="og:title" content="Tribler: Download Torrent Client for MacOS">
<meta property="og:description"
content="Download the latest version of Tribler, a powerful and censorship resistant peer-to-peer decentralized torrent client for MacOS. Start fast and privacy enhanced file sharing now on your MacOS system.">
<meta property="og:image" content="https://tribler.org/img/opengraph.png">
<meta property="og:url" content="https://www.tribler.org/linux.html">

<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css"
integrity="sha512-SnH5WK+bZxgPHs44uWIX+LLJAJ9/2PkPKZ5QiAj6Ta86w+fsb2TkcmfRyVX3pBnMFcV7oQPJkl9QevSCWr3W6A=="
crossorigin="anonymous" referrerpolicy="no-referrer"/>
<style>
section {
margin: 16px 0 32px 0;
}
li {
margin-bottom: 8px;
}
li.heading {
margin: 16px 0;
}
nav {
padding-top: 16px;
}
a {
text-decoration: none;
}
</style>

<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "Tribler",
"operatingSystem": "MacOS",
"applicationCategory": "File Sharing",
"description": "Download the latest version of Tribler, a powerful and censorship resistant peer-to-peer decentralized torrent client for Linux. Start fast and privacy enhanced file sharing now on your Linux MacOS.",
"url": "https://www.tribler.org/linux.html"
}
</script>

<link rel="shortcut icon" href="img/favicon.ico" type="image/x-icon"/>
<link rel="icon" href="img/favicon.ico" type="image/x-icon"/>
<link rel="canonical" href="https://www.tribler.org/linux.html">
</head>

<body>

<div class="container" v-scope v-cloak>
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="/index.html">Tribler</a></li>
<li class="breadcrumb-item"><a href="/download.html">Downloads</a></li>
<li class="breadcrumb-item active" aria-current="page">MacOS</li>
</ol>
</nav>

<h1>Download Tribler for MacOS</h1><br/>

<div class="row">
<div class="col">
<p><img src="img/osx.png" width=100px height=100px></p>
</div>
</div>
<br/>
<h2>Latest release</h2>
<div class="row gx-5">
<div v-if="false">Loading release details...</div>
<div class="col col-md-12 col-lg-6">
<table class="table" v-show="store.stableRelease" v-cloak>
<caption>Stable Release</caption>
<tbody>
<tr>
<td>Release Version</td>
<td>{{store.stableReleaseDetails.name}}</td>
</tr>
<tr>
<td>Release Date</td>
<td>{{store.stableReleaseDetails.releaseDate}}</td>
</tr>
<tr>
<td>Compatibility</td>
<td>{{store.stableReleaseDetails.compatibility}}</td>
</tr>
<tr>
<td>File Size</td>
<td>{{store.stableReleaseDetails.fileSize}} MB</td>
</tr>
<tr>
<td>Download Link</td>
<td>
<a v-bind:href="store.stableReleaseDetails.downloadLink" class="btn btn-sm btn-warning">
Download {{store.stableReleaseDetails.filename}}
</a>
{{store.stableReleaseDetails.numDownloads}} downloads
</td>
</tr>
</tbody>
</table>
</div>
<div class="col">
<table class="table" v-show="store.preRelease">
<caption>Stable Release</caption>
<tbody>
<tr>
<td>Release Version</td>
<td>{{store.preReleaseDetails?.name}}</td>
</tr>
<tr>
<td>Release Date</td>
<td>{{store.preReleaseDetails.releaseDate}}</td>
</tr>
<tr>
<td>Compatibility</td>
<td>{{store.preReleaseDetails.compatibility}}</td>
</tr>
<tr>
<td>File Size</td>
<td>{{store.preReleaseDetails.fileSize}} MB</td>
</tr>
<tr>
<td>Download Link</td>
<td>
<a v-bind:href="store.preReleaseDetails.downloadLink" class="btn btn-sm btn-warning">
Download {{store.preReleaseDetails.filename}}
</a>
{{store.preReleaseDetails.numDownloads}} downloads
</td>
</tr>
</tbody>
</table>
</div>
</div>

<h2>Source Code</h2>
<section>
<a target="_blank" v-bind:href="'https://github.com/Tribler/tribler/tree/'+store.stableReleaseDetails.name">
<i class="fa-brands fa-github"></i>
https://github.com/Tribler/tribler/tree/{{store.stableReleaseDetails.name}}
</a>
</section>


<h3>How to Install</h3>
<section>
<ol>
<li><strong>Download the Installer:</strong> Click the button below to download the latest version of
Tribler for MacOS.
</li>
<li><strong>Open the Installer:</strong> Locate the downloaded file and open it to start the installation
process.
</li>
<li><strong>Follow the Instructions:</strong> Follow the on-screen instructions to complete the
installation.
</li>
<li><strong>Launch Tribler:</strong> Once installed, open Tribler and start exploring a new world of secure,
anonymous file
sharing.
</li>
</ol>
</section>

<h3><strong>Known Issues</strong></h3>
<section class="faq">
<h4>Q: "tribler" cannot be opened because the developer cannot be verified.</h4>
<img src="img/macos/tribler-developer-not-verified.png" width="300" alt="MacOS Open Error"/>

<br/><br/>
<p>If you encounter this error message, follow these steps to open Tribler:</p>
<ol>
<li class="heading">
<div><strong>Locate the App</strong></div>
<ul>
<li>Open Finder</li>
<li>Go to Applications</li>
</ul>
</li>
<li class="heading">
<div><strong>Open Tribler</strong></div>
<ul>
<li>Locate Tribler in the Applications folder</li>
<li>Right click on Tribler, and click "Open". This is different from double-clicking the app icon
directly, which will not provide the necessary override option.
</li>
<li>
<img src="img/macos/tribler-application.png" width="300px" alt="MacOS Open Context Menu"/>
</li>
</ul>
</li>
<li class="heading">
<div><strong>Override the Security Warning</strong></div>
<ul>
<li>After selecting "Open" from the context menu, a new warning message will appear stating that the
app is from an unidentified developer. We do not have a separate Apple Developer ID dedicated
for Tribler yet, so this is
expected.
</li>
<li>Read the warning to ensure you still want to proceed. If you decide to continue, click "Open" in
the warning dialog. This action tells macOS that you trust the app and wish to bypass the
built-in security settings.
</li>
<li>
<img src="img/macos/tribler-developer-not-verified-2.png" width="300px"
alt="MacOS Security Warning"/>
</li>
</ul>
</li>
<li class="heading">
<div><strong>Launch Tribler</strong></div>
<ul>
<li>The application should now open without any further warnings. You only need to perform these
steps
the first time you open the app. Subsequent launches can be done normally, just by
double-clicking
the app icon.
</li>
<li>
<img src="img/macos/tribler-opened.png" width="600" alt="MacOS Tribler Opened"/>
</li>
</ul>
</li>
</ol>
</section>
</div>
<hr/>
<footer>
<div class="container">
<div class="row">
<div class="col">
<div>
If you face any problems installing or using Tribler, please notify us by creating an issue
<a href="https://github.com/Tribler/tribler/issues/new">here</a>.
We look forward to your continuous support.
</div>
<div>
<a href="https://github.com/Tribler/tribler">
<i class="fa-brands fa-github fa-2x"></i>
</a> &nbsp;&nbsp;
<a href="https://twitter.com/TriblerTeam">
<i class="fa-brands fa-twitter fa-2x"></i>
</a> &nbsp;&nbsp;
<a href="https://facebook.com/TriblerTeam">
<i class="fa-brands fa-facebook fa-2x"></i>
</a>
</div>
<br/>
</div>
</div>
</div>
</footer>

<script type="module">
import {createApp, reactive} from 'https://unpkg.com/petite-vue?module'

const store = reactive({
ghUser: 'Tribler',
ghRepo: 'tribler',
stableRelease: null,
preRelease: null,
fetchReleaseInfo() {
const releaseUrl = `https://api.github.com/repos/${this.ghUser}/${this.ghRepo}/releases`;
try {
fetch(releaseUrl)
.then(response => response.json())
.then(data => {
const releases = data;

let latestStableRelease = null;
let latestPreRelease = null;

// Find the latest stable release first
for (const release of releases) {
if (!release.prerelease) {
if (!latestStableRelease || new Date(release.published_at) > new Date(latestStableRelease.published_at)) {
latestStableRelease = release;
this.stableRelease = release;
break; // Since releases are usually sorted in descending order by published_at, break after finding the first stable release
}
}
}

// If a stable release is found, find the latest pre-release published after the stable release
if (latestStableRelease) {
for (const release of releases) {
if (release.prerelease && new Date(release.published_at) > new Date(latestStableRelease.published_at)) {
if (!latestPreRelease || new Date(release.published_at) > new Date(latestPreRelease.published_at)) {
latestPreRelease = release;
this.preRelease = release;
}
}
}
}

this.updateDistro('.dmg');
});

} catch (error) {
console.error("Error fetching GitHub releases:", error);
}
},
updateDetailsFromRelease(ghReleaseObject, localReleaseObject, extension){
if (ghReleaseObject === null) {
return;
}
localReleaseObject.name = ghReleaseObject.name;
for (let asset of ghReleaseObject.assets) {
if (asset.name.includes(extension)) {
localReleaseObject.filename = asset.name;
localReleaseObject.downloadLink = asset.browser_download_url;
localReleaseObject.fileSize = parseFloat(asset.size / (1024 * 1024)).toFixed(2);
localReleaseObject.releaseDate = asset.updated_at;
localReleaseObject.numDownloads = asset.download_count;
}
}
},
updateDistro(extension) {
this.updateDetailsFromRelease(this.stableRelease, this.stableReleaseDetails, extension);
this.updateDetailsFromRelease(this.stableRelease, this.preReleaseDetails, extension);
},
stableReleaseDetails: {
name: "Tribler",
compatibility: "MacOS 10.14 and later",
fileSize: "",
downloadLink: "#",
filename: "tribler.dmg",
releaseDate: "",
numDownloads: 0
},
preReleaseDetails: {
name: "Tribler Pre-Release",
compatibility: "MacOS 10.14 and later",
fileSize: "",
downloadLink: "#",
filename: "tribler.dmg",
releaseDate: "",
numDownloads: 0
},
})

store.fetchReleaseInfo();

createApp({store}).mount()
</script>


<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-111501715-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', 'UA-111501715-1');
</script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"
integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz"
crossorigin="anonymous"></script>
</body>
</html>

0 comments on commit e87f9da

Please sign in to comment.