diff options
author | Árni Dagur <arni@dagur.eu> | 2020-12-19 20:29:38 +0000 |
---|---|---|
committer | Árni Dagur <arni@dagur.eu> | 2020-12-19 20:29:38 +0000 |
commit | 4c5e3d9ea084024f0b88a43963aeb45ce37bfd40 (patch) | |
tree | 7ac785e913c775a5b43f43502db86ed95836c188 /misc | |
parent | 918d4c5e19a27bad3a1c132d3ce2f3b304ee4365 (diff) | |
parent | 8303a99ddb3f2dc6465fa324a181081cdd7787c0 (diff) | |
download | qutebrowser-4c5e3d9ea084024f0b88a43963aeb45ce37bfd40.tar.gz qutebrowser-4c5e3d9ea084024f0b88a43963aeb45ce37bfd40.zip |
Merge branch 'master' into more-sophisticated-adblock
Diffstat (limited to 'misc')
-rw-r--r-- | misc/apparmor/usr.bin.qutebrowser | 90 | ||||
-rw-r--r-- | misc/org.qutebrowser.qutebrowser.appdata.xml | 1 | ||||
-rw-r--r-- | misc/requirements/requirements-check-manifest.txt | 4 | ||||
-rw-r--r-- | misc/requirements/requirements-dev.txt | 14 | ||||
-rw-r--r-- | misc/requirements/requirements-flake8.txt | 4 | ||||
-rw-r--r-- | misc/requirements/requirements-mypy.txt | 10 | ||||
-rw-r--r-- | misc/requirements/requirements-mypy.txt-raw | 3 | ||||
-rw-r--r-- | misc/requirements/requirements-pyinstaller.txt | 2 | ||||
-rw-r--r-- | misc/requirements/requirements-pylint.txt | 6 | ||||
-rw-r--r-- | misc/requirements/requirements-pyqt.txt | 2 | ||||
-rw-r--r-- | misc/requirements/requirements-pyqt.txt-raw | 2 | ||||
-rw-r--r-- | misc/requirements/requirements-pyroma.txt | 2 | ||||
-rw-r--r-- | misc/requirements/requirements-sphinx.txt | 4 | ||||
-rw-r--r-- | misc/requirements/requirements-tests.txt | 33 | ||||
-rw-r--r-- | misc/requirements/requirements-tests.txt-raw | 12 | ||||
-rw-r--r-- | misc/requirements/requirements-tox.txt | 4 | ||||
-rw-r--r-- | misc/requirements/requirements-yamllint.txt | 2 | ||||
-rw-r--r-- | misc/userscripts/README.md | 2 | ||||
-rwxr-xr-x | misc/userscripts/readability-js | 46 |
19 files changed, 159 insertions, 84 deletions
diff --git a/misc/apparmor/usr.bin.qutebrowser b/misc/apparmor/usr.bin.qutebrowser index b993e0058..3d27be697 100644 --- a/misc/apparmor/usr.bin.qutebrowser +++ b/misc/apparmor/usr.bin.qutebrowser @@ -1,41 +1,79 @@ -# AppArmor profile for qutebrowser -# Tested on Debian jessie - #include <tunables/global> profile qutebrowser /usr/{local/,}bin/qutebrowser { - #include <abstractions/base> + #include <abstractions/python> + #include <abstractions/audio> + #include <abstractions/dri-common> + #include <abstractions/mesa> + #include <abstractions/X> + #include <abstractions/wayland> + #include <abstractions/qt5> + #include <abstractions/fonts> + + #include <abstractions/dbus-session-strict> #include <abstractions/nameservice> #include <abstractions/openssl> #include <abstractions/ssl_certs> - #include <abstractions/audio> - #include <abstractions/fonts> - #include <abstractions/kde> + + #include <abstractions/freedesktop.org> #include <abstractions/user-download> - #include <abstractions/X> + #include <abstractions/user-tmp> - capability dac_override, - /usr/{local/,}bin/ r, - /usr/{local/,}bin/qutebrowser rix, - /usr/bin/python3.? r, + # not nice but required for chromium sandbox + capability sys_admin, + capability sys_chroot, + capability sys_ptrace, - /usr/lib/python3/ mr, - /usr/lib/python3/** mr, - /usr/lib/python3.?/ r, - /usr/lib/python3.?/** mr, - /usr/local/lib/python3.?/** r, + /dev/ r, + /dev/video* r, + /etc/mime.types r, + /usr/bin/ r, + /usr/bin/ldconfig ix, + /usr/bin/uname ix, + /usr/bin/qutebrowser rix, + /usr/lib/qt/libexec/QtWebEngineProcess mrix, + /usr/share/pdf.js/** r, + /usr/share/qt/translations/qtwebengine_locales/* r, + /usr/share/qt/qtwebengine_dictionaries r, + /usr/share/qt/qtwebengine_dictionaries/* r, + /usr/share/qt/resources/* r, - /proc/*/mounts r, - owner /tmp/** rwkl, - owner /run/user/*/ rw, - owner /run/user/*/** krw, + owner @{HOME}/ r, + owner /dev/shm/.org.chromium* rw, + owner @{HOME}/.cache/{qtshadercache,qutebrowser}/** rwlk, + owner @{HOME}/.cache/qtshadercache** rwl, + owner @{HOME}/.config/qutebrowser/** rwlk, + owner @{HOME}/.local/share/.org.chromium.Chromium* rw, + owner @{HOME}/.local/share/mime/generic-icons r, + owner @{HOME}/.local/share/qutebrowser/ r, + owner @{HOME}/.local/share/qutebrowser/** rwkl, + owner @{HOME}/.pki/nssdb/* rwk, + owner @{HOME}/#[0-9]* rwm, + owner /run/user/*/qutebrowser/ rw, + owner /run/user/*/qutebrowser/* rw, + owner /run/user/*/qutebrowser*slave-socket rwl, + owner /run/user/*/#* rw, - @{HOME}/.config/qutebrowser/** krw, - @{HOME}/.local/share/qutebrowser/** krw, - @{HOME}/.cache/qutebrowser/** krw, - @{HOME}/.gstreamer-0.10/* r, + # qt/kde + @{PROC} r, + @{PROC}/sys/fs/inotify/max_user_watches r, + @{PROC}/sys/kernel/random/boot_id r, + @{PROC}/sys/kernel/core_pattern r, + @{PROC}/sys/kernel/yama/ptrace_scope r, + /sys/{class,bus}/ r, + /sys/bus/pci/devices/ r, + /sys/devices/**/{class,config,device,resource,revision,removable,uevent} r, + /sys/devices/**/{vendor,subsystem_device,subsystem_vendor} r, -} + owner @{PROC}/@{pid}/{fd,stat,task,mounts}/ r, + owner @{PROC}/@{pid}/stat r, + owner @{PROC}/@{pid}/task/@{pid}/status r, + owner @{PROC}/@{pid}/{setgroups,gid_map,oom_score_adj,uid_map} rw, + owner @{PROC}/@{pid}/{oom_score_adj,uid_map} rw, + + # allow execution of userscripts + /usr/share/qutebrowser/userscripts/* Ux, +} diff --git a/misc/org.qutebrowser.qutebrowser.appdata.xml b/misc/org.qutebrowser.qutebrowser.appdata.xml index e246ea4d7..f0885b8ed 100644 --- a/misc/org.qutebrowser.qutebrowser.appdata.xml +++ b/misc/org.qutebrowser.qutebrowser.appdata.xml @@ -44,6 +44,7 @@ </content_rating> <releases> <!-- Add new releases here --> +<release version="1.14.0" date="2020-10-15"/> <release version="1.13.1" date="2020-07-17"/> <release version="1.13.0" date="2020-06-26"/> <release version="1.12.0" date="2020-06-01"/> diff --git a/misc/requirements/requirements-check-manifest.txt b/misc/requirements/requirements-check-manifest.txt index 4cc00982d..9993cf4dd 100644 --- a/misc/requirements/requirements-check-manifest.txt +++ b/misc/requirements/requirements-check-manifest.txt @@ -1,5 +1,5 @@ # This file is automatically generated by scripts/dev/recompile_requirements.py -check-manifest==0.42 -pep517==0.8.2 +check-manifest==0.44 +pep517==0.9.1 toml==0.10.1 diff --git a/misc/requirements/requirements-dev.txt b/misc/requirements/requirements-dev.txt index 798fecad6..e885b3335 100644 --- a/misc/requirements/requirements-dev.txt +++ b/misc/requirements/requirements-dev.txt @@ -1,20 +1,20 @@ # This file is automatically generated by scripts/dev/recompile_requirements.py -bump2version==1.0.0 +bump2version==1.0.1 certifi==2020.6.20 -cffi==1.14.2 +cffi==1.14.3 chardet==3.0.4 -colorama==0.4.3 -cryptography==3.1 +colorama==0.4.4 +cryptography==3.2 cssutils==1.0.2 github3.py==1.3.0 -hunter==3.2.2 +hunter==3.3.1 idna==2.10 jwcrypto==0.8 manhole==1.6.0 packaging==20.4 pycparser==2.20 -Pympler==0.8 +Pympler==0.9 pyparsing==2.4.7 PyQt-builder==1.5.0 python-dateutil==2.8.1 @@ -23,4 +23,4 @@ sip==5.4.0 six==1.15.0 toml==0.10.1 uritemplate==3.0.1 -# urllib3==1.25.10 +# urllib3==1.25.11 diff --git a/misc/requirements/requirements-flake8.txt b/misc/requirements/requirements-flake8.txt index afd4f0bd6..d020c02a2 100644 --- a/misc/requirements/requirements-flake8.txt +++ b/misc/requirements/requirements-flake8.txt @@ -1,10 +1,10 @@ # This file is automatically generated by scripts/dev/recompile_requirements.py attrs==20.2.0 -flake8==3.8.3 +flake8==3.8.4 flake8-bugbear==20.1.4 flake8-builtins==1.5.3 -flake8-comprehensions==3.2.3 +flake8-comprehensions==3.3.0 flake8-copyright==0.2.2 flake8-debugger==3.2.1 flake8-deprecated==1.3 diff --git a/misc/requirements/requirements-mypy.txt b/misc/requirements/requirements-mypy.txt index 863f48c6f..ff3d430e8 100644 --- a/misc/requirements/requirements-mypy.txt +++ b/misc/requirements/requirements-mypy.txt @@ -1,15 +1,15 @@ # This file is automatically generated by scripts/dev/recompile_requirements.py -diff-cover==4.0.0 +diff-cover==4.0.1 inflect==4.1.0 Jinja2==2.11.2 jinja2-pluralize==0.3.0 -lxml==4.5.2 +lxml==4.6.1 MarkupSafe==1.1.1 -mypy==0.782 +mypy==0.790 mypy-extensions==0.4.3 pluggy==0.13.1 -Pygments==2.7.1 --e git+https://github.com/stlehmann/PyQt5-stubs.git@master#egg=PyQt5_stubs +Pygments==2.7.2 +-e git+https://github.com/stlehmann/PyQt5-stubs.git@811462b34ee151b898289ae8f1de8af30c690c55#egg=PyQt5_stubs typed-ast==1.4.1 typing-extensions==3.7.4.3 diff --git a/misc/requirements/requirements-mypy.txt-raw b/misc/requirements/requirements-mypy.txt-raw index d3b0dc4ca..7c888ed1e 100644 --- a/misc/requirements/requirements-mypy.txt-raw +++ b/misc/requirements/requirements-mypy.txt-raw @@ -2,6 +2,3 @@ mypy lxml # For HTML reports diff-cover -e git+https://github.com/stlehmann/PyQt5-stubs.git@master#egg=PyQt5-stubs - -# remove @commit-id for scm installs -#@ replace: @.*# @master# diff --git a/misc/requirements/requirements-pyinstaller.txt b/misc/requirements/requirements-pyinstaller.txt index 06405d96a..7941d2772 100644 --- a/misc/requirements/requirements-pyinstaller.txt +++ b/misc/requirements/requirements-pyinstaller.txt @@ -2,4 +2,4 @@ altgraph==0.17 pyinstaller==4.0 -pyinstaller-hooks-contrib==2020.8 +pyinstaller-hooks-contrib==2020.9 diff --git a/misc/requirements/requirements-pylint.txt b/misc/requirements/requirements-pylint.txt index 08c1d2c10..75a0e8e0f 100644 --- a/misc/requirements/requirements-pylint.txt +++ b/misc/requirements/requirements-pylint.txt @@ -2,9 +2,9 @@ astroid==2.3.3 # rq.filter: < 2.4 certifi==2020.6.20 -cffi==1.14.2 +cffi==1.14.3 chardet==3.0.4 -cryptography==3.1 +cryptography==3.2 github3.py==1.3.0 idna==2.10 isort==4.3.21 @@ -19,5 +19,5 @@ requests==2.24.0 six==1.15.0 typed-ast==1.4.1 ; python_version<"3.8" uritemplate==3.0.1 -# urllib3==1.25.10 +# urllib3==1.25.11 wrapt==1.11.2 diff --git a/misc/requirements/requirements-pyqt.txt b/misc/requirements/requirements-pyqt.txt index 88a04230d..148e8d8bb 100644 --- a/misc/requirements/requirements-pyqt.txt +++ b/misc/requirements/requirements-pyqt.txt @@ -2,4 +2,4 @@ PyQt5==5.15.1 PyQt5-sip==12.8.1 -PyQtWebEngine==5.15.1 +PyQtWebEngine==5.15.0 diff --git a/misc/requirements/requirements-pyqt.txt-raw b/misc/requirements/requirements-pyqt.txt-raw index 9c6afbf16..83ebc7671 100644 --- a/misc/requirements/requirements-pyqt.txt-raw +++ b/misc/requirements/requirements-pyqt.txt-raw @@ -1,2 +1,2 @@ PyQt5 -PyQtWebEngine +PyQtWebEngine!=5.15.1 diff --git a/misc/requirements/requirements-pyroma.txt b/misc/requirements/requirements-pyroma.txt index c6e751e19..1a2dbde7f 100644 --- a/misc/requirements/requirements-pyroma.txt +++ b/misc/requirements/requirements-pyroma.txt @@ -1,5 +1,5 @@ # This file is automatically generated by scripts/dev/recompile_requirements.py docutils==0.16 -Pygments==2.7.1 +Pygments==2.7.2 pyroma==2.6 diff --git a/misc/requirements/requirements-sphinx.txt b/misc/requirements/requirements-sphinx.txt index 7b43a72a1..baeea4d40 100644 --- a/misc/requirements/requirements-sphinx.txt +++ b/misc/requirements/requirements-sphinx.txt @@ -10,7 +10,7 @@ imagesize==1.2.0 Jinja2==2.11.2 MarkupSafe==1.1.1 packaging==20.4 -Pygments==2.7.1 +Pygments==2.7.2 pyparsing==2.4.7 pytz==2020.1 requests==2.24.0 @@ -23,4 +23,4 @@ sphinxcontrib-htmlhelp==1.0.3 sphinxcontrib-jsmath==1.0.1 sphinxcontrib-qthelp==1.0.3 sphinxcontrib-serializinghtml==1.1.4 -urllib3==1.25.10 +urllib3==1.25.11 diff --git a/misc/requirements/requirements-tests.txt b/misc/requirements/requirements-tests.txt index 789c176e6..066f4c4db 100644 --- a/misc/requirements/requirements-tests.txt +++ b/misc/requirements/requirements-tests.txt @@ -2,23 +2,25 @@ apipkg==1.5 attrs==20.2.0 -beautifulsoup4==4.9.1 +beautifulsoup4==4.9.3 certifi==2020.6.20 chardet==3.0.4 cheroot==8.4.5 click==7.1.2 -# colorama==0.4.3 +# colorama==0.4.4 coverage==5.3 EasyProcess==0.3 execnet==1.7.1 +filelock==3.0.12 Flask==1.1.2 glob2==0.7 -hunter==3.2.2 -hypothesis==5.35.3 ; python_version>="3.6" +hunter==3.3.1 +hypothesis==5.38.0 +icdiff==1.9.1 idna==2.10 -iniconfig==1.0.1 +iniconfig==1.1.1 itsdangerous==1.1.0 -jaraco.functools==3.0.1 ; python_version>="3.6" +jaraco.functools==3.0.1 # Jinja2==2.11.2 Mako==1.1.3 manhole==1.6.0 @@ -28,20 +30,23 @@ packaging==20.4 parse==1.18.0 parse-type==0.5.2 pluggy==0.13.1 +pprintpp==0.4.0 py==1.9.0 py-cpuinfo==7.0.0 -Pygments==2.7.1 +Pygments==2.7.2 pyparsing==2.4.7 -pytest==6.0.2 +pytest==6.1.1 pytest-bdd==4.0.1 pytest-benchmark==3.2.3 +pytest-clarity==0.3.0a0 pytest-cov==2.10.1 pytest-forked==1.3.0 +pytest-icdiff==0.5 pytest-instafail==0.4.2 pytest-mock==3.3.1 pytest-qt==3.3.0 pytest-repeat==0.8.0 -pytest-rerunfailures==9.1 +pytest-rerunfailures==9.1.1 pytest-xdist==2.1.0 pytest-xvfb==2.0.0 PyVirtualDisplay==1.3.2 @@ -50,11 +55,9 @@ requests-file==1.5.1 six==1.15.0 sortedcontainers==2.2.2 soupsieve==2.0.1 -tldextract==2.2.3 +termcolor==1.1.0 +tldextract==3.0.2 toml==0.10.1 -urllib3==1.25.10 -vulture==2.1 ; python_version>="3.6" +urllib3==1.25.11 +vulture==2.1 Werkzeug==1.0.1 -jaraco.functools==2.0; python_version<"3.6" -vulture==1.6; python_version<"3.6" -hypothesis<5.34.0; python_version<"3.6" diff --git a/misc/requirements/requirements-tests.txt-raw b/misc/requirements/requirements-tests.txt-raw index 73f58461c..fd346d475 100644 --- a/misc/requirements/requirements-tests.txt-raw +++ b/misc/requirements/requirements-tests.txt-raw @@ -27,17 +27,11 @@ pytest-xvfb PyVirtualDisplay # To run on multiple cores with -n pytest-xdist +# For nicer output +pytest-icdiff +pytest-clarity # Needed to test misc/userscripts/qute-lastpass tldextract -#@ markers: jaraco.functools python_version>="3.6" -#@ add: jaraco.functools==2.0; python_version<"3.6" - -#@ markers: vulture python_version>="3.6" -#@ add: vulture==1.6; python_version<"3.6" - -#@ markers: hypothesis python_version>="3.6" -#@ add: hypothesis<5.34.0; python_version<"3.6" - #@ ignore: Jinja2, MarkupSafe, colorama diff --git a/misc/requirements/requirements-tox.txt b/misc/requirements/requirements-tox.txt index c7f99a2da..a77333637 100644 --- a/misc/requirements/requirements-tox.txt +++ b/misc/requirements/requirements-tox.txt @@ -9,7 +9,7 @@ py==1.9.0 pyparsing==2.4.7 six==1.15.0 toml==0.10.1 -tox==3.20.0 +tox==3.20.1 tox-pip-version==0.0.7 tox-venv==0.4.0 -virtualenv==20.0.31 +virtualenv==20.1.0 diff --git a/misc/requirements/requirements-yamllint.txt b/misc/requirements/requirements-yamllint.txt index 0ea42bf7c..5f80fd5d5 100644 --- a/misc/requirements/requirements-yamllint.txt +++ b/misc/requirements/requirements-yamllint.txt @@ -2,4 +2,4 @@ pathspec==0.8.0 PyYAML==5.3.1 -yamllint==1.24.2 +yamllint==1.25.0 diff --git a/misc/userscripts/README.md b/misc/userscripts/README.md index d2519a672..0e3a5ffc3 100644 --- a/misc/userscripts/README.md +++ b/misc/userscripts/README.md @@ -63,6 +63,8 @@ The following userscripts can be found on their own repositories. snippets on web pages to the clipboard via hints. - [Qute-Translate](https://github.com/AckslD/Qute-Translate): Translate URLs or selections via Google Translate. +- [qute-snippets](https://github.com/Aledosim/qute-snippets): Bind text snippets to a keyword + and retrieve they when you want. [Zotero]: https://www.zotero.org/ [Pocket]: https://getpocket.com/ diff --git a/misc/userscripts/readability-js b/misc/userscripts/readability-js index 207b29b4a..e189e5ee4 100755 --- a/misc/userscripts/readability-js +++ b/misc/userscripts/readability-js @@ -54,6 +54,35 @@ const HEADER = ` figure img { display: block; } + table, + th, + td { + border: 1px solid currentColor; + border-collapse: collapse; + padding: 6px; + vertical-align: top; + } + table { + margin: 5px; + } + pre { + padding: 16px; + overflow: auto; + line-height: 1.45; + background-color: #dddddd; + } + code { + padding: .2em .4em; + margin: 0; + background-color: #dddddd; + } + blockquote { + border-inline-start: 2px solid #333333 !important; + padding: 0; + padding-inline-start: 16px; + margin-inline-start: 24px; + border-radius: 5px; + } </style> <!-- This icon is licensed under the Mozilla Public License 2.0 (available at: https://www.mozilla.org/en-US/MPL/2.0/). The original icon can be found here: https://dxr.mozilla.org/mozilla-central/source/browser/themes/shared/reader/readerMode.svg --> @@ -68,13 +97,24 @@ const HEADER = ` </head>`; const scriptsDir = path.join(process.env.QUTE_DATA_DIR, 'userscripts'); const tmpFile = path.join(scriptsDir, '/readability.html'); -const domOpts = {url: process.env.QUTE_URL, contentType: "text/html; charset=utf-8"}; -if (!fs.existsSync(scriptsDir)){ +if (!fs.existsSync(scriptsDir)) { fs.mkdirSync(scriptsDir); } -JSDOM.fromFile(process.env.QUTE_HTML, domOpts).then(dom => { +let getDOM, domOpts, target; +// When hinting, use the selected hint instead of the current page +if (process.env.QUTE_MODE === 'hints') { + getDOM = JSDOM.fromURL; + target = process.env.QUTE_URL; +} +else { + getDOM = JSDOM.fromFile; + domOpts = {url: process.env.QUTE_URL, contentType: "text/html; charset=utf-8"}; + target = process.env.QUTE_HTML; +} + +getDOM(target, domOpts).then(dom => { let reader = new Readability(dom.window.document); let article = reader.parse(); let content = util.format(HEADER, article.title) + article.content; |