Post Reply 
Proxomitron Reborn
Mar. 12, 2019, 03:11 AM
Post: #166
RE: Proxomitron Reborn
(Feb. 14, 2019 04:20 PM)Blazer Wrote:  
(Feb. 10, 2019 02:51 AM)amy Wrote:  Life is busy, but work on 4.6.0.4 continues slowly...
Being a software developer and previous user of The Proxomitron I would be happy to help fix bugs etc.

After all your hard work re-creating the source code it would be a good idea to make it available to the community so that others like myself can participate in its resurrection.

Maybe you you can attach it here.

We don't want to lose the source code a second time.

As a C++ programmer of a few years, I'll agree with Blazer here. I've missed having a working proxomitron. I'd love to take a look at the source to see how I could lend a hand.
Add Thank You Quote this message in a reply
Mar. 26, 2019, 06:24 AM (This post was last modified: Today 02:14 AM by whenever.)
Post: #167
RE: Proxomitron Reborn
(Jan. 05, 2019 04:00 AM)whenever Wrote:  If you turn on debug in the log window, then visit a https site say https://twitter.com, you will see the stylesheet for the dbug view is not applied. If you right click to view the source of that page, you will see the viewsrc.css is inserted via href="http://....." and that's why it's not loaded on a https site. That http:// thing is hardcoded in the program so it needs to be adjusted to automatically adapt to the protocol of the page.

It seems the https backend of the Reborn version handles http requests also, so a temporary workaround is to change the hardcoded href="http://Local.ptron/ViewSrc.css" to href="//Local.ptron:8443/ViewSrc.css" (assuming you have set up 8443 for https) so that the stylesheet will loaded anyway on http or https sites.

For those who don't want to manually patch the file, you can download gsar121.zip from http://tjaberg.com/ , extract gsar.exe from the archive and put it to where your proxo.exe is, and execute:

Code:
gsar -shttp:://Local.ptron/View -r//Local.ptron::8443/View proxo.exe patched_proxo.exe

Edit by JJoe: added space after http://tjaberg.com/
Note by whenever: this patch is not needed any more as version 4.6.0.4 have fixed it.


Attached File(s)
.png  toChange.png (Size: 23.71 KB / Downloads: 41)
Add Thank You Quote this message in a reply
[-] The following 1 user says Thank You to whenever for this post:
defconnect
Apr. 08, 2019, 01:03 PM (This post was last modified: Apr. 14, 2019 05:43 AM by DullFace.)
Post: #168
RE: Proxomitron Reborn
ProxomitronReborn_4603R.zip bugs:

Crashes with OpenSSL 1.0.2k, works with 1.0.1l: OpenSSL: FATAL OPENSSL_Uplink(6D857000,08): no OPENSSL_Applink
https://www.upload.ee/files/9803621/Open...k.zip.html

