2020-11-27 23:42:05 +00:00
### Shared on Mastodon
2020-12-12 02:20:14 +00:00
### 🐦 [Twitter](../birdwch/README.md)?
2020-11-27 23:55:53 +00:00
Who is sharing most Cloudflare links to other people?
Oh, it's you?
Congratulations, you are ranked in the top 50 of...
2020-11-27 23:42:05 +00:00
2020-12-12 02:16:10 +00:00
![](../../image/clapclapclap.gif)
2020-11-28 00:23:08 +00:00
2020-11-28 00:28:11 +00:00
(_Sarcasm? Of course. Stop sharing CF links already!_)
2020-11-28 00:23:08 +00:00
2020-11-28 00:29:25 +00:00
What you can do? Tell them to stop using Cloudflare!
2020-11-28 00:23:08 +00:00
### Some public reaction
2020-11-28 00:28:11 +00:00
```
2020-11-28 00:29:25 +00:00
'your little protest bot is making people upset,
and i'm worried it might cause people to defederate from the instance,
please tone it down'
We need a new word for describing how fucked up this is,
insanity just isn't doing it anymore.
2020-11-28 00:28:11 +00:00
No shit it makes people upset *that's the fucking point*
```
-- [Jeff Cliff ](http://qhtn4w2q36dojls2.onion/ )
```
The bot doesn't care about you personally.
2020-11-28 00:29:25 +00:00
It's doing a public service for your readers, who you otherwise sent into
a netneutrality-hostile privacy-abusive walled-garden.
2020-11-28 00:28:11 +00:00
It's to protect them so they are warned and have a trustworthy link to follow.
```
-- [resist1984 ](https://social.privacytools.io/@resist1984 )
2020-11-28 00:23:08 +00:00
2020-11-28 00:35:46 +00:00
```
It doesn't matter if it is still online if I can't access it...
so the bot is appreciated.
```
-- [Thufie ](https://social.pixie.town/@thufie )
2020-11-28 00:23:08 +00:00
### Code
- [index.php ](index.php ): Main website to show the result
- [cron.php ](cron.php ): Use it with your cronjob
2020-11-27 23:42:05 +00:00
### Database
- toot_cfsaid: Tweet URL which CF link was observed
```
id varchar(40) UNIQUE
who varchar(80) INDEX
url varchar(200) INDEX
ym int(6) INDEX
```
- toot_notcf_fqdn: Unknown FQDN which was not listed as Cloudflare
```
fqdn varchar(200) UNIQUE
dl int(1) INDEX
```
- toot_scanned: To make sure not to analyze same tweet again
```
id varchar(40) UNIQUE
who varchar(80) INDEX
iscf int(1) INDEX
ym int(6) INDEX
```
- toot_sharefqdn: Just for counting FQDN
```
id varchar(40) UNIQUE
fqdn varchar(200) INDEX
ym int(6) INDEX
```
2020-11-27 23:52:07 +00:00
### Live demo
2020-12-12 02:08:18 +00:00
If you want to see this in action: [Onion ](http://stopcloudflare@avrynpc2q7pknqa3ucf5tvjcwad5nxvxgwnzvl2b6dx6uo4f7nc7zzqd.onion/mastodon/ ) or [cache page (Delay sync) ](../../subfiles/shared_on_mastodon.md )
2020-12-02 02:46:29 +00:00
2020-12-02 02:48:08 +00:00
### Live API
2020-12-02 02:46:29 +00:00
`http://(onion)/mastodon/?who=a&json`
`who` :
- `a` , Show Top 100 (Shared any links)
- `c` , Show Top 100 (Shared Cloudflare links)
- `f` , Show Top 100 (Shared FQDN)
- `u` , About Mastodon Users
2020-12-04 12:08:21 +00:00
- `s` , About Mastodon Servers
2020-12-02 02:46:29 +00:00
Example:
`curl -x socks5h://127.0.0.1:9050 -G -H "Authorization: Basic c3RvcGNsb3VkZmxhcmU6" "http://-----.onion/mastodon/" -d "who=c" -d "json"`
> `[{"rank":1,"who":"xxx","toots":"xxx"},{"rank":2,...`