Skip to content

Instantly share code, notes, and snippets.

View fortuna's full-sized avatar
🔥
Prevent, Mitigate and Expose Censorship

Vinicius Fortuna fortuna

🔥
Prevent, Mitigate and Expose Censorship
View GitHub Profile
@fortuna
fortuna / merge_results.tsv
Last active May 20, 2024 22:53
Analysis of blocking in Russia. All entries in one table.
strategy server_net server_port isp url_scheme exit_code img error
$key Digital Ocean 443 Bee Line Cable http 0
$key Digital Ocean 443 Bee Line Cable https 0
$key Digital Ocean 443 MTS PJSC http 28 curl: (28) Operation timed out after 10006 milliseconds with 0 bytes received
$key Digital Ocean 443 MTS PJSC https 28 curl: (28) Connection timed out after 10005 milliseconds
$key Digital Ocean 443 PJSC MegaFon http 0
$key Digital Ocean 443 PJSC MegaFon https 56 curl: (56) Failure when receiving data from the peer
$key Digital Ocean 443 Tele2 Russia http 0
$key Digital Ocean 443 Tele2 Russia https 0
$key Digital Ocean 5555 Bee Line Cable http 0
@fortuna
fortuna / $key.tsv
Last active May 20, 2024 02:35
Results of investigating blocking of Outline Shadowsocks in Russia. The best way to navigate is to use the filter to see the data for a specific client ISP, server network, error, port, URL, etc
socks_port client_isp url server_net server_port exit_code ok output
33333 MTS PJSC http://ipinfo.io/org Digital Ocean 443 28 curl: (28) Operation timed out after 10004 milliseconds with 0 bytes received
33333 MTS PJSC https://ipinfo.io/org Digital Ocean 443 56 curl: (56) Failure when receiving data from the peer
33334 PJSC MegaFon http://ipinfo.io/org Digital Ocean 443 0 AS14061 DigitalOcean, LLC
33334 PJSC MegaFon https://ipinfo.io/org Digital Ocean 443 0 AS14061 DigitalOcean, LLC
33335 Tele2 Russia http://ipinfo.io/org Digital Ocean 443 0 AS14061 DigitalOcean, LLC
33335 Tele2 Russia https://ipinfo.io/org Digital Ocean 443 56 curl: (56) Failure when receiving data from the peer
33336 Bee Line Cable http://ipinfo.io/org Digital Ocean 443 0 AS14061 DigitalOcean, LLC
33336 Bee Line Cable https://ipinfo.io/org Digital Ocean 443 56 curl: (56) Failure when receiving data from the peer
33333 MTS PJSC http://ipinfo.io/org Digital Ocean 5555 0 AS14061 DigitalOcean, LLC
1
00:00:28,190 --> 00:00:51,310
[Musik]
[Music]
2
00:00:54,550 --> 00:01:38,760
[Musik]
[Music]
@fortuna
fortuna / example.sh
Last active May 8, 2023 09:35
ClientHello splitting in Bash
# Author: Vinicius Fortuna
# Example practical usage at https://github.com/pypi/support/issues/2751#issuecomment-1535248888
mkfifo in.fifo
nc -l localhost 8443 < in.fifo | { dd bs=100 count=1; sleep 0.1; cat; } | nc files.pythonhosted.org 443 > in.fifo &
time curl --connect-to ::localhost:8443 'https://files.pythonhosted.org/packages/84/a9/2bf119f3f9cff1f376f924e39cfae18dec92a1514784046d185731301281/scipy-1.10.1.tar.gz' > /dev/null
<!DOCTYPE html>
<html>
<body>
<p>
I'm <a rel="me" href="https://github.com/fortuna">fortuna</a> on Github and
<a rel="me" href="https://mastodon.social/@vinifortuna">@vinifortuna@mastodon.social</a> on Mastodon.
</p>
</body>
</html>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
I'm @fortuna on Keybase and @vinifortuna@mastodon.social on Mastodon. Signed proof: https://gist.github.com/fortuna/7456cf29428e73f7af153e61ea88538e#file-mastodon-proof
Verify the signed message at https://keybase.io/verify.
-----BEGIN PGP SIGNATURE-----
Version: Keybase OpenPGP v2.1.13
Comment: https://keybase.io/crypto
wsBcBAABCgAGBQJjmMhOAAoJEJCUHN7iahDDl1gH/R2bgCROQB/GJhR73iyKqRrL
@fortuna
fortuna / echo.go
Last active October 23, 2020 15:51
Dial-back Echo Server
package main
import (
"io"
"log"
"net"
"os"
"sync"
"github.com/google/gopacket"
@fortuna
fortuna / Sites blocked on AS29049 (Delta Telecom Ltd).csv
Last active October 15, 2020 19:27
Azerbaijan SNI-based Blocking, September 2020
We couldn’t find that file to show.
@fortuna
fortuna / Belarus Blocking - Pivot Table.csv
Last active October 6, 2020 00:29
Sites blocked on Bel Telecom (AS 6697) in Belarus on August 9-10, 2020, from Censored Planet HTTPS data.
date Values
8/6/2020 8/10/2020 8/11/2020 8/13/2020
domain interference_rate total interference_rate total interference_rate total interference_rate total
www.crazyshit.com 0.96875 32 1 4 1 1 1 33
tutanota.com 0 32 0 7 0 1 0.8 45
psiphon.ca 0 32 1 10 0 1 0.7954545455 44
protonmail.com 0.0303030303 33 0 6 0 1 0.7804878049 41
www.protonmail.com 0 31 0 11 0.775 40
www.xroxy.com 0.09375 32 0.125 8 1 1 0.09090909091 33
www.hustler.com 0 31 0.2727272727 11 1 1 0.09090909091 33
@fortuna
fortuna / Queries.md
Last active April 27, 2024 17:00
Grafana dashboard for Outline Servers

Example Queries

1h active keys by location:

sum(max(increase(shadowsocks_data_bytes{access_key!=""} [1h])) by (access_key, location) > bool 0) by (location)

1h usage by location:

sum(increase(shadowsocks_data_bytes{dir=~"c<p|p>t"} [1h])) by (location)