{"id":13521647,"url":"https://github.com/wbenny/mini-tor","last_synced_at":"2025-04-06T10:11:23.170Z","repository":{"id":146183786,"uuid":"63770202","full_name":"wbenny/mini-tor","owner":"wbenny","description":"proof-of-concept implementation of tor protocol using Microsoft CNG/CryptoAPI","archived":false,"fork":false,"pushed_at":"2019-04-09T16:44:16.000Z","size":1064,"stargazers_count":399,"open_issues_count":6,"forks_count":88,"subscribers_count":31,"default_branch":"master","last_synced_at":"2025-03-30T08:11:51.940Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wbenny.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2016-07-20T09:49:24.000Z","updated_at":"2025-03-26T19:59:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"69469783-0be6-4577-8ade-014105cec36f","html_url":"https://github.com/wbenny/mini-tor","commit_stats":null,"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wbenny%2Fmini-tor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wbenny%2Fmini-tor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wbenny%2Fmini-tor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wbenny%2Fmini-tor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wbenny","download_url":"https://codeload.github.com/wbenny/mini-tor/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247464222,"owners_count":20942970,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T06:00:36.727Z","updated_at":"2025-04-06T10:11:23.140Z","avatar_url":"https://github.com/wbenny.png","language":"C++","funding_links":[],"categories":["\u003ca id=\"1a9934198e37d6d06b881705b863afc8\"\u003e\u003c/a\u003e通信\u0026\u0026代理\u0026\u0026反向代理\u0026\u0026隧道","\u003ca id=\"6e80463404d46f0493cf6e84597e4b5c\"\u003e\u003c/a\u003e工具","C++","C++ (225)","Applications"],"sub_categories":["\u003ca id=\"b03a7c05fd5b154ad593b6327578718b\"\u003e\u003c/a\u003e匿名网络","\u003ca id=\"e99ba5f3de02f68412b13ca718a0afb6\"\u003e\u003c/a\u003eTor\u0026\u0026\u0026Onion\u0026\u0026洋葱","Other applications"],"readme":"[![Build status](https://ci.appveyor.com/api/projects/status/hjxm9hfjwljab2am?svg=true)](https://ci.appveyor.com/project/wbenny/mini-tor)\n\n# mini-tor\n\nmini-tor is a proof-of-concept utility for accessing internet content and hidden service content **(.onion)** via tor routers. this utility is aiming for as smallest size as possible (currently ~47kb, compressed with kkrunchy ~20kb), which is achieved by using Microsoft CryptoAPI/CNG instead of embedding OpenSSL.\n\n### Usage\n\naccessing internet content via mini-tor:\n```c\n\u003e mini-tor.exe \"http://torstatus.blutmagie.de/router_detail.php?FP=847b1f850344d7876491a54892f904934e4eb85d\"\n```\naccessing hidden service content via mini-tor:\n\n```c\n\u003e mini-tor.exe \"http://duskgytldkxiuqc6.onion/fedpapers/federndx.htm\"\n```\n\nit can even access https content:\n```c\n\u003e mini-tor.exe \"https://check.torproject.org/\"\n\u003e mini-tor.exe \"https://www.facebookcorewwwi.onion/\"\n```\n\nadd -v, -vv or -vvv for verbosity:\n```c\n\u003e mini-tor.exe -v \"http://duskgytldkxiuqc6.onion/fedpapers/federndx.htm\"\n\u003e mini-tor.exe -vv \"https://check.torproject.org/\"\n\u003e mini-tor.exe -vvv \"https://www.facebookcorewwwi.onion/\"\n```\n\nyou can disable logging by commenting out `#define MINI_LOG_ENABLED` in `mini/logger.h`.\nthis will also result in fairly reduced size of the executable.\n\n### Description\n\n* **mini-tor** supports both TAP \u0026 NTOR handshake.\n  * TAP uses ordinary DH with 1024 bit exponent.\n  * NTOR is newer type of handshake and uses curve25519.\n  * you can control which handshake is used by default by changing `preferred_handshake_type` in `mini/tor/common.h`\n* **mini-tor** can use either CryptoAPI or newer CNG api.\n  * configurable via `mini/crypto/common.h`.\n  * note that curve25519 is supported by CNG only on win10+.\n    * there is a *curve25519-donna* implementation included. you can enable it by setting `MINI_CRYPTO_CURVE25519_NAMESPACE` to `ext` to get it running on older systems.\n  * note that `cng::dh\u003c\u003e` will work only on win8.1+, because of usage `BCRYPT_KDF_RAW_SECRET` for fetching shared secret.\n    * you can use `capi::dh\u003c\u003e` by setting `MINI_CRYPTO_DH_NAMESPACE` to `capi`.\n  * anything else should run fine on win7+ (anything older is not yet supported).\n* **mini-tor** creates TLS connections via SCHANNEL (look at `mini/net/ssl_socket.cpp` \u0026 `mini/net/detail/ssl_context.cpp`).\n* **mini-tor** does not use default CRT or STL, everything is implemented from scratch.\n* older version of **mini-tor** based purely on CryptoAPI can be found in git tag **ms_crypto_api** (unmaintained).\n\n### Remarks\n\n* as i stated above, this application is proof of concept.\n* you can sometimes expect buggy behavior.\n* this is definitelly not full-blown secure replacement for tor. \n\n### Compilation\n\ncompile **mini-tor** using Visual Studio 2017. solution file is included. no other dependencies are required.\n\n\n### License\n\nall the code in this repository is open-source under the MIT license. see the **LICENSE.txt** file in this repository.\n\n\nif you find this project interesting, you can buy me a coffee\n\n```\n  BTC 3GwZMNGvLCZMi7mjL8K6iyj6qGbhkVMNMF\n  LTC MQn5YC7bZd4KSsaj8snSg4TetmdKDkeCYk\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwbenny%2Fmini-tor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwbenny%2Fmini-tor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwbenny%2Fmini-tor/lists"}