Open erosman opened 10 months ago
FoxyProxy v8.1 includes incognito & container support for Firefox only. The Log is also updated to include incognito & container details.
The feature is still under consideration and development.
The Incognito feature doesn't seem to do anything on Firefox 118. Here's what I tried:
I have uploaded the under-development v8.1 for another issue (#35). Therefore, the incognito & container is not finalised yet.
Update Found the issue and updated the repo
wrt. "Tab Proxy":
It would be nice to have an option "DIRECT" (or "Disabled") in the drop-down list to select as proxy to use for the tab, which would temporarily disable all proxies for the tab :wink:
It would be nice to have an option "DIRECT" (or "Disabled") in the drop-down list to select as proxy to use for the tab, which would temporarily disable all proxies for the tab There are set & unset to enable and disable Tab proxy.
I can look into adding a DIRECT option to Set Tab Proxy which would disable all proxying related to that tab.
Even when you select a tab proxy in the drop-down list and click and "Set Tab Proxy" it is not shown when you re-open the popup or reload the page, which might be a good idea also.
Set Tab Proxy is an independent function and its data is not saved. The page-action icon is set to show if a tab has Tab Proxy or not. It is possible to grab the data but that would involve a number of async processes which have to be performed every time the popup is shown but not applicable 99% of the times.
It is possible to grab the data but that would involve a number of async processes which have to be performed every time the popup is shown but not applicable 99% of the times.
As the developer, you're free to do whatever you want, but if your code isn't doing the hard work to keep track of its own state, then what hope do the users have of understanding what's happening? I notice that the pageAction icon disappears when I reload the page, for example.
As the developer, you're free to do whatever you want, but if your code isn't doing the hard work to keep track of its own state, then what hope do the users have of understanding what's happening?
If there is popular demand for a feature, it will be looked into.
I notice that the pageAction icon disappears when I reload the page, for example.
That shouldn't happen. I will look into it.
If there is popular demand for a feature, it will be looked into.
I'm talking more about a design philosophy. When adding a feature, often the hardest part is making it comprehensible to the user: https://en.wikipedia.org/wiki/The_Design_of_Everyday_Things
The performance also matters.
Add-on Policies: Development Practices Add-ons must not negatively impact the performance or stability of Firefox.
Set Tab Proxy" it is not shown when you re-open the popup or reload the page, which might be a good idea also.
Is my understanding correct that FP is not displaying the proxy in use when the popup is opened? And doing so would be a significant performance hit? If so, we should probably remove the Set Tab Proxy feature altogether. I hope I misunderstand.
Please note that Tab Proxy is a separate feature than Incognito & Container Proxy and should be discussed in another topic.
@erosman excuse me but your argument is flawed wrt to performance penalty for showing the TabProxy in the popup when it is opened, the flaw is that your code would only do the extra work when the popup is opened by the user which doesn't happen that often anyway during normal browsing...
But WHEN the user opens the popup it expects to see ALL relevant info that is applied at that moment...
So we're enthusiastic about the new features you add :+1: But if it is not communicated to the user in a VISUAL way, it will not be noticed nor used, and as you can expect not appreciated either... (I didn't even notice the tiny icon changes etc cause it's just one among the many icons i have)
PS: About "popular demand", trust me if i say that 1 person's feedback here counts as feedback of 1 million silent users who don't even visit here :wink:
Please limit the discussion to Incognito & Container Support in this topic.
Feedback about this new option:
hostname:port
& PAC URL as the criteria. While having multiple proxies with the same hostname:port
are permitted, the search would always return the first one.
The request requires further investigation & discussion.I get that this should be considered an experimental PoC for now though – just wanted to give some feedback in the hopes that future iterations of this may be improved! 🙂
Understandable! Maybe also link to the Mozilla bug in the help to make it clear that that is what needs to happen to be able to improve the situation?
It is how the "contextualIdentities" API is designed.
To use this API you need to include the "contextualIdentities" and "cookies" permissions in your
manifest.json
file.
Unfortunately, it is not available as optional_permissions
AFA no 4, #76 has similar issue so the discussion can be continued there.
@ntninja Repo is updated with v8.8 and a workaround for issue no 4.
Please read Help: Proxies for details.
Let me know how it works out.
@erosman: I had the workaround to use <somename>.localhost
for each of those since they all resolve 127.0.0.1
internally but are different hostnames, so in our case another workaround wasn’t necessary – for #76 it wasn’t an option though, I do realize that. I’ll try your workaround once it lands though.
I had the workaround to use
<somename>.localhost
for each of those since they all resolve127.0.0.1
internally but are different hostnames, so in our case another workaround wasn’t necessary
@ntninja TBH, using <somename>.localhost
is more elegant. :+1:
The Firefox extension cookie-autodelete was able to grab information about containers. I don't know how they do it, but we could look at their code and attempt to replicate.
The Firefox extension cookie-autodelete was able to grab information about containers. I don't know how they do it, but we could look at their code and attempt to replicate.
Getting container details is not a problem. Above extension has "contextualIdentities" permission in its manifest.json.
As explained under "2. Specific User Interface", adding "contextualIdentities" permission is fine for people who use containers. However, for people who don't want to use container, adding "contextualIdentities" permission will automatically enables containers which is undesirable.
At the moment, there is no other option.
Doesn't seem to work for me in Firefox 123 with FoxyProxy 8.9. Proxy is applied for incognito window, but not for containers.
Doesn't seem to work for me in Firefox 123 with FoxyProxy 8.9. Proxy is applied for incognito window, but not for containers.
Are you using containers (enabled via other extensions) and have you set them to a proxy in FoxyProxy Options?
Doesn't seem to work for me in Firefox 123 with FoxyProxy 8.9. Proxy is applied for incognito window, but not for containers.
Are you using containers (enabled via other extensions) and have you set them to a proxy in FoxyProxy Options?
Yes
Can you post your settings (remove/obfuscate any personal data)?
Sure:
{
"mode": "disable",
"sync": false,
"autoBackup": false,
"passthrough": "",
"theme": "",
"container": {
"incognito": "",
"container-1": "127.0.0.1:9050",
"container-2": "",
"container-3": "",
"container-4": ""
},
"commands": {
"setProxy": "",
"setTabProxy": "",
"quickAdd": ""
},
"data": [
{
"active": true,
"title": "TOR",
"type": "socks5",
"hostname": "127.0.0.1",
"port": "9050",
"username": "",
"password": "",
"cc": "",
"city": "",
"color": "#8b4513",
"pac": "",
"pacString": "",
"proxyDNS": true,
"include": [],
"exclude": []
}
]
}
Tabs in the first container do not use the proxy.
@equeim What does the log show?
The log shows that url in container tab is opened without proxy.
I created a new Firefox profile and it works there. I then tried to disable all extensions except FoxyProxy in my original profile and it still doesn't work. IDK what breaks it. I'm using "Firefox Multi-Account Containers" and it's native proxy feature for now.
I created a new Firefox profile and it works there.
If the feature works in a new profile without any other extensions, then the issue is a conflict with another extension that handles containers e.g. "Firefox Multi-Account Containers". Furthermore, "Firefox Multi-Account Containers" also has a proxy feature which can conflict with other proxying processes.
If that is the case, there isn't much that can be done.
The only suggestion at the moment is to disable "Firefox Multi-Account Containers" and enable containers by another method (i.e. use Firefox Nightly, Dev version, or another extension which enables containers e.g. FoxyTab).
Is there any roadmap for adding more containers than just the first containers?
Is there any roadmap for adding more containers than just the first containers?
Do you mean more than the first 4? If there is a popular demand, it can be done.
However, if Firefox fixes the following, better support can be provided.
Unfortunately, it is not available as optional_permissions
Last useful update on that feature request was 4 years ago, so hopes aren't that high. Any reason for not using the permission in non-optional mode?
Last useful update on that feature request was 4 years ago, so hopes aren't that high. Any reason for not using the permission in non-optional mode?
As mentioned ...
- Adding "contextualIdentities" permission automatically enables containers in Firefox which is undesirable to users who don't want to use containers
Incognito & Container Support
Support can be added for Firefox only. See also: #27
User Interface
Incognito can be supported without any issues. However to support containers as well. there are 2 options for the User Interface:
1. Generic User Interface
Use a generic container list, not knowing or matching the number of containers the user has e.g.
2. Specific User Interface
Get the container list contextualIdentities.query() and create the UI
Implementation
The checking order would be:
To decide
Sync and Preferences: Import/Export
Container settings may mismatch, if the user has different containers on different browsers.