Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#通过控制端口创建隐藏服务_C#_Tor - Fatal编程技术网

C#通过控制端口创建隐藏服务

C#通过控制端口创建隐藏服务,c#,tor,C#,Tor,所以我制作了一个像ricochet这样的小型聊天应用程序,但是在C#中,我成功地连接到tor controlport并创建了一个隐藏的服务id和私钥,但是在那之后我被卡住了,我向tor控制端口发送ADD_\n NEW:BEST Port=8946127.0.0.1:8946\r\n,它用隐藏的服务id和私钥以及代码250进行应答。但是我应该怎么做才能让它自动运行服务呢?我试过谷歌搜索,但找不到任何东西,所有的例子都是Python或C++,如果有人能指出我的方向,那就太棒了。此外,我使用Knapc

所以我制作了一个像ricochet这样的小型聊天应用程序,但是在C#中,我成功地连接到tor controlport并创建了一个隐藏的服务id和私钥,但是在那之后我被卡住了,我向tor控制端口发送
ADD_\n NEW:BEST Port=8946127.0.0.1:8946\r\n
,它用隐藏的服务id和私钥以及代码250进行应答。但是我应该怎么做才能让它自动运行服务呢?我试过谷歌搜索,但找不到任何东西,所有的例子都是Python或C++,如果有人能指出我的方向,那就太棒了。此外,我使用Knapcode.TorSharp,因此tor安装不是持久的,用户有一个保存密钥等的配置文件,应该从那里开始


提前感谢

当您调用
ADD\u ONION
时,隐藏服务立即开始运行(一旦它可以发布隐藏服务描述符并建立回路[通常在一两分钟内]即可访问)

如果您希望这些服务在后续运行时自动重新启动(对于非持久化的Tor安装),那么当应用程序重新启动并检测到私钥保存到配置文件时,您需要通过编程方式调用类似的
ADD\u ONION

您可以使用以下语法的现有键重新创建隐藏服务:

ADD_ONION RSA1024:*PKEY_GOES_HERE* Flags=DiscardPK Port=8946,8946

当您第一次调用
ADD_ONION
时,响应应该如下所示:

250-ServiceID=abcdefg123456
250-PrivateKey=RSA1024:MIICXAIBAAKBgQC91z4mjpNF5ddRL6jm7rnmgwSiQ6dNXF1Fo8sz1wOsGqWKgE4C6Bd3KT+zgQgXJlioIJOCEP9D0b/qlPCvEiGG3/fPEn1+Zpf5N4oNRI+in7J2m3xihhgAinbscJ0vM+1vfnRLlMrtYdE9J5aKle+t+OC6ZoXTxzPZRZkmXtqVpp8QIDAQPXAoGBAK7oh8zChBJch5u3i6jpvsIRaM2QA68VMKKfHPOwYSPKkUcgm7+10xjpGlXqxmd93yVYjk/CFU6JDIe3nmHPFK82BtPgyEMRtmVmcunS262Ead/ffpzAErBSdihOF7zO/wGjGgIaMW9Bhy69aK5LcNUB30Iu9+MWG62xz8tTgcEhAkEA8QNKMyKdRUbgGc9Gv1n8JtMs0Af/a/OHozdn1ywvHxw7mzahF936gqHIdg67XLtIj5TaUSM/44OoEvvURnG7QJBAMmlVttRd8y+/FnA6dPkesQMpPw+ipHLNUrf7qPrX3py670vLbprWDNYCOn6oaxoRtl/iRXPI5CgjMXmnu356pUCQDnWD0VMJi+MvZSUACbZXwP2ApP1bHfla3I7Xaezh5oDxtoAd0PS4STh1+HQUPvQW4WfLUcSsz9UaMAg2NI+fFUCQc7D1PVW7sqSGBth3jXE+3+H6WY2iy8Z1Ji+l2KRdJ8IiIOWdfcgUpMNzZV8jc7Y9Cm5p5l2wy7kjfGADyYBCXkCQD9fnmVMlUO1xITfW8K+pAf6FPcvfo8J0rpWHEhG4CxjFw4s4s9Mzjme1e17YnfK21CNIOxd2bkqVI4j4o=
250 OK

您需要保存它在
PrivateKey
中返回的内容,并在下次运行应用程序时使用此值重新启动隐藏的服务。

当您调用
ADD\u
时,它会自动运行。你是在问如何让它在将来自动启动吗?啊,好的,是的,比如:用户有一个帐户文件,如果它已经包含私钥和id,它应该使用它们,否则创建itHappy来帮助:)