Page 2 of 2

Re: 10 new outproxies available for all...

Posted: 02 Mar 2019 16:13
by arctic
mahiro wrote: 02 Mar 2019 11:48
arctic wrote: 02 Mar 2019 10:40Better just use them...
Yes, your outproxies unlikely real go to down/fail, but at some time, some outproxies slower(even shortly hanging) than ohters.
I say "failover" meaning want to automatic select faster outproxies if such things are feasible.
Any idea?
Hi
No idea, all are equally fast and zlatinb, me and dr|z3d has tested no difference between the 10 outproxies. So no need for
that, the i2p network is the bottleneck. I have tested squid locally and can easily get it to run 900mbps here. But as I wrote
earlier, they are looking at the code and it will improve by time and make things even faster..

Regards: arctic

Re: 10 new outproxies available for all...

Posted: 02 Mar 2019 18:58
by zlatinb
Regarding the statement that the I2P network is the bottleneck, I did a small study of the number of messages which do not get delivered to the outproxies. This is with a 3-hop client tunnel on my side and the 0-hop tunnel on Arctic's side:

proxy: failed/tried
cerise: 0/427
gray: 0/301
amber: 0/446
blue: 0/90
brown: 5/403
pink: 0/318
green: 1/108
mauve: 0/61
jade: 0/257
orange: 0/65

I've written an analysis script so that anyone can perform a similar study. You will need python 2.7 and some disk space for the log files.

1. Save the following code into a file called "proxies.py" :

Code: Select all

proxies = { 
    "blue":"sVBg",
    "green":"mw2w",
    "amber":"QFCc",
    "mauve":"bqcH",
    "gray":"7AQZ",
    "pink":"h6i9",
    "orange":"bSi8",
    "cerise":"nQKH",
    "jade":"5O~r",
    "brown":"iDHH"
}
2. Save the following code into a file called "analysis.py" :

Code: Select all

import sys,re
from proxies import proxies


proxyHashToName = {}
for name,hash in proxies.iteritems() :
    proxyHashToName[hash] = name


sendFailedRe = re.compile(".*?OneShotJob: (\d+): Send failed \(cause: 3.*?to (\S+) out.*")
sendRe = re.compile(".*?OneShotJob: (\d+): Send outbound client message - leaseSet found locally for (\S+).*")

failedDestJobs = {}
triedDestJobs = {}

def process(regex, targetDict) :
    f = open(sys.argv[1])
    for line in f :
        line = line[:-1]
        m = regex.match(line)
        if m is None :
            continue
        dest = m.groups()[1]
        job = m.groups()[0]
        targetDict.setdefault(dest,set()).add(job)

process(sendFailedRe, failedDestJobs)
process(sendRe, triedDestJobs)

for hash, name in proxyHashToName.iteritems() :
    tried = triedDestJobs.get(hash,[])
    failed = failedDestJobs.get(hash,[])
    print "%s: %d/%d" % ( name, len(failed), len(tried) )
3. Enable logging for class "net.i2p.router.message.OutboundClientMessageOneShotJob" to DEBUG level.

4. Do some browsing!

5. When you want to run the analysis, copy the router logfile to the same directory as the two python files and run the following:

Code: Select all

python analysis.py log-router-X.txt
6. Don't forget to turn off DEBUG logging for the class above because it may fill up your disk space quickly.

It would be useful to perform tests with different tunnel settings such as number of hops and number of tunnels.

Re: 10 new outproxies available for all...

Posted: 03 Mar 2019 13:07
by echelon
Just a short notice: do NOT use 0 hop tunnels, 1 hop is better for reachability and bandwidth. Yeah, really.

echelon

Re: 10 new outproxies available for all...

Posted: 16 Mar 2019 10:53
by arctic
I just changed from using Squid to Privoxy and Tor. Now the outproxies seems a bit
faster and all .onions are forwarded via the tor socks5 proxy else everything is straight
out to clearnet. And as usual, no logging at all...

Regards: arctic

Re: 10 new outproxies available for all...

Posted: 09 Oct 2021 19:45
by ce3
Please, test my outproxy. Comments are welcome.
7et7f6s2iqodfbb6g3m7jbiodky57bu2e6i3sbbegx7mmbs2xr2q.b32.i2p