【问题标题】:Running tor binary with ProcessBuilder使用 ProcessBuilder 运行 tor 二进制文件
【发布时间】:2019-11-22 15:58:16
【问题描述】:

我想在 Android 上以编程方式运行 tor 服务。

final String path = getNoBackupFilesDir().getCanonicalPath();
            final ProcessBuilder torpb = new ProcessBuilder(
                    String.format("%s/%s", path, "tor"),
                    "HiddenServiceDir " + path + "/hidden_service",
                    "HiddenServicePort 80 127.0.0.1:8080"
            );

            torpb.directory(new File(path));
            mProcessTor = torpb.start();

但我会收到以下错误消息。

11 月 22 日 23:31:53.041 [通知] Tor 0.4.0.5 在 Linux 上运行,带有 Libevent 2.1.8-stable、OpenSSL 1.1.1b、Zlib 1.2.11、Liblzma N/A 和 Libzstd N/A。 11 月 22 日 23:31:53.042 [通知] 如果你用错了,Tor 帮不了你!通过https://www.torproject.org/download/download#warning了解如何确保安全
Nov 22 23:31:53.042 [notice] 配置文件“//.torrc”不存在,使用合理的默认值。
11 月 22 日 23:31:53.058 [通知] 在 127.0.0.1:9050 上打开 Socks 监听器
11 月 22 日 23:31:53.058 [通知] 在 127.0.0.1:9050 上打开 Socks 监听器
11 月 22 日 23:31:53.058 [警告] 创建目录时出错 //.tor: 只读文件系统
11 月 22 日 23:31:53.058 [警告] 无法解析/验证配置:无法创建私有数据目录“//.tor”
11 月 22 日 23:31:53.058 [错误] 读取配置失败 - 请参阅上面的警告。

我想我可能会错过一些运行 tor 服务的参数?
//.tor 是什么?

谢谢!!

【问题讨论】:

  • 你用过安卓奥利奥8吗?是的,你已经在清单中启用了 WRITE_EXTERNAL_STORAGE?

标签: android tor


【解决方案1】:

通过修改源代码来工作:

final String path = getNoBackupFilesDir().getCanonicalPath();
            final ProcessBuilder torpb = new ProcessBuilder(
                    String.format("%s/%s", path, "tor"),
                    "DataDirectory",
                    path + "/tordata",
                    "HiddenServiceDir",
                    path + "/hidden_service",
                    "HiddenServicePort",
                    "80 127.0.0.1:8080"
            );

            torpb.directory(new File(path));
            mProcessTor = torpb.start();

【讨论】:

    猜你喜欢
    • 2012-08-06
    • 1970-01-01
    • 1970-01-01
    • 2012-01-08
    • 1970-01-01
    • 2014-01-16
    • 1970-01-01
    • 1970-01-01
    • 2013-09-01
    相关资源
    最近更新 更多