The CAPTCHA Monitoring project aims to track how often various webpages return CAPTCHAs to Tor clients. The project aims to achieve this by fetching webpages via both Tor and other mainstream web browsers and comparing the results. The tests are repeated periodically to find the patterns over time. Collected metadata, metrics, and results are analyzed and displayed on a dashboard to understand how Tor users get discriminated against while using browsing the internet.
API documentation is available at https://woswos.pages.torproject.net/CAPTCHA-Monitor/
How to run it?
- Make sure to have Docker installed
- Run
maketo build the images and start the modules
Architecture
%% Please enable JavaScript to see this flowchart
flowchart LR
%% Definitions
api(API)
dashboard(Dashboard)
tor_metrics(Tor Metrics)
public(Public Usage)
subgraph db_group[ ]
db[(Database)]
end
subgraph analysis_group[Analysis Module]
analysis(Statistics generation \n about blocking rates)
h_analysis(Header analysis)
detection(CAPTCHA/Blocking detection \n on the fetched data)
end
subgraph fetcher_group[Fetcher Worker Module]
fetching_tools(Website fetching with \n web Browsers \n and other web tools)
end
subgraph consensus_group[Consensus Module]
consensus(Consensus generation from fetched websites)
end
subgraph list_group[List Generation/Updating Module]
urls(Domain list)
nodes(Tor exit node list)
end
%% Relations
db_group <---> list_group
db_group <---> fetcher_group
db_group <---> consensus_group
db_group <---> analysis_group
db_group ---> web_api
subgraph web_api[Web API Module]
api --> dashboard
api --> tor_metrics
api --> public
end
Reporting bugs
Please use the respective repository mentioned in the code section for reporting bugs. If you are not sure about which one to choose, you can use the current repository.