Shoalsteed / I2P-Secure-Design-Collective

1 stars 0 forks source link

Software Troubleshooting #80

Open Shoalsteed opened 1 year ago

Shoalsteed commented 1 year ago

There are a few common issues that people encounter when installing the I2P software and running it the first time.

Browsing

Common issues with browsing include:

A few things to check for include:

Unable to reach Clearnet sites

A few things to check for include:

Finding content on the I2P network

The project does not maintain a list of content available on the network aside from what it includes by default in the address book.

I2P community members create and and maintain services that will help new people find content. There are many resources listed on the I2P sub reddit (https://www.reddit.com/r/i2p/). This is also a great community for people learning more about the network.

If you still need further assistance, it is helpful to include your OS, I2P Java version, and if you are using the Firefox extension or your own proxy configuration. Please also specify if the issue is either accessing the I2P network or the clearnet.

Shoalsteed commented 1 year ago

How Does I2P find ".i2p" websites? The I2P Address Book application maps human-readable names to long-term destinations, associated with services, making it more like a hosts file or a contact list than a network database or a DNS service. It's also local-first there is no recognized global namespace, you decide what any given .i2p domain maps to in the end. The middle-ground is something called a "Jump Service" which provides a human-readable name by redirecting you to a page where you will be asked "Do you give the I2P router permission to call $SITE_CRYPTO_KEY the name $SITE_NAME.i2p" or something to that effect. Once it's in your address book, you can generate your own jump URL's to help share the site with others.

How do I add addresses to the Address Book? You cannot add an address without knowing at least the base32 or base64 of the site you want to visit. The "hostname" which is human-readable is only an alias for the cryptographic address, which corresponds to the base32 or base64. Without the cryptographic address, there is no way to access an I2P Site, this is by design. Distributing the address to people who do not know it yet is usually the responsibility of the Jump service provider. Visiting an I2P Site which is unknown will trigger the use of a Jump service. stats.i2p is the most reliable Jump service.

If you're hosting a site via i2ptunnel, then it won't have a registration with a jump service yet. To give it a URL locally, then visit the configuration page and click the button that says "Add to Local Address Book." Then go to http://127.0.0.1:7657/dns to look up the addresshelper URL and share it.

Java Router

What do the Active x/y numbers mean in the router console? x is the number of peers you've sent or received a message from successfully in the last minute, y is the number of peers seen in the last hour or so. Try hovering your cursor over the other lines of information for a brief description.

Router Sidebar Messages

OK: Your UDP port does not appear to be firewalled.

Firewalled: Your UDP port appears to be firewalled. Firewall detection methods are not 100% reliable, this may occasionally be displayed in error. However, if it appears consistently, check whether both your external and internal firewalls are open for your port. I2P will work fine when firewalled, there is no reason for concern. When firewalled, the router uses "introducers" to relay inbound connections. However, you will get more participating traffic and help the network if you open your firewall. If you think you have already done so, remember that you may have both a hardware and a software firewall, or be behind an additional, institutional firewall you cannot control. Also, some routers cannot correctly forward both TCP and UDP on a single port, or may have other limitations or bugs that prevent them from passing traffic through to I2P.

Testing: The router is currently testing whether your UDP port is firewalled.

Hidden: The router is not configured to publish its address, therefore it does not expect incoming connections. Hidden Mode is automatically enabled for added protection in certain countries. Too see the countries that are on this list refer to the Strict Countries List.

WARN - Firewalled and Fast: You have configured I2P to share more than 128KBps of bandwidth, but you are firewalled. While I2P will work fine in this configuration, if you really have over 128KBps of bandwidth to share, it will be much more helpful to the network if you open your firewall.

WARN - Firewalled and Floodfill: You have configured I2P to be a floodfill router, but you are firewalled. For best participation as a floodfill router, you should open your firewall.

WARN - Firewalled with Inbound TCP Enabled: You have configured inbound TCP, however your UDP port is firewalled, and therefore it is likely that your TCP port is firewalled as well. If your TCP port is firewalled with inbound TCP enabled, routers will not be able to contact you via TCP, which will hurt the network. Please open your firewall or disable inbound TCP above.

WARN - Firewalled with UDP Disabled: You have configured inbound TCP, however you have disabled UDP. You appear to be firewalled on TCP, therefore your router cannot accept inbound connections. Please open your firewall or enable UDP.

ERR - Clock Skew: Your system's clock is skewed, which will make it difficult to participate in the network. Correct your clock setting if this error persists.

ERR - Private TCP Address: You must never advertise an unroutable IP address such as 127.0.0.1 or 192.168.1.1 as your external address. Correct the address or disable inbound TCP on the Network Configuration page.

ERR - SymmetricNAT: I2P detected that you are firewalled by a Symmetric NAT. I2P does not work well behind this type of firewall. You will probably not be able to accept inbound connections, which will limit your participation in the network.

ERR - UDP Port In Use - Set i2np.udp.internalPort=xxxx in advanced config and restart: I2P was unable to bind to the configured port noted on the advanced network configuration page . Check to see if another program is using the configured port. If so, stop that program or configure I2P to use a different port. This may be a transient error, if the other program is no longer using the port. However, a restart is always required after this error.

ERR - UDP Disabled and Inbound TCP host/port not set: You have not configured inbound TCP with an address and port on the Network Configuration page, however you have disabled UDP. Therefore your router cannot accept inbound connections. Please configure a TCP host and port on the Network Configuration page or enable UDP.

ERR - Client Manager I2CP Error - check logs: This is usually due to a port 7654 conflict. Check the logs to verify. Do you have another I2P instance running? Stop the conflicting program and restart I2P.

Connection Issues

My router has very few active peers, is this OK? If your router has 10 or more active peers, everything is fine. The router should maintain connections to a few peers at all times. The best way to stay "better-connected" to the network is to share more bandwidth. The amount of bandwidth that is shared by the router can be changed on the configuration page: http://localhost:7657/config

My active peers / known peers / participating tunnels / connections / bandwidth vary dramatically over time! Is anything wrong? No, there isn't anything wrong. This is normal behavior. All routers adjust dynamically to changing network conditions and demands. Routers come online and go offline depending on whether the system it is installed on is operational or not, as well as whether there is an available network connection. Your router is constantly updating its local Network Database. Tunnels which your router is participating in expire every 10 minutes and may or may not be rebuilt through your router.

My router has been up for several minutes and has zero or very few connections New installations of I2P carry out the reseeding process automatically, as well as when the number of known peers falls to a drastically low value. The router will provide an option to Reseed. Clicking on the Reseed button will provide additional peers and will more often than not fix the issue.

How do I reseed manually? An I2P router only needs to be seeded once, to join the network for the first time. Reseeding involves fetching multiple "RouterInfo" files (bundled into a signed zip-file) from at least two predefined server URLs picked from a volunteer-run group of non-private internet HTTPS servers.

A typical symptom of a failed reseed is the "Known" indicator (on the left sidebar of the router console) displaying a very small value (often less than 5) which does not increase. This can occur, among other things, if your local firewall limits outbound traffic or if the reseed request is blocked entirely.

If you are stuck behind an ISP firewall or filter, you can use the following manual method (non-automated technical solution) to join the I2P network.

As of release 0.9.33, you may also configure your router to reseed through a proxy. Go to http://localhost:7657/configreseed and configure the proxy type, hostname, and port.

Joining the I2P Network using a reseed file Please contact a known trustworthy friend who has a running I2P router, and ask them for help with reseeding your I2P router. Request that they send you a reseed file exported from their running I2P router. It is vital that the file is exchanged over a secure channel, e.g. encrypted to avoid external tampering (PGP Sign, Encrypt and Verified with a trusted public key). The file itself is unsigned, so please accept files only from known trusted friends. Never import a reseed file if you can not verify its source.

To import the received i2preseed.zip file into your local I2P router:

Go to http://localhost:7657/configreseed Under "Manual Reseed from File" click "Browse..." Select the i2preseed.zip file Click "Reseed from File" Check the log for confirmation of receiving router infos from file with no errors.

Sharing a reseed file For trusted friends you can use your local I2P router to give them a jump start:

Go to http://localhost:7657/configreseed Under "Create Reseed File" click "Create reseed file" Securely send the i2preseed.zip file to your friend Do not reveal this file in to unknown users, since it contains sensitive private data from your own I2P router. In order to protect your anonymity: you may wait a few random hours/days before you share the file with your trusted friend. It is also advisable to use this procedure sparingly (< 2 per week).

General guidelines for manual reseeding of I2P This file should be used only for a very limited number of friends. Usually less than 5. The file should only be valid for a few days.