0

我慢してください。これは私の最初の投稿です...

Tor プロジェクトは最近、ロード可能な Python モジュールとして Stem を導入しました。それが実行可能なツールであるかどうかを確認するために、私はそれをいじっています。私の結果はまちまちです。

コントローラー内の非表示のサービスの構成を有効にしようとしました (これは、torrc ファイルから直接取得されたかのように動作するはずです。常に失敗します。私が試した簡単な例を次に示します。

    #!/usr/bin/env python
    from stem.control import Controller
    controller = Controller.from_port(port = 9051)
    controller.authenticate()
    controller.set_options({'HIDDENSERVICEDIR':'/tmp/hiddenservice/','HIDDENSERVICEPORT':'1234 127.0.0.1:1234'})

...エラーを返します:

    InvalidRequest                            Traceback (most recent call last)
    /home/user/my/folder/<ipython-input-5-3921e9b46181> in <module>()
    /usr/local/lib/python2.7/dist-packages/stem/control.pyc in set_options(self, params, reset)
       1618         raise stem.InvalidRequest(response.code, response.message)
       1619       elif response.code in ("513", "553"):
    -> 1620         raise stem.InvalidRequest(response.code, response.message)
       1621       else:
       1622         raise stem.ProtocolError("Returned unexpected status code: %s" % response.code)

    InvalidRequest: Unacceptable option value: Failed to configure rendezvous options. See logs 

...そして /var/log/tor/log の以下:

    Aug 1 10:10:05.000 [warn] HiddenServicePort with no preceding HiddenServiceDir directive
    Aug 1 10:10:05.000 [warn] Controller gave us config lines that didn't validate: Failed to configure rendezvous options. See logs for details.

上記のStemの「set_options」と、「set_conf」を使用した2つの別々のコマンドでこれを試しました。「set_conf」を使用すると、HiddenServiceDir を設定できますが、ポートを設定するときも同じように失敗し、Tor について根本的な誤解をしていると思います。

回線を確認しましたが、非表示のサービス ランデブー ポイントがあるかどうかは問題ではないようです。それは失敗し続けます。私は物事をpythonic、temporal、そしてきれいに保ち、torを再起動する前にtorrcを書き換えるハッキングされたbashスクリプトを持たないことを好みます。(完全な世界では、非表示のサービス ディレクトリに書き込みたくないのですが、tor はまだそれを実装していません。)

可能な限りクロスプラットフォームにしようとしていますが、Tor 2.3.25 で Linux を実行しています...

では、Stem が隠しサービスを作成させてくれない理由を誰が思いつくでしょうか?

4

1 に答える 1