massive cleanup of merged code from Ony fork

removal/comment out of LoggerFactory log system
This commit is contained in:
Nathan Freitas 2015-02-02 14:01:08 -05:00
parent a78e458a43
commit d63d10d8ae
17 changed files with 83 additions and 628 deletions

View File

@ -13,3 +13,4 @@ target=android-21
android.library.reference.1=external/appcompat android.library.reference.1=external/appcompat
android.library.reference.2=external/superuser-commands/RootCommands-Library android.library.reference.2=external/superuser-commands/RootCommands-Library
android.library.reference.3=../Orweb android.library.reference.3=../Orweb
android.library.reference.4=../OnionKit/libnetcipher

View File

@ -9,9 +9,6 @@ import java.util.Hashtable;
import java.util.Properties; import java.util.Properties;
import java.util.StringTokenizer; 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.InetRange;
import com.runjva.sourceforge.jsocks.protocol.ProxyServer; import com.runjva.sourceforge.jsocks.protocol.ProxyServer;
import com.runjva.sourceforge.jsocks.protocol.SocksProxyBase; import com.runjva.sourceforge.jsocks.protocol.SocksProxyBase;
@ -20,7 +17,6 @@ import com.runjva.sourceforge.jsocks.server.IdentAuthenticator;
public class SOCKS { public class SOCKS {
private static final int DEFAULT_LISTENING_PORT = 1080; private static final int DEFAULT_LISTENING_PORT = 1080;
final private static Logger log = LoggerFactory.getLogger(SOCKS.class);
static public void usage() { static public void usage() {
System.out.println("Usage: java SOCKS [inifile1 inifile2 ...]\n" System.out.println("Usage: java SOCKS [inifile1 inifile2 ...]\n"
@ -258,7 +254,7 @@ public class SOCKS {
// ///////////////// // /////////////////
static void inform(String s) { static void inform(String s) {
log.info(s); // log.info(s);
} }
static void exit(String msg) { static void exit(String msg) {

View File

@ -15,9 +15,7 @@ import java.net.Socket;
import java.net.SocketAddress; import java.net.SocketAddress;
import java.nio.channels.SocketChannel; import java.nio.channels.SocketChannel;
import org.slf4j.Logger; import android.annotation.SuppressLint;
import org.slf4j.LoggerFactory;
import android.net.VpnService; import android.net.VpnService;
import com.runjva.sourceforge.jsocks.server.ServerAuthenticator; import com.runjva.sourceforge.jsocks.server.ServerAuthenticator;
@ -60,7 +58,6 @@ public class ProxyServer implements Runnable {
static int iddleTimeout = 180000; // 3 minutes static int iddleTimeout = 180000; // 3 minutes
static int acceptTimeout = 180000; // 3 minutes static int acceptTimeout = 180000; // 3 minutes
static Logger log = LoggerFactory.getLogger(ProxyServer.class);
static SocksProxyBase proxy; static SocksProxyBase proxy;
static VpnService vpnService; static VpnService vpnService;
@ -181,13 +178,13 @@ public class ProxyServer implements Runnable {
ss = new ServerSocket(port, backlog, localIP); ss = new ServerSocket(port, backlog, localIP);
final String address = ss.getInetAddress().getHostAddress(); final String address = ss.getInetAddress().getHostAddress();
final int localPort = ss.getLocalPort(); final int localPort = ss.getLocalPort();
log.info("Starting SOCKS Proxy on: {}:{}", address, localPort); debug("Starting SOCKS Proxy on: {}:{}", address, localPort);
while (true) { while (true) {
final Socket s = ss.accept(); final Socket s = ss.accept();
final String hostName = s.getInetAddress().getHostName(); final String hostName = s.getInetAddress().getHostName();
final int port2 = s.getPort(); final int port2 = s.getPort();
log.info("Accepted from:{}:{}", hostName, port2); debug("Accepted from:{}:{}", hostName, port2);
final ProxyServer ps = new ProxyServer(auth, s); final ProxyServer ps = new ProxyServer(auth, s);
(new Thread(ps)).start(); (new Thread(ps)).start();
@ -226,7 +223,7 @@ public class ProxyServer implements Runnable {
if (auth != null) { if (auth != null) {
auth.endSession(); auth.endSession();
} }
log.info("Main thread(client->remote)stopped."); debug("Main thread(client->remote)stopped.");
} }
break; break;
case ACCEPT_MODE: case ACCEPT_MODE:
@ -242,7 +239,7 @@ public class ProxyServer implements Runnable {
handleException(ioe); handleException(ioe);
} finally { } finally {
abort(); abort();
log.info("Accept thread(remote->client) stopped"); debug("Accept thread(remote->client) stopped");
} }
break; break;
case PIPE_MODE: case PIPE_MODE:
@ -251,13 +248,13 @@ public class ProxyServer implements Runnable {
} catch (final IOException ioe) { } catch (final IOException ioe) {
} finally { } finally {
abort(); abort();
log.info("Support thread(remote->client) stopped"); debug("Support thread(remote->client) stopped");
} }
break; break;
case ABORT_MODE: case ABORT_MODE:
break; break;
default: default:
log.warn("Unexpected MODE " + mode); debug("Unexpected MODE " + mode);
} }
} }
@ -269,13 +266,13 @@ public class ProxyServer implements Runnable {
try { try {
auth = auth.startSession(sock); auth = auth.startSession(sock);
} catch (final IOException ioe) { } catch (final IOException ioe) {
log.warn("Auth throwed exception:", ioe); debug("Auth throwed exception:", ioe);
auth = null; auth = null;
return; return;
} }
if (auth == null) { // Authentication failed if (auth == null) { // Authentication failed
log.info("Authentication failed"); debug("Authentication failed");
return; return;
} }
@ -350,6 +347,7 @@ public class ProxyServer implements Runnable {
sendErrorMessage(error_code); sendErrorMessage(error_code);
} }
@SuppressLint("NewApi")
private void onConnect(final ProxyMessage msg) throws IOException { private void onConnect(final ProxyMessage msg) throws IOException {
Socket s; Socket s;
@ -370,7 +368,7 @@ public class ProxyServer implements Runnable {
if (vpnService != null) if (vpnService != null)
vpnService.protect(s); vpnService.protect(s);
log.info("Connected to " + s.getInetAddress() + ":" + s.getPort()); debug("Connected to " + s.getInetAddress() + ":" + s.getPort());
ProxyMessage response = null; ProxyMessage response = null;
final InetAddress localAddress = s.getLocalAddress(); final InetAddress localAddress = s.getLocalAddress();
@ -401,7 +399,7 @@ public class ProxyServer implements Runnable {
final InetAddress inetAddress = ss.getInetAddress(); final InetAddress inetAddress = ss.getInetAddress();
final int localPort = ss.getLocalPort(); final int localPort = ss.getLocalPort();
log.info("Trying accept on {}:{}", inetAddress, localPort); debug("Trying accept on {}:{}", inetAddress, localPort);
if (msg.version == 5) { if (msg.version == 5) {
final int cmd = SocksProxyBase.SOCKS_SUCCESS; final int cmd = SocksProxyBase.SOCKS_SUCCESS;
@ -434,10 +432,10 @@ public class ProxyServer implements Runnable {
} }
} }
} catch (final EOFException e) { } 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; return;
} catch (final InterruptedIOException e) { } catch (final InterruptedIOException e) {
log.debug("Interrupted by unsucessful accept thread", e); debug("Interrupted by unsucessful accept thread", e);
if (mode != PIPE_MODE) { if (mode != PIPE_MODE) {
return; return;
} }
@ -459,7 +457,7 @@ public class ProxyServer implements Runnable {
if (msg.ip.getHostAddress().equals("0.0.0.0")) { if (msg.ip.getHostAddress().equals("0.0.0.0")) {
msg.ip = sock.getInetAddress(); 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, relayServer = new UDPRelayServer(msg.ip, msg.port,
Thread.currentThread(), sock, auth); Thread.currentThread(), sock, auth);
@ -527,7 +525,7 @@ public class ProxyServer implements Runnable {
final InetAddress inetAddress = s.getInetAddress(); final InetAddress inetAddress = s.getInetAddress();
final int port = s.getPort(); final int port = s.getPort();
log.info("Accepted from {}:{}", s.getInetAddress(), port); debug("Accepted from {}:{}", s.getInetAddress(), port);
ProxyMessage response; ProxyMessage response;
@ -597,7 +595,7 @@ public class ProxyServer implements Runnable {
} }
mode = ABORT_MODE; mode = ABORT_MODE;
try { try {
log.info("Aborting operation"); debug("Aborting operation");
if (remote_sock != null) { if (remote_sock != null) {
remote_sock.close(); remote_sock.close();
} }
@ -621,11 +619,11 @@ public class ProxyServer implements Runnable {
} }
static final void log(final ProxyMessage msg) { static final void log(final ProxyMessage msg) {
log.debug("Request version: {}, Command: ", msg.version, debug("Request version: {}, Command: ", msg.version,
command2String(msg.command)); command2String(msg.command));
final String user = msg.version == 4 ? ", User:" + msg.user : ""; 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) private void pipe(final InputStream in, final OutputStream out)
@ -666,4 +664,29 @@ public class ProxyServer implements Runnable {
return "Unknown Command " + cmd; 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)
{
}
} }

View File

@ -7,9 +7,6 @@ import java.net.DatagramPacket;
import java.net.DatagramSocket; import java.net.DatagramSocket;
import java.net.InetAddress; import java.net.InetAddress;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/** /**
* Datagram socket to interract through the firewall.<BR> * Datagram socket to interract through the firewall.<BR>
* Can be used same way as the normal DatagramSocket. One should be carefull * 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; private boolean server_mode = false;
UDPEncapsulation encapsulation; UDPEncapsulation encapsulation;
private Logger log = LoggerFactory.getLogger(Socks5DatagramSocket.class);
/** /**
* Construct Datagram socket for communication over SOCKS5 proxy server. * Construct Datagram socket for communication over SOCKS5 proxy server.
* This constructor uses default proxy, the one set with * This constructor uses default proxy, the one set with
@ -126,8 +121,8 @@ public class Socks5DatagramSocket extends DatagramSocket {
encapsulation = proxy.udp_encapsulation; encapsulation = proxy.udp_encapsulation;
log.debug("Datagram Socket:{}:{}", getLocalAddress(), getLocalPort()); // log.debug("Datagram Socket:{}:{}", getLocalAddress(), getLocalPort());
log.debug("Socks5Datagram: {}:{}", relayIP, relayPort); // 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 the host should be accessed directly, send it as is.
if (!server_mode && proxy.isDirect(dp.getAddress())) { if (!server_mode && proxy.isDirect(dp.getAddress())) {
super.send(dp); super.send(dp);
log.debug("Sending datagram packet directly:"); // log.debug("Sending datagram packet directly:");
return; return;
} }
@ -386,7 +381,7 @@ public class Socks5DatagramSocket extends DatagramSocket {
if (eof < 0) { if (eof < 0) {
return false; // EOF encountered. return false; // EOF encountered.
} else { } else {
log.warn("This really should not happen"); //log.warn("This really should not happen");
return true; // This really should not happen return true; // This really should not happen
} }

View File

@ -7,9 +7,6 @@ import java.io.OutputStream;
import java.net.InetAddress; import java.net.InetAddress;
import java.net.UnknownHostException; import java.net.UnknownHostException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/** /**
* SOCKS5 request/response message. * SOCKS5 request/response message.
*/ */
@ -20,7 +17,6 @@ class Socks5Message extends ProxyMessage {
byte[] data; byte[] data;
private Logger log = LoggerFactory.getLogger(Socks5Message.class);
/** /**
* Server error response. * Server error response.
@ -98,8 +94,6 @@ class Socks5Message extends ProxyMessage {
this.host = hostName; this.host = hostName;
this.version = SOCKS_VERSION; this.version = SOCKS_VERSION;
log.debug("Doing ATYP_DOMAINNAME");
addrType = SOCKS_ATYP_DOMAINNAME; addrType = SOCKS_ATYP_DOMAINNAME;
final byte addr[] = hostName.getBytes(); final byte addr[] = hostName.getBytes();
@ -215,7 +209,7 @@ class Socks5Message extends ProxyMessage {
host = bytes2IPV6(addr, 0); host = bytes2IPV6(addr, 0);
break; break;
case SOCKS_ATYP_DOMAINNAME: case SOCKS_ATYP_DOMAINNAME:
log.debug("Reading ATYP_DOMAINNAME"); // log.debug("Reading ATYP_DOMAINNAME");
addr = new byte[di.readUnsignedByte()];// Next byte shows the length addr = new byte[di.readUnsignedByte()];// Next byte shows the length
di.readFully(addr); di.readFully(addr);
host = new String(addr); host = new String(addr);

View File

@ -8,9 +8,6 @@ import java.net.Socket;
import java.net.SocketException; import java.net.SocketException;
import java.net.UnknownHostException; import java.net.UnknownHostException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/** /**
* SocksSocket tryies to look very similar to normal Socket, while allowing * 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 * 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; protected int localPort, remotePort;
private Socket directSock = null; 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 * 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 { private void doDirect() throws SocksException {
try { try {
log.debug("IP: {}_{}", remoteIP, remotePort); // log.debug("IP: {}_{}", remoteIP, remotePort);
directSock = new Socket(remoteIP, remotePort); directSock = new Socket(remoteIP, remotePort);
proxy.out = directSock.getOutputStream(); proxy.out = directSock.getOutputStream();
proxy.in = directSock.getInputStream(); proxy.in = directSock.getInputStream();

View File

@ -8,9 +8,6 @@ import java.net.InetAddress;
import java.net.Socket; import java.net.Socket;
import java.net.UnknownHostException; import java.net.UnknownHostException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.runjva.sourceforge.jsocks.server.ServerAuthenticator; import com.runjva.sourceforge.jsocks.server.ServerAuthenticator;
/** /**
@ -33,7 +30,7 @@ class UDPRelayServer implements Runnable {
long lastReadTime; long lastReadTime;
static Logger log = LoggerFactory.getLogger(UDPRelayServer.class); // static Logger log = LoggerFactory.getLogger(UDPRelayServer.class);
static SocksProxyBase proxy = null; static SocksProxyBase proxy = null;
static int datagramSize = 0xFFFF;// 64K, a bit more than max udp size static int datagramSize = 0xFFFF;// 64K, a bit more than max udp size
static int iddleTimeout = 180000;// 3 minutes static int iddleTimeout = 180000;// 3 minutes
@ -124,9 +121,9 @@ class UDPRelayServer implements Runnable {
remote_sock.setSoTimeout(iddleTimeout); remote_sock.setSoTimeout(iddleTimeout);
client_sock.setSoTimeout(iddleTimeout); client_sock.setSoTimeout(iddleTimeout);
log.info("Starting UDP relay server on {}:{}", relayIP, relayPort); //log.info("Starting UDP relay server on {}:{}", relayIP, relayPort);
log.info("Remote socket {}:{}", remote_sock.getLocalAddress(), // log.info("Remote socket {}:{}", remote_sock.getLocalAddress(),
remote_sock.getLocalPort()); // remote_sock.getLocalPort());
pipe_thread1 = new Thread(this, "pipe1"); pipe_thread1 = new Thread(this, "pipe1");
pipe_thread2 = new Thread(this, "pipe2"); pipe_thread2 = new Thread(this, "pipe2");
@ -160,8 +157,8 @@ class UDPRelayServer implements Runnable {
} catch (final IOException ioe) { } catch (final IOException ioe) {
} finally { } finally {
abort(); abort();
log.info("UDP Pipe thread " + Thread.currentThread().getName() // log.info("UDP Pipe thread " + Thread.currentThread().getName()
+ " stopped."); // + " stopped.");
} }
} }
@ -173,7 +170,7 @@ class UDPRelayServer implements Runnable {
return; return;
} }
log.info("Aborting UDP Relay Server"); // log.info("Aborting UDP Relay Server");
remote_sock.close(); remote_sock.close();
client_sock.close(); client_sock.close();
@ -210,7 +207,7 @@ class UDPRelayServer implements Runnable {
} }
} catch (final UnknownHostException uhe) { } catch (final UnknownHostException uhe) {
log.info("Dropping datagram for unknown host"); // log.info("Dropping datagram for unknown host");
} catch (final InterruptedIOException iioe) { } catch (final InterruptedIOException iioe) {
// log("Interrupted: "+iioe); // log("Interrupted: "+iioe);
// If we were interrupted by other thread. // If we were interrupted by other thread.

View File

@ -8,9 +8,6 @@ import java.net.ConnectException;
import java.net.Socket; import java.net.Socket;
import java.util.StringTokenizer; 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 * Class Ident provides means to obtain user name of the owner of the socket on
* remote machine, providing remote machine runs identd daemon. * remote machine, providing remote machine runs identd daemon.
@ -24,7 +21,7 @@ import org.slf4j.LoggerFactory;
*/ */
public class Ident { public class Ident {
Logger log = LoggerFactory.getLogger(Ident.class); // Logger log = LoggerFactory.getLogger(Ident.class);
/** Error Message can be null. */ /** Error Message can be null. */
public String errorMessage; public String errorMessage;
@ -118,7 +115,7 @@ public class Ident {
sock.close(); sock.close();
} }
} catch (final IOException ioe) { } catch (final IOException ioe) {
log.warn("Could not close socket", ioe); // log.warn("Could not close socket", ioe);
} }
} }
} }

View File

@ -8,7 +8,6 @@ import info.guardianproject.browser.Browser;
import java.net.URLDecoder; import java.net.URLDecoder;
import java.util.Locale; import java.util.Locale;
import org.sandroproxy.ony.R;
import org.torproject.android.service.TorService; import org.torproject.android.service.TorService;
import org.torproject.android.service.TorServiceConstants; import org.torproject.android.service.TorServiceConstants;
import org.torproject.android.service.TorServiceUtils; import org.torproject.android.service.TorServiceUtils;
@ -74,6 +73,11 @@ public class OrbotMainActivity extends Activity implements TorConstants, OnLongC
private Button mBtnBrowser = null; private Button mBtnBrowser = null;
private Button mBtnVPN = null; private Button mBtnVPN = null;
private DrawerLayout mDrawer;
private ActionBarDrawerToggle mDrawerToggle;
private Toolbar mToolbar;
/* Some tracking bits */ /* Some tracking bits */
private int torStatus = TorServiceConstants.STATUS_OFF; //latest status reported from the tor service 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(); setLocale();
<<<<<<< HEAD:src/org/torproject/android/OrbotMainActivity.java
doLayout(); doLayout();
// appConflictChecker (); // 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) 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 // Our handler for received Intents. This will be called whenever an Intent
// with an action named "custom-event-name" is broadcasted. // 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 () private void doLayout ()
{ {
setContentView(R.layout.layout_main); setContentView(R.layout.layout_main);
mViewMain = findViewById(R.id.viewMain);
lblStatus = (TextView)findViewById(R.id.lblStatus); lblStatus = (TextView)findViewById(R.id.lblStatus);
lblStatus.setOnLongClickListener(this); lblStatus.setOnLongClickListener(this);
imgStatus = (ImageProgressView)findViewById(R.id.imgStatus); imgStatus = (ImageProgressView)findViewById(R.id.imgStatus);
@ -314,42 +196,7 @@ public class OrbotMainActivity extends Activity implements TorConstants, OnLongC
downloadText = (TextView)findViewById(R.id.trafficDown); downloadText = (TextView)findViewById(R.id.trafficDown);
uploadText = (TextView)findViewById(R.id.trafficUp); 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)); downloadText.setText(formatCount(0) + " / " + formatTotal(0));
uploadText.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) * 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) private void startIntent (String pkg, String action, Uri data)
{ {
Intent i; Intent i;
@ -1448,7 +980,6 @@ public class OrbotMainActivity extends Activity implements TorConstants, OnLongC
} }
<<<<<<< HEAD:src/org/torproject/android/OrbotMainActivity.java
return true; return true;
} }
@ -1456,35 +987,6 @@ public class OrbotMainActivity extends Activity implements TorConstants, OnLongC
{ {
Log.d(TAG,"error onclick",e); 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; return false;

View File

@ -17,13 +17,12 @@ import java.util.concurrent.TimeoutException;
import java.util.zip.ZipEntry; import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream; import java.util.zip.ZipInputStream;
import org.sandroproxy.ony.R;
import org.sufficientlysecure.rootcommands.Shell; import org.sufficientlysecure.rootcommands.Shell;
import org.sufficientlysecure.rootcommands.command.SimpleCommand; import org.sufficientlysecure.rootcommands.command.SimpleCommand;
import org.torproject.android.R;
import org.torproject.android.TorConstants; import org.torproject.android.TorConstants;
import android.content.Context; import android.content.Context;
import android.os.Build;
import android.util.Log; import android.util.Log;
public class TorResourceInstaller implements TorServiceConstants { public class TorResourceInstaller implements TorServiceConstants {

View File

@ -45,7 +45,6 @@ import net.freehaven.tor.control.TorControlConnection;
import org.json.JSONArray; import org.json.JSONArray;
import org.json.JSONObject; import org.json.JSONObject;
import org.sandroproxy.ony.R;
import org.sufficientlysecure.rootcommands.Shell; import org.sufficientlysecure.rootcommands.Shell;
import org.sufficientlysecure.rootcommands.command.SimpleCommand; import org.sufficientlysecure.rootcommands.command.SimpleCommand;
import org.torproject.android.OrbotMainActivity; import org.torproject.android.OrbotMainActivity;
@ -58,7 +57,6 @@ import org.torproject.android.vpn.OrbotVpnService;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.annotation.TargetApi; import android.annotation.TargetApi;
import android.app.Application; import android.app.Application;
import android.app.IntentService;
import android.app.Notification; import android.app.Notification;
import android.app.NotificationManager; import android.app.NotificationManager;
import android.app.PendingIntent; import android.app.PendingIntent;
@ -235,33 +233,13 @@ public class TorService extends Service implements TorServiceConstants, TorConst
mNotificationShowing = false; 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") @SuppressLint("NewApi")
private void showToolbarNotification (String notifyMsg, int notifyType, int icon) private void showToolbarNotification (String notifyMsg, int notifyType, int icon)
{ {
//Reusable code. //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); PendingIntent pendIntent = PendingIntent.getActivity(TorService.this, 0, intent, 0);
if (mNotifyBuilder == null) if (mNotifyBuilder == null)

View File

@ -6,18 +6,14 @@ package org.torproject.android.settings;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.StringTokenizer; import java.util.StringTokenizer;
import org.sandroproxy.ony.R; import org.torproject.android.R;
import org.torproject.android.TorConstants; import org.torproject.android.TorConstants;
import org.torproject.android.service.TorService;
import org.torproject.android.service.TorServiceUtils; import org.torproject.android.service.TorServiceUtils;
//import android.R;
import android.app.Activity; import android.app.Activity;
import android.content.Context; import android.content.Context;
import android.content.SharedPreferences; import android.content.SharedPreferences;
@ -25,15 +21,10 @@ import android.content.SharedPreferences.Editor;
import android.content.pm.ApplicationInfo; import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo; import android.content.pm.PackageInfo;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.util.Log; import android.util.Log;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.MenuItem.OnMenuItemClickListener;
import android.view.View; import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MenuInflater;
import android.view.View.OnClickListener; import android.view.View.OnClickListener;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.ArrayAdapter; import android.widget.ArrayAdapter;
@ -45,6 +36,7 @@ import android.widget.ImageView;
import android.widget.ListAdapter; import android.widget.ListAdapter;
import android.widget.ListView; import android.widget.ListView;
import android.widget.TextView; import android.widget.TextView;
//import android.R;
public class AppManager extends Activity implements OnCheckedChangeListener, OnClickListener, TorConstants { public class AppManager extends Activity implements OnCheckedChangeListener, OnClickListener, TorConstants {

View File

@ -5,8 +5,8 @@ package org.torproject.android.settings;
import java.util.Locale; import java.util.Locale;
import org.sandroproxy.ony.R;
import org.sufficientlysecure.rootcommands.RootCommands; import org.sufficientlysecure.rootcommands.RootCommands;
import org.torproject.android.R;
import org.torproject.android.service.TorServiceUtils; import org.torproject.android.service.TorServiceUtils;
import android.content.Context; import android.content.Context;
@ -19,7 +19,6 @@ import android.preference.Preference;
import android.preference.Preference.OnPreferenceClickListener; import android.preference.Preference.OnPreferenceClickListener;
import android.preference.PreferenceActivity; import android.preference.PreferenceActivity;
import android.preference.PreferenceCategory; import android.preference.PreferenceCategory;
import android.preference.PreferenceManager;
import android.widget.Toast; import android.widget.Toast;

View File

@ -2,7 +2,7 @@ package org.torproject.android.ui;
import java.util.Locale; import java.util.Locale;
import org.sandroproxy.ony.R; import org.torproject.android.R;
import org.torproject.android.TorConstants; import org.torproject.android.TorConstants;
import org.torproject.android.service.TorServiceUtils; import org.torproject.android.service.TorServiceUtils;
@ -12,7 +12,6 @@ import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor; import android.content.SharedPreferences.Editor;
import android.content.res.Configuration; import android.content.res.Configuration;
import android.os.Bundle; import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent; import android.view.KeyEvent;
import android.view.View; import android.view.View;
import android.widget.AdapterView; import android.widget.AdapterView;

View File

@ -1,6 +1,6 @@
package org.torproject.android.ui; package org.torproject.android.ui;
import org.sandroproxy.ony.R; import org.torproject.android.R;
import org.torproject.android.TorConstants; import org.torproject.android.TorConstants;
import org.torproject.android.service.TorServiceUtils; import org.torproject.android.service.TorServiceUtils;

View File

@ -7,14 +7,9 @@ import java.io.InputStream;
import java.io.InputStreamReader; import java.io.InputStreamReader;
import java.util.ArrayList; import java.util.ArrayList;
import org.sandroproxy.ony.R;
import org.sufficientlysecure.rootcommands.Shell; import org.sufficientlysecure.rootcommands.Shell;
import org.sufficientlysecure.rootcommands.command.SimpleCommand; import org.sufficientlysecure.rootcommands.command.SimpleCommand;
import org.torproject.android.R; 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.TorResourceInstaller;
import org.torproject.android.service.TorServiceConstants; import org.torproject.android.service.TorServiceConstants;

View File

@ -18,35 +18,26 @@ package org.torproject.android.vpn;
import java.io.IOException; import java.io.IOException;
import java.net.InetAddress; import java.net.InetAddress;
import java.nio.ByteBuffer;
import java.util.Locale; 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 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.annotation.TargetApi;
import android.app.Notification; import android.app.Notification;
import android.app.NotificationManager; import android.app.NotificationManager;
import android.app.PendingIntent; import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.net.VpnService; import android.net.VpnService;
import android.os.Build; import android.os.Build;
import android.os.Handler; import android.os.Handler;
import android.os.Message; import android.os.Message;
import android.os.ParcelFileDescriptor; import android.os.ParcelFileDescriptor;
import android.support.v4.app.NotificationCompat;
import android.util.Log; import android.util.Log;
import android.widget.RemoteViews;
import android.widget.Toast; 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) @TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
public class OrbotVpnService extends VpnService implements Handler.Callback { public class OrbotVpnService extends VpnService implements Handler.Callback {
private static final String TAG = "DrobotVpnService"; private static final String TAG = "DrobotVpnService";
@ -61,6 +52,7 @@ public class OrbotVpnService extends VpnService implements Handler.Callback {
private int mSocksProxyPort = 9999; private int mSocksProxyPort = 9999;
private ProxyServer mProxyServer; private ProxyServer mProxyServer;
private Thread mThreadProxy;
private final static int VPN_MTU = 1500; private final static int VPN_MTU = 1500;
@ -229,7 +221,6 @@ public class OrbotVpnService extends VpnService implements Handler.Callback {
} }
} }
}.start(); }.start();
clearNotifications();
super.onRevoke(); super.onRevoke();
} }