[HN Gopher] TabFS - a browser extension that mounts the browser ...
___________________________________________________________________
TabFS - a browser extension that mounts the browser tabs as a
filesystem
Author : pps
Score : 550 points
Date : 2023-02-18 15:33 UTC (7 hours ago)
(HTM) web link (omar.website)
(TXT) w3m dump (omar.website)
| smusamashah wrote:
| Previous discussion https://news.ycombinator.com/item?id=25600338
| hendzen wrote:
| This is really cool. Great work
| phillco wrote:
| If you're on macOS, you can do a small piece of this natively
| with AppleScript (or anything that can send apple events) in
| Chrome or Safari -- namely, you can iterate through windows or
| tabs, view their source code, and execute arbitrary javascript
| you pass (there's a one time security option you have to accept).
| This can be handy for quick automations if you don't want to
| install anything.
|
| (Background: I have RSI, so I've been developing some
| integrations between applications and Talon Voice
| (https://talonvoice.com/). AppleScript ends up being surprisingly
| valuable/fast/reliable for applications that support it. I also
| built an integration with iTerm2's Python API before noticing
| that everything I was trying to do was already supported by its
| AppleScript dictionary, and was faster. In Google Chrome, the
| "iterate through tabs and execute javascript in them" is very
| useful for automating Google Meet muting/unmuting.)
|
| Nothing against this excellent project though; I'm a big fan of
| Omar's Twitter! And I suspect most here will appreciate the
| easier scriptability of the filesystem approach than dealing with
| the atrocious syntax of AppleScript.
| nbar wrote:
| Love to hear more about this. I also suffer from RSI and would
| love to know if it's helped changing input to voice
| pmoriarty wrote:
| "If you're on macOS, you can do a small piece of this natively
| with AppleScript (or anything that can send apple events) in
| Chrome or Safari -- namely, you can iterate through windows or
| tabs, view their source code, and execute arbitrary javascript
| you pass (there's a one time security option you have to
| accept). This can be handy for quick automations if you don't
| want to install anything."
|
| Are there any good examples of doing this?
| phillco wrote:
| I believe I modified a version of this - https://gist.github.
| com/lyallcooper/10f48ab050ac8594fe46335e...
| cpleppert wrote:
| sure, for example this pauses every youtube video in every
| chrome tab: tell application "Google Chrome" repeat with
| theWindow in every window repeat with theTab in (every tab of
| theWindow) if (URL of theTab) contains "youtube.com" then
| execute theTab javascript "document.querySelectorAll('video,
| audio').forEach(e => e.pause())" end if end repeat end repeat
| end tell
|
| There are lots of examples just by googling. The script
| editor has a dictionary for every application you can
| natively script.
| latexr wrote:
| If you use Alfred[1], it has a feature[2] to get information
| from and act on browser tabs.
|
| [1]: https://www.alfredapp.com
|
| [2]: https://www.alfredapp.com/help/workflows/automations/aut
| omat...
| AlexAndScripts wrote:
| Have you got any suggestions for coping with RSI? I'm having
| significant issues.
| chaorace wrote:
| It's all about hardware. I've addressed it quite well with a
| three-pronged approach:
|
| 1. Motorized standing desk - typing from varying postures
| keeps strain spread out
|
| 2. Kensington trackball mouse - less hand sweeping /
| temptation to drags wrist on table
|
| 3. Ortholinear "Planck" keyboard - modifier keys accessible
| via thumb and programmable layers more generally can
| completely eliminate painful hand poses and keep fingers on
| the home-row
| ajolly wrote:
| Change is good. I find using a variety of mice helps.
| Rollermouse, trackpads, rockmouse, carpal tunnel
| mouse(quadraclicks), mousetrapper.
|
| For the dragging wrist problem, I really like the reloot or
| other similar gliding palm rests. I find upgrading them
| with ceramic lights makes a big difference.
| Scaevolus wrote:
| Have you tried a book on the mind body connection of pain? It
| helps some people with RSI: https://www.amazon.com/Healing-
| Back-Pain-Mind-Body-Connectio...
| nier wrote:
| That's also how I got rid of my RSI.
|
| Once I ended that one bad relationship in my life, my mind
| stopped messing up the most used part of my body to send me
| signals that I'm actually chewing on life's gristle.
|
| My wrists have been pain free for 15 years. Without
| surgery. Without therapy. Without a change in work hours.
| phillco wrote:
| If you're programming, definitely check out Cursorless:
| https://www.cursorless.org/.
|
| Talon itself provides noise and speech recognition, and
| provides the framework that allows you to build automations
| with any program; Cursorless really helps make programming by
| voice feel comparable to typing.
|
| For me, it's a combination of introducing alternate input
| methods (largely voice, but noises are also very additive --
| they very well for fast/discreet actions, whereas voice is
| higher bandwidth but lower latency), as well as building
| higher-level and better integrations with applications. But I
| still have always to go personally.
|
| I've been meaning to write up a blog post with everything
| that I've learned, but you know how it is :)
| jv22222 wrote:
| +1 on that blog post!
| wahnfrieden wrote:
| Split vertical keyboards with very very light switches. I use
| Sofle Choc and have the sides at shoulders width apart
|
| I recommend breaks and rest over strengthening exercises when
| dealing with hand pain. Learn preventative measures
| mokanfar wrote:
| Devote a 4 digit budget for a new workspace that relieves RSI
| causing movements.
| replwoacause wrote:
| The Kinesis Advantage 2 keyboard fixed mine. I also use a
| Logitech trackball instead of a mouse.
| password4321 wrote:
| I used to scan all the tabs in open browser windows to list all
| URLs.
|
| See also https://chromedevtools.github.io/devtools-protocol/
| with Playwright et al., even Excel VBA:
| https://github.com/PerditionC/VBAChromeDevProtocol
|
| Many sites fight against automation, see
| https://github.com/ultrafunkamsterdam/undetected-chromedrive...
| tedmiston wrote:
| Shameless plug: I've made a set of AppleScripts I call "Tab
| Transporter" for moving groups of tabs between browsers. The
| code is painful to write when you're used to a normal
| programming language, so these examples could be useful for
| anyone else looking to interact with browser tabs via
| AppleScript.
|
| I've used them daily for 5+ years.
|
| https://github.com/tedmiston/tab-transporter
| oefrha wrote:
| You don't need to write AppleScript yourself, someone else has
| already done the hard work with Scripting Bridge and you can
| simply enjoy an easy-to-use CLI:
| https://github.com/prasmussen/chrome-cli
|
| Been using this for about a decade now.
| SonicSoul wrote:
| interesting, what are your use cases?
| [deleted]
| gymbeaux wrote:
| If I were you I would find out which "RSI" you have. Mine
| wasn't from "overuse" per se, just posture and needing to
| stretch/exercise.
|
| If your RSI is Carpal Tunnel or Cubital Tunnel Syndrome, a
| quick and easy surgery is the answer.
|
| If your RSI is tendinitis (unlikely, for all the times I see
| people self-diagnose with it) rest is your best bet.
|
| If your RSI is arthritis, there are medications and even
| surgeries out there to help with it, but that's the easiest one
| to diagnose because it just requires looking at an x ray of
| your hand.
|
| You may have carpal tunnel syndrome-like symptoms, but that
| likely just means you have nerve impingement _somewhere_
| between your cervical (neck area) spine and your hand.
|
| I'm not a doctor, but through personal experience I can tell
| you, you probably have the power to get rid of your "RSI"
| without resorting to dictation software and so on.
| dceddia wrote:
| Regarding stretching, I found the book Conquering Carpal
| Tunnel Syndrome to be a huge help. It has lots of suggestions
| for kinds of stretches to do based on the kind of work you
| do, but my big takeaway (and according to the author, the
| most important part) was _how_ to do the stretches: only
| stretch until you _barely_ feel a stretch, then hold there
| until you feel a sense of release. In my experience that was
| more effective than the "stretch until you feel a good strong
| stretch" strategy.
|
| https://www.amazon.com/Conquering-Carpal-Syndrome-
| Repetitive...
| _V_ wrote:
| This looks quite nice - for some time I have been trying to list
| all tabs in Chromium window so I can stick it to proper workspace
| (I'm using i3) - one for general browsing and one for IM/socials.
|
| If this can identify the window (PID or better WindowID like
| wmctrl -l lists) it will be perfect!
| greatgib wrote:
| This is so awesome, I can't believe that someone really created
| that.
|
| I have dozens of windows, each with thousands tabs and this is
| something I would have dreamed of if I knew that it was possible.
|
| Really kudo to this guy for that!
| timetraveller26 wrote:
| unix gang approves
| brimstedt wrote:
| Pretty cool, but my advice to anyone is still "stop using tabs,
| you os already have a window manager"
| eichin wrote:
| Hmm, this might be the right audience - anyone with C _and_ JS
| skills want to poke at https://github.com/osnr/TabFS/issues/75
| and maybe come up with a pull request? (I got as far as I could
| on the C side, all the details are in the issue, but I'm not sure
| what shape the javascript side of the fix would be...)
| haunter wrote:
| Something in a similar vein: BTFS, mount a torrent file (or
| magnet link) as a read only drive https://github.com/johang/btfs
|
| It's really good, and use it a lot of times. Doesn't seem to be
| an active project anymore though but it still works
| guax wrote:
| This is a super nice idea. I wonder what other software we could
| interact in this form. The Unix people did have a good point
| about everything being a file.
| yjftsjthsd-h wrote:
| One source of inspiration is to see what the Plan 9 folks did,
| plus things inspired from that - filesystems for network
| access, for the clipboard, for representing windows on the
| screen.
|
| I've also been considering some sort of filesystem for MQTT,
| which combined with an appropriate bridge would allow for
| reading and control of assorted smart devices as a filesystem.
| pmoriarty wrote:
| Plan9 takes this even further
| behnamoh wrote:
| > The Unix people did have a good point about everything being
| a file.
|
| Yes and no. While it simplifies things to an extent, it's also
| confusing, especially with extension-less files.
|
| Example: Tell me, is this a file or directory?
| ~/hn/today-posts
|
| It could be a file that curls todays posts, or it could be a
| folder (directory) that contains them.
| yegle wrote:
| How would adding an extension solve the issue? E.g. is this a
| file, a device file, or a symlink?
|
| /dev/readme.dev
|
| To know what this is, a `stat(2)` is required.
| crabbone wrote:
| Valid complaint, but maybe not such a great reason.
|
| It gets worse when you deal with _sysfs_ or _procfs_ and
| similar. It all becomes obscure magic, like what values can
| be written into what file, why some files aren 't readable,
| or the contents of files being just a bunch of numbers which
| you have no way of interpreting.
|
| Another problem is that there's way too many of different
| file types and they aren't organized into any kind of
| hierarchy or any other meaningful order. This makes tools
| like _rsync_ extremely complicated, with loads of footguns
| and still not solving the problem well. It feels especially
| bitter because in exceeding majority of cases you don 't want
| tools like _rsync_ to deal with named FIFO or device files or
| sockets etc. but you get accidentally but painfully bitten by
| them every now and then.
| sva_ wrote:
| The terminal emulator may change the color of the prompt, for
| example.
| drdaeman wrote:
| > Example: Tell me, is this a file or directory?
|
| A directory is a file (and IIRC e.g. Plan 9 decided they
| should be readable just like normal files and there shouldn't
| be any special readdir syscalls). You can see its attributes
| to figure out the rest.
|
| If not for strong Linux limitations (because of alleged
| hardlink knot-tying problem) and belief that it just cannot
| be both, transparent archive access through a filesystem
| would be a thing. As well as metadata access (`play
| ./file.mp3` vs `edit ./file.mp3/id3v2`). People of the past
| seemed to have paid great attention to interoperability and
| effort to make common interfaces; folks of the modern age
| ('00s and later) love unique and completely incompatible
| solutions to the same problem.
| christophilus wrote:
| Neat. I've often wished I could cat a directory or ls a
| file. Plan9 sounds like something I would have enjoyed
| using.
| enriquto wrote:
| > I've often wished I could cat a directory
|
| This was possible in the beginning. But then came the
| moral police and deprived us of this freedom, because
| they deemed it to be "confusing".
|
| See, for example, The Unix Programming Environment, by
| Kernighan and Pike, page 51 [0]:
|
| _Despite their fundamental properties inside the kernel,
| directories sit in the file system as ordinary files.
| They can be read as ordinary files. (...) The time has
| come to look at the bytes in a directory:_
| $ od -cb .
|
| [0] https://archive.org/details/UnixProgrammingEnviornmen
| t/page/...
| layer8 wrote:
| The file interface is somewhat limited though (e.g. everything
| is just an opaque untyped byte stream) and has security issues
| in conjunction with shell scripting (e.g. quoting and
| escaping).
|
| A data type aware interface like AppleScript or COM, if
| universally supported, would be more expedient.
| jbverschoor wrote:
| Any database: cat
| /mnt/imdb/movies/tt0103064/director/details.json
| cat /mnt/imdb/actors/by_contains_name/arnold/roles.csv
|
| Or any graphql source
| pmoriarty wrote:
| GraphiQL.... what a fucking nightmare
| danShumway wrote:
| If anyone already uses Sideberry (and I assume TST will work as
| well) on Firefox and doesn't want to download an additional
| extension or doesn't want something quite this powerful, I wrote
| https://textmark.netlify.app/ a week or two ago, and I've been
| using it as a bookmark replacement.
|
| Sideberry allows selecting arbitrary groups of tabs and copying
| them to the clipboard as an indented list of tabs. The site I put
| up will reopen those tabs, preserving the order and parent-child
| relationships between pages. It also uses `rel=noopener` to avoid
| a security risk I've noticed with similar sites in the past with
| parent-child page references. And it has no advertising and
| absolutely zero user tracking (aside from Netflify serverside
| logs that I can't turn off), since it's a project I made for
| myself and costs me nothing to run.
|
| Also, the entire source (minus the favicon) is in one page, so if
| you want to self-host it yourself for extra protection, just
| view-source and copy and paste. It'll work on any static web
| host.
|
| I've found this to be a hugely beneficial replacement for
| bookmarking. Bookmarks are too slow and cumbersome for me, so I
| end up not really using them. It's also annoying to enter
| descriptions for bookmarks, and I don't like that all of my
| bookmarks need to be in the browser at the same time. This allows
| me to copy tabs out to separate files (I use org-mode to sort
| everything). And then I just keep this site pinned and use it to
| reopen tabs later if I context-switch. It's the closest I've ever
| come to being able to actually manage my browser sessions and
| stop my tabs from growing out of control into the thousands.
|
| I was going to wait to Open Source it and write up a better
| explanation of the workflow I use before sharing it, but it's
| appropriate to share it here. It's not nearly as powerful as what
| TabFS is talking about (and I'm very interested to look into
| TabFS more, since I've been thinking about roughly the same
| problem, and this looks like a potentially quite powerful setup),
| but it's a small system that has made a big impact for me over
| the past week or so, and since I was already using Sideberry it
| doesn't require me to install anything new or open any additional
| attack vectors.
| rektide wrote:
| If anyone knows a twitter account even 1/8th as fun as Omar's[1]
| (the author of TabFS), I'd love to hear it.
|
| Endless fun meditations & musings on code & processes &
| computing. It's the most live, most inove stream of computing out
| there.
| chrisshroba wrote:
| [1]: https://twitter.com/rsnous
|
| :)
| sirjaz wrote:
| No support for Windows? There are more Windows endpoints than all
| iOS, MacOS, and Linux desktops combined.
| arrakeen wrote:
| echoing the sentiment given to linux users every time they ask
| for a version for their os-- you can just install linux in a vm
| if you want to use this.
| rmbyrro wrote:
| How many of those windows users would want to write a mesh of
| Python and Bash to interact with their browser?
|
| Not saying it shouldn't support windows, but choosing Linux and
| MacOS as initial support is a sensible choice...
| smashed wrote:
| Haven't looked into the source, but this is most probably using
| FuseFS in order to present a mountable filesystem.
|
| Fuse does not support windows. If it did the extension could
| probably be easy to port..
|
| Your best bet is probably running the browser under some wsl
| layer.
| dlivingston wrote:
| https://github.com/osnr/TabFS/issues/13
| [deleted]
| mgaunard wrote:
| This is extremely useful. Thank you.
| napsterbr wrote:
| This is absolute genius and opens up so so many opportunities!
| barbazoo wrote:
| This is fantastic. I hope more people support them.
| prhrb wrote:
| This seems very interesting and all the uses cases it satisfies
| jadbox wrote:
| Plan 9 is pleased.
| IncRnd wrote:
| This is a great idea. I really do like this.
|
| However, we shouldn't forget the reduced security of the
| situation. This opens entirely new attack vectors by introducing
| the otherwise fantastic ability of local programs to consume
| network input.
|
| With the flexibility and utility of local information comes
| additional remote attacks. In doing so, this extension blurs the
| lines between the greater difficulty of remote attacks vs local
| attacks. Many programs never considered in their threat models
| that input would come over the network. There are many developers
| who never try to protect past a certain point, saying, "if the
| person gets this far, there is nothing we can do anyway", then
| they ship.
| rmbyrro wrote:
| Isn't this already a reality with wget, curl, and even package
| managers like pip and npm?
|
| I mean, any script on my machine can use these tools to
| interact with network input and execute untrustworthy code...
| IncRnd wrote:
| That's not the issue. The issue is adding network input into
| local tools whose threat models never considered having
| network input.
| NoZebra120vClip wrote:
| If a tool's threat model never considered having network
| input in the first place, that tool would seem deficient in
| most every real-world situation.
|
| I do not _per se_ see a problem with "network input" but I
| think you're referring to input from untrusted sources,
| i.e. input that is not controlled or approved by the user
| of the tools.
|
| I think that a modern operating system must definitely have
| access controls that can flag and signal when input is
| untrusted, wherever the source may be, network, keyboard,
| USB stick, camera, whatever. If the input is from a network
| source such as _el rando website_ , then an AAA-layer
| service can block, flag, log, and handle an exception,
| rather than forcing every tool and every application to
| track the provenance of every byte of input. Don't you
| think?
| gorgoiler wrote:
| Except now the attacker has your cookie jar with the bank.com
| cookie in it.
|
| (Fantastic extension, btw.)
| nchudleigh wrote:
| Now THAT is unix philosophy at its best.
| prettyStandard wrote:
| Wow, this is brilliant.
|
| So often I want to automate parts of my web experience, and I
| think ugh I need a browser extension, or user script, or
| puppeteer. All of which feel clunky for trying to do something
| simple.
|
| Seems like this will get me 90% of the way for most things, then
| when I need to click a button or automatically respond to an
| automatic email, that's just a few lines of code and a cron job
| away.
| mdni007 wrote:
| Genius
| hailruda wrote:
| Exactly, why isn't more software made to be accessible from a
| filesystem?
| vitiral wrote:
| One of the coolest use-cases for this for me is the ability to
| "host" these folders on a server and be able to access it from
| embedded contexts. I'm hoping to write a full computer stack that
| can run on microcontrollers (GitHub.com/Civboot/fngi), including
| a gopher-like browser for lightweight protocols. It could never
| interface with the real WWW... unless it had a server hosting the
| browser like this!
| aeonik wrote:
| Two things,
|
| 1. I couldn't get this working on my M1 Mac due to MacFUSE
| issues.
|
| 2. I wish there was a version for Firefox.
|
| I think this is such a cool project, and I want this to work
| really badly. I have many workflows where I'd like to log data
| for certain sites I visit it plain text for further analysis. And
| long term storage.
| mdaniel wrote:
| There was recently someone who made a "fuse-ish" thing using
| user-mode NFS, which more closely matches my mental model of
| living in the new multi-arch, locked-down macOS world
| (https://news.ycombinator.com/item?id=32726166 not open source
| but the discussion shows the general idea)
|
| I regrettably don't know the guts of NFS enough to know how
| much of FUSE can be ported, but my guess would be "perfect is
| the enemy of good" for folks who otherwise can't even run this
| right now
| HALtheWise wrote:
| The open-source implemention I'm aware of is in Buildbarn
|
| Design doc: https://github.com/buildbarn/bb-
| adrs/blob/master/0009-nfsv4.... Code:
| https://github.com/buildbarn/go-xdr
| HALtheWise wrote:
| The article claims this does support Firefox? (albeit,
| requiring re-install each time you open the browser due to an
| upstream bug)
| superkuh wrote:
| It's not a bug. It's an intentional choice by Mozilla that
| users should not be able to install software without the
| approval of Mozilla. They say it is for security. But the
| signing portal is automated so this is only realistically for
| revokation after widespread damage has been done.
|
| The suggestion in the thread is to use the developer edition
| which is, in lineage, essentially aurora/alpha version (in
| the past naming scheme) and contains bugs and security holes.
|
| With modern Firefox if you want software freedoms you have to
| give up safety... or use the unbranded version which has no
| auto update and manually re-install the browser for every
| update.
| layer8 wrote:
| While a bit annoying, the signing process for a self-
| distributed add-on [0] seems straightforward?
|
| [0] https://extensionworkshop.com/documentation/publish/sub
| mitti...
| behnamoh wrote:
| His link [0] makes me trust him more about what he's doing as
| he's clearly using Vim/Neovim :)
|
| 0: https://twitter.com/rsnous/status/1338932056743546880
| luispauloml wrote:
| >he's clearly using Vim/Neovim
|
| The author directly mentions Emacs twice and one of their liked
| tweets says "in practice most of my logical 'windows' are
| actually browser tabs or Emacs buffers":
| https://twitter.com/rsnous/status/1176587656915849218
| behnamoh wrote:
| There's Evil mode on Emacs which is basically Vim.
| throwaway290 wrote:
| It says some features are Chrome-only. How much of what us shown
| will not work in Safari? If anyone already tried. Otherwise I
| might...
| rsync wrote:
| I wish I could just visit about:tabs and see a plain text
| listing, one URL per line, of all the tabs I have open.
|
| No esoteric attack vectors, no major new features or
| integrations, just a quick and easy way for any user _regardless
| of technical ability_ to dump their tabs before they update
| firefox or reboot their system ...
|
| ... since _everyone_ has been burned by a FF restart that, for
| unknown reasons, fails to restore tabs _even when configured
| properly to do so_.
|
| As it stands, you need to dig several directories deep into
| /Library (or whatever, depending on your OS) and then use JSON
| tools to export ... I've already lost most people.
|
| FWIW, rsync.net has an outstanding $1500 bounty for this
| feature[1]. Consider this an inflation adjusted bump to $2500.
|
| [1] https://news.ycombinator.com/item?id=24524923
| ww520 wrote:
| I built [1] for the reason to save and restore the browsing
| tabs. It has export and import sessions feature as a by
| product. [2] also has a test list mode on tabs.
|
| [1] https://addons.mozilla.org/en-US/firefox/addon/session-
| boss/
|
| [2] https://addons.mozilla.org/en-US/firefox/addon/tip-tab/
| rsync wrote:
| Thanks - I will look at these.
| Sebb767 wrote:
| > ... since everyone has been burned by a FF restart that, for
| unknown reasons, fails to restore tabs even when configured
| properly to do so.
|
| I've actually had this several times with Chrome, but never
| with Firefox. The major point of me moving to FF actually was
| when Chrome lost 50 Tabs once again.
| frontierkodiak wrote:
| Firefox reliably remembers my tabs, but never my pinned
| tabs-- which, of course, are the ones that I actually want to
| be preserved across restarts. In my dream world, pinned tabs
| persist forever, and are even accessible across devices,
| perhaps sorted into separate containers a la Sideberry.
| mgdlbp wrote:
| Firefox's session is stored entirely within
| sessionstore.jsonlz4 in the profile folder (and backups, or
| while running, in sessionstore-backups) -- locate using
| about:profiles. It's a nonstandard lz4 container but you can
| find implementations, e.g. lz4json/lz4jsoncat in some package
| managers.
|
| Once decompressed you have json lists of windows of tabs,
| including recently closed; for every tab, urls and titles of
| each entry in per-tab history, base64ed favicon, last selected
| time, and various less useful data (some still incomprehensible
| -- binary serialized or cache keys?). Cookies and data from
| extensions like treestyletabs are in there too.
|
| OTOH... is there a currently working deserializer for Chrome's
| session files?
| madphilosopher wrote:
| Indeed! Dumping this recovery.jsonlz4 file on the command
| line is how I inspect and archive all my tabs and windows.
| You can do this on remote systems, too, and Firefox does not
| need to be running.
|
| The scripts I use to do this can be found here:
|
| https://github.com/madphilosopher/dump_firefox_session
| superkuh wrote:
| Too bad firefox doesn't allow it's users to install extensions
| without their approval and this extension can only be installed
| temporarily.
|
| >in Firefox You'll need to install as a "temporary extension", so
| it'll only last in your current FF session. (If you want to
| install permanently, see this issue:
| https://github.com/osnr/TabFS/issues/4#issuecomment-75344738...)
| solarkraft wrote:
| This was the straw finally pushing me to very seriously
| consider migrating to Chromium. They seem to absolutely despise
| power users, they pull the same type of shit with Fennec/Fenix.
|
| They hate their users so much they're perfectly willing to
| compromise their security. "This extension is not actively
| monitored by Mozilla". But you can't do the responsible thing
| and build it from source yourself.
|
| Even installing the "Developer Edition" didn't enable to me to
| install self-built extensions (yes, _with_ that secret flag).
| And it doesn 't even tell you that it doesn't accept unsigned
| extensions, they claim that the extension is "broken".
|
| The fuck?! This is Apple-level user hostility. Meanwhile
| Mozilla execs are getting Apple exec-style compensation while
| driving it further into the ground.
| evilpie wrote:
| > And it doesn't even tell you that it doesn't accept
| unsigned extensions, they claim that the extension is
| "broken".
|
| It's likely you forgot to include the
| browser_specific_settings with a some arbitrary id in the
| manifest.json.
|
| Permanently installing unsigned extensions definitely works
| in the Developer Edition after setting the pref in
| about:config.
| bilkow wrote:
| Have you tried rebuilding the XPI in a different way or
| trying a different XPI? I would guess that your addon is
| broken, as it works for me: https://postimg.cc/9rkbMd7v
|
| I understand the frustration and would also like improved
| control, but I understand firefox preventing this in the
| "normal" edition as it's very common for trojans to install
| unwanted extensions manually by fiddling with the profile
| files, I've had to remove them manually from family computers
| in the past.
| oh_sigh wrote:
| It is hostile to power users, but gracious to unsuspecting
| users who might have a sneaky person install extensions on
| their browser to steal their data/spy on them. In any case, a
| real power user could always use a developer build and set
| that flag.
| yjftsjthsd-h wrote:
| > In any case, a real power user could always use a
| developer build and set that flag.
|
| ...this one?
|
| >>Even installing the "Developer Edition" didn't enable to
| me to install self-built extensions (yes, with that secret
| flag).
| bilkow wrote:
| I just tested it and it does work for me:
| https://postimg.cc/9rkbMd7v
|
| I would guess that they are trying to install is actually
| broken.
| oh_sigh wrote:
| Yes, my not so nice implication was that they aren't a
| real power user and it was PEBKAC. I usually try to be
| nicer but it's hard when someone is saying "X sucks
| because..."
| HellsMaddy wrote:
| It's really not that bad. You can sign up for a free Mozilla
| developer account and upload the bundle you'd like to sign,
| and install the signed extension a few minutes later on any
| edition of Firefox.
| dTal wrote:
| Not that bad?? I'm sorry, but that's horrifying. Imagine if
| you couldn't run any code on Linux without uploading it to
| Linus's servers first.
| ikiris wrote:
| if this is horrifying, perhaps you should go touch some
| grass man. A decent security take is not a horror show
| when you can get even hobby stuff of your own signed
| fairly trivially.
| lutoma wrote:
| Okay, but Linux is an operating system (kernel), Firefox
| is a web browser. That's two completely different things
| with different expectations and threat models.
| trwired wrote:
| > This was the straw finally pushing me to very seriously
| consider migrating to Chromium.
|
| What is the situation surrounding Manifest V3 in Chromium?
| Won't that throw a wrench into power user's workflows with
| its own arbitrary limitations?
| solarkraft wrote:
| Not as much as it initially seemed. All extensions I use
| work fine, including uBlock Lite. The arbitrary limits
| would trivially be increasable in a fork.
|
| But of course I'm worried about Chromium going the way of
| the third E, which makes it quite possible I'll continue
| the toxic relationship with Mozilla for even longer.
| alamortsubite wrote:
| It's not the prettiest solution, but you can work around this
| problem with web-ext: https://www.npmjs.com/package/web-ext
| beckhamc wrote:
| Nice work! Is it possible to somehow switch to a tab somehow
| using this? (Use case: switching browser tabs within Emacs).
| Thanks
| evo_9 wrote:
| Took me forever to find a good option on FireFox, Simple Tab
| Groups is pretty awesome: https://addons.mozilla.org/en-
| US/firefox/addon/simple-tab-gr...
| loa_in_ wrote:
| BroTab exposes a python library for doing same in Firefox
| layer8 wrote:
| I'm already thinking about how to name web pages to trigger shell
| command injection attacks. ;)
| linza wrote:
| That looks incredibly useful. Now i imagine i had a small
| terminal window within my browser that i could focus by pressing
| ESC ...
| sampa wrote:
| for Firefox I use this
|
| lz4jsoncat ~/.mozilla/firefox/YOUR_PROFILE.default/sessionstore-
| backups/recovery.jsonlz4 | jq '.windows[].tabs[] | .index as $a |
| .entries[$a-1] | .title,.url'
| djha-skin wrote:
| I was just thinking there is nothing new under the sun, but then
| I find imaginative programs like this.
___________________________________________________________________
(page generated 2023-02-18 23:00 UTC)