yvesf / andiodine Goto Github PK
View Code? Open in Web Editor NEWAndroid VPN over DNS (no root required). Repo moved to gitlab
Home Page: https://gitlab.com/andiodine/andiodine
Android VPN over DNS (no root required). Repo moved to gitlab
Home Page: https://gitlab.com/andiodine/andiodine
iodine released version 0.7 on 2014-06-16 http://code.kryo.se/iodine/CHANGELOG.html
The code used in andiodine is a slightly modified 0.6 version of iodine.
Android 4.2.2
After many many other attempts to troubleshoot, I downloaded the iodine android binary from http://code.kryo.se/iodine/iodine-0.7.0-android.zip
executing it without setting a device name and it will default to 'dns0'. Why is this? I don't know. When the tun device is 'dns0' though, the tunnel works. When it is 'tun0' it does not.
Why is this, I have no idea.
/proc/sys/net/ipv4/conf/tun0/ and
/sys/class/net/ipv4/conf/tun0/
both hold settings, but are identical when system sets up 'dns0' instead.
tcpdump traffic looks very similar between working and non-working, so it's not a network configuration issue. It must have something to do with permissions of tun0 vs dns0 virtual device..
any suggestions? Simply changing the interface to allow for setting the -d device paramter would solve this.
Downloading https://services.gradle.org/distributions/gradle-3.3-all.zip
Exception in thread "main" javax.net.ssl.SSLException: java.security.ProviderEx
eption: java.security.InvalidKeyException: EC parameters error
at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1914)
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1872)
at sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:18
5)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:137
)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:135
)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java
559)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connec
(AbstractDelegateHttpsURLConnection.java:185)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCo
nection.java:1348)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Htt
sURLConnectionImpl.java:254)
at org.gradle.wrapper.Download.downloadInternal(Download.java:58)
at org.gradle.wrapper.Download.download(Download.java:44)
at org.gradle.wrapper.Install$1.call(Install.java:61)
at org.gradle.wrapper.Install$1.call(Install.java:48)
at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAc
essManager.java:65)
at org.gradle.wrapper.Install.createDist(Install.java:48)
at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:128)
at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
Caused by: java.security.ProviderException: java.security.InvalidKeyException:
C parameters error
at sun.security.pkcs11.P11Key$P11ECPublicKey.getEncodedInternal(P11Key.
ava:1024)
at sun.security.pkcs11.P11Key.equals(P11Key.java:158)
at java.util.ArrayList.indexOf(ArrayList.java:298)
at java.util.ArrayList.contains(ArrayList.java:281)
at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.ja
a:239)
at sun.security.validator.Validator.validate(Validator.java:260)
at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.
ava:326)
at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerI
pl.java:231)
at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustMa
agerImpl.java:126)
at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker
java:1459)
at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.ja
a:213)
at sun.security.ssl.Handshaker.processLoop(Handshaker.java:961)
at sun.security.ssl.Handshaker.process_record(Handshaker.java:897)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1033)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl
java:1342)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:136
)
... 13 more
Caused by: java.security.InvalidKeyException: EC parameters error
at sun.security.ec.ECParameters.getAlgorithmParameters(ECParameters.jav
:284)
at sun.security.ec.ECPublicKeyImpl.(ECPublicKeyImpl.java:59)
at sun.security.pkcs11.P11Key$P11ECPublicKey.getEncodedInternal(P11Key.
ava:1021)
... 28 more
Caused by: java.security.NoSuchProviderException: no such provider: SunEC
at sun.security.jca.GetInstance.getService(GetInstance.java:83)
at sun.security.jca.GetInstance.getInstance(GetInstance.java:206)
at java.security.Security.getImpl(Security.java:697)
at java.security.AlgorithmParameters.getInstance(AlgorithmParameters.ja
a:199)
at sun.security.ec.ECParameters.getAlgorithmParameters(ECParameters.jav
:279)
... 30 more
Hello,
When I use andiodine, I got a null pointer exception when andiodine attempts to connect the same address twice if I click the item quickly.
I read the code snippets about Connect in IodineVpnService.java.
I found that
private final BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
...
} else if (ACTION_CONTROL_CONNECT.equals(intent.getAction())) {
if (mThread != null) {
...
return;
}
...
//if OS schedules other threads at this point, it may lead some errors
mThread = new Thread(IodineVpnService.this, IodineVpnService.class.getName());
mThread.start();
}
}
};
I think those code may lead to synchronization errors if it calls method onReceive
twice. Therefore, andiodine should take extra synchronization (such as Synchronized {...}
) to fix it.
And the stack trace is:
E/AndroidRuntime( 7557): java.lang.NullPointerException: Attempt to invoke virtual method 'void android.app.Activity.sendBroadcast(android.content.Intent)' on a null object reference
E/AndroidRuntime( 7557): at org.xapek.andiodine.FragmentList.vpnServiceConnect2(FragmentList.java:203)
E/AndroidRuntime( 7557): at org.xapek.andiodine.FragmentList.access$600(FragmentList.java:30)
E/AndroidRuntime( 7557): at org.xapek.andiodine.FragmentList$3.onClick(FragmentList.java:177)
E/AndroidRuntime( 7557): at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:162)
E/AndroidRuntime( 7557): at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime( 7557): at android.os.Looper.loop(Looper.java:135)
E/AndroidRuntime( 7557): at android.app.ActivityThread.main(ActivityThread.java:5254)
E/AndroidRuntime( 7557): at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime( 7557): at java.lang.reflect.Method.invoke(Method.java:372)
E/AndroidRuntime( 7557): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
E/AndroidRuntime( 7557): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Really great app. I limit it exclusively to messaging apps like WhatsApp and Messenger and it works great as long as I keep using the phone.
I have everything setup but it seems like it fails the version check. I'm using 0.7.0 on my computer.
when i try to connect to a iodine server the mesages from the native that are shown in logcat and the gui have wrong values:
Messages from logcat
http://paste.debian.net/115931/
messages from a native iodine session in the adb shell:
http://paste.debian.net/115933/
Hi,
I have iodine running on a 100MB/s server, and just tried it on my mobile phone (with andiodine, worked fine at once), but loading websites is slow, very slow.
Simple HTTP request (eg. http://api.ipify.org/?format=json) takes me 1 second. A website like reddit.com (HTTPS) takes well over 50 seconds to load.
Is this just a side effect of the conversion to DNS (being so inefficient), or is something else happening?
Hi,
I'm trying to use AndIodine on my Moto G 2014 (running Android 5.0.2) with iodined 0.7.0 from 2014-06-16 (compiled from source and running on OpenWrt). My laptop can connect without trouble, but AndIodine crashes right as it appears to connect successfully.
java.lang.NullPointerException: Attempt to invoke virtual method 'int android.os.ParcelFileDescriptor.detachFd()' on a null object reference
Thanks.
Remote server command-line:
/usr/local/sbin/iodined -n XX.XXX.XX.XXX -P -m 1280 -p 5353 -c -f -t /var/run/iodined -u nobody 10.0.0.1 XXXXXXXX.XX.XX
(with firewall rules to redirect port 53 traffic to port 5353)
logcat with raw mode enabled:
I/SFPerfTracer( 321): triggers: (rate: 0:29) (228365 sw vsyncs) (0 skipped) (274:232238 vsyncs) (276:482272)
D/FRAGMENT_LIST(12460): Call VPN Service for configuration: 1
D/ConfigDatabase(12460): Selected: [IodineConfiguration name=Home]
W/InputMethodManagerService( 890): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@3560d8af attribute=null, token = android.os.BinderProxy@3055b3d5
D/VPN_SERVICE(12460): VPN Thread enter
D/VPN_SERVICE(12460): Send status: org.xapek.andiodine.IodineVpnService.STATUS_CONNECT
D/VPN_SERVICE(12460): Send: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT (has extras) }
D/MAIN (12460): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT flg=0x10 (has extras) }
D/NATIVE (12460): Native Library iodine-client loaded
E/iodine (12460): Topdomain from vm: XXXXXXXX.XX.XX
E/iodine (12460): Topdomain from vm: XXXXXXXX.XX.XX
I/Iodine (12460): Opened IPv4 UDP socket
I/Iodine (12460): Autodetecting DNS query type (use -T to override)
I/Iodine (12460): .
D/VPN_SERVICE(12460): Send status: org.xapek.andiodine.IodineVpnService.STATUS_CONNECT
D/VPN_SERVICE(12460): Send: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT (has extras) }
D/MAIN (12460): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT flg=0x10 (has extras) }
D/FRAGMENT_STATUS(12460): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT flg=0x10 (has extras) }
I/Iodine (12460):
I/Iodine (12460): Using DNS type NULL queries
I/Iodine (12460): Version ok, both using protocol v 0x00000502. You are user #2
I/Iodine (12460): Server tunnel IP is 10.0.0.1
I/Iodine (12460): Testing raw UDP data to the server (skip with -r)
I/SFPerfTracer( 321): triggers: (rate: 239:6869) (compose: 0:17) (post: 0:6) (render: 14:393) (1:175675 frames) (2:188541)
D/SFPerfTracer( 321): layers: (4:13) (FocusedStackFrame (0xb707ff50): 0:880)* (DimLayer (0xb7082340): 0:219)* (DimLayer (0xb702c6a8): 2:860) (DimLayer (0xb70a7890): 0:148)* (StatusBar (0xb70ab230): 0:30347) (com.android.systemui.ImageWallpaper (0xb70b9660): 0:2452)* (NavigationBar (0xb70d95d8): 0:387) (Application Error: org.xapek.andiodine (0xb709fdd8): 0:53)- (com.anddoes.launcher/com.anddoes.launcher.Launcher (0xb70b8000): 0:12)- (Starting org.xapek.andiodine (0xb709fdd8): 0:27)- (org.xapek.andiodine/org.xapek.andiodine.IodineMain (0xb70e0408): 2:50) (org.xapek.andiodine/org.xapek.andiodine.IodineMain (0xb709fdd8): 2:40)*
I/Iodine (12460):
I/Iodine (12460): Server is at XX.XXX.XX.XXX, trying raw login:
I/Iodine (12460): OK
I/Iodine (12460): Sending raw traffic directly to XX.XXX.XX.XXX
I/Iodine (12460): Handshake successful, leave native code
D/VPN_SERVICE(12460): Handshake successful
D/VPN_SERVICE(12460): Send status: org.xapek.andiodine.IodineVpnService.STATUS_CONNECTED
D/VPN_SERVICE(12460): Send: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECTED (has extras) }
D/VPN_SERVICE(12460): Build tunnel for configuration: ip=10.0.0.4 netbits=27 mtu=1280
D/VPN_SERVICE(12460): Build tunnel interface
D/VPN_SERVICE(12460): VPN Thread exit
E/AndroidRuntime(12460): FATAL EXCEPTION: org.xapek.andiodine.IodineVpnService
E/AndroidRuntime(12460): Process: org.xapek.andiodine, PID: 12460
E/AndroidRuntime(12460): java.lang.NullPointerException: Attempt to invoke virtual method 'int android.os.ParcelFileDescriptor.detachFd()' on a null object reference
E/AndroidRuntime(12460): at org.xapek.andiodine.IodineVpnService.runTunnel(IodineVpnService.java:337)
E/AndroidRuntime(12460): at org.xapek.andiodine.IodineVpnService.run(IodineVpnService.java:229)
E/AndroidRuntime(12460): at java.lang.Thread.run(Thread.java:818)
W/ActivityManager( 890): Force finishing activity org.xapek.andiodine/.IodineMain
D/MAIN (12460): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECTED flg=0x10 (has extras) }
D/FRAGMENT_STATUS(12460): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECTED flg=0x10 (has extras) }
W/ContextImpl( 1601): Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcast:1455 android.content.ContextWrapper.sendBroadcast:376 com.motorola.motocare.util.TriggerHelper$TriggerBuilder.send:76 com.motorola.motocare.internal.frameworkevents.PauseResumeTrigger.handleFrameworkEvent:53 com.motorola.motocare.internal.frameworkevents.FwEventMonitor$FrameworkListener.processFrameworkEvent:114
W/ContextImpl( 1601): Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcast:1455 android.content.ContextWrapper.sendBroadcast:376 com.motorola.motocare.util.TriggerHelper$TriggerBuilder.send:76 com.motorola.motocare.internal.frameworkevents.PauseResumeTrigger.handleFrameworkEvent:53 com.motorola.motocare.internal.frameworkevents.FwEventMonitor$FrameworkListener.processFrameworkEvent:114
logcat with raw mode disabled:
I/SBar.MotoNetworkCtrlr( 1332): onReceive: WifiManager.RSSI_CHANGED_ACTION Received
I/SBar.MotoNetworkCtrlr( 1332): updateWifiState: RSSI_CHANGED_ACTION: mWifiConnected=true mWifiLevel=3 mWifiRssi=-56
I/ThermalEngine( 363): Sensor:xo_therm_pu2:30000 mC
D/FRAGMENT_LIST(10913): Call VPN Service for configuration: 1
D/ConfigDatabase(10913): Selected: [IodineConfiguration name=Home]
W/InputMethodManagerService( 890): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@356a2520 attribute=null, token = android.os.BinderProxy@6bc1ba2
D/VPN_SERVICE(10913): VPN Thread enter
D/VPN_SERVICE(10913): Send status: org.xapek.andiodine.IodineVpnService.STATUS_CONNECT
D/VPN_SERVICE(10913): Send: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT (has extras) }
D/NATIVE (10913): Native Library iodine-client loaded
D/MAIN (10913): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT flg=0x10 (has extras) }
D/VPN_SERVICE(10913): Send status: org.xapek.andiodine.IodineVpnService.STATUS_CONNECT
D/VPN_SERVICE(10913): Send: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT (has extras) }
D/MAIN (10913): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT flg=0x10 (has extras) }
D/FRAGMENT_STATUS(10913): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT flg=0x10 (has extras) }
E/iodine (10913): Topdomain from vm: XXXXXXXX.XX.XX
E/iodine (10913): Topdomain from vm: XXXXXXXX.XX.XX
I/Iodine (10913): Opened IPv4 UDP socket
I/Iodine (10913): Autodetecting DNS query type (use -T to override)
I/Iodine (10913): .
I/Iodine (10913):
I/Iodine (10913): Using DNS type NULL queries
I/Iodine (10913): Version ok, both using protocol v 0x00000502. You are user #0
I/Iodine (10913): Server tunnel IP is 10.0.0.1
I/Iodine (10913): Skipping raw mode
I/Iodine (10913): Using EDNS0 extension
I/Iodine (10913): Switching upstream to codec Base128
I/Iodine (10913): Server switched upstream to codec Base128
I/Iodine (10913): No alternative downstream codec available, using default (Raw)
I/Iodine (10913): Switching to lazy mode for low-latency
I/Iodine (10913): Server switched to lazy mode
I/Iodine (10913): Autoprobing max downstream fragment size... (skip with -m fragsize)
I/Iodine (10913): 768 ok..
I/Iodine (10913): 1152 ok..
I/Iodine (10913): .
I/SFPerfTracer( 321): triggers: (rate: 238:6807) (compose: 0:17) (post: 0:6) (render: 13:372) (16:173769 frames) (17:186344)
D/SFPerfTracer( 321): layers: (3:10) (FocusedStackFrame (0xb707ff50): 0:820)* (DimLayer (0xb7082340): 0:108)* (DimLayer (0xb702c6a8): 0:754)* (DimLayer (0xb70a7890): 0:139)* (StatusBar (0xb70ab230): 0:29692) (com.android.systemui.ImageWallpaper (0xb70b9660): 0:2441)* (NavigationBar (0xb70d95d8): 0:116) (org.xapek.andiodine/org.xapek.andiodine.IodineMain (0xb70dfa28): 17:80) (org.xapek.andiodine/org.xapek.andiodine.IodineMain (0xb709fdd8): 0:48)-
I/SBar.MotoNetworkCtrlr( 1332): onReceive: WifiManager.RSSI_CHANGED_ACTION Received
I/SBar.MotoNetworkCtrlr( 1332): updateWifiState: RSSI_CHANGED_ACTION: mWifiConnected=true mWifiLevel=3 mWifiRssi=-60
I/Iodine (10913): .
I/Iodine (10913): .
I/Iodine (10913): 1344 not ok..
I/Iodine (10913): .
I/SFPerfTracer( 321): triggers: (rate: 238:6807) (compose: 0:17) (post: 0:6) (render: 13:372) (31:173863 frames) (32:186444)
D/SFPerfTracer( 321): layers: (3:9) (FocusedStackFrame (0xb707ff50): 0:820)* (DimLayer (0xb7082340): 0:108)* (DimLayer (0xb702c6a8): 0:754)* (DimLayer (0xb70a7890): 0:139)* (StatusBar (0xb70ab230): 0:29692) (com.android.systemui.ImageWallpaper (0xb70b9660): 0:2441)* (NavigationBar (0xb70d95d8): 0:116) (org.xapek.andiodine/org.xapek.andiodine.IodineMain (0xb70dfa28): 32:180)
I/SBar.MotoNetworkCtrlr( 1332): onReceive: WifiManager.RSSI_CHANGED_ACTION Received
I/SBar.MotoNetworkCtrlr( 1332): updateWifiState: RSSI_CHANGED_ACTION: mWifiConnected=true mWifiLevel=3 mWifiRssi=-59
I/Iodine (10913): .
I/Iodine (10913): .
I/Iodine (10913): 1248 not ok..
I/Iodine (10913): .
I/SBar.MotoNetworkCtrlr( 1332): onReceive: WifiManager.RSSI_CHANGED_ACTION Received
I/SBar.MotoNetworkCtrlr( 1332): updateWifiState: RSSI_CHANGED_ACTION: mWifiConnected=true mWifiLevel=3 mWifiRssi=-59
I/Iodine (10913): .
I/SFPerfTracer( 321): triggers: (rate: 238:6807) (compose: 0:17) (post: 0:6) (render: 13:372) (16:173972 frames) (17:186560)
D/SFPerfTracer( 321): layers: (3:9) (FocusedStackFrame (0xb707ff50): 0:820)* (DimLayer (0xb7082340): 0:108)* (DimLayer (0xb702c6a8): 0:754)* (DimLayer (0xb70a7890): 0:139)* (StatusBar (0xb70ab230): 0:29692) (com.android.systemui.ImageWallpaper (0xb70b9660): 0:2441)* (NavigationBar (0xb70d95d8): 0:116) (org.xapek.andiodine/org.xapek.andiodine.IodineMain (0xb70dfa28): 17:296)
I/ThermalEngine( 363): Sensor:xo_therm_pu2:31000 mC
I/Iodine (10913): .
I/Iodine (10913): 1200 not ok..
I/Iodine (10913): 1176 ok..
I/Iodine (10913): 1188 ok..
I/Iodine (10913): will use 1188-2=1186
I/Iodine (10913): Setting downstream fragment size to max 1186...
I/Iodine (10913): Handshake successful, leave native code
D/VPN_SERVICE(10913): Handshake successful
D/VPN_SERVICE(10913): Send status: org.xapek.andiodine.IodineVpnService.STATUS_CONNECTED
D/VPN_SERVICE(10913): Send: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECTED (has extras) }
D/MAIN (10913): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECTED flg=0x10 (has extras) }
D/FRAGMENT_STATUS(10913): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECTED flg=0x10 (has extras) }
D/VPN_SERVICE(10913): Build tunnel for configuration: ip=10.0.0.2 netbits=27 mtu=1280
D/VPN_SERVICE(10913): Build tunnel interface
D/VPN_SERVICE(10913): VPN Thread exit
E/AndroidRuntime(10913): FATAL EXCEPTION: org.xapek.andiodine.IodineVpnService
E/AndroidRuntime(10913): Process: org.xapek.andiodine, PID: 10913
E/AndroidRuntime(10913): java.lang.NullPointerException: Attempt to invoke virtual method 'int android.os.ParcelFileDescriptor.detachFd()' on a null object reference
E/AndroidRuntime(10913): at org.xapek.andiodine.IodineVpnService.runTunnel(IodineVpnService.java:337)
E/AndroidRuntime(10913): at org.xapek.andiodine.IodineVpnService.run(IodineVpnService.java:229)
E/AndroidRuntime(10913): at java.lang.Thread.run(Thread.java:818)
W/ActivityManager( 890): Force finishing activity org.xapek.andiodine/.IodineMain
W/ContextImpl( 1601): Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcast:1455 android.content.ContextWrapper.sendBroadcast:376 com.motorola.motocare.util.TriggerHelper$TriggerBuilder.send:76 com.motorola.motocare.internal.frameworkevents.PauseResumeTrigger.handleFrameworkEvent:53 com.motorola.motocare.internal.frameworkevents.FwEventMonitor$FrameworkListener.processFrameworkEvent:114
W/ContextImpl( 1601): Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcast:1455 android.content.ContextWrapper.sendBroadcast:376 com.motorola.motocare.util.TriggerHelper$TriggerBuilder.send:76 com.motorola.motocare.internal.frameworkevents.PauseResumeTrigger.handleFrameworkEvent:53 com.motorola.motocare.internal.frameworkevents.FwEventMonitor$FrameworkListener.processFrameworkEvent:114
reported by s4dsniper (Thanks!)
It seems you don't change the default gateway after DNS tunnel is ready so,
the only thing you can reach is the iodine server (via IP). If I launch my
browser and try to reach a website : nothing load.
But if you do (in Terminad Emulator):
# busybox route del default
# busybox route add default gw 172.16.0.1 (iodine server IP)
web is working, even if very slow (as expected)
So maybe I'm missing something but shouldn't AndIodine change the default
gateway to route all traffic in the DNS tunnel ?
I've tried the 1.2rc1 build that you posted today.
I can see the correct messages from the native-iodine code however it fails when trying to configure some ip6tables rules.
btw: openvpn works without problems.
phone is a nexus 5 with rooted stock rom.
iodined was started with -m 1280
D/NATIVE (11195): Native Library iodine-client loaded
E/iodine (11195): Topdomain from vm: xx.com
E/iodine (11195): Topdomain from vm: xx.com
W/InputMethodManagerService( 776): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@43484af8 attribute=null, token = android.os.BinderProxy@43023cb0
I/Iodine (11195): Opened IPv4 UDP socket
I/Iodine (11195): Autodetecting DNS query type (use -T to override)
I/Iodine (11195): .
D/VPN_SERVICE(11195): Send: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT (has extras) }
D/MAIN (11195): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT flg=0x10 (has extras) }
D/FRAGMENT_STATUS(11195): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT flg=0x10 (has extras) }
I/Iodine (11195):
I/Iodine (11195): Using DNS type NULL queries
I/Iodine (11195): Version ok, both using protocol v 0x00000502. You are user #0
I/Iodine (11195): Server tunnel IP is 10.9.0.1
I/Iodine (11195): Skipping raw mode
I/Iodine (11195): Using EDNS0 extension
I/Iodine (11195): Retrying upstream codec test...
I/Iodine (11195): Switching upstream to codec Base128
I/Iodine (11195): Server switched upstream to codec Base128
I/Iodine (11195): No alternative downstream codec available, using default (Raw)
I/Iodine (11195): Switching to lazy mode for low-latency
I/Iodine (11195): Server switched to lazy mode
I/Iodine (11195): Autoprobing max downstream fragment size... (skip with -m fragsize)
I/Iodine (11195): 768 ok..
I/Iodine (11195): 1152 ok..
I/Iodine (11195): .
I/Iodine (11195): .
I/Iodine (11195): .
I/Iodine (11195): 1344 not ok..
I/Iodine (11195): .
I/Iodine (11195): .
I/Iodine (11195): .
I/Iodine (11195): 1248 not ok..
I/Iodine (11195): .
I/Iodine (11195): .
I/Iodine (11195): .
I/Iodine (11195): 1200 not ok..
I/Iodine (11195): 1176 ok..
I/Iodine (11195): 1188 ok..
I/Iodine (11195): will use 1188-2=1186
I/Iodine (11195): Setting downstream fragment size to max 1186...
I/Iodine (11195): Handshake successful, leave native code
D/VPN_SERVICE(11195): Handshake successful
D/VPN_SERVICE(11195): Send: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECTED (has extras) }
D/VPN_SERVICE(11195): Build tunnel for configuration: ip=10.9.0.2 netbits=24 mtu=1280
D/VPN_SERVICE(11195): Set default route
D/VPN_SERVICE(11195): Build tunnel interface
D/Vpn ( 776): setting state=CONNECTING, reason=establish
D/VpnJni ( 776): Address added on tun0: 10.9.0.2/24
D/FRAGMENT_STATUS(11195): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECTED flg=0x10 (has extras) }
I/ip6tables( 180): ip6tables v1.4.11.1: can't initialize ip6tables table `nat': Table does not exist (do you need to insmod?)
I/ip6tables( 180): Perhaps ip6tables or your kernel needs to be upgraded.
I/ip6tables( 180): ip6tables terminated by exit(3)
E/Netd ( 180): exec() res=0, status=768 for /system/bin/ip6tables -t nat -A st_nat_POSTROUTING -o tun0 -m mark --mark 61 -j MASQUERADE
I/Vpn ( 776): Established by org.xapek.andiodine on tun0
D/Vpn ( 776): setting state=AUTHENTICATING, reason=establish
D/VPN_SERVICE(11195): Send: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECTED (has extras) }
D/VPN_SERVICE(11195): Tunnel active
I/Iodine (11195): Run client_tunnel_cb
D/FRAGMENT_STATUS(11195): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECTED flg=0x10 (has extras) }
D/ConnectivityService( 776): handleInetConditionHoldEnd: net=1, condition=100, published condition=100
D/VPN_SERVICE(11195): Send: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_DISCONNECT (has extras) }
D/FRAGMENT_STATUS(11195): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_DISCONNECT flg=0x10 (has extras) }
W/Netd ( 180): No subsystem found in netlink event
W/Netd ( 180): No subsystem found in netlink event
E/NetlinkEvent( 180): Unknown ifindex 34 in RTM_DELADDR
D/NetlinkEvent( 180): Unexpected netlink message. type=0x11
I/ip6tables( 180): ip6tables v1.4.11.1: can't initialize ip6tables table `nat': Table does not exist (do you need to insmod?)
I/ip6tables( 180): Perhaps ip6tables or your kernel needs to be upgraded.
I/ip6tables( 180): ip6tables terminated by exit(3)
E/Netd ( 180): exec() res=0, status=768 for /system/bin/ip6tables -t nat -D st_nat_POSTROUTING -o tun0 -m mark --mark 61 -j MASQUERADE
D/Vpn ( 776): setting state=DISCONNECTED, reason=interfaceRemoved
D/VPN_SERVICE(11195): Send: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_IDLE }
D/VPN_SERVICE(11195): VPN Thread exit
It has been reported that setting a custom DNS server in the preferences doesn't work on a Android 5.0 Device. It's not confirmed yet if it is really connected to Android 5.0.
If you are able to run tcpdump/wireshark on the phones internet connection you can simply validate this by snooping on the DNS traffic.
Also Logcat output might be useful if there are error-traces in there.
The related code is in: src/org/xapek/andiodine/IodineVpnService.java#L302
Hi
I have trouble getting the app running on Android 6.x
Is this known already?
Hi
Nice program although I could not get it to work. I run CyanogenMod 11 M7 jflte. Installed AndIodine from FDroid. It might be worth noting that I have a Paketfilte (Whitelisting) in place (AndIodine is allowed of course).
https://img.bi/#/Rszgz6r!MoRfn3zWOoxXh7PYKjrrFwi4LUklNF9VeezwFmCD
08-05 17:05:37.870 D/FRAGMENT_LIST( 9515): Call VPN Service for configuration: 1
08-05 17:05:37.900 D/ConfigDatabase( 9515): Selected: last_used=null id=1 nameserver= raw_mode=1 nameserver_mode=LEAVE_DEFAULT top_domain=$DOMAIN request_type=AUTODETECT lazy_mode=1 default_route=0 name=$NAME DNS password=$PW tunnel_nameserver=
08-05 17:05:37.910 D/VPN_SERVICE( 9515): VPN Thread enter
08-05 17:05:37.910 D/VPN_SERVICE( 9515): Send: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT (has extras) }
08-05 17:05:37.910 D/MAIN ( 9515): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT flg=0x10 (has extras) }
08-05 17:05:37.910 W/InputMethodManagerService( 703): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@41a07a60 attribute=null, token = android.os.BinderProxy@41e172f0
08-05 17:05:37.920 D/NATIVE ( 9515): Message: Opened UDP socket
08-05 17:05:37.920 D/NATIVE ( 9515): Message: Using DNS type ) av queries
08-05 17:05:37.940 D/VPN_SERVICE( 9515): Send: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT (has extras) }
08-05 17:05:37.960 D/MAIN ( 9515): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT flg=0x10 (has extras) }
08-05 17:05:37.960 D/FRAGMENT_STATUS( 9515): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT flg=0x10 (has extras) }
08-05 17:05:37.970 D/NATIVE ( 9515): Message: Version ok, both using protocol v 0x763de9ec. You are user #1986071442
08-05 17:05:38.020 D/NATIVE ( 9515): Message: Server tunnel IP is =v
08-05 17:05:38.020 D/NATIVE ( 9515): Message: Testing raw UDP data to the server (skip with -r)
08-05 17:05:38.030 E/MP-Decision( 1004): num online cores: 1 reqd : 2 available : 4 rq_depth:0.900000 hotplug_avg_load_dw: 53
08-05 17:05:38.030 E/MP-Decision( 1004): UP cpu:1 core_idx:1 Nw:1.900000 Tw:140 total_time_up:0.000000
08-05 17:05:38.070 D/NATIVE ( 9515): Message:
08-05 17:05:38.070 D/NATIVE ( 9515): Message: Server is at @ T , trying raw login:
08-05 17:05:38.070 D/NATIVE ( 9515): Message: OK
08-05 17:05:38.070 D/NATIVE ( 9515): Message: Sending raw traffic directly to @ T 8av fv
08-05 17:05:38.080 D/NATIVE ( 9515): Message: Handshake successful, leave native code
08-05 17:05:38.080 D/VPN_SERVICE( 9515): Handshake successful
08-05 17:05:38.080 D/VPN_SERVICE( 9515): Send: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECTED (has extras) }
08-05 17:05:38.080 D/VPN_SERVICE( 9515): Build tunnel for configuration: ip=192.168.20.4 netbits=24 mtu=1130
08-05 17:05:38.080 D/VPN_SERVICE( 9515): Build tunnel interface
08-05 17:05:38.090 D/Vpn ( 703): setting state=CONNECTING, reason=establish
08-05 17:05:38.090 D/VpnJni ( 703): Address added on tun0: 192.168.20.4/24
08-05 17:05:38.110 D/FRAGMENT_STATUS( 9515): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECTED flg=0x10 (has extras) }
08-05 17:05:38.120 D/Vpn ( 703): setting state=FAILED, reason=establish
08-05 17:05:38.120 W/Netd ( 249): No subsystem found in netlink event
08-05 17:05:38.120 W/Netd ( 249): No subsystem found in netlink event
08-05 17:05:38.120 E/NetlinkEvent( 249): Unknown ifindex 14 in RTM_DELADDR
08-05 17:05:38.120 D/NetlinkEvent( 249): Unexpected netlink message. type=0x11
08-05 17:05:38.190 I/iptables( 249): iptables: No chain/target/match by that name.
08-05 17:05:38.190 I/iptables( 249): iptables terminated by exit(1)
08-05 17:05:38.190 E/Netd ( 249): exec() res=0, status=256 for /system/bin/iptables -t mangle -D st_mangle_POSTROUTING -p tcp -o tun0 --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
08-05 17:05:38.190 I/ip6tables( 249): ip6tables: No chain/target/match by that name.
08-05 17:05:38.210 I/ip6tables( 249): ip6tables terminated by exit(1)
08-05 17:05:38.210 E/Netd ( 249): exec() res=0, status=256 for /system/bin/ip6tables -t mangle -D st_mangle_POSTROUTING -p tcp -o tun0 --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
08-05 17:05:38.210 I/iptables( 249): iptables: No chain/target/match by that name.
08-05 17:05:38.210 I/iptables( 249): iptables terminated by exit(1)
08-05 17:05:38.210 E/Netd ( 249): exec() res=0, status=256 for /system/bin/iptables -t nat -D st_nat_POSTROUTING -o tun0 -m mark --mark 60 -j MASQUERADE
08-05 17:05:38.210 W/System.err( 9515): java.lang.IllegalStateException: command '93 interface fwmark rule add tun0' failed with '400 93 Failed to add fwmark rule (Success)'
08-05 17:05:38.210 W/System.err( 9515): at android.os.Parcel.readException(Parcel.java:1473)
08-05 17:05:38.210 W/System.err( 9515): at android.os.Parcel.readException(Parcel.java:1419)
08-05 17:05:38.210 W/System.err( 9515): at android.net.IConnectivityManager$Stub$Proxy.establishVpn(IConnectivityManager.java:1564)
08-05 17:05:38.210 W/System.err( 9515): at android.net.VpnService$Builder.establish(VpnService.java:472)
08-05 17:05:38.210 W/System.err( 9515): at org.xapek.andiodine.IodineVpnService.runTunnel(IodineVpnService.java:317)
08-05 17:05:38.210 W/System.err( 9515): at org.xapek.andiodine.IodineVpnService.run(IodineVpnService.java:224)
08-05 17:05:38.210 W/System.err( 9515): at java.lang.Thread.run(Thread.java:841)
08-05 17:05:38.210 D/VPN_SERVICE( 9515): Send: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_ERROR (has extras) }
08-05 17:05:38.220 D/VPN_SERVICE( 9515): VPN Thread exit
08-05 17:05:38.220 D/MAIN ( 9515): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_ERROR flg=0x10 (has extras) }
08-05 17:05:38.230 D/FRAGMENT_STATUS( 9515): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_ERROR flg=0x10 (has extras) }
Any idea?
I read somewhere that Iodine is not secure (dns?) and you need to route it to another tunnel like OPenVPN how can I achieve this using the android app?
BTW, On android 7.1.2 the program crashes after randomly.
I get strange output from andiodine, see http://www.kleine-koenig.org/tmp/andiodine.png. Calling upstreams iodine 0.7 (installed via adb and run from adb shell) seems to work fine.
Any hints?
The downstream fragment size (cmdline -m) is currently hardcoded to 'auto'.
https://github.com/frekky/iodine
i've tested both vanilla iodine and frekky's fork on my 3g connection and saw 2.5x speed improvement.
Current workaround is to start the iodined server with "-m 1280".
See also issue #4
default
Hi,
I could not get Andiodine work on HTC EVO Design 4G. I find the CPU of HTC EVO is armv7 and current Andiodine verion only supports armeabi x86. Will it be possible to modify and recompile the source code to make it run on ARMv7? I am not a programmer so hopefully my question makes sense.
Thanks!
hi,
Due to recent changes to the github platform this project has moved to gitlab.com for hosting.
could you share what changed made you move?
thanks!
My Galaxy S24 Ultra is running on Android 14. App no longer works. However, it works for Android 13 on my Galaxy Tab S7.
I've tried other VPN apps and they work for me
--------- beginning of /dev/log/main
E/SMD (27542): smd Interface open failed errno is 517 -1
--------- beginning of /dev/log/system
D/STATUSBAR-NetworkController( 1317): refreshSignalCluster - setNWBoosterIndicators(false)
D/STATUSBAR-NetworkController( 1317): refreshSignalCluster: data=0 bt=false
D/STATUSBAR-IconMerger( 1317): checkOverflow(576), More:false, Req:false Child:2
E/Watchdog( 1065): !@Sync 1305
E/SMD (27542): smd Interface open failed errno is 517 -1
D/STATUSBAR-NetworkController( 1317): refreshSignalCluster - setNWBoosterIndicators(false)
D/STATUSBAR-NetworkController( 1317): refreshSignalCluster: data=0 bt=false
D/STATUSBAR-IconMerger( 1317): checkOverflow(576), More:false, Req:false Child:2
D/STATUSBAR-NetworkController( 1317): onSignalStrengthsChanged signalStrength=SignalStrength: 6 -1 -1 -1 -1 -1 -1 99 2147483647 2147483647 2147483647 -1 2147483647 gsm|lte 0x2 level=2
E/SMD (27542): smd Interface open failed errno is 517 -1
D/STATUSBAR-NetworkController( 1317): refreshSignalCluster - setNWBoosterIndicators(false)
D/STATUSBAR-NetworkController( 1317): refreshSignalCluster: data=0 bt=false
D/STATUSBAR-IconMerger( 1317): checkOverflow(576), More:false, Req:false Child:2
D/STATUSBAR-NetworkController( 1317): onSignalStrengthsChanged signalStrength=SignalStrength: 6 -1 -1 -1 -1 -1 -1 99 2147483647 2147483647 2147483647 -1 2147483647 gsm|lte 0x2 level=2
D/InputReader( 1065): Input event: value=1
I/InputReader( 1065): Touch event's action is 0x0 (deviceType=0) [pCnt=1, s=0.7877 ] when=39231333223000
I/InputDispatcher( 1065): Delivering touch to (1317): action: 0x4, toolType: 1
I/InputDispatcher( 1065): Delivering touch to (4088): action: 0x4, toolType: 1
I/InputDispatcher( 1065): Delivering touch to (26702): action: 0x0, toolType: 1
D/InputReader( 1065): Input event: value=0
I/InputReader( 1065): Touch event's action is 0x1 (deviceType=0) [pCnt=1, s=] when=39231408505000
I/InputDispatcher( 1065): Delivering touch to (26702): action: 0x1, toolType: 1
D/ConnectivityService( 1065): prepare is called by org.xapek.andiodine
I/SpenGestureManager( 1065): setFocusWindow0
D/PointerIcon( 1065): setMouseIconStyle1 pointerType: 1001iconType:101 flag:0
D/PointerIcon( 1065): setMouseCustomIcon IconType is same.101
D/PointerIcon( 1065): setHoveringSpenIconStyle1 pointerType: 10001iconType:1 flag:0
D/PointerIcon( 1065): setHoveringSpenCustomIcon IconType is same.1
D/STATUSBAR-StatusBarManagerService( 1065): manageDisableList what=0x0 pkg=WindowManager.LayoutParams
I/SurfaceFlinger( 417): id=3078 createSurf (1x1),1 flag=4, JodineMain
D/KeyguardUpdateMonitor( 1317): sendKeyguardVisibilityChanged(true)
D/KeyguardUpdateMonitor( 1317): handleKeyguardVisibilityChanged(1)
D/KeyguardUpdateMonitor( 1317): sendKeyguardVisibilityChanged(true)
D/KeyguardUpdateMonitor( 1317): handleKeyguardVisibilityChanged(1)
D/KeyguardUpdateMonitor( 1317): sendKeyguardVisibilityChanged(true)
D/KeyguardUpdateMonitor( 1317): handleKeyguardVisibilityChanged(1)
D/KeyguardUpdateMonitor( 1317): sendKeyguardVisibilityChanged(true)
D/KeyguardUpdateMonitor( 1317): handleKeyguardVisibilityChanged(1)
D/KeyguardUpdateMonitor( 1317): sendKeyguardVisibilityChanged(true)
D/KeyguardUpdateMonitor( 1317): handleKeyguardVisibilityChanged(1)
E/SMD (27542): smd Interface open failed errno is 517 -1
D/KeyguardUpdateMonitor( 1317): sendKeyguardVisibilityChanged(true)
D/KeyguardUpdateMonitor( 1317): handleKeyguardVisibilityChanged(1)
E/SMD (27542): smd Interface open failed errno is 517 -1
D/InputReader( 1065): Input event: value=1
I/InputReader( 1065): Touch event's action is 0x0 (deviceType=0) [pCnt=1, s=0.7878 ] when=39233031528000
I/InputDispatcher( 1065): Delivering touch to (1317): action: 0x4, toolType: 1
I/InputDispatcher( 1065): Delivering touch to (4088): action: 0x4, toolType: 1
I/InputDispatcher( 1065): Delivering touch to (26702): action: 0x0, toolType: 1
D/InputReader( 1065): Input event: value=0
I/InputReader( 1065): Touch event's action is 0x1 (deviceType=0) [pCnt=1, s=] when=39233096080000
I/InputDispatcher( 1065): Delivering touch to (26702): action: 0x1, toolType: 1
D/FRAGMENT_LIST(26702): Call VPN Service for configuration: 1
I/SpenGestureManager( 1065): setFocusWindow21015
D/STATUSBAR-StatusBarManagerService( 1065): manageDisableList what=0x0 pkg=WindowManager.LayoutParams
D/KeyguardUpdateMonitor( 1317): sendKeyguardVisibilityChanged(true)
D/KeyguardUpdateMonitor( 1317): handleKeyguardVisibilityChanged(1)
D/PointerIcon( 1065): setMouseIconStyle1 pointerType: 1001iconType:101 flag:0
D/PointerIcon( 1065): setMouseCustomIcon IconType is same.101
D/PointerIcon( 1065): setHoveringSpenIconStyle1 pointerType: 10001iconType:1 flag:0
D/PointerIcon( 1065): setHoveringSpenCustomIcon IconType is same.1
D/ConfigDatabase(26702): Selected: [IodineConfiguration name=Default]
D/VPN_SERVICE(26702): VPN Thread enter
D/VPN_SERVICE(26702): Send status: org.xapek.andiodine.IodineVpnService.STATUS_CONNECT
D/VPN_SERVICE(26702): Send: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT (has extras) }
E/ViewRootImpl(26702): sendUserActionEvent() mView == null
E/iodine (26702): Topdomain from vm: xxx.yyy.net
E/iodine (26702): Topdomain from vm: xxx.yyy.net
I/Iodine (26702): Opened IPv4 UDP socket
D/MAIN (26702): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT flg=0x10 (has extras) }
W/InputMethodManagerService( 1065): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@439b2710 attribute=null, token = android.os.BinderProxy@436ee298
I/Iodine (26702): Using DNS type NULL queries
D/dalvikvm(26702): GC_CONCURRENT freed 1939K, 18% free 27117K/33028K, paused 4ms+4ms, total 65ms
D/ (26702): DFactory start
D/ (26702): This is decoding
D/ (26702): onDecode : stream read 202 bytes, ptr = 0x7b57b8f0
D/ (26702): onDecode : QmageDecParseHeader call : QM
D/ (26702): Qmage parsing for decoding ok
D/ (26702): onDecode : QmageDecParseHeader 9patched image
D/ (26702): onDecode : QmageDecParseHeader 9patched image end
D/ (26702): onDecode : QmageHeader Height() 96 Width() : 78 sampleSize : 1
D/ (26702): Qmage Make Color table[4]
D/ (26702): Qmage Mae Color table end
D/ (26702): 1 to 1 Index mode decoding
D/ (26702): 1 to 1 Index mode decoding end
D/ (26702): onDecode : return true
D/VPN_SERVICE(26702): Send status: org.xapek.andiodine.IodineVpnService.STATUS_CONNECT
D/VPN_SERVICE(26702): Send: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT (has extras) }
I/Iodine (26702): Version ok, both using protocol v 0x00000502. You are user #0
D/MAIN (26702): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT flg=0x10 (has extras) }
D/FRAGMENT_STATUS(26702): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECT flg=0x10 (has extras) }
I/Iodine (26702): Server tunnel IP is 192.0.2.1
I/Iodine (26702): Skipping raw mode
I/Iodine (26702): Using EDNS0 extension
D/AbsListView(26702): onDetachedFromWindow
D/KeyguardUpdateMonitor( 1317): sendKeyguardVisibilityChanged(true)
D/KeyguardUpdateMonitor( 1317): handleKeyguardVisibilityChanged(1)
I/SurfaceFlinger( 417): id=3078 Removed JodineMain (11/13)
I/SurfaceFlinger( 417): id=3078 Removed JodineMain (-2/13)
D/KeyguardUpdateMonitor( 1317): sendKeyguardVisibilityChanged(true)
D/KeyguardUpdateMonitor( 1317): handleKeyguardVisibilityChanged(1)
I/Iodine (26702): Switching upstream to codec Base128
I/Iodine (26702): Server switched upstream to codec Base128
I/Iodine (26702): No alternative downstream codec available, using default (Raw)
I/Iodine (26702): Switching to lazy mode for low-latency
I/Iodine (26702): Server switched to lazy mode
I/Iodine (26702): Autoprobing max downstream fragment size... (skip with -m fragsize)
I/Iodine (26702): 768 ok..
I/Iodine (26702): 1152 ok..
E/SMD (27542): smd Interface open failed errno is 517 -1
D/STATUSBAR-NetworkController( 1317): onSignalStrengthsChanged signalStrength=SignalStrength: 6 -1 -1 -1 -1 -1 -1 99 2147483647 2147483647 2147483647 -1 2147483647 gsm|lte 0x2 level=2
I/Iodine (26702): .
E/SMD (27542): smd Interface open failed errno is 517 -1
D/SSRMv2:SIOP( 1065): SIOP:: AP = 270 (0), Delta = 0
I/Iodine (26702): .
E/SMD (27542): smd Interface open failed errno is 517 -1
I/Iodine (26702): .
I/Iodine (26702): 1344 not ok..
D/STATUSBAR-NetworkController( 1317): onSignalStrengthsChanged signalStrength=SignalStrength: 6 -1 -1 -1 -1 -1 -1 99 2147483647 2147483647 2147483647 -1 2147483647 gsm|lte 0x2 level=2
E/SMD (27542): smd Interface open failed errno is 517 -1
D/STATUSBAR-NetworkController( 1317): onSignalStrengthsChanged signalStrength=SignalStrength: 6 -1 -1 -1 -1 -1 -1 99 2147483647 2147483647 2147483647 -1 2147483647 gsm|lte 0x2 level=2
I/Iodine (26702): .
E/SMD (27542): smd Interface open failed errno is 517 -1
I/Iodine (26702): .
E/SMD (27542): smd Interface open failed errno is 517 -1
I/Iodine (26702): .
I/Iodine (26702): 1248 not ok..
E/SMD (27542): smd Interface open failed errno is 517 -1
I/Iodine (26702): .
D/dalvikvm( 8553): GC_CONCURRENT freed 1937K, 29% free 23649K/33028K, paused 32ms+6ms, total 229ms
D/STATUSBAR-NetworkController( 1317): onSignalStrengthsChanged signalStrength=SignalStrength: 5 -1 -1 -1 -1 -1 -1 99 2147483647 2147483647 2147483647 -1 2147483647 gsm|lte 0x2 level=2
D/STATUSBAR-NetworkController( 1317): onSignalStrengthsChanged signalStrength=SignalStrength: 5 -1 -1 -1 -1 -1 -1 99 2147483647 2147483647 2147483647 -1 2147483647 gsm|lte 0x2 level=2
E/SMD (27542): smd Interface open failed errno is 517 -1
I/Iodine (26702): .
D/STATUSBAR-NetworkController( 1317): onSignalStrengthsChanged signalStrength=SignalStrength: 4 -1 -1 -1 -1 -1 -1 99 2147483647 2147483647 2147483647 -1 2147483647 gsm|lte 0x1 level=1
D/STATUSBAR-NetworkController( 1317): refreshSignalCluster - setNWBoosterIndicators(false)
D/ ( 1317): DFactory start
D/ ( 1317): This is decoding
D/ ( 1317): onDecode : stream read 127 bytes, ptr = 0x7e857608
D/ ( 1317): onDecode : QmageDecParseHeader call : QM
D/ ( 1317): Qmage parsing for decoding ok
D/ ( 1317): onDecode : QmageHeader Height() 54 Width() : 54 sampleSize : 1
D/ ( 1317): Qmage Make Color table[5]
D/ ( 1317): Qmage Mae Color table end
D/ ( 1317): 1 to 1 Index mode decoding
D/ ( 1317): 1 to 1 Index mode decoding end
D/ ( 1317): onDecode : return true
D/STATUSBAR-NetworkController( 1317): refreshSignalCluster: data=0 bt=false
D/STATUSBAR-IconMerger( 1317): checkOverflow(576), More:false, Req:false Child:2
I/Iodine (26702): .
I/Iodine (26702): 1200 not ok..
I/Iodine (26702): 1176 ok..
I/Iodine (26702): 1188 ok..
I/Iodine (26702): will use 1188-2=1186
E/SMD (27542): smd Interface open failed errno is 517 -1
I/Iodine (26702): Setting downstream fragment size to max 1186...
I/Iodine (26702): Handshake successful, leave native code
D/VPN_SERVICE(26702): Handshake successful
D/VPN_SERVICE(26702): Send status: org.xapek.andiodine.IodineVpnService.STATUS_CONNECTED
D/VPN_SERVICE(26702): Send: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECTED (has extras) }
D/VPN_SERVICE(26702): Build tunnel for configuration: ip=192.0.2.2 netbits=27 mtu=1130
D/VPN_SERVICE(26702): Set default route
D/VPN_SERVICE(26702): Build tunnel interface
D/ConnectivityService( 1065): establishVpn called
D/Tethering( 1065): interfaceAdded tun0
D/Tethering( 1065): tun0 is not a tetherable iface, ignoring
D/MAIN (26702): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECTED flg=0x10 (has extras) }
D/FRAGMENT_STATUS(26702): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_CONNECTED flg=0x10 (has extras) }
D/Tethering( 1065): interfaceLinkStateChanged tun0, false
D/Tethering( 1065): interfaceStatusChanged tun0, false
D/Tethering( 1065): interfaceLinkStateChanged tun0, true
D/Tethering( 1065): interfaceStatusChanged tun0, true
D/Vpn ( 1065): setting state=CONNECTING, reason=establish
D/Tethering( 1065): interfaceLinkStateChanged tun0, true
D/Tethering( 1065): interfaceStatusChanged tun0, true
D/VpnJni ( 1065): Address added on tun0: 192.0.2.2/27
D/Vpn ( 1065): setting state=FAILED, reason=establish
D/Tethering( 1065): interfaceLinkStateChanged tun0, false
D/Tethering( 1065): interfaceStatusChanged tun0, false
W/Netd ( 406): No subsystem found in netlink event
W/Netd ( 406): No subsystem found in netlink event
D/Tethering( 1065): interfaceRemoved tun0
E/Tethering( 1065): attempting to remove unknown iface (tun0), ignoring
D/Vpn ( 1065): Interface removed : tun0
E/NetlinkEvent( 406): Unknown ifindex 19 in RTM_DELADDR
D/NetlinkEvent( 406): Unexpected netlink message. type=0x11
I/iptables( 406): iptables: No chain/target/match by that name.
I/iptables( 406): iptables terminated by exit(1)
E/Netd ( 406): exec() res=0, status=256 for /system/bin/iptables -t mangle -D st_mangle_POSTROUTING -p tcp -o tun0 --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
I/ip6tables( 406): ip6tables: No chain/target/match by that name.
I/ip6tables( 406): ip6tables terminated by exit(1)
E/Netd ( 406): exec() res=0, status=256 for /system/bin/ip6tables -t mangle -D st_mangle_POSTROUTING -p tcp -o tun0 --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
I/iptables( 406): iptables: No chain/target/match by that name.
I/iptables( 406): iptables terminated by exit(1)
E/Netd ( 406): exec() res=0, status=256 for /system/bin/iptables -t nat -D st_nat_POSTROUTING -o tun0 -m mark --mark 62 -j MASQUERADE
W/System.err(26702): org.xapek.andiodine.IodineVpnService$IodineVpnException: Error while creating interface, please check issue #9 at https://github.com/yvesf/andiodine/issues/9
W/System.err(26702): at org.xapek.andiodine.IodineVpnService.runTunnel(IodineVpnService.java:327)
W/System.err(26702): at org.xapek.andiodine.IodineVpnService.run(IodineVpnService.java:229)
W/System.err(26702): at java.lang.Thread.run(Thread.java:841)
D/VPN_SERVICE(26702): Send status: org.xapek.andiodine.IodineVpnService.STATUS_ERROR
D/VPN_SERVICE(26702): Send: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_ERROR (has extras) }
D/VPN_SERVICE(26702): VPN Thread exit
D/MAIN (26702): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_ERROR flg=0x10 (has extras) }
D/AbsListView(26702): Get MotionRecognitionManager
D/FRAGMENT_STATUS(26702): Got intent: Intent { act=org.xapek.andiodine.IodineVpnService.STATUS_ERROR flg=0x10 (has extras) }
D/ (26702): DFactory start
D/ (26702): This is decoding
D/ (26702): onDecode : stream read 93 bytes, ptr = 0x7993ddc0
D/ (26702): onDecode : QmageDecParseHeader call : QM
D/ (26702): Qmage parsing for decoding ok
D/ (26702): onDecode : QmageDecParseHeader 9patched image
D/ (26702): onDecode : QmageDecParseHeader 9patched image end
D/ (26702): onDecode : QmageHeader Height() 75 Width() : 75 sampleSize : 1
D/ (26702): Qmage Make Color table[1]
D/ (26702): Qmage Mae Color table end
D/ (26702): 1 to 1 Index mode decoding
D/ (26702): 1 to 1 Index mode decoding end
D/ (26702): onDecode : return true
D/ (26702): DFactory start
D/ (26702): isQmage : stream is not a Qmage file
D/ (26702): DFactory start
D/ (26702): This is decoding
D/ (26702): onDecode : stream read 678 bytes, ptr = 0x7a9f32b0
D/ (26702): onDecode : QmageDecParseHeader call : QM
D/ (26702): Qmage parsing for decoding ok
D/ (26702): onDecode : QmageDecParseHeader 9patched image
D/ (26702): onDecode : QmageDecParseHeader 9patched image end
D/ (26702): onDecode : QmageHeader Height() 150 Width() : 150 sampleSize : 1
D/ (26702): Qmage Make Color table[77]
D/ (26702): Qmage Mae Color table end
D/ (26702): 1 to 1 Index mode decoding
D/ (26702): 1 to 1 Index mode decoding end
D/ (26702): onDecode : return true
I/SpenGestureManager( 1065): setFocusWindow0
D/PointerIcon( 1065): setMouseIconStyle1 pointerType: 1001iconType:101 flag:0
D/PointerIcon( 1065): setMouseCustomIcon IconType is same.101
D/PointerIcon( 1065): setHoveringSpenIconStyle1 pointerType: 10001iconType:1 flag:0
D/PointerIcon( 1065): setHoveringSpenCustomIcon IconType is same.1
D/STATUSBAR-StatusBarManagerService( 1065): manageDisableList what=0x0 pkg=WindowManager.LayoutParams
I/SurfaceFlinger( 417): id=3079 createSurf (1x1),1 flag=4, JodineMain
D/KeyguardUpdateMonitor( 1317): sendKeyguardVisibilityChanged(true)
D/KeyguardUpdateMonitor( 1317): handleKeyguardVisibilityChanged(1)
D/KeyguardUpdateMonitor( 1317): sendKeyguardVisibilityChanged(true)
D/KeyguardUpdateMonitor( 1317): handleKeyguardVisibilityChanged(1)
D/KeyguardUpdateMonitor( 1317): sendKeyguardVisibilityChanged(true)
D/KeyguardUpdateMonitor( 1317): handleKeyguardVisibilityChanged(1)
D/KeyguardUpdateMonitor( 1317): sendKeyguardVisibilityChanged(true)
D/KeyguardUpdateMonitor( 1317): handleKeyguardVisibilityChanged(1)
D/KeyguardUpdateMonitor( 1317): sendKeyguardVisibilityChanged(true)
D/KeyguardUpdateMonitor( 1317): handleKeyguardVisibilityChanged(1)
D/KeyguardUpdateMonitor( 1317): sendKeyguardVisibilityChanged(true)
D/KeyguardUpdateMonitor( 1317): handleKeyguardVisibilityChanged(1)
E/SMD (27542): smd Interface open failed errno is 517 -1
The F-droid version of AndIodine is outdated - https://f-droid.org/en/packages/org.xapek.andiodine/
Hi, I'm on android 7.1.2, f-droid andiodine build (1.3).
Connecting to the tunnel does work. After the packet size negitiation, I can use a terminal emulator and connect to my server (10.0.0.1) through the tunnel. However. even if android tells me that I'm connected to a VPN, no app can access the internet through it.
I don't know if this is known or how to debug it (i can run a logcat if needed)
Logging passwords is probably not a good idea. Example log line:
08-05 17:05:37.900 D/ConfigDatabase( 9515): Selected: last_used=null id=1 nameserver= raw_mode=1 nameserver_mode=LEAVE_DEFAULT top_domain=$DOMAIN request_type=AUTODETECT lazy_mode=1 default_route=0 name=$NAME DNS password=$PW tunnel_nameserver=
See also: http://www.androidpit.de/de/android/wiki/view/Logcat
when i click on the key-icon in the android notification bar a VPN-Popup with connection details is shown by android. The popup has two buttons. When i press the disconnect button the DNS tunnel is disconnected and andiodine crashes with the android default "Application crashed" dialog.
I am running Andiodine under Android 13 (AOSP) and experience a total block of traffic when the option "activate standard route" is chosen (without that option I can ping the remote server at, in my case, tunnel IP 10.0.0.1). The reason seems to be that no exception is made for the traffic to the remote name server. A root shell reveals that all traffic seems routed through a table "tun0", on which only the tunnel interface is listed:
ip route show table tun0 gives:
default dev tun0 proto static scope link
10.0.0.0/27 dev tun0 proto static scope link
Also, for the name server 192.168.1.1, through which the DNS requests are routed, the default route is mistakenly set to table tun0:
ip route get 192.168.1.1 gives:
192.168.1.1 dev tun0 table tun0 src 10.0.0.2 uid 0
Hey,
I'am looking for the current andiodine apk.
Do I have to compile it myself?
Because via Fdroid I can only download v1.0, I think.
(https://f-droid.org/wiki/page/org.xapek.andiodine)
Thank you, Nils
Will there be an apk release of version 1.5? I appreciate you may have limited time but I have to ask.
I have set Request Type to something other than AUTODETECT, but it still attempts to autodetect. Is this field being used when connecting?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.