blockcheck
Russian ISP blocking type checker NOTE: NOT WORKING CURRENTLY. ВНИМАНИЕ: НЕ РАБОТАЕТ НА ТЕКУЩИЙ МОМЕНТ
Top Related Projects
Register of Internet Addresses filtered in Russian Federation
DPI bypass multi platform
GoodbyeDPI — Deep Packet Inspection circumvention utility (for Windows)
Powerful and extensible proxy server with anti-censorship functionality
Quick Overview
The ValdikSS/blockcheck repository is a command-line tool that checks if a website or IP address is blocked by various internet service providers (ISPs) and censorship systems. It can be used to detect internet censorship and monitor the accessibility of websites.
Pros
- Cross-platform compatibility: The tool can be used on Windows, macOS, and Linux.
- Comprehensive testing: It checks for blocks across a wide range of ISPs and censorship systems, including China's Great Firewall, Roskomnadzor (Russia), and Telia (Sweden).
- Detailed output: The tool provides detailed information about the type of block and the reason for the block, if available.
- Automation and scripting: The tool can be easily integrated into scripts and automated workflows for continuous monitoring of website accessibility.
Cons
- Limited to specific providers: The tool only checks for blocks by a limited set of ISPs and censorship systems, and may not detect blocks by other providers.
- Potential false positives: The tool's detection methods may sometimes report a website as blocked when it is actually accessible, due to network issues or other factors.
- Requires manual configuration: Users may need to configure the tool's settings and parameters to suit their specific use case, which can be time-consuming.
- Potential legal issues: The use of this tool to bypass internet censorship may be illegal in some jurisdictions, and users should be aware of the applicable laws and regulations.
Getting Started
To use the ValdikSS/blockcheck tool, follow these steps:
- Clone the repository:
git clone https://github.com/ValdikSS/blockcheck.git
- Change to the project directory:
cd blockcheck
- Install the required dependencies:
pip install -r requirements.txt
- Run the tool to check the accessibility of a website or IP address:
python blockcheck.py https://www.example.com
The tool will output the results of the block check, including the type of block and the reason for the block, if available.
You can also use the tool to check a list of websites or IP addresses by providing a file with the URLs or IPs, one per line:
python blockcheck.py -f websites.txt
Additionally, the tool supports various command-line options to customize the behavior, such as specifying the timeout, the number of retries, and the output format. You can view the available options by running:
python blockcheck.py --help
Competitor Comparisons
Register of Internet Addresses filtered in Russian Federation
Pros of z-i
- More comprehensive database of blocked resources
- Regular updates from community contributions
- Includes tools for analyzing and circumventing censorship
Cons of z-i
- Less user-friendly interface for non-technical users
- Primarily focused on Russian internet censorship
- Requires more manual configuration
Code Comparison
blockcheck:
def check_dns(host):
try:
ip = socket.gethostbyname(host)
return ip
except socket.gaierror:
return None
z-i:
def resolve(hostname, timeout=None):
try:
return socket.getaddrinfo(hostname, None, socket.AF_INET)[0][4][0]
except socket.gaierror:
return None
Both projects use similar approaches for DNS resolution, but z-i's implementation is more concise and handles IPv6 addresses.
Summary
blockcheck is a simpler tool focused on checking internet censorship, while z-i offers a more comprehensive approach to monitoring and circumventing censorship, particularly in Russia. blockcheck may be more accessible for casual users, but z-i provides more advanced features for those willing to invest time in configuration and analysis.
DPI bypass multi platform
Pros of zapret
- More comprehensive set of circumvention techniques, including DNS-over-HTTPS and DNS-over-TLS
- Actively maintained with regular updates and improvements
- Supports a wider range of operating systems and network configurations
Cons of zapret
- More complex setup and configuration process
- Requires root/administrator privileges for some features
- May have a steeper learning curve for non-technical users
Code Comparison
zapret:
./configure
make
sudo make install
sudo zapret-start
blockcheck:
python3 blockcheck.py
Summary
zapret offers a more comprehensive and actively maintained solution for circumventing internet censorship, supporting various techniques and platforms. However, it requires more technical expertise to set up and use effectively. blockcheck, on the other hand, provides a simpler, single-file Python script that can quickly check for blocked websites but offers fewer circumvention options. The choice between the two depends on the user's technical skills and specific needs for bypassing internet restrictions.
GoodbyeDPI — Deep Packet Inspection circumvention utility (for Windows)
Pros of GoodbyeDPI
- More actively maintained with recent updates
- Focuses specifically on bypassing Deep Packet Inspection (DPI)
- Offers multiple techniques for circumventing censorship
Cons of GoodbyeDPI
- Limited to Windows operating systems
- Requires more technical knowledge to set up and use effectively
- May not detect all types of internet censorship like blockcheck does
Code Comparison
blockcheck:
def check_dns(host):
try:
socket.gethostbyname(host)
return True
except socket.error:
return False
GoodbyeDPI:
int dpi_desync_fooling(struct desync_data *desync, char *packet, int packet_len) {
int i;
for (i = 0; i < desync->desync_fooling_num; i++) {
send_desync_dummy(desync, packet, packet_len);
}
return 0;
}
Both projects serve different purposes but aim to address internet censorship. blockcheck is a Python-based tool for detecting various types of blocking, while GoodbyeDPI is a C-based tool specifically designed to bypass DPI systems on Windows. The code snippets show their different approaches: blockcheck checks DNS resolution, while GoodbyeDPI implements DPI desynchronization techniques.
Powerful and extensible proxy server with anti-censorship functionality
Pros of PowerTunnel
- More actively maintained with recent updates
- Offers a user-friendly GUI for easier configuration
- Supports multiple protocols and censorship circumvention methods
Cons of PowerTunnel
- Larger codebase, potentially more complex to understand and modify
- May have higher resource usage due to additional features
Code Comparison
PowerTunnel (Java):
public class PowerTunnel {
public static void main(String[] args) {
// Initialize and start the proxy server
ProxyServer server = new ProxyServer();
server.start();
}
}
blockcheck (Python):
def main():
# Perform connectivity checks
check_connectivity()
# Display results
print_results()
if __name__ == "__main__":
main()
Summary
PowerTunnel is a more feature-rich and actively maintained project, offering a GUI and multiple circumvention methods. It's written in Java and focuses on providing a user-friendly proxy solution. blockcheck, on the other hand, is a simpler Python script designed to check for internet censorship and blocking. While PowerTunnel offers more functionality, it may be more complex and resource-intensive compared to the lightweight blockcheck tool.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
BlockCheck
УÑилиÑа Ð´Ð»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñипа блокиÑовок ÑайÑов из единого ÑееÑÑÑа запÑеÑенной инÑоÑмаÑии на ÑÑоÑоне пÑовайдеÑов РоÑÑийÑкой ФедеÑаÑии.
ÐÐ°Ð½Ð½Ð°Ñ ÑÑилиÑа позволÑÐµÑ Ð¾Ð¿ÑеделиÑÑ:
- ÐÐ¾Ð´Ð¼ÐµÐ½Ñ DNS-оÑвеÑов
- ÐеÑенапÑавление ÑÑоÑÐ¾Ð½Ð½Ð¸Ñ DNS-ÑеÑвеÑов на пÑовайдеÑÑкие
- ÐлокиÑÐ¾Ð²ÐºÑ ÑÑоÑÐ¾Ð½Ð½Ð¸Ñ DNS-ÑеÑвеÑов
- ÐлокиÑÐ¾Ð²ÐºÑ Ð²Ñей Ð·Ð¾Ð½Ñ (поддоменов) заблокиÑованного домена
- «ÐбÑÑнÑй» DPI (ÑилÑÑÑаÑÐ¸Ñ URL на опÑеделеннÑÑ IP-адÑеÑÐ°Ñ Ð¸ поÑÑÐ°Ñ )
- «ÐолнÑй» DPI (ÑилÑÑÑаÑÐ¸Ñ URL на вÑÐµÑ IP-адÑеÑÐ°Ñ Ð¸/или поÑÑÐ°Ñ )
- ÐÐ¾Ð´Ð¼ÐµÐ½Ñ SSL (HTTPS)-ÑеÑÑиÑикаÑа (пÑоÑлÑÑивание HTTPS-ÑÑаÑика)
- ÐлокиÑÐ¾Ð²ÐºÑ Ð¿Ð¾ IP-адÑеÑÑ
Также пÑиложение обнаÑÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð¿Ð°ÑÑивнÑй DPI, вÑполнÑÐµÑ ÑеÑÑÑ Ð´Ð»Ñ Ð¾Ð±Ñ Ð¾Ð´Ð° акÑивного DPI, еÑли он обнаÑÑжен на ÑÑоÑоне пÑовайдеÑа. Ðа даннÑй Ð¼Ð¾Ð¼ÐµÐ½Ñ ÑÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ñ ÑледÑÑÑие ÑÐµÑ Ð½Ð¸ÐºÐ¸:
- ÐополниÑелÑнÑй пÑобел поÑле GET
- ÐеÑÐµÐ½Ð¾Ñ ÑÑÑоки пеÑед GET
- ФÑагменÑиÑование заголовка
- ТоÑка в конÑе домена
- ТабÑлÑÑÐ¸Ñ Ð² конÑе домена
- Ðаголовок host вмеÑÑо Host
- ÐеÑÐµÐ½Ð¾Ñ ÑÑÑоки в Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ°Ñ Ð² UNIX-ÑÑиле
Ðолее подÑобно о Ð²Ð¸Ð´Ð°Ñ DPI и ÑÐ¸Ð¿Ð°Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ñ ÑиÑайÑе в Wiki пÑоекÑа: Ð¢Ð¸Ð¿Ñ DPI
ÐÑиложение авÑомаÑиÑеÑки оÑпÑавлÑÐµÑ ÑÑаÑиÑÑÐ¸ÐºÑ Ð¾Ð± иÑполÑзÑемом Ñипе блокиÑовки на ÑеÑвеÑ. ÐÑли Ð²Ñ Ð¸ÑполÑзÑеÑе ÑÑоÑонний DNS, ÑеÑÑиÑÑеÑе ÑазнÑе ÑпоÑÐ¾Ð±Ñ Ð¾Ð±Ñ
ода блокиÑовок и запÑÑкаеÑе пÑогÑÐ°Ð¼Ð¼Ñ Ð´Ð»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¸Ñ
ÑÑÑекÑивноÑÑи, либо пÑоÑÑо не Ñ
оÑиÑе оÑпÑавлÑÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ ваÑем пÑовайдеÑе на ÑеÑвеÑ, пожалÑйÑÑа, полÑзÑйÑеÑÑ Ð¿Ð°ÑамеÑÑом --no-report
.
http://habrahabr.ru/post/229377/ â ÑÑаÑиÑÑика по пÑовайдеÑам (ÑÑÑаÑела)
ÐапÑÑк
ÐÑоÑе вÑего воÑполÑзоваÑÑÑÑ Ð±Ð¸Ð½Ð°ÑнÑми ÑбоÑками под Windows, Linux и macOS из Ñаздела Releases. Ðни ÑамодоÑÑаÑоÑÐ½Ñ Ð¸ не ÑÑебÑÑÑ ÑÑÑановки.
ÐÑли Ð²Ñ Ñ Ð¾ÑиÑе измениÑÑ Ð¸ÑÑ Ð¾Ð´Ð½Ñй код, вам поÑÑебÑеÑÑÑ Python >= 3.4 Ñ Ð¼Ð¾Ð´Ñлем dnspython. УÑÑановиÑÑ ÐµÐ³Ð¾ можно из ÑепозиÑоÑÐ¸Ñ Ð²Ð°Ñего диÑÑÑибÑÑива, или иÑполÑзÑÑ pip:
python3 -m pip install -r requirements.txt
ÐÑполÑзование
ÐÑиложение запÑÑкаеÑÑÑ Ð² гÑаÑиÑеÑком Ñежиме по ÑмолÑаниÑ, еÑли в ÑиÑÑÐµÐ¼Ñ ÑÑÑановлен Tkinter.
--console
оÑклÑÑÐ°ÐµÑ Ð³ÑаÑиÑеÑкий инÑеÑÑÐµÐ¹Ñ Ð¸ пÑинÑдиÑелÑно акÑивиÑÑÐµÑ ÐºÐ¾Ð½ÑолÑнÑй Ñежим.
--no-report
оÑклÑÑÐ°ÐµÑ Ð¾ÑпÑÐ°Ð²ÐºÑ ÑезÑлÑÑаÑов ÑеÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð½Ð° ÑеÑвеÑ. ÐожалÑйÑÑа, иÑполÑзÑйÑе ÑÑÑ Ð¾Ð¿ÑиÑ, еÑли Ð²Ñ ÑкÑпеÑименÑиÑÑеÑе Ñо ÑпоÑобами обÑ
ода блокиÑовок.
--force-dpi-check
вÑÐ¿Ð¾Ð»Ð½Ð¸Ñ Ð¿ÑовеÑÐºÑ DPI, даже еÑли ÑайÑÑ Ð½Ðµ заблокиÑованÑ.
--disable-ipv6
оÑклÑÑÐ°ÐµÑ Ð²Ñе пÑовеÑки, ÑвÑзаннÑе Ñ IPv6.
ÐÑо не вÑе доÑÑÑпнÑе опÑии. ÐапÑÑÑиÑе пÑогÑÐ°Ð¼Ð¼Ñ Ñ Ð¿Ð°ÑамеÑом --help
Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´Ñобной инÑоÑмаÑии.
СбоÑка иÑполнÑемого Ñайла
ÐÐ»Ñ ÑбоÑки иÑполнÑемого Ñайла Ð´Ð»Ñ Windows, Linux и macOS:
- УÑÑановиÑе Python 3, Ñ Ð¾ÑиÑиалÑного ÑайÑа или из ÑепозиÑоÑиев ваÑего диÑÑÑибÑÑива
- python -m pip install -r requirements.txt
- python -m pip install pyinstaller
- pyinstaller blockcheck.spec
ÐÑполнÑемÑй Ñайл бÑÐ´ÐµÑ Ð² диÑекÑоÑии dist.
Top Related Projects
Register of Internet Addresses filtered in Russian Federation
DPI bypass multi platform
GoodbyeDPI — Deep Packet Inspection circumvention utility (for Windows)
Powerful and extensible proxy server with anti-censorship functionality
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot