GithubHelp home page GithubHelp logo

i2pd_docs_en's Introduction

i2pd_docs_en's People

Contributors

anth0rx avatar cheezecat avatar da2x avatar devnull-hub-lab avatar freeacetone avatar hugbubby avatar jerzybrzoska avatar l-n-s avatar linuxoidlinuxoidovich avatar mah69ik avatar majestrate avatar mewmew-i2p avatar nonlin-lin-chaos-order-etc-etal avatar o0nd7ots avatar orignal avatar proukornew avatar r4sas avatar rany2 avatar rex4539 avatar sidorkozlov avatar stensonb avatar tomasglgg avatar ventarc avatar vort avatar wekoq avatar xanoni avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

i2pd_docs_en's Issues

"The file in keys must be present"

In documentation about Server/generic tunnels in this file:
https://github.com/PurpleI2P/i2pd_docs_en/blob/master/docs/user-guide/tunnels.md
"The file in keys must be present" phrase exists.
From what I learned ([18:06:47] i2porignal: если его нету то сделается), if user do not put file at specified location, it will be automatically created, which makes me doubt about what "must be present" actually mean.
It it will be not present, then nothing wrong happens.

apt-key is deprecated on Ubuntu Jammy

Instructions from here:

$ wget -q -O - https://repo.i2pd.xyz/r4sas.gpg | sudo apt-key add -
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
OK

It works but i now get a warning everytime i run sudo apt update.

Issue with tunconf — I2CP params — explicitPeers

<Hypnosis> orignal_, а этой опции же в коде нету!
<Hypnosis> explicitPeers -- list of comma-separated b64 addresses of peers to use, default: unset
<Hypnosis> http://i2pd.readthedocs.io/en/latest/user-guide/tunnels/#i2cp-parameters
<Hypnosis> вот код https://github.com/PurpleI2P/i2pd/blob/c010c83654e5c7baabf492f82aa43999eacaf44a/ClientContext.cpp#L371
<orignal_> есть
<orignal_> а че?
<Hypnosis> где?
<Hypnosis> ща загуглю
<orignal_> а TunnelPool используется насколько я помню
<Hypnosis> orignal_, видимо это не доделано
<Hypnosis> https://github.com/PurpleI2P/i2pd/search?utf8=%E2%9C%93&q=I2CP_PARAM_EXPLICIT_PEERS&type=Code
<Hypnosis> ссылка на строку explicitPeers только в Destination[.h, .cpp]
<Hypnosis> в 2 файлах
<Hypnosis> а зачитывается значение этого параметра тут:
<Hypnosis> https://github.com/PurpleI2P/i2pd/blob/c010c83654e5c7baabf492f82aa43999eacaf44a/ClientContext.cpp#L371
<orignal_> вроде работало
<Hypnosis> и оно НЕ зачитывается из конфига
<orignal_> if (explicitPeers)
<orignal_> m_Pool->SetExplicitPeers (explicitPeers);
<Hypnosis> ну не считывается оно из файла
<Hypnosis> в мапу
<orignal_> из конфига виждимо не читается
<orignal_> но например может быть прислано по I2CP или сэмук
<Hypnosis> не думаб
<Hypnosis> не думаю
<Hypnosis> там в параметрах std::map<std::string, std::string> * params
<Hypnosis> и эта мапа считывается из тунконфа
<Hypnosis> тут https://github.com/PurpleI2P/i2pd/blob/c010c83654e5c7baabf492f82aa43999eacaf44a/ClientContext.cpp#L371
<Hypnosis> а про i2cp sam я хз
<orignal_> значит не сделано
<orignal_> можно добавить

Document signaturetype field at I2PD config docs

    <orignal_> https://geti2p.net/spec/common-structures#certificate
    <orignal_> все коды перечислены
    <Hypnosis> orignal_, это таблица "The defined Signing Public Key types are:" ?
    <orignal_> да

    see also : Identity.h line 55

Document tunnel.type better

https://github.com/PurpleI2P/i2pd/blob/f46d96c4c650c7104ba42ed66ddddb1acb2fd8d2/ClientContext.h

	const char I2P_TUNNELS_SECTION_TYPE_CLIENT[] = "client";
	const char I2P_TUNNELS_SECTION_TYPE_SERVER[] = "server";
	const char I2P_TUNNELS_SECTION_TYPE_HTTP[] = "http";
	const char I2P_TUNNELS_SECTION_TYPE_IRC[] = "irc";
	const char I2P_TUNNELS_SECTION_TYPE_UDPCLIENT[] = "udpclient";
	const char I2P_TUNNELS_SECTION_TYPE_UDPSERVER[] = "udpserver";
	const char I2P_TUNNELS_SECTION_TYPE_SOCKS[] = "socks";
	const char I2P_TUNNELS_SECTION_TYPE_WEBSOCKS[] = "websocks";
	const char I2P_TUNNELS_SECTION_TYPE_HTTPPROXY[] = "httpproxy";

I2P/i2pd values needs to be clear and easy to understand

@hugbubby thanks again for your contributions. Just some clarifications here.

Basic statement we have on our website and in docs is:

i2pd (I2P Daemon) is a full-featured C++ implementation of I2P client.

I2P (Invisible Internet Protocol) is a universal anonymous network layer.
All communications over I2P are anonymous and end-to-end encrypted, participants don't reveal their real IP addresses.

I2P client is a software used for building and using anonymous I2P networks. Such networks are commonly used for anonymous peer-to-peer applications (filesharing, cryptocurrencies) and anonymous client-server applications (websites, instant messengers, chat-servers).

I2P allows people from all around the world to communicate and share information without restrictions.

If there are no errors, we'd prefer it to be as clear and short as possible. If there is a better idea how to communicate I2P/i2pd values, you are welcome to discuss it here, just try not to complicate stuff 😉

Add NixOS configuration instructions

Hi, I think it would be helpful for newcomers to add NixOS instructions. It's incredibly easy to set up and configure. I've made a sample configuration here.

Some options aren't present in NixOS config, such as meshnets.yggdrasil, I've filed an issue here.

Document I2CP parameters better

https://github.com/PurpleI2P/i2pd/blob/c010c83654e5c7baabf492f82aa43999eacaf44a/ClientContext.cpp#L371 :

	template<typename Section>
	void ClientContext::ReadI2CPOptions (const Section& section, std::map<std::string, std::string>& options) const
	{
		options[I2CP_PARAM_INBOUND_TUNNEL_LENGTH] = GetI2CPOption (section, I2CP_PARAM_INBOUND_TUNNEL_LENGTH,  DEFAULT_INBOUND_TUNNEL_LENGTH);
		options[I2CP_PARAM_OUTBOUND_TUNNEL_LENGTH] = GetI2CPOption (section, I2CP_PARAM_OUTBOUND_TUNNEL_LENGTH, DEFAULT_OUTBOUND_TUNNEL_LENGTH);
		options[I2CP_PARAM_INBOUND_TUNNELS_QUANTITY] = GetI2CPOption (section, I2CP_PARAM_INBOUND_TUNNELS_QUANTITY, DEFAULT_INBOUND_TUNNELS_QUANTITY);
		options[I2CP_PARAM_OUTBOUND_TUNNELS_QUANTITY] = GetI2CPOption (section, I2CP_PARAM_OUTBOUND_TUNNELS_QUANTITY, DEFAULT_OUTBOUND_TUNNELS_QUANTITY);
		options[I2CP_PARAM_TAGS_TO_SEND] = GetI2CPOption (section, I2CP_PARAM_TAGS_TO_SEND, DEFAULT_TAGS_TO_SEND);
		options[I2CP_PARAM_MIN_TUNNEL_LATENCY] = GetI2CPOption(section, I2CP_PARAM_MIN_TUNNEL_LATENCY, DEFAULT_MIN_TUNNEL_LATENCY);
		options[I2CP_PARAM_MAX_TUNNEL_LATENCY] = GetI2CPOption(section, I2CP_PARAM_MAX_TUNNEL_LATENCY, DEFAULT_MAX_TUNNEL_LATENCY);
	}	

Document tunnels' optional options better

https://github.com/PurpleI2P/i2pd/blob/c010c83654e5c7baabf492f82aa43999eacaf44a/ClientContext.cpp#L400 :

client:

# optional parameters (may be omitted)
    std::string keys = section.second.get (I2P_CLIENT_TUNNEL_KEYS, "");
    std::string address = section.second.get (I2P_CLIENT_TUNNEL_ADDRESS, "127.0.0.1");
    int destinationPort = section.second.get (I2P_CLIENT_TUNNEL_DESTINATION_PORT, 0);
    i2p::data::SigningKeyType sigType = section.second.get (I2P_CLIENT_TUNNEL_SIGNATURE_TYPE, i2p::data::SIGNING_KEY_TYPE_ECDSA_SHA256_P256);

server:

# optional parameters (may be omitted)
    int inPort = section.second.get (I2P_SERVER_TUNNEL_INPORT, 0);
    std::string accessList = section.second.get (I2P_SERVER_TUNNEL_ACCESS_LIST, "");
    std::string hostOverride = section.second.get (I2P_SERVER_TUNNEL_HOST_OVERRIDE, "");
    std::string webircpass = section.second.get<std::string> (I2P_SERVER_TUNNEL_WEBIRC_PASSWORD, "");
    bool gzip = section.second.get (I2P_SERVER_TUNNEL_GZIP, true);
    i2p::data::SigningKeyType sigType = section.second.get (I2P_SERVER_TUNNEL_SIGNATURE_TYPE, i2p::data::SIGNING_KEY_TYPE_ECDSA_SHA256_P256);
    uint32_t maxConns = section.second.get(i2p::stream::I2CP_PARAM_STREAMING_MAX_CONNS_PER_MIN, i2p::stream::DEFAULT_MAX_CONNS_PER_MIN);
    std::string address = section.second.get<std::string> (I2P_SERVER_TUNNEL_ADDRESS, "127.0.0.1");
    bool isUniqueLocal = section.second.get(I2P_SERVER_TUNNEL_ENABLE_UNIQUE_LOCAL, true);

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.