Message log: pressing ctrl disables arrows and pgup/pgdn; next pressing ctrl enables them.
Also Naoko-4.5 2003-6-1 crashed on copying long strings from log (over 1KB crap like Content-Security-Policy; don't have a sample).

4603R and Naoko-4.5 2003-6-1 don't allow downloading files >4GB - they break connection on border filesize & 0xFFFFFFFF (low 32 bits).
Removing 'Content-Length' header helps, but i need it :-D

http://speed.hetzner.de/10GB.bin - Content-Length: 10485760000
(10485760000 & 0xffffffff) - 1234 = 1895824174
Works:
Code:
curl -o test --header "Range: bytes=1895824174-" http://speed.hetzner.de/10GB.bin
Stops after 1234 bytes:
Code:
curl -o test --header "Range: bytes=1895824174-" --proxy 127.0.0.1:2345 http://speed.hetzner.de/10GB.bin
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0 8192M    0  1234    0     0   5273      0  18d 20h --:--:--  18d 20h  5273
curl: (18) transfer closed with 8589934592 bytes remaining to read


Please add:

Support launching of multiple independed Proxomitrons (from different dirs: c:\Prox1, c:\Prox2; with their own different configs).

Font setting for filter editor and testing dialogs.

Changing 'Host:' header name case and SNI manipulation for bypassing censorship: remove, replace, append space/dot/semicolon, uppercase

Someting like header filter URL:

Code:
[HTTP headers]
In = FALSE
Out = TRUE
Key = "HOST: make hOsT:"
URL = "$LST(Host_case)"
Replace = "hOsT"

In = FALSE
Out = TRUE
Key = "SNI: remove"
URL = "$LST(SNI_remove)"

In = FALSE
Out = TRUE
Key = "SNI: replace"
URL = "$LST(SNI_google)"
Replace = "www.google.com"

In = FALSE
Out = TRUE
Key = "SNI: add space to host"
URL = "$LST(SNI_space)"
Replace = "\h "

In = FALSE
Out = TRUE
Key = "SNI: upper case"
URL = "$LST(SNI_upper)"
Replace = "$UPPER(\h)"

Or make magic '?' in fist symbol of key and use replace field for header name and value:
Code:
[HTTP headers]
In = FALSE
Out = TRUE
Key = "?Host: make hOsT:"
URL = "$LST(Host_case)"
Replace = "hOsT: \h"
Add Thank You Quote this message in a reply
Apr. 22, 2019, 04:33 AM
Post: #169
RE: Proxomitron Reborn
Happy Easter! Proxomitron has been Reborn Again -- 4.6.0.4 released!
Changes:
- Use appropriate protocol for local.ptron resources
- Local filtering fixes (related to ports, local.ptron vs localhost/127.0.0.1, and HTTP vs HTTPS)
- Fix log window pressing ctrl disables arrows and pgup/pgdn
- Fix crash when copying long headers from log
- Remove default port from URLs
- Fix activation of Apply button when page filters opened upon doubleclick

Due to the extent of changes to local filtering behaviour, please test this release very carefully and report back anything broken. I hope I haven't, but hope has not worked so well Wink

(Jan. 05, 2019 04:00 AM)whenever Wrote:  If you turn on debug in the log window, then visit a https site say https://twitter.com, you will see the stylesheet for the dbug view is not applied. If you right click to view the source of that page, you will see the viewsrc.css is inserted via href="http://....." and that's why it's not loaded on a https site. That http:// thing is hardcoded in the program so it needs to be adjusted to automatically adapt to the protocol of the page. Besides viewsrc.css, this needs to be changed for all other local.ptron resources.
Fixed in 4.6.0.4.

(Jan. 07, 2019 05:54 AM)JJoe Wrote:  Starting with "4.6.0.0", "127.0.0.1:8080.pinfo" pages can not be filtered.
Could we have the old behavior back?
Fixed in 4.6.0.4.
(Jan. 07, 2019 05:54 AM)JJoe Wrote:  Starting with "4.6.0.0", "127.0.0.1:8080" requests are not displayed at "/.pinfo/urls".
Could we have the old behavior back?
Fixed in 4.6.0.4.

(Jan. 08, 2019 01:36 AM)whenever Wrote:  Another suggestion is to remove MD5, SHA1 and SHA224 from the Signature Algorithm drop down menu. They are either not secure any more or not approved for use with publicly trusted certificates. I can also foresee by removing them will also avoid new users complaining their browsers not working with the certificates and blaming it to Proxomitron.
I am leaving these in for backward compatibility. Incidentally, Proxomitron's SSL filtering now means you can use TLS 1.2 with browsers that don't even support TLS 1.0 Smile!

(Feb. 05, 2019 02:42 AM)JJoe Wrote:  Opera (Chrome) alerts 'Mixed Content' and blocks access to http://local.ptron/ViewSrc.css when using 'HTML Debug Info' on HTTPS pages.
Fixed in 4.6.0.4.

(Apr. 08, 2019 01:03 PM)DullFace Wrote:  Crashes with OpenSSL 1.0.2k, works with 1.0.1l: OpenSSL: FATAL OPENSSL_Uplink(6D857000,08): no OPENSSL_Applink
Not a bug. It does not support OpenSSL 1.0.2 yet, and probably never will because I am planning to get 1.1.x working in a future release.

(Apr. 08, 2019 01:03 PM)DullFace Wrote:  Message log: pressing ctrl disables arrows and pgup/pgdn; next pressing ctrl enables them.
Fixed in 4.6.0.4.
(Apr. 08, 2019 01:03 PM)DullFace Wrote:  Also Naoko-4.5 2003-6-1 crashed on copying long strings from log (over 1KB crap like Content-Security-Policy; don't have a sample).
Fixed in 4.6.0.4.

(Apr. 08, 2019 01:03 PM)DullFace Wrote:  4603R and Naoko-4.5 2003-6-1 don't allow downloading files >4GB - they break connection on border filesize & 0xFFFFFFFF (low 32 bits).
Known limitation. It is already on the list of improvements along with removing all the 64K limits from the filtering engine. Since you ask, I will raise its priority a little.

(Apr. 08, 2019 01:03 PM)DullFace Wrote:  Support launching of multiple independed Proxomitrons (from different dirs: c:\Prox1, c:\Prox2; with their own different configs).
Your feature has been added to the list of requests. Will need to think about how to implement this.
(Apr. 08, 2019 01:03 PM)DullFace Wrote:  Font setting for filter editor and testing dialogs.
Feature added to list of requests.
(Apr. 08, 2019 01:03 PM)DullFace Wrote:  Changing 'Host:' header name case and SNI manipulation for bypassing censorship: remove, replace, append space/dot/semicolon, uppercase
There are various reasons why I do not believe Proxomitron is the right place to implement such functionality, consider using a VPN or other dedicated "firewall breaker" instead.
Add Thank You Quote this message in a reply
[-] The following 6 users say Thank You to amy for this post:
referrer, mizzmona, Styx, usr, defconnect, whenever
Yesterday, 01:51 PM
Post: #170
RE: Proxomitron Reborn
Thanks so much for the update! Is there anyway I can buy you a beer or support the development? Cheers

Just found an issue with the local filtering. If you put local.ptron:443 in the bypass list then you will get below error while accessing local resource.

Code:
BlockList 3441: in Bypass-List, line 19

+++SSL 3441:+++
SSL Pass-Thru: CONNECT https://local.ptron:443/
SSL Pass-Thru Failed!
+++CLOSE 3441+++

It seems now https://local.ptron:xxx/ works with any ports. Maybe the HTTPS port number is not needed any more in the settings. Users tend to put that number in their browser proxy settings and removing it might eliminate the confusion.

BTW, What does "Remove default port from URLs" really mean?
Add Thank You Quote this message in a reply
Today, 12:14 PM
Post: #171
RE: Proxomitron Reborn
(Yesterday 01:51 PM)whenever Wrote:  Thanks so much for the update! Is there anyway I can buy you a beer or support the development? Cheers
Making feature requests and bug reports is support enough Smile!

(Yesterday 01:51 PM)whenever Wrote:  Just found an issue with the local filtering. If you put local.ptron:443 in the bypass list then you will get below error while accessing local resource.

Code:
BlockList 3441: in Bypass-List, line 19

+++SSL 3441:+++
SSL Pass-Thru: CONNECT https://local.ptron:443/
SSL Pass-Thru Failed!
+++CLOSE 3441+++
You asked it to bypass connections matching the host 'local.ptron:443', so it does exactly as you asked and you get the same result as trying to visit https://local.ptron in a browser without Proxomitron, i.e. it will attempt to resolve the hostname and connect to port 443. It's behaving like a bypass should, so I would not consider it to be a bug.

(Yesterday 01:51 PM)whenever Wrote:  It seems now https://local.ptron:xxx/ works with any ports. Maybe the HTTPS port number is not needed any more in the settings. Users tend to put that number in their browser proxy settings and removing it might eliminate the confusion.
It is needed. Otherwise, what port would it listen on to serve HTTPS?

Also, some browsers can use HTTPS to connect to the proxy, which will encrypt the connection between the browser and Proxomitron itself: http://i.imgur.com/TGIEk8c.jpg --- you can use the HTTPS port for that as well as serving local resources. It is quite useful, because it means that e.g. if you use Proxomitron over the Internet, you can get encryption to your machine even when accessing regular HTTP websites, so it behaves like an "inverse half-SSL mode". Between the site's server and Proxomitron itself, the connection remains unencrypted.

(Yesterday 01:51 PM)whenever Wrote:  BTW, What does "Remove default port from URLs" really mean?
If the protocol is http and the port is 80, or the protocol is https and the port is 443, then the port is treated as not explicitly specified.
Add Thank You Quote this message in a reply
Post Reply 


Forum Jump: