element-hq / element-hq/element-meta

Tor / proxy support with authentication

Open
#200 1 comment 6 reactions 0 assignees View on GitHub
T-Feature
Dominant language
No language data
Stars
112
Forks
25
Avg merge
6h 6m
Merged PRs (30d)
4

Description

**Is your feature request related to a problem? Please describe.**

Currently Elements don't support using a proxy or Tor outside of Element Web flag without authentication.

**Describe the solution you'd like**

I would like Elements to support configuring a proxy (or in case of Element Android supporting connecting to OrBot directly) without obscure command line flags that don't support proxy authentication.

**Additional context**

*I wrote this section in a text editor before seeing the issue template*

I think Element should support avoiding censorship by proxies, especially Tor which by default uses socks5, TCP port 9050 or with Tor Browser 9150.

* Riot-meta: https://github.com/vector-im/riot-meta/issues/287
* [ ] Android: https://github.com/vector-im/element-android/issues/488
* [ ] iOS: https://github.com/vector-im/element-ios/issues/1085
* [ ] Web: https://github.com/vector-im/element-desktop/issues/772 (supported by `--proxy-server=socks5://127.0.0.1:9050` which isn't particularly user friendly and no support for authentication)

Currently proxy authentication is not supported even by Element Web, but I consider that an important feature due to Tor's option `IsolateSOCKSAuth` which allows having different circuits for when different username/password combination is given.

> IsolateSOCKSAuth
> Don’t share circuits with streams for which different SOCKS authentication was provided. (For HTTPTunnelPort connections, this option looks at the Proxy-Authorization and
> X-Tor-Stream-Isolation headers. On by default; you can disable it with NoIsolateSOCKSAuth.)

* https://2019.www.torproject.org/docs/tor-manual.html.en

Contributor guide

No contributing guide indexed for this repository

Research direction

Review the linked Riot Meta, Element Android, Element iOS, and Element Desktop issues first, then compare the existing Element Web --proxy-server behavior with the requested SOCKS5 authentication. Done means the affected clients have an agreed, user-facing proxy or Tor configuration that supports authentication, with the platform scope resolved.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, ios
Domain
networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.