mirror of
https://codeberg.org/arh/how-cloudflare-works
synced 2024-12-08 14:15:37 +01:00
374 lines
13 KiB
Markdown
374 lines
13 KiB
Markdown
# List Instructions
|
||
|
||
![](https://codeberg.org/crimeflare/cloudflare-tor/media/branch/master/image/imnotarobot.gif)
|
||
|
||
---
|
||
|
||
<details>
|
||
<summary>_click me_
|
||
|
||
## Website is using Cloudflare
|
||
</summary>
|
||
|
||
|
||
- **Cloudflare users** | [**List Directory**](cloudflare_users/)
|
||
|
||
| List name | Description |
|
||
| -------- | -------- |
|
||
| /domain/cloudflare_?.txt | Split files (base domain) |
|
||
| ex_cloudflare_users.txt | Domains which used Cloudflare in the past, not anymore |
|
||
| cloudflare_supporter.txt | who is using Cloudflare or endorsing Cloudflare. (URL only) |
|
||
|
||
|
||
- **Cloudflare Corporation** | [**List Directory**](cloudflare_inc/)
|
||
|
||
| List name | Description |
|
||
| -------- | -------- |
|
||
| cloudflare_CIDR_v4.txt | IPv4 CIDR owned by Cloudflare |
|
||
| cloudflare_CIDR_v6.txt | IPv6 CIDR owned by Cloudflare |
|
||
| cloudflare_range_v4.txt | IPv4 range owned by Cloudflare |
|
||
| cloudflare_owned_ASN.txt | AS network owned by Cloudflare |
|
||
| cloudflare_owned_NS.txt | Name Server owned by Cloudflare |
|
||
| cloudflare_owned_domains.txt | Domains owned by Cloudflare |
|
||
| cloudflare_owned_onions.txt | Tor .onions owned by Cloudflare |
|
||
| cloudflare_members.txt | Cloudflare employer & employee |
|
||
|
||
|
||
**How to detect Cloudflare?**
|
||
|
||
There are many ways to detect it:
|
||
|
||
- Add-on "[Bloku Cloudflaron MITM-Atakon](subfiles/about.bcma.md)" will help your Cloudflare collection.
|
||
- Add-on "[Ĉu ligoj estas vundeblaj al MITM-atako?](subfiles/about.ismm.md)" will tell you which link is Cloudflared.
|
||
- Visit a website via Tor or VPN, and you will be greeted by "Attention Required! Cloudflare" webpage.
|
||
- Use "Is MITM?" webpage. [Clearnet](https://crimeflare.eu.org/ss/tool_ismitm.php) / [Tor](https://crimeflare.wodferndripvpe6ib4uz4rtngrnzichnirgn7t5x64gxcyroopbhsuqd.onion/ss/tool_ismitm.php)
|
||
- Dig "[NS record](https://www.digwebinterface.com/?hostnames=emsisoft.com&type=NS&ns=resolver&useresolver=8.8.4.4&nameservers=)" of the domain.
|
||
|
||
```
|
||
emsisoft.com. 21599 IN NS bella.ns.cloudflare.com.
|
||
emsisoft.com. 21599 IN NS dom.ns.cloudflare.com.
|
||
```
|
||
|
||
- Dig "[A record](https://www.digwebinterface.com/?hostnames=dev.qubes-os.org&type=A&ns=resolver&useresolver=8.8.4.4&nameservers=)" of the FQDN, then [check the IP's owner](https://ipinfo.io/104.18.228.122).
|
||
|
||
```
|
||
dev.qubes-os.org. 299 IN A 104.18.228.122
|
||
|
||
ASN AS13335 Cloudflare, Inc.
|
||
Organization Cloudflare, Inc.
|
||
Route 104.18.224.0/20
|
||
```
|
||
|
||
```
|
||
IMPORTANT: Please add only "Base Domain"
|
||
|
||
if "community.example.com" is using Cloudflare
|
||
add "example.com"
|
||
|
||
if "www.example.co.uk" is using Cloudflare
|
||
add "example.co.uk"
|
||
|
||
if "example.net" is using Cloudflare
|
||
add "example.net"
|
||
|
||
... to /split/cloudflare_e.txt
|
||
```
|
||
|
||
**But the website X no longer using Cloudflare!**
|
||
|
||
Are you sure? *Remove* it from /split/ list and *add* to "[ex_cloudflare_users.txt](cloudflare_users/ex_cloudflare_users.txt)".
|
||
|
||
</details>
|
||
|
||
------
|
||
|
||
<details>
|
||
<summary>_click me_
|
||
|
||
## Website is NOT using Cloudflare
|
||
</summary>
|
||
|
||
|
||
- **Non-Cloudflare CDN users** | [**List Directory**](not_cloudflare/)
|
||
|
||
| List name | Description |
|
||
| -------- | -------- |
|
||
| /domain/zcdn_(CDN_Code).txt | Split files (FQDN) |
|
||
| /cidr_data/?.txt | CIDR, ASN |
|
||
|
||
```
|
||
CDN_Code
|
||
|
||
Z1 Amazon
|
||
Z2 Akamai
|
||
//Z3 Cloudflare
|
||
Z4 Imperva
|
||
Z5 Google
|
||
Z6 Microsoft
|
||
Z7 INAP
|
||
Z8 Sucuri
|
||
Z9 Fastly
|
||
```
|
||
|
||
- Add-on "[Kiu retejo malakceptis min?](subfiles/about.urjm.md)" will help your domain collection.
|
||
|
||
|
||
![](https://codeberg.org/crimeflare/cloudflare-tor/media/branch/master/image/siteground.jpg)
|
||
|
||
- Above is how Siteground-hosted([INAP](https://www.inap.com/press-release/inap-completes-acquisition-singlehop/);[Singlehop](https://www.siteground.com/blog/siteground-partners-singlehop/)) sites often appear to Tor visitors when timeouts/tarpitting doesn't occur.
|
||
|
||
|
||
```
|
||
|
||
About "CDN FQDN list"
|
||
|
||
www.example.com
|
||
---> www.example.com is using CDN.
|
||
|
||
?.akamaiedge.net
|
||
---> subdomain of akamaiedge.net is using CDN.
|
||
* unique hostname will be masked as "?" for privacy reason
|
||
|
||
senate.gov
|
||
---> base domain is using CDN.
|
||
|
||
```
|
||
|
||
Some websites combine other companies _with_ the Cloudflare business model.
|
||
|
||
This is a collection of websites that ban Tor exits, other than through Cloudflare(e.g. showing access denied pages, systematic timing out connections, ...).
|
||
|
||
</details>
|
||
|
||
------
|
||
|
||
<details>
|
||
<summary>_click me_
|
||
|
||
## Website is rejecting Tor visitor
|
||
</summary>
|
||
|
||
|
||
- **Anti-Tor users** | [**List Directory**](anti-tor_users/)
|
||
|
||
| List name | Description |
|
||
| -------- | -------- |
|
||
| /fqdn/attd.txt | **Block Tor access** Split files, Everything (FQDN) |
|
||
| /fqdn/attd_(com/net/org).txt | **Block Tor access** Split files, .com/.net/.org only (FQDN) |
|
||
| hostility.md | **Does NOT block Tor access** Domain and Comment |
|
||
|
||
|
||
- Add-on "[Kiu retejo malakceptis min?](subfiles/about.urjm.md)" will help your domain collection.
|
||
- Add-on "[Ĉu ĉi tiuj ligoj blokos Tor-uzanton?](subfiles/about.isat.md)" will tell you which link rejected Tor visitor.
|
||
|
||
![](https://codeberg.org/crimeflare/cloudflare-tor/media/branch/master/image/tor_nontor_diff.jpg)
|
||
|
||
- Some news websites are lying to Tor users. You can read their website if you are not using Tor nor VPN. If you visit their website over Tor, they just say "_Sorry, article not found_".
|
||
|
||
![](https://codeberg.org/crimeflare/cloudflare-tor/media/branch/master/image/imunify360.jpg)
|
||
|
||
- [Imunify360](https://web.archive.org/web/20200617160904/https://www.imunify360.com/) is not so [intelligent](https://whc.ca/blog/introducing-imunify360-your-new-intelligent-firewall/) because it is blocking real human.
|
||
|
||
- Some famous mail subscription service and some ISP websites are displaying "Maintenance" page if you visit them over Tor.
|
||
|
||
**How can you trust their sites if they are not treating everyone equally?**
|
||
|
||
|
||
```
|
||
|
||
About "Anti-Tor FQDN list" (attd*.txt)
|
||
|
||
www.example.com
|
||
---> www.example.com denied/bullied Tor visitor.
|
||
|
||
?.akamaiedge.net
|
||
---> subdomain of akamaiedge.net is denied Tor user.
|
||
* unique hostname will be masked as "?" for privacy reason
|
||
|
||
senate.gov
|
||
---> base domain denied/harassed/challenged human who're using Tor.
|
||
|
||
```
|
||
|
||
If your website is on this list, you better talk with your network administrator.
|
||
|
||
**But my website X no longer blocking Tor users!**
|
||
|
||
Are you sure? There are two ways to remove yourself.
|
||
First option is just _*remove* it from the list_ and _create a pull request_.
|
||
Second option is _wait 1 year_. Our system will revisit your website as a Tor user.
|
||
|
||
If you're not blocking Tor users, you will be removed automatically.
|
||
|
||
- If your website is using Cloudflare
|
||
- There's a higher chance that we receive rejection webpage from Cloudflare. Do not use cloudflare.
|
||
|
||
</details>
|
||
|
||
------
|
||
|
||
<details>
|
||
<summary>_click me_
|
||
|
||
## How to add your data
|
||
</summary>
|
||
|
||
|
||
A or B will be enough. Thank you for your contribution.
|
||
|
||
> Type A: Push to Codeberg
|
||
|
||
1. Log in to *Codeberg*.
|
||
- **WARNING**: Do note that Codeberg is blocking temporary email services and some minor email providers(not temporary email).
|
||
- If you're Tor user, we recommend 'type B'.
|
||
2. Click "*Fork*" button. (top-left corner)
|
||
3. Edit text file.
|
||
4. Click *Double-arrow* button to create a *new pull request*.
|
||
|
||
> Type B: Just scan the FQDN
|
||
|
||
- Cloudflare/CDN
|
||
- Scan FQDN on "[Is MITM?](https://crimeflare.wodferndripvpe6ib4uz4rtngrnzichnirgn7t5x64gxcyroopbhsuqd.onion/ss/tool_ismitm.php)" webpage.
|
||
- Or: Use add-on "[Ĉu ligoj estas vundeblaj al MITM-atako?](subfiles/about.ismm.md)"
|
||
- Or: Use "_MITM test_" API.
|
||
- e.g. `curl -x socks5h://127.0.0.1:9050 -k --http2 (API URL)ismitm.php?f=www.emsisoft.com`
|
||
- Or: Use "_Detect CDN_" API.
|
||
- e.g. `curl -x socks5h://127.0.0.1:9050 -k --http2 (API URL)is_zcdn.php?f=www.cloudflare.com`
|
||
- Anti-TOR
|
||
- Use "_Is it blocking Tor?_" API.
|
||
- e.g. `curl -x socks5h://127.0.0.1:9050 -k --http2 (API URL)is_antitor.php?f=www.cloudflare.com`
|
||
- Or: Use add-on "[Ĉu ĉi tiuj ligoj blokos Tor-uzanton?](subfiles/about.isat.md)"
|
||
|
||
Public API Details [ℹ](https://crimeflare.wodferndripvpe6ib4uz4rtngrnzichnirgn7t5x64gxcyroopbhsuqd.onion/#!op=info/api)
|
||
<br>
|
||
Your contribution will be pushed to Codeberg automatically within a week.
|
||
|
||
</details>
|
||
|
||
------
|
||
|
||
<details>
|
||
<summary>_click me_
|
||
|
||
## How to setup git
|
||
</summary>
|
||
|
||
|
||
This procedure will give you a stop_cloudflare fork with a privacy-respecting configuration to do pushes with SSH over Tor using codeberg.org("CDB").
|
||
Below procedure is designed for _Linux_.
|
||
The first step covers Windows too, but these instructions probably
|
||
need more adaptations for Windows and other platforms.
|
||
|
||
|
||
- Linux: `aptitude install git tor ssh`
|
||
- Windows: Download `PortableGit` from [Github](https://github.com/git-for-windows/) & run `git-bash.exe`
|
||
|
||
1. Install Git, SSH(Not Windows), and Tor (if you haven't already)
|
||
1. Create a `codeberg.org` account (username "snowden" will be used for this example)
|
||
- **NOTICE**: Codeberg is blocking temporary email services and some minor email providers(not temporary email).
|
||
1. Create an SSH key pair `$ ssh-keygen -t rsa -N '' -C 'snowden at codeberg' -f "$HOME"/.ssh/id_rsa_codeberg-snowden`
|
||
1. Edit `$HOME/.ssh/config`:
|
||
```
|
||
host codeberg.org
|
||
hostname codeberg.org
|
||
ForwardX11 no
|
||
ProxyCommand connect -4 -S 127.0.0.1:9050 $(tor-resolve %h 127.0.0.1:9050) %p
|
||
host codeberg-snowden
|
||
IdentityFile /home/user/.ssh/id_rsa_codeberg-snowden
|
||
```
|
||
|
||
1. copy `"$HOME"/.ssh/id_rsa_codeberg-snowden.pub` to clipboard
|
||
1. codeberg.org > settings > SSH/GPG Keys > add key (paste from clipboard)
|
||
1. $ `firefox https://codeberg.org/crimeflare/cloudflare-tor`
|
||
1. fork it (top right corner)
|
||
1. go to the directory you want the project to be rooted in (hereafter we'll call it `$project_root`).
|
||
1. anonymously download your fork: $ `git clone git@codeberg-snowden:crimeflare/cloudflare-tor.git`
|
||
1. edit `$project_root/cloudflare-tor/.git/config` to include the account name and email address that will be on every commit, as well as the URL:
|
||
```
|
||
[user]
|
||
email = BM-yadayadayada6fgnLfybVnCcWf25AGZcgg@bitmessage.ch
|
||
name = snowden
|
||
[remote "origin"]
|
||
url = git@codeberg-snowden:snowden/cloudflare-tor.git
|
||
fetch = +refs/heads/*:refs/remotes/origin/*
|
||
[remote "upstream"]
|
||
url = git@codeberg-snowden:crimeflare/cloudflare-tor.git
|
||
fetch = +refs/heads/*:refs/remotes/origin/*
|
||
[branch "master"]
|
||
remote = origin
|
||
merge = refs/heads/master
|
||
```
|
||
|
||
1. make your first change
|
||
1. (from `$project_root`) $ `git add . -u -n`
|
||
1. check that the files listed are what you changed and intend to push upstream
|
||
1. if yes: `$ git add . -u`
|
||
1. $ `git commit -m 'description of first change'`
|
||
1. $ `git push origin master`
|
||
1. $ `firefox https://codeberg.org/crimeflare/cloudflare-tor`
|
||
1. make a new pull request
|
||
|
||
|
||
|
||
Whenever git operates on the cloudflare-tor project, all connections
|
||
to codeberg are automatically over Tor with this configuration
|
||
(because the `url` in `.git/config` references the virtual host
|
||
`codeberg-snowden` in `~/.ssh/config`).
|
||
|
||
</details>
|
||
|
||
------
|
||
|
||
<details>
|
||
<summary>_click me_
|
||
|
||
## About Cloudflare base domain list
|
||
</summary>
|
||
|
||
|
||
Our mission is clear - `stay away from Cloudflare`.
|
||
|
||
If the `subdomain.example.com` is cloudflared, we add `example.com` to the database. (`subdomain.example.com` is the sub-domain of `example.com`. Only `the owner` of `example.com` can create sub-domain)
|
||
|
||
Even if `whatever.example.com` is _not_ behind cloudflare we _will_ raise a warning, because the base domain `example.com` is `cloudflare user`.
|
||
|
||
`The owner` of `example.com` can enable Cloudflare to `whatever.example.com` at any time without user's notice. It can be done from `dash.cloudflare.com` webpage or hitting `Cloudflare API`. `The owner` is supporting `Cloudflare` and this is severe `security risk`.
|
||
|
||
Until `the owner` completely stop using Cloudflare service for `example.com`, we _do not_ remove `example.com` from the database.
|
||
|
||
There is `no exception`.
|
||
|
||
```
|
||
|
||
"amazonpayments.com"
|
||
|
||
$ getweb --headonly https://pages.amazonpayments.com/robots.txt
|
||
|
||
cf-cache-status: HIT
|
||
expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
|
||
alt-svc: h2="cflare******.onion:443"; ma=86400; persist=1
|
||
server: cloudflare
|
||
cf-ray: XXXXXXXXXXX-YYY
|
||
|
||
```
|
||
|
||
If `the owner` moved away from `cloudflare` **completely**, you are welcome to add `example.com` to the "[ex_cloudflare_users.txt](cloudflare_users/ex_cloudflare_users.txt)" - after checking `example.com` with online tool below.
|
||
|
||
|
||
1. Open "[Is MITM?](https://crimeflare.wodferndripvpe6ib4uz4rtngrnzichnirgn7t5x64gxcyroopbhsuqd.onion/ss/tool_ismitm.php)" webpage.
|
||
|
||
2. Input `gitlab.com` and click `Scan`.
|
||
|
||
3. Click `test` for detailed scan.
|
||
|
||
4. If you got `---Finish---`, the domain _might_ stopped using Cloudflare. We'll _investigate_ and remove it - or not.
|
||
- wait some days and scan again to see whether the domain is removed
|
||
|
||
|
||
`Only a few Cloudflare user leave Cloudflare. False positive is uncommon.`
|
||
|
||
</details>
|
||
|
||
---
|
||
|
||
!["Cloudflare is not an option."](image/cfisnotanoption.jpg) |