aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/build.yml1
-rw-r--r--README.md4
-rw-r--r--index.js36
-rw-r--r--package.json13
-rw-r--r--yarn.lock42
5 files changed, 93 insertions, 3 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 5f921e9..c330180 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -24,6 +24,7 @@ jobs:
- name: Installing dependencies for Ubuntu
if: startsWith(matrix.os, 'ubuntu')
run: sudo apt install --no-install-recommends -y libopenjp2-tools rpm libarchive-tools
+
- name: Check out Git repository
uses: actions/checkout@v1
diff --git a/README.md b/README.md
index 951f6a2..fe1c74b 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,10 @@
# YouTube TV Client 2.0
Basically a browser that uses Samsung Smart TV as the user agent and it goes to `youtube.com/tv`.
+<a href="https://snapcraft.io/youtube-tv-client">
+ <img alt="Get it from the Snap Store" src="https://snapcraft.io/static/images/badges/en/snap-store-black.svg" />
+</a>
+
Made from NodeJS and Electron
Start the program
diff --git a/index.js b/index.js
index a44a409..33ff6fb 100644
--- a/index.js
+++ b/index.js
@@ -1,6 +1,11 @@
const { app, BrowserWindow, session } = require('electron');
+const { autoUpdater } = require("electron-updater");
+const log = require('electron-log');
const package = require("./package.json");
+autoUpdater.logger = log;
+autoUpdater.logger.transports.file.level = 'info';
+
const userAgent = "Mozilla/5.0 (Linux; Tizen 2.3) "+ package.name + "/" + package.version + " AppleWebKit/538.1 (KHTML, like Gecko)Version/2.3 TV Safari/538.1";
const URL = "https://youtube.com/tv";
@@ -23,6 +28,10 @@ function fetchCookie(){
});
}
+app.on('ready', function() {
+ autoUpdater.checkForUpdatesAndNotify();
+});
+
app.whenReady().then(() => {
console.log("Started YouTube TV Client " + package.version);
createWindow();
@@ -40,6 +49,33 @@ app.whenReady().then(() => {
});
+ autoUpdater.on('checking-for-update', () => {
+ console.log('Checking for updates...');
+ });
+
+ autoUpdater.on('update-available', () => {
+ console.log('Update available.');
+ });
+
+
+ autoUpdater.on('update-not-available', () => {
+ console.log('No updates are currently available...');
+ });
+
+ autoUpdater.on('error', (err) => {
+ console.log('Error in auto-updater. ' + err);
+ });
+
+ autoUpdater.on('download-progress', (progressObj) => {
+ let log_message = "Download speed: " + progressObj.bytesPerSecond;
+ log_message = log_message + ' - Downloaded ' + progressObj.percent + '%';
+ log_message = log_message + ' (' + progressObj.transferred + "/" + progressObj.total + ')';
+ console.log(log_message);
+ });
+
+ autoUpdater.on('update-downloaded', (info) => {
+ console.log('Update downloaded');
+ });
app.on('window-all-closed', function () {
if (process.platform !== 'darwin') app.quit();
diff --git a/package.json b/package.json
index d7cc322..fc8c4be 100644
--- a/package.json
+++ b/package.json
@@ -9,6 +9,10 @@
"start": "electron .",
"dist": "electron-builder"
},
+ "dependencies": {
+ "electron-log": "^4.4.1",
+ "electron-updater": "^4.3.9"
+ },
"devDependencies": {
"electron": "^13.1.9",
"electron-builder": "^22.11.7"
@@ -26,21 +30,24 @@
"pacman",
"deb"
],
- "category": "Video"
+ "category": "Video",
+ "publish": "github"
},
"win": {
"target": [
"zip",
"portable",
"nsis"
- ]
+ ],
+ "publish": "github"
},
"mac": {
"target": [
"zip",
"dmg"
],
- "category": "Video"
+ "category": "Video",
+ "publish": "github"
}
}
}
diff --git a/yarn.lock b/yarn.lock
index 0140e2a..00d25ea 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -121,6 +121,11 @@
"@types/node" "*"
xmlbuilder ">=11.0.1"
+"@types/semver@^7.3.5":
+ version "7.3.8"
+ resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.8.tgz#508a27995498d7586dcecd77c25e289bfaf90c59"
+ integrity sha512-D/2EJvAlCEtYFEYmmlGwbGXuK886HzyCc3nZX/tkFTQdEU8jZDAgiv08P162yB17y4ZXZoq7yFAnW4GDBb9Now==
+
"@types/verror@^1.10.3":
version "1.10.5"
resolved "https://registry.yarnpkg.com/@types/verror/-/verror-1.10.5.tgz#2a1413aded46e67a1fe2386800e291123ed75eb1"
@@ -332,6 +337,14 @@ buffer@^5.1.0:
base64-js "^1.3.1"
ieee754 "^1.1.13"
+builder-util-runtime@8.7.5:
+ version "8.7.5"
+ resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.5.tgz#fbe59e274818885e0d2e358d5b7017c34ae6b0f5"
+ integrity sha512-fgUFHKtMNjdvH6PDRFntdIGUPgwZ69sXsAqEulCtoiqgWes5agrMq/Ud274zjJRTbckYh2PHh8/1CpFc6dpsbQ==
+ dependencies:
+ debug "^4.3.2"
+ sax "^1.2.4"
+
builder-util-runtime@8.7.6:
version "8.7.6"
resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.6.tgz#4b43c96db2bd494ced7694bcd7674934655e8324"
@@ -683,6 +696,11 @@ electron-builder@^22.11.7:
update-notifier "^5.1.0"
yargs "^17.0.1"
+electron-log@^4.4.1:
+ version "4.4.1"
+ resolved "https://registry.yarnpkg.com/electron-log/-/electron-log-4.4.1.tgz#28ebeb474eccba2ebf194a96c40d6328e5353e4d"
+ integrity sha512-nK/DwxPLtwWbggPCm27eMQhYHc3gzoZ+cokBK99diO4WsZJKrv5l44EUW8mRfWpmC8ZubnMyp6GTUIJyTc9AJA==
+
electron-publish@22.11.7:
version "22.11.7"
resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.11.7.tgz#4126cbb08ccf082a2aa7fef89ee629b3a4b8ae9a"
@@ -696,6 +714,20 @@ electron-publish@22.11.7:
lazy-val "^1.0.5"
mime "^2.5.2"
+electron-updater@^4.3.9:
+ version "4.3.9"
+ resolved "https://registry.yarnpkg.com/electron-updater/-/electron-updater-4.3.9.tgz#247c660bafad7c07935e1b81acd3e9a5fd733154"
+ integrity sha512-LCNfedSwZfS4Hza+pDyPR05LqHtGorCStaBgVpRnfKxOlZcvpYEX0AbMeH5XUtbtGRoH2V8osbbf2qKPNb7AsA==
+ dependencies:
+ "@types/semver" "^7.3.5"
+ builder-util-runtime "8.7.5"
+ fs-extra "^10.0.0"
+ js-yaml "^4.1.0"
+ lazy-val "^1.0.4"
+ lodash.escaperegexp "^4.1.2"
+ lodash.isequal "^4.5.0"
+ semver "^7.3.5"
+
electron@^13.1.9:
version "13.1.9"
resolved "https://registry.yarnpkg.com/electron/-/electron-13.1.9.tgz#668e2632b81e9fa21edfd32876282d3e2ff7fd76"
@@ -1150,6 +1182,16 @@ lazy-val@^1.0.4, lazy-val@^1.0.5:
resolved "https://registry.yarnpkg.com/lazy-val/-/lazy-val-1.0.5.tgz#6cf3b9f5bc31cee7ee3e369c0832b7583dcd923d"
integrity sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==
+lodash.escaperegexp@^4.1.2:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz#64762c48618082518ac3df4ccf5d5886dae20347"
+ integrity sha1-ZHYsSGGAglGKw99Mz11YhtriA0c=
+
+lodash.isequal@^4.5.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0"
+ integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA=
+
lodash@^4.17.10, lodash@^4.17.15:
version "4.17.21"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"