Android设备上没有root

时间:2017-07-25 15:06:05

标签: android proxy socks

有没有办法在未经验证的Android设备上创建SOCKS-5代理服务器?为什么需要root?我可以创建自己的Android应用程序,它将在我的设备上创建一个服务器,并在我的compluter上使用此服务器作为代理,所有这些都不需要设备根源吗?

更新:我开始使用this库来尝试创建代理服务器。我下载了所有文件,但只将主.jar文件添加到AndroidStudio中的项目依赖项中。我试图从服务中的runnable启动服务器。这是服务代码:

public class ProxyService extends Service 
{

    private static boolean running = false;

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {

        ServerAuthenticatorNone auth = new ServerAuthenticatorNone();

        ProxyServer server = new ProxyServer(auth);

        Run(server); //runnable is needed because if I start service from 
                     //this thread it throws a network on main thread exception
        return START_STICKY;
    }

    private void Run(ProxyServer server) {
        if (running)
            return;

        final ProxyServer serverFinal = server;
        running = true;
        new Thread(new Runnable() {
            @Override
            public void run() {
                while (true) {
                    Log.i("DEBUG", "tick " + running);

                    serverFinal.start(1080);

                    Log.i("DEBUG", "proxyServer started at port 1080");
                    running = true;
                    try {
                        TimeUnit.SECONDS.sleep(5);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                        running = false;
                    }
                }
            }
        }).start();
    }

    @Nullable
    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }
}

当我在我的小米Redmi Note 2无根设备上运行此代码时,我得到以下日志:

07-26 16:48:18.097: I/DEBUG(19766): tick true
07-26 16:48:18.099: I/XiaomiFirewall(1211): firewall pkgName:com.socks.server, result:0

当我使用this网站检查代理时,我什么都没得到。

我想我应该以某种方式配置服务器,但它是使用.jar之外的外部.properties文件完成的,我不知道如何在AndroidStudio项目中链接它们。

我还怀疑即使这些操作也需要超级用户(root)来阻止小米防火墙拒绝我启动服务器。

有什么建议吗?

0 个答案:

没有答案