carml
=====
``carml`` is a command-line tool to query and control a running Tor
(including Tor Browser Bundle). You can do things like:
* list and remove streams and circuits;
* monitor stream, circuit and address-map events;
* watch for any Tor event and print it (or many) out;
* monitor bandwidth;
* run any Tor control-protocol command;
* pipe through common Unix tools like ``grep``, ``less``, ``cut``, etcetera;
* download TBB through Tor, with pinned certs and signature checking;
* ...even spit out and run ``xplanet`` configs (with router/circuit markers)!
It is written in Python and uses Tor's control-port via the `txtorcon
library <https://txtorcon.readthedocs.org>`_.
**Documentation at:** `carml.rtfd.org <https://carml.readthedocs.org/en/latest/>`_ or `tvflhlyx7o5qsl6a2v6pvzwripzzvzgt32tkhfbys7tj3zrm4faz53yd.onion/ <http://tvflhlyx7o5qsl6a2v6pvzwripzzvzgt32tkhfbys7tj3zrm4faz53yd.onion/>`_
**Code at:** `github.com/meejah/carml <https://github.com/meejah/carml/>`_
In some ways, ``carml`` started as a dumping-ground for things I
happened to make Tor do at least once from Python code. Are there
things you wish you could easily make Tor do from the command-line?
File an enhancement bug at GitHub!
``carml`` is also easy to extend, even with system- or `virtualenv
<http://docs.python-guide.org/en/latest/dev/virtualenvs/>`_- installed
packages.
Feedback is appreciated -- pull-requests and bug-reports (including
feature enhancements) welcome `at GitHub
<https://github.com/meejah/carml>`_ or you can contact me in `#tor-dev
on OFTC <irc://irc.oftc.net/tor-dev>`_ or via *meejah at meejah dot
ca* with the public-key contained in the source.
Some Quick Examples
-------------------
.. sourcecode:: shell-session
(venv)meejah@machine:~$ carml circ --list
Connected to a Tor version "0.2.4.21 (git-c5a648cc6f218339)" (status: recommended).
Circuits:
809: BUILT 29 minutes ago carmlfake0->~Unnamed->lobstertech
810: BUILT 29 minutes ago ~carmelfake1->~toxiroxi->~SECxFreeBSD64
811: BUILT 5 minutes ago carmelfake2->torpidsDEinterwerk->~rainbowwarrior
813: BUILT 24 seconds ago carmlfake0->~arkhaios1->~IPredator
(venv)meejah@machine:~$ carml circ --delete 810
Connected to a Tor version "0.2.4.21 (git-c5a648cc6f218339)" (status: recommended).
Deleting circuit "810"...
...circuit 172 gone.
(venv)meejah@machine:~$ echo "hello world" | carml pastebin --once
12 bytes to share.
Launching Tor: connected.
People using Tor Browser Bundle can find your paste at (once the descriptor uploads):
http://ok2byooigb4v53be.onion
If you wish to keep the hidden-service keys, they're in (until we shut down):
/dev/shm/tortmp6eHPg4
Awaiting descriptor upload...
Descriptor uploaded; hidden-service should be reachable.
Mon Jul 21 13:54:38 2014: Serving request to User-Agent "curl/7.37.0".
Shutting down.
(venv3)meejah@machine:~$ carml tbb
Getting recommended versions from "http://2gzyxa5ihm7nsggfxnu52rck2vv4rvmdlkiu3zzui5du4xyclen53wid.onion/projects/torbrowser/RecommendedTBBVersions".
7.5.5, 7.5.5-MacOS, 7.5.5-Linux, 7.5.5-Windows, 7.5.6, 7.5.6-MacOS,
7.5.6-Linux, 7.5.6-Windows, 8.0a8, 8.0a8-MacOS, 8.0a8-Linux,
8.0a8-Windows, 8.0a9, 8.0a9-MacOS, 8.0a9-Linux, 8.0a9-Windows
Note: there are alpha versions available; use --alpha to download.
Downloading "tor-browser-linux64-7.5.5_en-US.tar.xz.asc" from:
http://scpalcwstkydpa3y7dbpkjs2dtr7zvtvdbyj3dqwkucfrwyixcl5ptqd.onion/torbrowser/7.5.5/tor-browser-linux64-7.5.5_en-US.tar.xz.asc
Downloading "tor-browser-linux64-7.5.5_en-US.tar.xz" from:
http://scpalcwstkydpa3y7dbpkjs2dtr7zvtvdbyj3dqwkucfrwyixcl5ptqd.onion/torbrowser/7.5.5/tor-browser-linux64-7.5.5_en-US.tar.xz
[▏ ] - 0.0 of 65.8 MiB (1s remaining)
[▋ ] - 6.6 of 65.8 MiB (153s remaining)
[█▏ ] - 13.2 of 65.8 MiB (137s remaining)
[█▋ ] - 19.8 of 65.8 MiB (120s remaining)
[██▏ ] - 26.4 of 65.8 MiB (102s remaining)
[██▋ ] - 32.9 of 65.8 MiB (85s remaining)
[███▏ ] - 39.5 of 65.8 MiB (70s remaining)
[███▋ ] - 46.1 of 65.8 MiB (55s remaining)
[████▏] - 52.7 of 65.8 MiB (38s remaining)
[████▋] - 59.3 of 65.8 MiB (19s remaining)
[█████] - 65.8 of 65.8 MiB (0s remaining)
0.32 MiB/s
gpg: assuming signed data in 'tor-browser-linux64-7.5.5_en-US.tar.xz'
gpg: Signature made Sat 09 Jun 2018 06:42:37 AM MDT
gpg: using RSA key D1483FA6C3C07136
gpg: Good signature from "Tor Browser Developers (signing key) <torbrowser@torproject.org>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: EF6E 286D DA85 EA2A 4BA7 DE68 4E2C 6E87 9329 8290
Subkey fingerprint: A430 0A6B C93C 0877 A445 1486 D148 3FA6 C3C0 7136
Signature is good.
Extracting "tor-browser-linux64-7.5.5_en-US.tar.xz"...
decompressing...
20% extracted
40% extracted
60% extracted
80% extracted
100% extracted
Tor Browser Bundle downloaded and extracted.
running: ./tor-browser_en-US/Browser/start-tor-browser
License
-------
``carml`` is public domain. See `unlicense.org
<http://unlicense.org/>`_ for more information.
Raw data
{
"_id": null,
"home_page": "https://github.com/meejah/carml",
"name": "carml",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "python,twisted,tor,command-line,cli",
"author": "meejah",
"author_email": "meejah@meejah.ca",
"download_url": "https://files.pythonhosted.org/packages/6c/86/62225dfe8c5762095365e04f7a5758dc9cdfd849b5d82d1225a7993be4c3/carml-23.11.0.tar.gz",
"platform": null,
"description": "carml\n=====\n\n``carml`` is a command-line tool to query and control a running Tor\n(including Tor Browser Bundle). You can do things like:\n\n * list and remove streams and circuits;\n * monitor stream, circuit and address-map events;\n * watch for any Tor event and print it (or many) out;\n * monitor bandwidth;\n * run any Tor control-protocol command;\n * pipe through common Unix tools like ``grep``, ``less``, ``cut``, etcetera;\n * download TBB through Tor, with pinned certs and signature checking;\n * ...even spit out and run ``xplanet`` configs (with router/circuit markers)!\n\nIt is written in Python and uses Tor's control-port via the `txtorcon\nlibrary <https://txtorcon.readthedocs.org>`_.\n\n**Documentation at:** `carml.rtfd.org <https://carml.readthedocs.org/en/latest/>`_ or `tvflhlyx7o5qsl6a2v6pvzwripzzvzgt32tkhfbys7tj3zrm4faz53yd.onion/ <http://tvflhlyx7o5qsl6a2v6pvzwripzzvzgt32tkhfbys7tj3zrm4faz53yd.onion/>`_\n**Code at:** `github.com/meejah/carml <https://github.com/meejah/carml/>`_\n\nIn some ways, ``carml`` started as a dumping-ground for things I\nhappened to make Tor do at least once from Python code. Are there\nthings you wish you could easily make Tor do from the command-line?\nFile an enhancement bug at GitHub!\n\n``carml`` is also easy to extend, even with system- or `virtualenv\n<http://docs.python-guide.org/en/latest/dev/virtualenvs/>`_- installed\npackages.\n\nFeedback is appreciated -- pull-requests and bug-reports (including\nfeature enhancements) welcome `at GitHub\n<https://github.com/meejah/carml>`_ or you can contact me in `#tor-dev\non OFTC <irc://irc.oftc.net/tor-dev>`_ or via *meejah at meejah dot\nca* with the public-key contained in the source.\n\n\nSome Quick Examples\n-------------------\n\n.. sourcecode:: shell-session\n\n (venv)meejah@machine:~$ carml circ --list\n Connected to a Tor version \"0.2.4.21 (git-c5a648cc6f218339)\" (status: recommended).\n Circuits:\n 809: BUILT 29 minutes ago carmlfake0->~Unnamed->lobstertech\n 810: BUILT 29 minutes ago ~carmelfake1->~toxiroxi->~SECxFreeBSD64\n 811: BUILT 5 minutes ago carmelfake2->torpidsDEinterwerk->~rainbowwarrior\n 813: BUILT 24 seconds ago carmlfake0->~arkhaios1->~IPredator\n (venv)meejah@machine:~$ carml circ --delete 810\n Connected to a Tor version \"0.2.4.21 (git-c5a648cc6f218339)\" (status: recommended).\n Deleting circuit \"810\"...\n ...circuit 172 gone.\n (venv)meejah@machine:~$ echo \"hello world\" | carml pastebin --once\n 12 bytes to share.\n Launching Tor: connected.\n People using Tor Browser Bundle can find your paste at (once the descriptor uploads):\n\n http://ok2byooigb4v53be.onion\n\n If you wish to keep the hidden-service keys, they're in (until we shut down):\n /dev/shm/tortmp6eHPg4\n Awaiting descriptor upload...\n Descriptor uploaded; hidden-service should be reachable.\n Mon Jul 21 13:54:38 2014: Serving request to User-Agent \"curl/7.37.0\".\n Shutting down.\n (venv3)meejah@machine:~$ carml tbb\n Getting recommended versions from \"http://2gzyxa5ihm7nsggfxnu52rck2vv4rvmdlkiu3zzui5du4xyclen53wid.onion/projects/torbrowser/RecommendedTBBVersions\".\n 7.5.5, 7.5.5-MacOS, 7.5.5-Linux, 7.5.5-Windows, 7.5.6, 7.5.6-MacOS,\n 7.5.6-Linux, 7.5.6-Windows, 8.0a8, 8.0a8-MacOS, 8.0a8-Linux,\n 8.0a8-Windows, 8.0a9, 8.0a9-MacOS, 8.0a9-Linux, 8.0a9-Windows\n Note: there are alpha versions available; use --alpha to download.\n Downloading \"tor-browser-linux64-7.5.5_en-US.tar.xz.asc\" from:\n http://scpalcwstkydpa3y7dbpkjs2dtr7zvtvdbyj3dqwkucfrwyixcl5ptqd.onion/torbrowser/7.5.5/tor-browser-linux64-7.5.5_en-US.tar.xz.asc\n Downloading \"tor-browser-linux64-7.5.5_en-US.tar.xz\" from:\n http://scpalcwstkydpa3y7dbpkjs2dtr7zvtvdbyj3dqwkucfrwyixcl5ptqd.onion/torbrowser/7.5.5/tor-browser-linux64-7.5.5_en-US.tar.xz\n [\u258f ] - 0.0 of 65.8 MiB (1s remaining)\n [\u258b ] - 6.6 of 65.8 MiB (153s remaining)\n [\u2588\u258f ] - 13.2 of 65.8 MiB (137s remaining)\n [\u2588\u258b ] - 19.8 of 65.8 MiB (120s remaining)\n [\u2588\u2588\u258f ] - 26.4 of 65.8 MiB (102s remaining)\n [\u2588\u2588\u258b ] - 32.9 of 65.8 MiB (85s remaining)\n [\u2588\u2588\u2588\u258f ] - 39.5 of 65.8 MiB (70s remaining)\n [\u2588\u2588\u2588\u258b ] - 46.1 of 65.8 MiB (55s remaining)\n [\u2588\u2588\u2588\u2588\u258f] - 52.7 of 65.8 MiB (38s remaining)\n [\u2588\u2588\u2588\u2588\u258b] - 59.3 of 65.8 MiB (19s remaining)\n [\u2588\u2588\u2588\u2588\u2588] - 65.8 of 65.8 MiB (0s remaining)\n 0.32 MiB/s\n gpg: assuming signed data in 'tor-browser-linux64-7.5.5_en-US.tar.xz'\n gpg: Signature made Sat 09 Jun 2018 06:42:37 AM MDT\n gpg: using RSA key D1483FA6C3C07136\n gpg: Good signature from \"Tor Browser Developers (signing key) <torbrowser@torproject.org>\" [unknown]\n gpg: WARNING: This key is not certified with a trusted signature!\n gpg: There is no indication that the signature belongs to the owner.\n Primary key fingerprint: EF6E 286D DA85 EA2A 4BA7 DE68 4E2C 6E87 9329 8290\n Subkey fingerprint: A430 0A6B C93C 0877 A445 1486 D148 3FA6 C3C0 7136\n Signature is good.\n Extracting \"tor-browser-linux64-7.5.5_en-US.tar.xz\"...\n decompressing...\n 20% extracted\n 40% extracted\n 60% extracted\n 80% extracted\n 100% extracted\n Tor Browser Bundle downloaded and extracted.\n running: ./tor-browser_en-US/Browser/start-tor-browser\n\n\n\nLicense\n-------\n\n``carml`` is public domain. See `unlicense.org\n<http://unlicense.org/>`_ for more information.\n",
"bugtrack_url": null,
"license": "Public Domain (http://unlicense.org/)",
"summary": "A command-line tool to query and control a running Tor. Based on txtorcon + Twisted.",
"version": "23.11.0",
"project_urls": {
"Homepage": "https://github.com/meejah/carml"
},
"split_keywords": [
"python",
"twisted",
"tor",
"command-line",
"cli"
],
"urls": [
{
"comment_text": "carml v23.11.0 wheel",
"digests": {
"blake2b_256": "b8a60f2711f65e67f696cc506585afaf577d7221d8265d6dbc8023d897211885",
"md5": "d1f071f14066e7a67fbe4892f8bbc9b1",
"sha256": "a45a844c1e13ec1cff5b4d038092918fcc8c0aafcabd2c3e05abeced647cc2e5"
},
"downloads": -1,
"filename": "carml-23.11.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d1f071f14066e7a67fbe4892f8bbc9b1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 66355,
"upload_time": "2023-11-20T09:35:36",
"upload_time_iso_8601": "2023-11-20T09:35:36.195387Z",
"url": "https://files.pythonhosted.org/packages/b8/a6/0f2711f65e67f696cc506585afaf577d7221d8265d6dbc8023d897211885/carml-23.11.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "carml v23.11.0 tarball",
"digests": {
"blake2b_256": "6c8662225dfe8c5762095365e04f7a5758dc9cdfd849b5d82d1225a7993be4c3",
"md5": "a048d8213c53ecd2997e29cc85be57ff",
"sha256": "062dd18ddc90888d5f80b12cffd806ffdd131fe62c023743e9d71bb3dc894ec1"
},
"downloads": -1,
"filename": "carml-23.11.0.tar.gz",
"has_sig": false,
"md5_digest": "a048d8213c53ecd2997e29cc85be57ff",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 52592,
"upload_time": "2023-11-20T09:35:33",
"upload_time_iso_8601": "2023-11-20T09:35:33.848609Z",
"url": "https://files.pythonhosted.org/packages/6c/86/62225dfe8c5762095365e04f7a5758dc9cdfd849b5d82d1225a7993be4c3/carml-23.11.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-11-20 09:35:33",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "meejah",
"github_project": "carml",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [],
"lcname": "carml"
}