summaryrefslogtreecommitdiff
path: root/examples
Commit message (Collapse)AuthorAgeFilesLines
* cargo: Update `arti-*` and `tor-*` to `0.38.0`Clara Engler2026-01-128-27/+27
| | | | | | | | | Done using the following: ```bash for crate in $(./maint/list_crates | rg '^(tor|arti-)'); do cargo set-version -p $crate 0.38.0 done ```
* Bump all the unstable tor- and arti- crates to 0.37.0.Gabriela Moldovan2025-12-028-27/+27
| | | | | | | | | Done using: ``` for crate in $(./maint/list_crates | rg '^(tor|arti-)'); do cargo set-version -p $crate 0.37.0 done
* Merge branch 'disable-hidden-service' into 'main'wesleyac2025-11-122-24/+33
|\ | | | | | | | | | | | | arti/arti-client/tor-hsservice: Support disabling onion services in the config Closes #2133 See merge request tpo/core/arti!3253
| * arti(-client)/tor-hsservice: return None for disabled servicehashcatHitman2025-10-162-24/+33
| | | | | | | | | | | | | | | | | | | | There is no longer a hard error anywhere for trying to launch a service which is disabled in the config. Instead, it always means returning `Ok(None)`. The axum and hyper examples were updated again as a consequence. Signed-off-by: hashcatHitman <[email protected]>
| * arti(-client): graceful service disable in arti onlyhashcatHitman2025-10-162-33/+24
| | | | | | | | | | | | | | | | | | | | | | When a service is disabled in the config, `arti::onion_proxy::Proxy` handles it gracefully, and `arti_client::client::TorClient::launch_onion_service_with_hsid` and `arti_client::client::TorClient::launch_onion_service` both hard error. The axum and hyper examples were updated again as a consequence. Signed-off-by: hashcatHitman <[email protected]>
| * arti/arti-client: add graceful service disablehashcatHitman2025-10-162-24/+33
| | | | | | | | | | | | | | | | | | Hidden services disabled in the config are now handled more gracefully by arti/arti-client, before the hard error occurs. The axum and hyper examples were updated as a consequence. Signed-off-by: hashcatHitman <[email protected]>
* | maint: bump minor versions of all published cratesSteven Engler2025-10-298-29/+29
|/ | | | | | | ```bash readarray -t publish < <(cargo metadata --format-version 1 | jq -r '.packages[] | select((.id | startswith("path+file:///")) and (.rust_version != null) and (.publish == null or .publish == true or .publish != [])) | .name') for package in "${publish[@]}"; do echo "$package:"; cargo set-version --bump minor -p "$package"; done ```
* release: Bump versions in examples/ and maint/Wesley Aptekar-Cassels2025-10-028-29/+29
|
* release: Run fixup-features.Wesley Aptekar-Cassels2025-10-018-29/+29
|
* macos-native-tls-notice: Update README.md of hyper-examples with notice of ↵nield2025-10-011-0/+3
| | | | native-tls bug on MacOS
* macos-native-tls-notice: Update README.md of download-manager with notice of ↵nield2025-10-011-0/+4
| | | | native-tls bug on MacOS
* Require tracing-subscriber 0.3.20Nick Mathewson2025-09-027-7/+7
| | | | Fixes RUSTSEC-2025-0055.
* Fix complaints from "cargo sort"Nick Mathewson2025-08-271-3/+9
|
* Run "fixup-features"Nick Mathewson2025-08-272-0/+6
|
* Update webpki-roots dependency to 1.0.2Nick Mathewson2025-08-261-1/+1
|
* proto: Move the `stream` module under `client` (breaking).Gabriela Moldovan2025-08-183-3/+3
| | | | | | | | | | | | The `stream` module is client-specific, for the most part, so I am moving it under `client`. Later on, we will factor out the parts that can be shared with the relay implementation. Note: this is a breaking change as the deleted `stream` module was `pub`. We could've kept the module and reexported from it the public types from `tor_proto::client::stream`, but I think it's better to have this `client` namespacing, because it makes the separation between the client and relay parts clearer.
* hyper-examples: Run rustfmtIan Jackson2025-08-111-1/+3
|
* Merge branch 'main' into !2941Ian Jackson2025-08-1115-27/+32
|\ | | | | | | | | | | | | | | | | | | Conflicts: examples/hyper/hyper-http-client-example/Cargo.toml examples/hyper/hyper-http-hs-example/Cargo.toml In both cases, just the change of edition, which I have applied to examples/hyper-examples/Cargo.toml instead.
| * Switch Cargo.toml files to edition 2024.Nick Mathewson2025-08-0715-22/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | First, run ``` git grep -l "^edition =" | xargs perl -i -pe 's/^edition *=.*/edition = "2024"/;' ``` Second, manually verify that all Cargo.toml files have changed, and nothing else has changed. Third, run cargo fmt again.
| * obfs4-checker: do not enable tor-proto/experimental.Nick Mathewson2025-08-061-1/+1
| | | | | | | | | | | | | | | | | | 1. In general, it is always wrong to unconditionally depend on "experimental". Instead, a crate should depend on the particular experimental features it needs (if any). 2. obfs4-checker does not appear to need tor-proto/experimental any longer.
| * proto: abolish path_ref() in favor of all_paths().Gabriela Moldovan2025-08-051-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | Until now, we've been using `ClientCirc::path_ref()` to get the *only* path of a circuit. Now that `ClientCirc` is a handle to a tunnel reactor (which may or may not be multi-path), we need to decide for each call site of `path_ref()`, if we actually want *all* paths in the tunnel, or if we expect the tunnel to be single-path and thus want the *only* path in the tunnel. I've added two new APIs to address this: `all_paths()`, for getting all the paths in the tunnel, and `single_path()` for getting the only path in the tunnel, or an error if the tunnel is single-path.
| * arti-client: Use the new Tunnel interfaceDavid Goulet2025-08-051-3/+3
| | | | | | | | Signed-off-by: David Goulet <[email protected]>
* | hyper-examples: Cargo fmtnield2025-08-041-1/+4
| |
* | hyper-examples: Use std::time::Durationnield2025-08-041-1/+2
| |
* | hyper-examples: Use random nickname for onion servicenield2025-08-041-1/+1
| |
* | Merge branch 'main' into hyper-examplesnield2025-08-042-4/+4
|\| | | | | | | | | # Conflicts: # examples/hyper-examples/src/bin/hyper-http-hs-example.rs
| * Use new DisplayRedacted/DebugRedacted code for HsId.Nick Mathewson2025-07-312-4/+4
| | | | | | | | Closes #2012.
* | hyper-examples: Use native-tls instead of rustlsnield2025-07-212-22/+4
| |
* | hyper-examples: Delete folder remaining after rebasenield2025-07-201-31/+0
| |
* | hyper-examples: Typonield2025-07-201-1/+1
| |
* | hyper-examples: rustfmtnield2025-07-201-4/+7
| |
* | hyper-examples: Clarify comment regarding `is_fully_reachable`nield2025-07-201-3/+2
| | | | | | | | Previous comment was not clear. `is_fully_reachable` only gives false negatives, not false positives.
* | hyper-examples: Simplify code for timeoutnield2025-07-201-51/+15
| | | | | | | | We removed the while loop.
* | hyper-examples: Print messages to stderrnield2025-07-201-6/+6
| |
* | hyper-examples: Add comment why we use rustls and manual set root_certnield2025-07-201-0/+4
| | | | | | | | | | | | | | | | The reason we prefer `rustls` in this case is because `rustls` provides better portability then `native-tls` due to not being dependent on the system. We have to explicitely set the root_cert because `rustls` does not use the system CA Certs to remain portable.
* | hyper-examples: Print messages to stderrnield2025-07-201-2/+2
| |
* | hyper-examples: Allow cli argument for test-urlnield2025-07-201-1/+4
| |
* | hyper-examples: Remove hyper-custom-connector-examplenield2025-07-203-263/+2
| | | | | | | | We will make a separate library for this.
* | hyper-examples: Typonield2025-07-201-1/+1
| |
* | hyper-examples: Fix example hyper-http-hs-examplenield2025-07-201-13/+67
| | | | | | | | | | | | | | | | This example previously remained stuck in the while loop without any output, seeming as if this example is not working. This because the method `is_fully_reachable` is no guarantee for the actual status of the onion service. It might return false while the service is actually reachable. We added a timeout to not remain stuck in the loop.
* | hyper-examples: Rename example directorynield2025-07-205-1/+1
| | | | | | | | This directory had to be renamed because otherwise it would cause conflicts with the actual hyper crate in the CI pipeline.
* | hyper-examples: Fix example hyper-http-client examplenield2025-07-201-14/+22
| | | | | | | | This example previously had errors trying to make a connection, this is solved now.
* | hyper-examples: Cargo fmtnield2025-07-201-1/+1
| |
* | hyper-examples: Add README.mdnield2025-07-201-0/+40
| |
* | hyper-examples: Remove subdirectories from examplenield2025-07-208-50/+31
| | | | | | | | | | This example directory had a separate directory for each example. We can simplify this by using binaries.
* | hyper-examples: Remove unsafe test url form hyper-http-client-examplenield2025-07-201-1/+3
| | | | | | | | This example made a request to a website which could deanonymize the user. We now use check.torproject.org instead.
* | hyper-examples: Example creating custom ArtiHttpConnector for hypernield2025-07-202-0/+271
|/ | | | | This example demonstrates how to create a custom connector which can be injected into a hyper client, to use hyper for Tor requests.
* Typo fixes (automatic and hand-verified)Nick Mathewson2025-07-091-1/+1
| | | | Made with https://crates.io/crates/typos-cli
* Fix various missing incorrect feature entries as prep for release.Alexander Hansen Færøy2025-06-031-0/+3
|
* examples, fixup-features: use inline vars in format stringNick Mathewson2025-05-2911-32/+32
| | | | Nightly clippy now suggests this.