[guardian-dev] I2P Android client library (was Manage Orbot from external app: Tor admin?)

Cédric Jeanneret guardian at ethack.org
Fri Aug 22 02:00:13 EDT 2014

On 08/16/2014 02:00 AM, str4d wrote:
> On 08/15/2014 01:43 AM, Hans-Christoph Steiner wrote:
>> Cedric Jeanneret wrote:
>>> Just for information: I've a similar request regarding i2p
>>> support in Tor, and there's currently a client library being
>>> developed. It should provide the same kind of stuff I'm asking
>>> from Orbot. That will make orwall a pretty nice app, supporting
>>> what I consider the two "main onion router systems" :).
>>> By the way: I'm not a power-android-dev, but if I can help, just
>>> let me know. I can learn and, who knows, have some ideas ;).
>>> Cheers,
>>> C.
>> It would be great to support as many tools like this as possible,
>> including of course i2p.
>> .hc
> This seems like an excellent time to announce that I have pushed the
> first release of the I2P Android client library to Maven Central
> (net.i2p.android:client:0.1). For now, it simply bundles our standard
> Java APIs along with some Android-specific code for talking to the I2P
> Android app over our standard client API (I2CP), and some AIDL
> interfaces for obtaining the status of the I2P Android router. This
> allows app devs to create I2P sockets using our streaming and datagram
> APIs, and have full control over their tunnels.

Great, I'll give it a try in the next few days/weeks, I first have to
update the UI in order to provide a better way to configure app

> For some applications (like orWall), simply having the ability to
> create tunnels in I2PTunnel (which provides some standard types, like
> a SOCKS client proxy) would be sufficient. So the next stage of
> development would be to create an Intent interface for I2PTunnel, like
> is being discussed for Orbot.

My thought: create, close and list existing tunnels.

> Since this mailing list is full of people designing privacy-aware
> Android apps: what would you like to see in this client library? What
> use cases do you envisage? Should I separate the AIDL interface into a
> separate library, so you can query the router status without needing
> to have the entire client-side API (if you only wanted to use the
> Intents API)? Where should I put the pony?

I think a dedicated library would be better and easier to integrate in
apps, like netcipher for example.
Would be great to provide an Intent which will:

- validate requests (why not require an app to register first in order
to let a deep control)

- maybe ask for confirmation (may be useless for registered apps like
described in previous point)

- why not works with ACLs in order to allow some types of actions and
refuse some others depending on the user trust level in the client

I think you should have a look at netcipher, particularly to the orbot
helpers — though there isn't a lot of actions now, it just checks if
orbot is installed (if not, it proposes to install it) and if it's
running (if not, it proposes to start it).



> str4d
> _______________________________________________
> Guardian-dev mailing list
> Post: Guardian-dev at lists.mayfirst.org
> List info: https://lists.mayfirst.org/mailman/listinfo/guardian-dev
> To Unsubscribe
>         Send email to:  Guardian-dev-unsubscribe at lists.mayfirst.org
>         Or visit: https://lists.mayfirst.org/mailman/options/guardian-dev/guardian%40ethack.org
> You are subscribed as: guardian at ethack.org

More information about the Guardian-dev mailing list