massive cleanup of merged code from Ony fork
removal/comment out of LoggerFactory log system
This commit is contained in:
parent
a78e458a43
commit
d63d10d8ae
|
@ -13,3 +13,4 @@ target=android-21
|
|||
android.library.reference.1=external/appcompat
|
||||
android.library.reference.2=external/superuser-commands/RootCommands-Library
|
||||
android.library.reference.3=../Orweb
|
||||
android.library.reference.4=../OnionKit/libnetcipher
|
||||
|
|
|
@ -9,9 +9,6 @@ import java.util.Hashtable;
|
|||
import java.util.Properties;
|
||||
import java.util.StringTokenizer;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import com.runjva.sourceforge.jsocks.protocol.InetRange;
|
||||
import com.runjva.sourceforge.jsocks.protocol.ProxyServer;
|
||||
import com.runjva.sourceforge.jsocks.protocol.SocksProxyBase;
|
||||
|
@ -20,7 +17,6 @@ import com.runjva.sourceforge.jsocks.server.IdentAuthenticator;
|
|||
public class SOCKS {
|
||||
|
||||
private static final int DEFAULT_LISTENING_PORT = 1080;
|
||||
final private static Logger log = LoggerFactory.getLogger(SOCKS.class);
|
||||
|
||||
static public void usage() {
|
||||
System.out.println("Usage: java SOCKS [inifile1 inifile2 ...]\n"
|
||||
|
@ -258,7 +254,7 @@ public class SOCKS {
|
|||
// /////////////////
|
||||
|
||||
static void inform(String s) {
|
||||
log.info(s);
|
||||
// log.info(s);
|
||||
}
|
||||
|
||||
static void exit(String msg) {
|
||||
|
|
|
@ -15,9 +15,7 @@ import java.net.Socket;
|
|||
import java.net.SocketAddress;
|
||||
import java.nio.channels.SocketChannel;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.net.VpnService;
|
||||
|
||||
import com.runjva.sourceforge.jsocks.server.ServerAuthenticator;
|
||||
|
@ -60,7 +58,6 @@ public class ProxyServer implements Runnable {
|
|||
static int iddleTimeout = 180000; // 3 minutes
|
||||
static int acceptTimeout = 180000; // 3 minutes
|
||||
|
||||
static Logger log = LoggerFactory.getLogger(ProxyServer.class);
|
||||
static SocksProxyBase proxy;
|
||||
|
||||
static VpnService vpnService;
|
||||
|
@ -181,13 +178,13 @@ public class ProxyServer implements Runnable {
|
|||
ss = new ServerSocket(port, backlog, localIP);
|
||||
final String address = ss.getInetAddress().getHostAddress();
|
||||
final int localPort = ss.getLocalPort();
|
||||
log.info("Starting SOCKS Proxy on: {}:{}", address, localPort);
|
||||
debug("Starting SOCKS Proxy on: {}:{}", address, localPort);
|
||||
|
||||
while (true) {
|
||||
final Socket s = ss.accept();
|
||||
final String hostName = s.getInetAddress().getHostName();
|
||||
final int port2 = s.getPort();
|
||||
log.info("Accepted from:{}:{}", hostName, port2);
|
||||
debug("Accepted from:{}:{}", hostName, port2);
|
||||
|
||||
final ProxyServer ps = new ProxyServer(auth, s);
|
||||
(new Thread(ps)).start();
|
||||
|
@ -226,7 +223,7 @@ public class ProxyServer implements Runnable {
|
|||
if (auth != null) {
|
||||
auth.endSession();
|
||||
}
|
||||
log.info("Main thread(client->remote)stopped.");
|
||||
debug("Main thread(client->remote)stopped.");
|
||||
}
|
||||
break;
|
||||
case ACCEPT_MODE:
|
||||
|
@ -242,7 +239,7 @@ public class ProxyServer implements Runnable {
|
|||
handleException(ioe);
|
||||
} finally {
|
||||
abort();
|
||||
log.info("Accept thread(remote->client) stopped");
|
||||
debug("Accept thread(remote->client) stopped");
|
||||
}
|
||||
break;
|
||||
case PIPE_MODE:
|
||||
|
@ -251,13 +248,13 @@ public class ProxyServer implements Runnable {
|
|||
} catch (final IOException ioe) {
|
||||
} finally {
|
||||
abort();
|
||||
log.info("Support thread(remote->client) stopped");
|
||||
debug("Support thread(remote->client) stopped");
|
||||
}
|
||||
break;
|
||||
case ABORT_MODE:
|
||||
break;
|
||||
default:
|
||||
log.warn("Unexpected MODE " + mode);
|
||||
debug("Unexpected MODE " + mode);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -269,13 +266,13 @@ public class ProxyServer implements Runnable {
|
|||
try {
|
||||
auth = auth.startSession(sock);
|
||||
} catch (final IOException ioe) {
|
||||
log.warn("Auth throwed exception:", ioe);
|
||||
debug("Auth throwed exception:", ioe);
|
||||
auth = null;
|
||||
return;
|
||||
}
|
||||
|
||||
if (auth == null) { // Authentication failed
|
||||
log.info("Authentication failed");
|
||||
debug("Authentication failed");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -350,6 +347,7 @@ public class ProxyServer implements Runnable {
|
|||
sendErrorMessage(error_code);
|
||||
}
|
||||
|
||||
@SuppressLint("NewApi")
|
||||
private void onConnect(final ProxyMessage msg) throws IOException {
|
||||
Socket s;
|
||||
|
||||
|
@ -370,7 +368,7 @@ public class ProxyServer implements Runnable {
|
|||
if (vpnService != null)
|
||||
vpnService.protect(s);
|
||||
|
||||
log.info("Connected to " + s.getInetAddress() + ":" + s.getPort());
|
||||
debug("Connected to " + s.getInetAddress() + ":" + s.getPort());
|
||||
|
||||
ProxyMessage response = null;
|
||||
final InetAddress localAddress = s.getLocalAddress();
|
||||
|
@ -401,7 +399,7 @@ public class ProxyServer implements Runnable {
|
|||
|
||||
final InetAddress inetAddress = ss.getInetAddress();
|
||||
final int localPort = ss.getLocalPort();
|
||||
log.info("Trying accept on {}:{}", inetAddress, localPort);
|
||||
debug("Trying accept on {}:{}", inetAddress, localPort);
|
||||
|
||||
if (msg.version == 5) {
|
||||
final int cmd = SocksProxyBase.SOCKS_SUCCESS;
|
||||
|
@ -434,10 +432,10 @@ public class ProxyServer implements Runnable {
|
|||
}
|
||||
}
|
||||
} catch (final EOFException e) {
|
||||
log.debug("Connection closed while we were trying to accept", e);
|
||||
debug("Connection closed while we were trying to accept", e);
|
||||
return;
|
||||
} catch (final InterruptedIOException e) {
|
||||
log.debug("Interrupted by unsucessful accept thread", e);
|
||||
debug("Interrupted by unsucessful accept thread", e);
|
||||
if (mode != PIPE_MODE) {
|
||||
return;
|
||||
}
|
||||
|
@ -459,7 +457,7 @@ public class ProxyServer implements Runnable {
|
|||
if (msg.ip.getHostAddress().equals("0.0.0.0")) {
|
||||
msg.ip = sock.getInetAddress();
|
||||
}
|
||||
log.info("Creating UDP relay server for {}:{}", msg.ip, msg.port);
|
||||
debug("Creating UDP relay server for {}:{}", msg.ip, msg.port);
|
||||
|
||||
relayServer = new UDPRelayServer(msg.ip, msg.port,
|
||||
Thread.currentThread(), sock, auth);
|
||||
|
@ -527,7 +525,7 @@ public class ProxyServer implements Runnable {
|
|||
|
||||
final InetAddress inetAddress = s.getInetAddress();
|
||||
final int port = s.getPort();
|
||||
log.info("Accepted from {}:{}", s.getInetAddress(), port);
|
||||
debug("Accepted from {}:{}", s.getInetAddress(), port);
|
||||
|
||||
ProxyMessage response;
|
||||
|
||||
|
@ -597,7 +595,7 @@ public class ProxyServer implements Runnable {
|
|||
}
|
||||
mode = ABORT_MODE;
|
||||
try {
|
||||
log.info("Aborting operation");
|
||||
debug("Aborting operation");
|
||||
if (remote_sock != null) {
|
||||
remote_sock.close();
|
||||
}
|
||||
|
@ -621,11 +619,11 @@ public class ProxyServer implements Runnable {
|
|||
}
|
||||
|
||||
static final void log(final ProxyMessage msg) {
|
||||
log.debug("Request version: {}, Command: ", msg.version,
|
||||
debug("Request version: {}, Command: ", msg.version,
|
||||
command2String(msg.command));
|
||||
|
||||
final String user = msg.version == 4 ? ", User:" + msg.user : "";
|
||||
log.debug("IP:" + msg.ip + ", Port:" + msg.port + user);
|
||||
debug("IP:" + msg.ip + ", Port:" + msg.port + user);
|
||||
}
|
||||
|
||||
private void pipe(final InputStream in, final OutputStream out)
|
||||
|
@ -666,4 +664,29 @@ public class ProxyServer implements Runnable {
|
|||
return "Unknown Command " + cmd;
|
||||
}
|
||||
}
|
||||
|
||||
public static void debug (String msg)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public static void debug (String msg, String host, int port)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public static void debug (String msg, Exception e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public static void debug (String msg, InetAddress addr, int port)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public static void debug (String msg, int type, String log)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,9 +7,6 @@ import java.net.DatagramPacket;
|
|||
import java.net.DatagramSocket;
|
||||
import java.net.InetAddress;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* Datagram socket to interract through the firewall.<BR>
|
||||
* Can be used same way as the normal DatagramSocket. One should be carefull
|
||||
|
@ -44,8 +41,6 @@ public class Socks5DatagramSocket extends DatagramSocket {
|
|||
private boolean server_mode = false;
|
||||
UDPEncapsulation encapsulation;
|
||||
|
||||
private Logger log = LoggerFactory.getLogger(Socks5DatagramSocket.class);
|
||||
|
||||
/**
|
||||
* Construct Datagram socket for communication over SOCKS5 proxy server.
|
||||
* This constructor uses default proxy, the one set with
|
||||
|
@ -126,8 +121,8 @@ public class Socks5DatagramSocket extends DatagramSocket {
|
|||
|
||||
encapsulation = proxy.udp_encapsulation;
|
||||
|
||||
log.debug("Datagram Socket:{}:{}", getLocalAddress(), getLocalPort());
|
||||
log.debug("Socks5Datagram: {}:{}", relayIP, relayPort);
|
||||
// log.debug("Datagram Socket:{}:{}", getLocalAddress(), getLocalPort());
|
||||
// log.debug("Socks5Datagram: {}:{}", relayIP, relayPort);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -163,7 +158,7 @@ public class Socks5DatagramSocket extends DatagramSocket {
|
|||
// If the host should be accessed directly, send it as is.
|
||||
if (!server_mode && proxy.isDirect(dp.getAddress())) {
|
||||
super.send(dp);
|
||||
log.debug("Sending datagram packet directly:");
|
||||
// log.debug("Sending datagram packet directly:");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -386,7 +381,7 @@ public class Socks5DatagramSocket extends DatagramSocket {
|
|||
if (eof < 0) {
|
||||
return false; // EOF encountered.
|
||||
} else {
|
||||
log.warn("This really should not happen");
|
||||
//log.warn("This really should not happen");
|
||||
return true; // This really should not happen
|
||||
}
|
||||
|
||||
|
|
|
@ -7,9 +7,6 @@ import java.io.OutputStream;
|
|||
import java.net.InetAddress;
|
||||
import java.net.UnknownHostException;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* SOCKS5 request/response message.
|
||||
*/
|
||||
|
@ -20,7 +17,6 @@ class Socks5Message extends ProxyMessage {
|
|||
|
||||
byte[] data;
|
||||
|
||||
private Logger log = LoggerFactory.getLogger(Socks5Message.class);
|
||||
|
||||
/**
|
||||
* Server error response.
|
||||
|
@ -98,8 +94,6 @@ class Socks5Message extends ProxyMessage {
|
|||
this.host = hostName;
|
||||
this.version = SOCKS_VERSION;
|
||||
|
||||
log.debug("Doing ATYP_DOMAINNAME");
|
||||
|
||||
addrType = SOCKS_ATYP_DOMAINNAME;
|
||||
final byte addr[] = hostName.getBytes();
|
||||
|
||||
|
@ -215,7 +209,7 @@ class Socks5Message extends ProxyMessage {
|
|||
host = bytes2IPV6(addr, 0);
|
||||
break;
|
||||
case SOCKS_ATYP_DOMAINNAME:
|
||||
log.debug("Reading ATYP_DOMAINNAME");
|
||||
// log.debug("Reading ATYP_DOMAINNAME");
|
||||
addr = new byte[di.readUnsignedByte()];// Next byte shows the length
|
||||
di.readFully(addr);
|
||||
host = new String(addr);
|
||||
|
|
|
@ -8,9 +8,6 @@ import java.net.Socket;
|
|||
import java.net.SocketException;
|
||||
import java.net.UnknownHostException;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* SocksSocket tryies to look very similar to normal Socket, while allowing
|
||||
* connections through the SOCKS4 or 5 proxy. To use this class you will have to
|
||||
|
@ -57,7 +54,7 @@ public class SocksSocket extends Socket {
|
|||
protected int localPort, remotePort;
|
||||
|
||||
private Socket directSock = null;
|
||||
private Logger log = LoggerFactory.getLogger(SocksSocket.class);
|
||||
//private Logger log = LoggerFactory.getLogger(SocksSocket.class);
|
||||
|
||||
/**
|
||||
* Tryies to connect to given host and port using default proxy. If no
|
||||
|
@ -373,7 +370,7 @@ public class SocksSocket extends Socket {
|
|||
|
||||
private void doDirect() throws SocksException {
|
||||
try {
|
||||
log.debug("IP: {}_{}", remoteIP, remotePort);
|
||||
// log.debug("IP: {}_{}", remoteIP, remotePort);
|
||||
directSock = new Socket(remoteIP, remotePort);
|
||||
proxy.out = directSock.getOutputStream();
|
||||
proxy.in = directSock.getInputStream();
|
||||
|
|
|
@ -8,9 +8,6 @@ import java.net.InetAddress;
|
|||
import java.net.Socket;
|
||||
import java.net.UnknownHostException;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import com.runjva.sourceforge.jsocks.server.ServerAuthenticator;
|
||||
|
||||
/**
|
||||
|
@ -33,7 +30,7 @@ class UDPRelayServer implements Runnable {
|
|||
|
||||
long lastReadTime;
|
||||
|
||||
static Logger log = LoggerFactory.getLogger(UDPRelayServer.class);
|
||||
// static Logger log = LoggerFactory.getLogger(UDPRelayServer.class);
|
||||
static SocksProxyBase proxy = null;
|
||||
static int datagramSize = 0xFFFF;// 64K, a bit more than max udp size
|
||||
static int iddleTimeout = 180000;// 3 minutes
|
||||
|
@ -124,9 +121,9 @@ class UDPRelayServer implements Runnable {
|
|||
remote_sock.setSoTimeout(iddleTimeout);
|
||||
client_sock.setSoTimeout(iddleTimeout);
|
||||
|
||||
log.info("Starting UDP relay server on {}:{}", relayIP, relayPort);
|
||||
log.info("Remote socket {}:{}", remote_sock.getLocalAddress(),
|
||||
remote_sock.getLocalPort());
|
||||
//log.info("Starting UDP relay server on {}:{}", relayIP, relayPort);
|
||||
// log.info("Remote socket {}:{}", remote_sock.getLocalAddress(),
|
||||
// remote_sock.getLocalPort());
|
||||
|
||||
pipe_thread1 = new Thread(this, "pipe1");
|
||||
pipe_thread2 = new Thread(this, "pipe2");
|
||||
|
@ -160,8 +157,8 @@ class UDPRelayServer implements Runnable {
|
|||
} catch (final IOException ioe) {
|
||||
} finally {
|
||||
abort();
|
||||
log.info("UDP Pipe thread " + Thread.currentThread().getName()
|
||||
+ " stopped.");
|
||||
// log.info("UDP Pipe thread " + Thread.currentThread().getName()
|
||||
// + " stopped.");
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -173,7 +170,7 @@ class UDPRelayServer implements Runnable {
|
|||
return;
|
||||
}
|
||||
|
||||
log.info("Aborting UDP Relay Server");
|
||||
// log.info("Aborting UDP Relay Server");
|
||||
|
||||
remote_sock.close();
|
||||
client_sock.close();
|
||||
|
@ -210,7 +207,7 @@ class UDPRelayServer implements Runnable {
|
|||
}
|
||||
|
||||
} catch (final UnknownHostException uhe) {
|
||||
log.info("Dropping datagram for unknown host");
|
||||
// log.info("Dropping datagram for unknown host");
|
||||
} catch (final InterruptedIOException iioe) {
|
||||
// log("Interrupted: "+iioe);
|
||||
// If we were interrupted by other thread.
|
||||
|
|
|
@ -8,9 +8,6 @@ import java.net.ConnectException;
|
|||
import java.net.Socket;
|
||||
import java.util.StringTokenizer;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* Class Ident provides means to obtain user name of the owner of the socket on
|
||||
* remote machine, providing remote machine runs identd daemon.
|
||||
|
@ -24,7 +21,7 @@ import org.slf4j.LoggerFactory;
|
|||
*/
|
||||
public class Ident {
|
||||
|
||||
Logger log = LoggerFactory.getLogger(Ident.class);
|
||||
// Logger log = LoggerFactory.getLogger(Ident.class);
|
||||
|
||||
/** Error Message can be null. */
|
||||
public String errorMessage;
|
||||
|
@ -118,7 +115,7 @@ public class Ident {
|
|||
sock.close();
|
||||
}
|
||||
} catch (final IOException ioe) {
|
||||
log.warn("Could not close socket", ioe);
|
||||
// log.warn("Could not close socket", ioe);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,7 +8,6 @@ import info.guardianproject.browser.Browser;
|
|||
import java.net.URLDecoder;
|
||||
import java.util.Locale;
|
||||
|
||||
import org.sandroproxy.ony.R;
|
||||
import org.torproject.android.service.TorService;
|
||||
import org.torproject.android.service.TorServiceConstants;
|
||||
import org.torproject.android.service.TorServiceUtils;
|
||||
|
@ -74,6 +73,11 @@ public class OrbotMainActivity extends Activity implements TorConstants, OnLongC
|
|||
private Button mBtnBrowser = null;
|
||||
private Button mBtnVPN = null;
|
||||
|
||||
private DrawerLayout mDrawer;
|
||||
private ActionBarDrawerToggle mDrawerToggle;
|
||||
private Toolbar mToolbar;
|
||||
|
||||
|
||||
/* Some tracking bits */
|
||||
private int torStatus = TorServiceConstants.STATUS_OFF; //latest status reported from the tor service
|
||||
|
||||
|
@ -92,7 +96,6 @@ public class OrbotMainActivity extends Activity implements TorConstants, OnLongC
|
|||
|
||||
setLocale();
|
||||
|
||||
<<<<<<< HEAD:src/org/torproject/android/OrbotMainActivity.java
|
||||
doLayout();
|
||||
|
||||
// appConflictChecker ();
|
||||
|
@ -118,44 +121,7 @@ public class OrbotMainActivity extends Activity implements TorConstants, OnLongC
|
|||
|
||||
}
|
||||
|
||||
// Our handler for received Intents. This will be called whenever an Intent
|
||||
// with an action named "custom-event-name" is broadcasted.
|
||||
private BroadcastReceiver mMessageReceiver = new BroadcastReceiver() {
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
// Get extra data included in the Intent
|
||||
|
||||
if (intent.hasExtra("log"))
|
||||
{
|
||||
String log = intent.getStringExtra("log");
|
||||
updateStatus(log);
|
||||
}
|
||||
else if (intent.hasExtra("up"))
|
||||
{
|
||||
long upload = intent.getLongExtra("up",0);
|
||||
long download = intent.getLongExtra("down",0);
|
||||
long written = intent.getLongExtra("written",0);
|
||||
long read = intent.getLongExtra("read",0);
|
||||
|
||||
Message msg = mHandler.obtainMessage(TorServiceConstants.MESSAGE_TRAFFIC_COUNT);
|
||||
msg.getData().putLong("download", download);
|
||||
msg.getData().putLong("upload", upload);
|
||||
msg.getData().putLong("readTotal", read);
|
||||
msg.getData().putLong("writeTotal", written);
|
||||
mHandler.sendMessage(msg);
|
||||
|
||||
}
|
||||
else if (intent.hasExtra("status"))
|
||||
{
|
||||
torStatus = intent.getIntExtra("status", TorServiceConstants.STATUS_OFF);
|
||||
updateStatus("");
|
||||
}
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
private void startService (String action)
|
||||
{
|
||||
|
@ -174,72 +140,6 @@ public class OrbotMainActivity extends Activity implements TorConstants, OnLongC
|
|||
|
||||
}
|
||||
|
||||
private DrawerLayout mDrawer;
|
||||
private ActionBarDrawerToggle mDrawerToggle;
|
||||
private Toolbar mToolbar;
|
||||
|
||||
private void doLayout ()
|
||||
{
|
||||
setContentView(R.layout.layout_main);
|
||||
|
||||
mToolbar = (Toolbar) findViewById(R.id.toolbar);
|
||||
mToolbar.inflateMenu(R.menu.orbot_main);
|
||||
mToolbar.setTitle(R.string.app_name);
|
||||
|
||||
mDrawer = (DrawerLayout) findViewById(R.id.drawer_layout);
|
||||
mDrawerToggle = new ActionBarDrawerToggle(
|
||||
this, mDrawer, mToolbar,
|
||||
android.R.string.ok, android.R.string.cancel
|
||||
);
|
||||
|
||||
mDrawer.setDrawerListener(mDrawerToggle);
|
||||
mDrawerToggle.setDrawerIndicatorEnabled(true);
|
||||
mDrawerToggle.syncState();
|
||||
mDrawerToggle.setToolbarNavigationClickListener(new OnClickListener ()
|
||||
{
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
lblStatus = (TextView)findViewById(R.id.lblStatus);
|
||||
imgStatus = (ImageProgressView)findViewById(R.id.imgStatus);
|
||||
imgStatus.setOnLongClickListener(this);
|
||||
|
||||
downloadText = (TextView)findViewById(R.id.trafficDown);
|
||||
uploadText = (TextView)findViewById(R.id.trafficUp);
|
||||
=======
|
||||
doLayout();
|
||||
|
||||
appConflictChecker ();
|
||||
|
||||
|
||||
// Register to receive messages.
|
||||
// We are registering an observer (mMessageReceiver) to receive Intents
|
||||
// with actions named "custom-event-name".
|
||||
LocalBroadcastManager.getInstance(this).registerReceiver(mMessageReceiver,
|
||||
new IntentFilter("status"));
|
||||
|
||||
LocalBroadcastManager.getInstance(this).registerReceiver(mMessageReceiver,
|
||||
new IntentFilter("log"));
|
||||
|
||||
mHandler.postDelayed(new Runnable ()
|
||||
{
|
||||
|
||||
public void run ()
|
||||
{
|
||||
startService(TorServiceConstants.CMD_INIT);
|
||||
}
|
||||
},INIT_DELAY);
|
||||
|
||||
}
|
||||
|
||||
// Our handler for received Intents. This will be called whenever an Intent
|
||||
// with an action named "custom-event-name" is broadcasted.
|
||||
|
@ -280,30 +180,12 @@ public class OrbotMainActivity extends Activity implements TorConstants, OnLongC
|
|||
}
|
||||
};
|
||||
|
||||
ProgressDialog mProgressDialog;
|
||||
|
||||
private void startService (String action)
|
||||
{
|
||||
|
||||
Intent torService = new Intent(this, TorService.class);
|
||||
torService.setAction(action);
|
||||
startService(torService);
|
||||
|
||||
}
|
||||
|
||||
private void stopService ()
|
||||
{
|
||||
|
||||
Intent torService = new Intent(this, TorService.class);
|
||||
stopService(torService);
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void doLayout ()
|
||||
{
|
||||
setContentView(R.layout.layout_main);
|
||||
|
||||
mViewMain = findViewById(R.id.viewMain);
|
||||
lblStatus = (TextView)findViewById(R.id.lblStatus);
|
||||
lblStatus.setOnLongClickListener(this);
|
||||
imgStatus = (ImageProgressView)findViewById(R.id.imgStatus);
|
||||
|
@ -314,42 +196,7 @@ public class OrbotMainActivity extends Activity implements TorConstants, OnLongC
|
|||
|
||||
downloadText = (TextView)findViewById(R.id.trafficDown);
|
||||
uploadText = (TextView)findViewById(R.id.trafficUp);
|
||||
mTxtOrbotLog = (TextView)findViewById(R.id.orbotLog);
|
||||
|
||||
mDrawer = ((SlidingDrawer)findViewById(R.id.SlidingDrawer));
|
||||
Button slideButton = (Button)findViewById(R.id.slideButton);
|
||||
if (slideButton != null)
|
||||
{
|
||||
slideButton.setOnTouchListener(new OnTouchListener (){
|
||||
|
||||
@Override
|
||||
public boolean onTouch(View v, MotionEvent event) {
|
||||
|
||||
if (event.equals(MotionEvent.ACTION_DOWN))
|
||||
{
|
||||
mDrawerOpen = !mDrawerOpen;
|
||||
mTxtOrbotLog.setEnabled(mDrawerOpen);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
ScrollingMovementMethod smm = new ScrollingMovementMethod();
|
||||
|
||||
mTxtOrbotLog.setMovementMethod(smm);
|
||||
mTxtOrbotLog.setOnLongClickListener(new View.OnLongClickListener() {
|
||||
|
||||
|
||||
@Override
|
||||
public boolean onLongClick(View v) {
|
||||
ClipboardManager cm = (ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);
|
||||
cm.setText(mTxtOrbotLog.getText());
|
||||
Toast.makeText(Orbot.this, "LOG COPIED TO CLIPBOARD", Toast.LENGTH_SHORT).show();
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
downloadText.setText(formatCount(0) + " / " + formatTotal(0));
|
||||
uploadText.setText(formatCount(0) + " / " + formatTotal(0));
|
||||
|
@ -396,23 +243,7 @@ public class OrbotMainActivity extends Activity implements TorConstants, OnLongC
|
|||
|
||||
}
|
||||
|
||||
private void appendLogTextAndScroll(String text)
|
||||
{
|
||||
if(mTxtOrbotLog != null && text != null && text.length() > 0){
|
||||
|
||||
if (mTxtOrbotLog.getText().length() > MAX_LOG_LENGTH)
|
||||
mTxtOrbotLog.setText("");
|
||||
|
||||
mTxtOrbotLog.append(text + "\n");
|
||||
final Layout layout = mTxtOrbotLog.getLayout();
|
||||
if(layout != null){
|
||||
int scrollDelta = layout.getLineBottom(mTxtOrbotLog.getLineCount() - 1)
|
||||
- mTxtOrbotLog.getScrollY() - mTxtOrbotLog.getHeight();
|
||||
if(scrollDelta > 0)
|
||||
mTxtOrbotLog.scrollBy(0, scrollDelta);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Create the UI Options Menu (non-Javadoc)
|
||||
|
@ -839,308 +670,9 @@ public class OrbotMainActivity extends Activity implements TorConstants, OnLongC
|
|||
|
||||
}
|
||||
|
||||
private void startIntent (String pkg, String action, Uri data)
|
||||
{
|
||||
Intent i;
|
||||
PackageManager manager = getPackageManager();
|
||||
try {
|
||||
i = manager.getLaunchIntentForPackage(pkg);
|
||||
if (i == null)
|
||||
throw new PackageManager.NameNotFoundException();
|
||||
i.setAction(action);
|
||||
i.setData(data);
|
||||
startActivity(i);
|
||||
} catch (PackageManager.NameNotFoundException e) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private boolean appInstalledOrNot(String uri)
|
||||
=======
|
||||
* @see android.app.Activity#onPause()
|
||||
*/
|
||||
protected void onPause() {
|
||||
try
|
||||
{
|
||||
super.onPause();
|
||||
|
||||
if (aDialog != null)
|
||||
aDialog.dismiss();
|
||||
}
|
||||
catch (IllegalStateException ise)
|
||||
{
|
||||
//can happen on exit/shutdown
|
||||
}
|
||||
}
|
||||
|
||||
private void doTorCheck ()
|
||||
{
|
||||
|
||||
DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() {
|
||||
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
switch (which){
|
||||
case DialogInterface.BUTTON_POSITIVE:
|
||||
|
||||
openBrowser(URL_TOR_CHECK);
|
||||
|
||||
|
||||
|
||||
break;
|
||||
|
||||
case DialogInterface.BUTTON_NEGATIVE:
|
||||
|
||||
//do nothing
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||
builder.setMessage(R.string.tor_check).setPositiveButton(R.string.btn_okay, dialogClickListener)
|
||||
.setNegativeButton(R.string.btn_cancel, dialogClickListener).show();
|
||||
|
||||
}
|
||||
|
||||
private void enableHiddenServicePort (int hsPort)
|
||||
{
|
||||
|
||||
Editor pEdit = mPrefs.edit();
|
||||
|
||||
String hsPortString = mPrefs.getString("pref_hs_ports", "");
|
||||
|
||||
if (hsPortString.length() > 0 && hsPortString.indexOf(hsPort+"")==-1)
|
||||
hsPortString += ',' + hsPort;
|
||||
else
|
||||
hsPortString = hsPort + "";
|
||||
|
||||
pEdit.putString("pref_hs_ports", hsPortString);
|
||||
pEdit.putBoolean("pref_hs_enable", true);
|
||||
|
||||
pEdit.commit();
|
||||
|
||||
String onionHostname = mPrefs.getString("pref_hs_hostname","");
|
||||
|
||||
while (onionHostname.length() == 0)
|
||||
{
|
||||
//we need to stop and start Tor
|
||||
try {
|
||||
stopTor();
|
||||
|
||||
Thread.sleep(3000); //wait three seconds
|
||||
|
||||
startTor();
|
||||
} catch (Exception e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
onionHostname = mPrefs.getString("pref_hs_hostname","");
|
||||
}
|
||||
|
||||
Intent nResult = new Intent();
|
||||
nResult.putExtra("hs_host", onionHostname);
|
||||
setResult(RESULT_OK, nResult);
|
||||
|
||||
}
|
||||
|
||||
|
||||
private synchronized void handleIntents ()
|
||||
{
|
||||
if (getIntent() == null)
|
||||
return;
|
||||
|
||||
// Get intent, action and MIME type
|
||||
Intent intent = getIntent();
|
||||
String action = intent.getAction();
|
||||
String type = intent.getType();
|
||||
|
||||
if (action == null)
|
||||
return;
|
||||
|
||||
if (action.equals("org.torproject.android.REQUEST_HS_PORT"))
|
||||
{
|
||||
|
||||
DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() {
|
||||
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
switch (which){
|
||||
case DialogInterface.BUTTON_POSITIVE:
|
||||
|
||||
int hsPort = getIntent().getIntExtra("hs_port", -1);
|
||||
|
||||
enableHiddenServicePort (hsPort);
|
||||
|
||||
finish();
|
||||
|
||||
|
||||
break;
|
||||
|
||||
case DialogInterface.BUTTON_NEGATIVE:
|
||||
//No button clicked
|
||||
finish();
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
int hsPort = getIntent().getIntExtra("hs_port", -1);
|
||||
|
||||
String requestMsg = getString(R.string.hidden_service_request, hsPort);
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||
builder.setMessage(requestMsg).setPositiveButton("Allow", dialogClickListener)
|
||||
.setNegativeButton("Deny", dialogClickListener).show();
|
||||
|
||||
|
||||
}
|
||||
else if (action.equals("org.torproject.android.START_TOR"))
|
||||
{
|
||||
autoStartFromIntent = true;
|
||||
|
||||
try {
|
||||
startTor();
|
||||
|
||||
Intent nResult = new Intent();
|
||||
|
||||
//nResult.putExtra("socks", ); //TODO respond with socks, transport, dns, etc
|
||||
|
||||
setResult(RESULT_OK,nResult);
|
||||
|
||||
} catch (RemoteException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
}
|
||||
else if (action.equals(Intent.ACTION_VIEW))
|
||||
{
|
||||
String urlString = intent.getDataString();
|
||||
|
||||
if (urlString != null)
|
||||
{
|
||||
|
||||
if (urlString.toLowerCase().startsWith("bridge://"))
|
||||
|
||||
{
|
||||
String newBridgeValue = urlString.substring(9); //remove the bridge protocol piece
|
||||
newBridgeValue = URLDecoder.decode(newBridgeValue); //decode the value here
|
||||
|
||||
showAlert("Bridges Updated","Restart Orbot to use this bridge: " + newBridgeValue,false);
|
||||
|
||||
String bridges = mPrefs.getString(TorConstants.PREF_BRIDGES_LIST, null);
|
||||
|
||||
Editor pEdit = mPrefs.edit();
|
||||
|
||||
if (bridges != null && bridges.trim().length() > 0)
|
||||
{
|
||||
if (bridges.indexOf('\n')!=-1)
|
||||
bridges += '\n' + newBridgeValue;
|
||||
else
|
||||
bridges += ',' + newBridgeValue;
|
||||
}
|
||||
else
|
||||
bridges = newBridgeValue;
|
||||
|
||||
pEdit.putString(TorConstants.PREF_BRIDGES_LIST,bridges); //set the string to a preference
|
||||
pEdit.putBoolean(TorConstants.PREF_BRIDGES_ENABLED,true);
|
||||
|
||||
pEdit.commit();
|
||||
|
||||
setResult(RESULT_OK);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
showWizard = mPrefs.getBoolean("show_wizard",showWizard);
|
||||
|
||||
if (showWizard)
|
||||
{
|
||||
Editor pEdit = mPrefs.edit();
|
||||
pEdit.putBoolean("show_wizard",false);
|
||||
pEdit.commit();
|
||||
showWizard = false;
|
||||
|
||||
startActivity(new Intent(this, ChooseLocaleWizardActivity.class));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
setIntent(null);
|
||||
|
||||
updateStatus ("");
|
||||
|
||||
}
|
||||
|
||||
private boolean showWizard = true;
|
||||
|
||||
|
||||
@Override
|
||||
public void onConfigurationChanged(Configuration newConfig) {
|
||||
super.onConfigurationChanged(newConfig);
|
||||
|
||||
doLayout();
|
||||
updateStatus("");
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Launch the system activity for Uri viewing with the provided url
|
||||
*/
|
||||
private void openBrowser(final String browserLaunchUrl)
|
||||
{
|
||||
boolean isOrwebInstalled = appInstalledOrNot("info.guardianproject.browser");
|
||||
boolean isTransProxy = mPrefs.getBoolean("pref_transparent", false);
|
||||
|
||||
if (isOrwebInstalled)
|
||||
{
|
||||
startIntent("info.guardianproject.browser",Intent.ACTION_VIEW,Uri.parse(browserLaunchUrl));
|
||||
}
|
||||
else if (isTransProxy)
|
||||
{
|
||||
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(browserLaunchUrl));
|
||||
intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP|Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
startActivity(intent);
|
||||
}
|
||||
else
|
||||
{
|
||||
AlertDialog aDialog = new AlertDialog.Builder(Orbot.this)
|
||||
.setIcon(R.drawable.onion32)
|
||||
.setTitle(R.string.install_apps_)
|
||||
.setMessage(R.string.it_doesn_t_seem_like_you_have_orweb_installed_want_help_with_that_or_should_we_just_open_the_browser_)
|
||||
.setPositiveButton(android.R.string.ok, new OnClickListener ()
|
||||
{
|
||||
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
|
||||
//prompt to install Orweb
|
||||
Intent intent = new Intent(Orbot.this,TipsAndTricks.class);
|
||||
startActivity(intent);
|
||||
|
||||
}
|
||||
|
||||
})
|
||||
.setNegativeButton(android.R.string.no, new OnClickListener ()
|
||||
{
|
||||
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(browserLaunchUrl));
|
||||
intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP|Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
startActivity(intent);
|
||||
|
||||
}
|
||||
|
||||
})
|
||||
.show();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void startIntent (String pkg, String action, Uri data)
|
||||
{
|
||||
Intent i;
|
||||
|
@ -1448,7 +980,6 @@ public class OrbotMainActivity extends Activity implements TorConstants, OnLongC
|
|||
|
||||
}
|
||||
|
||||
<<<<<<< HEAD:src/org/torproject/android/OrbotMainActivity.java
|
||||
return true;
|
||||
|
||||
}
|
||||
|
@ -1456,35 +987,6 @@ public class OrbotMainActivity extends Activity implements TorConstants, OnLongC
|
|||
{
|
||||
Log.d(TAG,"error onclick",e);
|
||||
}
|
||||
|
||||
=======
|
||||
if (!mDrawerOpen)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
if (torStatus == TorServiceConstants.STATUS_OFF)
|
||||
{
|
||||
|
||||
startTor();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
stopTor();
|
||||
stopService ();
|
||||
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Log.d(TAG,"error onclick",e);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
|
|
|
@ -17,13 +17,12 @@ import java.util.concurrent.TimeoutException;
|
|||
import java.util.zip.ZipEntry;
|
||||
import java.util.zip.ZipInputStream;
|
||||
|
||||
import org.sandroproxy.ony.R;
|
||||
import org.sufficientlysecure.rootcommands.Shell;
|
||||
import org.sufficientlysecure.rootcommands.command.SimpleCommand;
|
||||
import org.torproject.android.R;
|
||||
import org.torproject.android.TorConstants;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Build;
|
||||
import android.util.Log;
|
||||
|
||||
public class TorResourceInstaller implements TorServiceConstants {
|
||||
|
|
|
@ -45,7 +45,6 @@ import net.freehaven.tor.control.TorControlConnection;
|
|||
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONObject;
|
||||
import org.sandroproxy.ony.R;
|
||||
import org.sufficientlysecure.rootcommands.Shell;
|
||||
import org.sufficientlysecure.rootcommands.command.SimpleCommand;
|
||||
import org.torproject.android.OrbotMainActivity;
|
||||
|
@ -58,7 +57,6 @@ import org.torproject.android.vpn.OrbotVpnService;
|
|||
import android.annotation.SuppressLint;
|
||||
import android.annotation.TargetApi;
|
||||
import android.app.Application;
|
||||
import android.app.IntentService;
|
||||
import android.app.Notification;
|
||||
import android.app.NotificationManager;
|
||||
import android.app.PendingIntent;
|
||||
|
@ -235,33 +233,13 @@ public class TorService extends Service implements TorServiceConstants, TorConst
|
|||
mNotificationShowing = false;
|
||||
|
||||
}
|
||||
<<<<<<< HEAD
|
||||
|
||||
private void clearNotifications ()
|
||||
{
|
||||
if (mNotificationManager != null)
|
||||
mNotificationManager.cancelAll();
|
||||
|
||||
|
||||
hmBuiltNodes.clear();
|
||||
mNotificationShowing = false;
|
||||
|
||||
}
|
||||
|
||||
@SuppressLint("NewApi")
|
||||
private void showToolbarNotification (String notifyMsg, int notifyType, int icon)
|
||||
{
|
||||
|
||||
//Reusable code.
|
||||
Intent intent = new Intent(TorService.this, OrbotMainActivity.class);
|
||||
PendingIntent pendIntent = PendingIntent.getActivity(TorService.this, 0, intent, 0);
|
||||
|
||||
|
||||
@SuppressLint("NewApi")
|
||||
private void showToolbarNotification (String notifyMsg, int notifyType, int icon)
|
||||
{
|
||||
|
||||
//Reusable code.
|
||||
Intent intent = new Intent(TorService.this, Orbot.class);
|
||||
Intent intent = new Intent(TorService.this, OrbotMainActivity.class);
|
||||
PendingIntent pendIntent = PendingIntent.getActivity(TorService.this, 0, intent, 0);
|
||||
|
||||
if (mNotifyBuilder == null)
|
||||
|
|
|
@ -6,18 +6,14 @@ package org.torproject.android.settings;
|
|||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.StringTokenizer;
|
||||
|
||||
import org.sandroproxy.ony.R;
|
||||
import org.torproject.android.R;
|
||||
import org.torproject.android.TorConstants;
|
||||
import org.torproject.android.service.TorService;
|
||||
import org.torproject.android.service.TorServiceUtils;
|
||||
|
||||
|
||||
//import android.R;
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
|
@ -25,15 +21,10 @@ import android.content.SharedPreferences.Editor;
|
|||
import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.PackageInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.MenuItem.OnMenuItemClickListener;
|
||||
import android.view.View;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ArrayAdapter;
|
||||
|
@ -45,6 +36,7 @@ import android.widget.ImageView;
|
|||
import android.widget.ListAdapter;
|
||||
import android.widget.ListView;
|
||||
import android.widget.TextView;
|
||||
//import android.R;
|
||||
|
||||
public class AppManager extends Activity implements OnCheckedChangeListener, OnClickListener, TorConstants {
|
||||
|
||||
|
|
|
@ -5,8 +5,8 @@ package org.torproject.android.settings;
|
|||
|
||||
import java.util.Locale;
|
||||
|
||||
import org.sandroproxy.ony.R;
|
||||
import org.sufficientlysecure.rootcommands.RootCommands;
|
||||
import org.torproject.android.R;
|
||||
import org.torproject.android.service.TorServiceUtils;
|
||||
|
||||
import android.content.Context;
|
||||
|
@ -19,7 +19,6 @@ import android.preference.Preference;
|
|||
import android.preference.Preference.OnPreferenceClickListener;
|
||||
import android.preference.PreferenceActivity;
|
||||
import android.preference.PreferenceCategory;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.widget.Toast;
|
||||
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@ package org.torproject.android.ui;
|
|||
|
||||
import java.util.Locale;
|
||||
|
||||
import org.sandroproxy.ony.R;
|
||||
import org.torproject.android.R;
|
||||
import org.torproject.android.TorConstants;
|
||||
import org.torproject.android.service.TorServiceUtils;
|
||||
|
||||
|
@ -12,7 +12,6 @@ import android.content.SharedPreferences;
|
|||
import android.content.SharedPreferences.Editor;
|
||||
import android.content.res.Configuration;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.View;
|
||||
import android.widget.AdapterView;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package org.torproject.android.ui;
|
||||
|
||||
import org.sandroproxy.ony.R;
|
||||
import org.torproject.android.R;
|
||||
import org.torproject.android.TorConstants;
|
||||
import org.torproject.android.service.TorServiceUtils;
|
||||
|
||||
|
|
|
@ -7,14 +7,9 @@ import java.io.InputStream;
|
|||
import java.io.InputStreamReader;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import org.sandroproxy.ony.R;
|
||||
import org.sufficientlysecure.rootcommands.Shell;
|
||||
import org.sufficientlysecure.rootcommands.command.SimpleCommand;
|
||||
import org.torproject.android.R;
|
||||
import org.torproject.android.R.id;
|
||||
import org.torproject.android.R.layout;
|
||||
import org.torproject.android.R.menu;
|
||||
import org.torproject.android.R.raw;
|
||||
import org.torproject.android.service.TorResourceInstaller;
|
||||
import org.torproject.android.service.TorServiceConstants;
|
||||
|
||||
|
|
|
@ -18,35 +18,26 @@ package org.torproject.android.vpn;
|
|||
|
||||
import java.io.IOException;
|
||||
import java.net.InetAddress;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.util.Locale;
|
||||
import java.util.Set;
|
||||
|
||||
import org.sandroproxy.ony.R;
|
||||
import org.torproject.android.Orbot;
|
||||
import org.torproject.android.service.TorService;
|
||||
import org.torproject.android.service.TorServiceConstants;
|
||||
|
||||
import com.runjva.sourceforge.jsocks.protocol.ProxyServer;
|
||||
import com.runjva.sourceforge.jsocks.server.ServerAuthenticatorNone;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.annotation.TargetApi;
|
||||
import android.app.Notification;
|
||||
import android.app.NotificationManager;
|
||||
import android.app.PendingIntent;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.net.VpnService;
|
||||
import android.os.Build;
|
||||
import android.os.Handler;
|
||||
import android.os.Message;
|
||||
import android.os.ParcelFileDescriptor;
|
||||
import android.support.v4.app.NotificationCompat;
|
||||
import android.util.Log;
|
||||
import android.widget.RemoteViews;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.runjva.sourceforge.jsocks.protocol.ProxyServer;
|
||||
import com.runjva.sourceforge.jsocks.server.ServerAuthenticatorNone;
|
||||
|
||||
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
|
||||
public class OrbotVpnService extends VpnService implements Handler.Callback {
|
||||
private static final String TAG = "DrobotVpnService";
|
||||
|
@ -61,6 +52,7 @@ public class OrbotVpnService extends VpnService implements Handler.Callback {
|
|||
|
||||
private int mSocksProxyPort = 9999;
|
||||
private ProxyServer mProxyServer;
|
||||
private Thread mThreadProxy;
|
||||
|
||||
private final static int VPN_MTU = 1500;
|
||||
|
||||
|
@ -229,7 +221,6 @@ public class OrbotVpnService extends VpnService implements Handler.Callback {
|
|||
}
|
||||
}
|
||||
}.start();
|
||||
clearNotifications();
|
||||
super.onRevoke();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue