guardianproject / orbot

The Github home of Orbot: Tor on Android (Also available on gitlab!)
https://gitlab.com/guardianproject/orbot
Other
1.98k stars 325 forks source link

Iptproxy webtunnel #1115

Closed syphyr closed 1 month ago

syphyr commented 1 month ago

Update to IPtProxy 3.7.0 development build with webtunnel support

Update to snowflake v2.9.2-8-g095e972 Update to lyrebird lyrebird-0.1.0-35-ga571773

IPtProxy sources from https://github.com/syphyr/IPtProxy

syphyr commented 1 month ago

Please also see my additional comments here: https://github.com/guardianproject/orbot/issues/980

syphyr commented 1 month ago

Forced push to update lyrebird tag to 0.2.0 in IPtProxy. No functional changes.

bitmold commented 1 month ago

I'm going to update the repo for OrbotLib. @n8fr8 orbotlib really ought to be properly distro'd as a dependency rather than a local AAR in the project. But in any case, it's a nice contribution but we we can't accept a merge request that has changes a large binary asset like this.

syphyr commented 1 month ago

I understand, but you can just pull my IPtProxy patches and rebuild it. I already have it all working. here: https://github.com/syphyr/IPtProxy

bitmold commented 1 month ago

I don't handle the releases of that project, the way that we get code pluggable transports code into Orbot starts with @tladesignz adding it and us making any android changes if need be. IPtProxy is used for a handful of other projects that aren't Orbot on Android (including software on mac and ios) so the procedure here is important.

Further, (while your code seems really well written) there may be considerations on other platforms that your code doesn't address which is why we haven't gone and made our changes directly into IPtProxy.

tla also has used different conventions in how he commits changes than your 6 commits. anyway, i linked your commits on the iptproxy repository and it's really up to tla whether they want to directly merge your commits into the repo or to use them in a looser sort of way.

tladesignz commented 1 month ago

I released a new version 3.8.0 of IPtProxy containing Lyrebird 0.2.0 with Webtunnel support. Thanks a ton @syphyr, for your support! https://github.com/tladesignz/IPtProxy/commits/3.8.0

syphyr commented 1 month ago

I released a new version 3.8.0 of IPtProxy containing Lyrebird 0.2.0 with Webtunnel support. Thanks a ton @syphyr, for your support! https://github.com/tladesignz/IPtProxy/commits/3.8.0

no problem. I think there is one line change missing. https://github.com/syphyr/IPtProxy/blob/9455873ea1392479bfe4c76aedc24d8c851d16a8/IPtProxy.go/IPtProxy.go#L453

syphyr commented 1 month ago

I see now it is fixed in 3.8.1.

tladesignz commented 1 month ago

Yeah, stupid me...

syphyr commented 1 month ago

Also, the logging now only prints "0.2.0" here without the getVersion() call being used again which normally printed out lyrebird-0.2.0 in the logs. https://github.com/syphyr/IPtProxy/blob/18a2f875ee0fc273a4db55f7c9eaa20f2db594a4/lyrebird.patch#L111

tladesignz commented 1 month ago

Also, the logging now only prints "0.2.0" here without the getVersion() call being used again which normally printed out lyrebird-0.2.0 in the logs. https://github.com/syphyr/IPtProxy/blob/18a2f875ee0fc273a4db55f7c9eaa20f2db594a4/lyrebird.patch#L111

Fixed with tladesignz/IPtProxy/720ab2f5

syphyr commented 1 month ago

Well, the reason I wanted to fix the version string in that particular way is because orbot uses it to display the version in about screen. The solution you used now still requires me to change the code in orbot now so it is displayed correctly.

tladesignz commented 1 month ago

sigh ok, ok, you'll get another release later today.

tladesignz commented 1 month ago

Wait, what? You should use IPtProxyLytebirdVersion() to get the version. That should display correctly.

Your getVersion addition should have nothing to do with it!?

syphyr commented 1 month ago

Without having to make any further changes, Orbot expects a number only string 0.2.0 and lyrebird's logging expects it as lyrebird-0.2.0. The getVersion is needed to display it correctly in lyrebird logs while keeping the same format for Orbot.

tladesignz commented 1 month ago

Well, sorry. I'll follow the upstream change. You would have gotten the same result if you used Lyrebird directly. As few patches as possible, as close to the original as possible.