10 new outproxies available for all...

Misc topics about I2P
arctic
Posts: 15
Joined: 21 Jan 2019 17:49

Re: 10 new outproxies available for all...

Post 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
zlatinb

Re: 10 new outproxies available for all...

Post 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.
echelon
Posts: 261
Joined: 10 Feb 2018 13:36

Re: 10 new outproxies available for all...

Post by echelon »

Just a short notice: do NOT use 0 hop tunnels, 1 hop is better for reachability and bandwidth. Yeah, really.

echelon
arctic
Posts: 15
Joined: 21 Jan 2019 17:49

Re: 10 new outproxies available for all...

Post 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
ce3
Posts: 2
Joined: 08 Oct 2021 18:00

Re: 10 new outproxies available for all...

Post by ce3 »

Please, test my outproxy. Comments are welcome.
7et7f6s2iqodfbb6g3m7jbiodky57bu2e6i3sbbegx7mmbs2xr2q.b32.i2p
Post Reply