mirror of
https://github.com/arkenfox/user.js.git
synced 2025-09-04 10:58:31 +02:00
Compare commits
84 Commits
v81.0-beta
...
86.0
Author | SHA1 | Date | |
---|---|---|---|
5f9bb59b95 | |||
7163efdd1e | |||
65fb24ff1b | |||
612cfbf313 | |||
4596d721e6 | |||
911206eed5 | |||
cb5cdca99d | |||
e54ae46537 | |||
7c978d4e70 | |||
d905b4387d | |||
c31c825a74 | |||
6505a9fefd | |||
de74f812ee | |||
82bb3f987d | |||
a35a616de7 | |||
ecf99bf9e7 | |||
cfaf354fe3 | |||
0b51e98d91 | |||
fa51251235 | |||
21fcd0bd35 | |||
96d558dd0c | |||
b6e8dcab81 | |||
fa78c53114 | |||
2f6b14ab6e | |||
2dd455ef83 | |||
306610da8e | |||
59ac1727f7 | |||
c974b3252d | |||
480933484f | |||
0cbd8a13a3 | |||
ae6c76fe54 | |||
1f098f2eaf | |||
11977e7017 | |||
27dd6aa62d | |||
c570e4fdbd | |||
da58f84fa6 | |||
755a45505f | |||
9d74cb9526 | |||
8c9d0bbe72 | |||
0152b38b8b | |||
e6cf90146a | |||
63d1258f2e | |||
46bab27f94 | |||
2cfbba1472 | |||
c980bda695 | |||
feaa1c3e99 | |||
aa1c2145bb | |||
335ee84540 | |||
5c37d50f4e | |||
77abf35761 | |||
fa85c9da5b | |||
cf53982086 | |||
91cbc1e09a | |||
a7e4268d8b | |||
699eacf1fd | |||
0189438e46 | |||
94712f59a3 | |||
ef93a754ce | |||
c6ddda1aa3 | |||
ccbca41e2d | |||
5b0d173078 | |||
d6186819f4 | |||
ea0eb85404 | |||
8dc43cfdc2 | |||
f7bee988de | |||
f2fe7f02b0 | |||
accef19af4 | |||
910d7004c6 | |||
07cccd5386 | |||
ac52886ea8 | |||
c45780d79b | |||
e14732aad3 | |||
26d4768447 | |||
9f99885272 | |||
0adfddd1e2 | |||
f591a8adf8 | |||
0e10a820d9 | |||
c90341dded | |||
d5ccf4693b | |||
e89f9a5d89 | |||
a56ba85936 | |||
421f1e361c | |||
2391874e04 | |||
4779ea7850 |
@ -15,9 +15,9 @@ Before you proceed...
|
|||||||
- Note: We do not support forks
|
- Note: We do not support forks
|
||||||
|
|
||||||
See also:
|
See also:
|
||||||
|
- Override Recipes [issue 1080](https://github.com/arkenfox/user.js/issues/1080)
|
||||||
- Extension breakage due to prefs [issue 391](https://github.com/arkenfox/user.js/issues/391)
|
- Extension breakage due to prefs [issue 391](https://github.com/arkenfox/user.js/issues/391)
|
||||||
- Prefs vs Recommended Extensions: Co-Existance+Enhancement | Conflicts [issue 350](https://github.com/arkenfox/user.js/issues/350)
|
- Prefs vs Recommended Extensions: Co-Existance+Enhancement | Conflicts [issue 350](https://github.com/arkenfox/user.js/issues/350)
|
||||||
- The extension CSP header modification game [issue 664](https://github.com/arkenfox/user.js/issues/664)
|
|
||||||
|
|
||||||
If you still need help, help us help you by providing relevant information:
|
If you still need help, help us help you by providing relevant information:
|
||||||
- browser version
|
- browser version
|
||||||
|
@ -22,7 +22,6 @@ Also be aware that the `arkenfox user.js` is made specifically for desktop Firef
|
|||||||
- [diffs](https://github.com/arkenfox/user.js/issues?q=is%3Aissue+label%3Adiffs)
|
- [diffs](https://github.com/arkenfox/user.js/issues?q=is%3Aissue+label%3Adiffs)
|
||||||
|
|
||||||
### 🟥 acknowledgments
|
### 🟥 acknowledgments
|
||||||
Literally thousands of sources, references and suggestions. Special mention to:
|
Literally thousands of sources, references and suggestions. Many thanks, and much appreciated.
|
||||||
|
|
||||||
* This [12bytes article](https://12bytes.org/articles/tech/firefox/firefoxgecko-configuration-guide-for-privacy-and-performance-buffs) which uses the `arkenfox user.js` and supplements it with an additional JS hosted at [Codeberg](https://codeberg.org/12bytes.org/Firefox-user.js-supplement)
|
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@ TITLE prefs.js cleaner
|
|||||||
|
|
||||||
REM ### prefs.js cleaner for Windows
|
REM ### prefs.js cleaner for Windows
|
||||||
REM ## author: @claustromaniac
|
REM ## author: @claustromaniac
|
||||||
REM ## version: 2.3
|
REM ## version: 2.4
|
||||||
|
|
||||||
CD /D "%~dp0"
|
CD /D "%~dp0"
|
||||||
|
|
||||||
@ -13,7 +13,7 @@ ECHO:
|
|||||||
ECHO ########################################
|
ECHO ########################################
|
||||||
ECHO #### prefs.js cleaner for Windows ####
|
ECHO #### prefs.js cleaner for Windows ####
|
||||||
ECHO #### by claustromaniac ####
|
ECHO #### by claustromaniac ####
|
||||||
ECHO #### v2.3 ####
|
ECHO #### v2.4 ####
|
||||||
ECHO ########################################
|
ECHO ########################################
|
||||||
ECHO:
|
ECHO:
|
||||||
CALL :message "This script should be run from your Firefox profile directory."
|
CALL :message "This script should be run from your Firefox profile directory."
|
||||||
@ -28,6 +28,7 @@ IF ERRORLEVEL 3 (EXIT /B)
|
|||||||
IF ERRORLEVEL 2 (GOTO :showhelp)
|
IF ERRORLEVEL 2 (GOTO :showhelp)
|
||||||
IF NOT EXIST "user.js" (CALL :abort "user.js not found in the current directory." 30)
|
IF NOT EXIST "user.js" (CALL :abort "user.js not found in the current directory." 30)
|
||||||
IF NOT EXIST "prefs.js" (CALL :abort "prefs.js not found in the current directory." 30)
|
IF NOT EXIST "prefs.js" (CALL :abort "prefs.js not found in the current directory." 30)
|
||||||
|
CALL :strlenCheck
|
||||||
CALL :FFcheck
|
CALL :FFcheck
|
||||||
CALL :message "Backing up prefs.js..."
|
CALL :message "Backing up prefs.js..."
|
||||||
SET "_time=%time: =0%"
|
SET "_time=%time: =0%"
|
||||||
@ -50,6 +51,21 @@ ECHO:
|
|||||||
ECHO: %~1
|
ECHO: %~1
|
||||||
ECHO:
|
ECHO:
|
||||||
GOTO :EOF
|
GOTO :EOF
|
||||||
|
REM ### string length Check Function ####
|
||||||
|
:strlenCheck
|
||||||
|
SET /a cnt=0
|
||||||
|
setlocal ENABLEDELAYEDEXPANSION
|
||||||
|
FOR /F "tokens=1,* delims=:" %%G IN ('FINDSTR /N "^" prefs.js') DO (
|
||||||
|
ECHO:%%H >nul
|
||||||
|
SET /a cnt += 1
|
||||||
|
IF /I "%%G" NEQ "!cnt!" (
|
||||||
|
ECHO:
|
||||||
|
CALL :message "ERROR: line !cnt! in prefs.js is too long."
|
||||||
|
(CALL :abort "Aborting ..." 30)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
endlocal
|
||||||
|
GOTO :EOF
|
||||||
REM ####### Firefox Check Function ######
|
REM ####### Firefox Check Function ######
|
||||||
:FFcheck
|
:FFcheck
|
||||||
TASKLIST /FI "IMAGENAME eq firefox.exe" 2>NUL | FIND /I /N "firefox.exe">NUL
|
TASKLIST /FI "IMAGENAME eq firefox.exe" 2>NUL | FIND /I /N "firefox.exe">NUL
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/***
|
/***
|
||||||
This will reset the preferences that have been removed completely from the arkenfox user.js.
|
This will reset the preferences that have been removed completely from the arkenfox user.js.
|
||||||
|
|
||||||
Last updated: 14-Sept-2020
|
Last updated: 27-Feb-2021
|
||||||
|
|
||||||
For instructions see:
|
For instructions see:
|
||||||
https://github.com/arkenfox/user.js/wiki/3.1-Resetting-Inactive-Prefs-[Scripts]
|
https://github.com/arkenfox/user.js/wiki/3.1-Resetting-Inactive-Prefs-[Scripts]
|
||||||
@ -223,6 +223,18 @@
|
|||||||
'browser.search.region',
|
'browser.search.region',
|
||||||
/* 79-beta */
|
/* 79-beta */
|
||||||
'browser.urlbar.usepreloadedtopurls.enabled',
|
'browser.urlbar.usepreloadedtopurls.enabled',
|
||||||
|
/* 82-beta */
|
||||||
|
'dom.IntersectionObserver.enabled',
|
||||||
|
'extensions.screenshots.upload-disabled',
|
||||||
|
'privacy.partition.network_state',
|
||||||
|
'security.ssl3.dhe_rsa_aes_128_sha',
|
||||||
|
'security.ssl3.dhe_rsa_aes_256_sha',
|
||||||
|
/* 84-beta */
|
||||||
|
'browser.newtabpage.activity-stream.asrouter.providers.snippets',
|
||||||
|
/* 85-beta */
|
||||||
|
'network.http.redirection-limit',
|
||||||
|
/* 86-beta */
|
||||||
|
'media.gmp-widevinecdm.visible',
|
||||||
/* reset parrot: check your open about:config after running the script */
|
/* reset parrot: check your open about:config after running the script */
|
||||||
'_user.js.parrot'
|
'_user.js.parrot'
|
||||||
]
|
]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
/*** arkenfox user.js troubleshooter.js v1.6.1 ***/
|
/*** arkenfox user.js troubleshooter.js v1.6.3 ***/
|
||||||
|
|
||||||
(function() {
|
(function() {
|
||||||
|
|
||||||
@ -17,9 +17,7 @@
|
|||||||
|
|
||||||
/* Storage + Cache */
|
/* Storage + Cache */
|
||||||
'browser.cache.offline.enable',
|
'browser.cache.offline.enable',
|
||||||
'dom.indexedDB.enabled',
|
|
||||||
'dom.storage.enabled',
|
'dom.storage.enabled',
|
||||||
'browser.storageManager.enabled',
|
|
||||||
'dom.storageManager.enabled',
|
'dom.storageManager.enabled',
|
||||||
|
|
||||||
/* Workers, Web + Push Notifications */
|
/* Workers, Web + Push Notifications */
|
||||||
@ -34,7 +32,6 @@
|
|||||||
/* Fonts */
|
/* Fonts */
|
||||||
'browser.display.use_document_fonts',
|
'browser.display.use_document_fonts',
|
||||||
'font.blacklist.underline_offset',
|
'font.blacklist.underline_offset',
|
||||||
'gfx.downloadable_fonts.woff2.enabled',
|
|
||||||
'gfx.font_rendering.graphite.enabled',
|
'gfx.font_rendering.graphite.enabled',
|
||||||
'gfx.font_rendering.opentype_svg.enabled',
|
'gfx.font_rendering.opentype_svg.enabled',
|
||||||
'layout.css.font-loading-api.enabled',
|
'layout.css.font-loading-api.enabled',
|
||||||
@ -47,12 +44,10 @@
|
|||||||
'dom.IntersectionObserver.enabled',
|
'dom.IntersectionObserver.enabled',
|
||||||
'dom.popup_allowed_events',
|
'dom.popup_allowed_events',
|
||||||
'full-screen-api.enabled',
|
'full-screen-api.enabled',
|
||||||
'geo.wifi.uri',
|
|
||||||
'intl.accept_languages',
|
'intl.accept_languages',
|
||||||
'javascript.options.asmjs',
|
'javascript.options.asmjs',
|
||||||
'javascript.options.wasm',
|
'javascript.options.wasm',
|
||||||
'permissions.default.shortcuts',
|
'permissions.default.shortcuts',
|
||||||
'security.csp.experimentalEnabled',
|
|
||||||
|
|
||||||
/* Hardware */
|
/* Hardware */
|
||||||
'dom.vr.enabled',
|
'dom.vr.enabled',
|
||||||
@ -60,8 +55,8 @@
|
|||||||
|
|
||||||
/* Audio + Video */
|
/* Audio + Video */
|
||||||
'dom.webaudio.enabled',
|
'dom.webaudio.enabled',
|
||||||
'media.autoplay.enabled',
|
|
||||||
'media.autoplay.default', // FF63+
|
'media.autoplay.default', // FF63+
|
||||||
|
'media.autoplay.blocking_policy', // FF78+
|
||||||
|
|
||||||
/* Forms */
|
/* Forms */
|
||||||
'browser.formfill.enable',
|
'browser.formfill.enable',
|
||||||
@ -88,13 +83,11 @@
|
|||||||
|
|
||||||
/* Plugins + Flash */
|
/* Plugins + Flash */
|
||||||
'plugin.default.state',
|
'plugin.default.state',
|
||||||
'plugin.defaultXpi.state',
|
|
||||||
'plugin.sessionPermissionNow.intervalInMinutes',
|
|
||||||
'plugin.state.flash',
|
'plugin.state.flash',
|
||||||
|
|
||||||
/* unlikely to cause problems */
|
/* unlikely to cause problems */
|
||||||
'browser.tabs.remote.allowLinkedWebInFileUriProcess',
|
|
||||||
'dom.popup_maximum',
|
'dom.popup_maximum',
|
||||||
|
'geo.provider.network.url',
|
||||||
'layout.css.visited_links_enabled',
|
'layout.css.visited_links_enabled',
|
||||||
'mathml.disabled',
|
'mathml.disabled',
|
||||||
'network.auth.subresource-http-auth-allow',
|
'network.auth.subresource-http-auth-allow',
|
||||||
@ -102,6 +95,7 @@
|
|||||||
'network.protocol-handler.external.ms-windows-store',
|
'network.protocol-handler.external.ms-windows-store',
|
||||||
'privacy.trackingprotection.enabled',
|
'privacy.trackingprotection.enabled',
|
||||||
'security.data_uri.block_toplevel_data_uri_navigations',
|
'security.data_uri.block_toplevel_data_uri_navigations',
|
||||||
|
'privacy.window.name.update.enabled', // FF82+
|
||||||
|
|
||||||
'last.one.without.comma'
|
'last.one.without.comma'
|
||||||
]
|
]
|
||||||
@ -167,8 +161,8 @@
|
|||||||
reapply(aALL);
|
reapply(aALL);
|
||||||
myreset(aTmp.slice(0, _h(aTmp)));
|
myreset(aTmp.slice(0, _h(aTmp)));
|
||||||
while (aTmp.length) {
|
while (aTmp.length) {
|
||||||
alert("NOW TEST AGAIN !");
|
alert('NOW TEST AGAIN !');
|
||||||
if (confirm("if the problem still exists click OK, otherwise click cancel.")) {
|
if (confirm('if the problem still exists click OK, otherwise click Cancel.')) {
|
||||||
aTmp = aTmp.slice(_h(aTmp));
|
aTmp = aTmp.slice(_h(aTmp));
|
||||||
} else {
|
} else {
|
||||||
aTmp = aTmp.slice(0, _h(aTmp));
|
aTmp = aTmp.slice(0, _h(aTmp));
|
||||||
@ -182,16 +176,16 @@
|
|||||||
|
|
||||||
if (aDbg.length == 1) return alert("narrowed it down to:\n\n"+aDbg[0].name+"\n");
|
if (aDbg.length == 1) return alert("narrowed it down to:\n\n"+aDbg[0].name+"\n");
|
||||||
if (aDbg.length == aALL.length) {
|
if (aDbg.length == aALL.length) {
|
||||||
let msg = "Failed to narrow it down beyond the initial "+aALL.length+" prefs. The problem is most likely caused by at least 2 prefs!\n\n";
|
const msg = "Failed to narrow it down beyond the initial "+aALL.length+" prefs. The problem is most likely caused by at least 2 prefs!\n\n" +
|
||||||
msg += "Either those prefs are too far apart in the list or there are exactly 2 culprits and they just happen to be at the wrong place.\n\n";
|
"Either those prefs are too far apart in the list or there are exactly 2 culprits and they just happen to be at the wrong place.\n\n" +
|
||||||
msg += "In case it's the latter, the script can add a dummy pref and you can try again - Try again?";
|
"In case it's the latter, the script can add a dummy pref and you can try again - Try again?";
|
||||||
if (confirm(msg)) return _main([...aALL, oFILLER]);
|
if (confirm(msg)) return _main([...aALL, oFILLER]);
|
||||||
} else if (aDbg.length > 10 && confirm("Narrowed it down to "+aDbg.length+" prefs. Try narrowing it down further?")) {
|
} else if (aDbg.length > 10 && confirm("Narrowed it down to "+aDbg.length+" prefs. Try narrowing it down further?")) {
|
||||||
return _main(aDbg.reverse());
|
return _main(aDbg.reverse());
|
||||||
}
|
}
|
||||||
|
|
||||||
alert("Narrowed it down to "+ aDbg.length.toString() +" prefs, check the console ...");
|
alert("Narrowed it down to "+ aDbg.length.toString() +" prefs, check the console ...");
|
||||||
console.log("The problem is caused by 2 or more of these prefs:");
|
console.log('The problem is caused by 2 or more of these prefs:');
|
||||||
for (const oPref of aDbg) console.log(oPref.name);
|
for (const oPref of aDbg) console.log(oPref.name);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -200,14 +194,18 @@
|
|||||||
|
|
||||||
const aBAK = getMyList(aPREFS);
|
const aBAK = getMyList(aPREFS);
|
||||||
//console.log(aBAK.length, "user-set prefs from our list detected and their values stored.");
|
//console.log(aBAK.length, "user-set prefs from our list detected and their values stored.");
|
||||||
|
|
||||||
|
const sMsg = "all detected prefs reset.\n\n" +
|
||||||
|
"!! KEEP THIS PROMPT OPEN AND TEST THE SITE IN ANOTHER TAB !!\n\n" +
|
||||||
|
"IF the problem still exists, this script can't help you - click Cancel to re-apply your values and exit.\n\n" +
|
||||||
|
"Click OK if your problem is fixed.";
|
||||||
|
|
||||||
focus();
|
focus();
|
||||||
myreset(aBAK);
|
myreset(aBAK);
|
||||||
if (!confirm("all detected prefs reset.\n\n!! KEEP THIS PROMPT OPEN AND TEST THE SITE IN ANOTHER TAB !!\n\nIF the problem still exists, this script can't help you - click cancel to re-apply your values and exit.\n\nClick OK if your problem is fixed.")) {
|
if (!confirm(sMsg)) {
|
||||||
reapply(aBAK);
|
reapply(aBAK);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
_main(aBAK);
|
_main(aBAK);
|
||||||
|
|
||||||
})();
|
})();
|
||||||
|
28
updater.bat
28
updater.bat
@ -3,10 +3,10 @@ TITLE arkenfox user.js updater
|
|||||||
|
|
||||||
REM ## arkenfox user.js updater for Windows
|
REM ## arkenfox user.js updater for Windows
|
||||||
REM ## author: @claustromaniac
|
REM ## author: @claustromaniac
|
||||||
REM ## version: 4.12
|
REM ## version: 4.14
|
||||||
REM ## instructions: https://github.com/arkenfox/user.js/wiki/3.3-Updater-Scripts
|
REM ## instructions: https://github.com/arkenfox/user.js/wiki/3.3-Updater-Scripts
|
||||||
|
|
||||||
SET v=4.12
|
SET v=4.14
|
||||||
|
|
||||||
VERIFY ON
|
VERIFY ON
|
||||||
CD /D "%~dp0"
|
CD /D "%~dp0"
|
||||||
@ -28,6 +28,15 @@ SHIFT
|
|||||||
GOTO parse
|
GOTO parse
|
||||||
:endparse
|
:endparse
|
||||||
|
|
||||||
|
FOR /F %%i IN ('PowerShell -Command "[Enum]::GetNames([Net.SecurityProtocolType]) -contains 'Tls12'"') DO (
|
||||||
|
IF "%%i" == "False" (
|
||||||
|
CALL :message "Your PowerShell version doesn't support TLS1.2 ^!"
|
||||||
|
ECHO: Instructions to update PowerShell are on the arkenfox wiki
|
||||||
|
PAUSE
|
||||||
|
EXIT
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
IF DEFINED _updateb (
|
IF DEFINED _updateb (
|
||||||
REM The normal flow here goes from phase 1 to phase 2 and then phase 3.
|
REM The normal flow here goes from phase 1 to phase 2 and then phase 3.
|
||||||
IF NOT "!_myname:~0,9!"=="[updated]" (
|
IF NOT "!_myname:~0,9!"=="[updated]" (
|
||||||
@ -51,9 +60,7 @@ IF DEFINED _updateb (
|
|||||||
CALL :message "Updating script..."
|
CALL :message "Updating script..."
|
||||||
REM Uncomment the next line and comment out the PowerShell call for testing.
|
REM Uncomment the next line and comment out the PowerShell call for testing.
|
||||||
REM COPY /B /Y "!_myname!.bat" "[updated]!_myname!.bat" >nul
|
REM COPY /B /Y "!_myname!.bat" "[updated]!_myname!.bat" >nul
|
||||||
(
|
CALL :psdownload https://raw.githubusercontent.com/arkenfox/user.js/master/updater.bat "[updated]!_myname!.bat"
|
||||||
PowerShell -Command "(New-Object Net.WebClient).DownloadFile('https://raw.githubusercontent.com/arkenfox/user.js/master/updater.bat', '[updated]!_myname!.bat')"
|
|
||||||
) >nul 2>&1
|
|
||||||
IF EXIST "[updated]!_myname!.bat" (
|
IF EXIST "[updated]!_myname!.bat" (
|
||||||
START /min CMD /C "[updated]!_myname!.bat" !_myparams!
|
START /min CMD /C "[updated]!_myname!.bat" !_myparams!
|
||||||
) ELSE (
|
) ELSE (
|
||||||
@ -132,9 +139,7 @@ IF DEFINED _log (
|
|||||||
)
|
)
|
||||||
IF EXIST user.js.new (DEL /F "user.js.new")
|
IF EXIST user.js.new (DEL /F "user.js.new")
|
||||||
CALL :message "Retrieving latest user.js file from github repository..."
|
CALL :message "Retrieving latest user.js file from github repository..."
|
||||||
(
|
CALL :psdownload https://raw.githubusercontent.com/arkenfox/user.js/master/user.js "user.js.new"
|
||||||
PowerShell -Command "(New-Object Net.WebClient).DownloadFile('https://raw.githubusercontent.com/arkenfox/user.js/master/user.js', 'user.js.new')"
|
|
||||||
) >nul 2>&1
|
|
||||||
IF EXIST user.js.new (
|
IF EXIST user.js.new (
|
||||||
IF DEFINED _rfpalts (
|
IF DEFINED _rfpalts (
|
||||||
CALL :message "Activating RFP Alternatives section..."
|
CALL :message "Activating RFP Alternatives section..."
|
||||||
@ -218,6 +223,13 @@ IF NOT "2"=="%_log%" (ECHO:)
|
|||||||
ENDLOCAL
|
ENDLOCAL
|
||||||
GOTO :EOF
|
GOTO :EOF
|
||||||
|
|
||||||
|
::::::::::::::: Download :::::::::::::::
|
||||||
|
:psdownload
|
||||||
|
(
|
||||||
|
PowerShell -Command "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; (New-Object Net.WebClient).DownloadFile('%~1', '%~2')"
|
||||||
|
) >nul 2>&1
|
||||||
|
GOTO :EOF
|
||||||
|
|
||||||
::::::::::::::: Activate Section :::::::::::::::
|
::::::::::::::: Activate Section :::::::::::::::
|
||||||
:activate
|
:activate
|
||||||
:: arg1 = file
|
:: arg1 = file
|
||||||
|
16
updater.sh
16
updater.sh
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
## arkenfox user.js updater for macOS and Linux
|
## arkenfox user.js updater for macOS and Linux
|
||||||
|
|
||||||
## version: 2.8
|
## version: 2.9
|
||||||
## Author: Pat Johnson (@overdodactyl)
|
## Author: Pat Johnson (@overdodactyl)
|
||||||
## Additional contributors: @earthlng, @ema-pe, @claustromaniac
|
## Additional contributors: @earthlng, @ema-pe, @claustromaniac
|
||||||
|
|
||||||
@ -10,9 +10,9 @@
|
|||||||
|
|
||||||
readonly CURRDIR=$(pwd)
|
readonly CURRDIR=$(pwd)
|
||||||
|
|
||||||
sfp=$(readlink -f "${BASH_SOURCE[0]}" 2>/dev/null || greadlink -f "${BASH_SOURCE[0]}" 2>/dev/null)
|
SCRIPT_FILE=$(readlink -f "${BASH_SOURCE[0]}" 2>/dev/null || greadlink -f "${BASH_SOURCE[0]}" 2>/dev/null)
|
||||||
[ -z "$sfp" ] && sfp=${BASH_SOURCE[0]}
|
[ -z "$SCRIPT_FILE" ] && SCRIPT_FILE=${BASH_SOURCE[0]}
|
||||||
readonly SCRIPT_DIR=$(dirname "${sfp}")
|
readonly SCRIPT_DIR=$(dirname "${SCRIPT_FILE}")
|
||||||
|
|
||||||
|
|
||||||
#########################
|
#########################
|
||||||
@ -198,7 +198,7 @@ update_updater () {
|
|||||||
declare -r tmpfile="$(download_file 'https://raw.githubusercontent.com/arkenfox/user.js/master/updater.sh')"
|
declare -r tmpfile="$(download_file 'https://raw.githubusercontent.com/arkenfox/user.js/master/updater.sh')"
|
||||||
[ -z "${tmpfile}" ] && echo -e "${RED}Error! Could not download updater.sh${NC}" && return 1 # check if download failed
|
[ -z "${tmpfile}" ] && echo -e "${RED}Error! Could not download updater.sh${NC}" && return 1 # check if download failed
|
||||||
|
|
||||||
if [[ $(get_updater_version "${SCRIPT_DIR}/updater.sh") < $(get_updater_version "${tmpfile}") ]]; then
|
if [[ $(get_updater_version "$SCRIPT_FILE") < $(get_updater_version "${tmpfile}") ]]; then
|
||||||
if [ $UPDATE = 'check' ]; then
|
if [ $UPDATE = 'check' ]; then
|
||||||
echo -e "There is a newer version of updater.sh available. ${RED}Update and execute Y/N?${NC}"
|
echo -e "There is a newer version of updater.sh available. ${RED}Update and execute Y/N?${NC}"
|
||||||
read -p "" -n 1 -r
|
read -p "" -n 1 -r
|
||||||
@ -208,9 +208,9 @@ update_updater () {
|
|||||||
else
|
else
|
||||||
return 0 # No update available
|
return 0 # No update available
|
||||||
fi
|
fi
|
||||||
mv "${tmpfile}" "${SCRIPT_DIR}/updater.sh"
|
mv "${tmpfile}" "$SCRIPT_FILE"
|
||||||
chmod u+x "${SCRIPT_DIR}/updater.sh"
|
chmod u+x "$SCRIPT_FILE"
|
||||||
"${SCRIPT_DIR}/updater.sh" "$@" -d
|
"$SCRIPT_FILE" "$@" -d
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user