Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lmc999/RegionRestrictionCheck
A bash script to check the status of your IP on various geo-restricted services.
https://github.com/lmc999/RegionRestrictionCheck
Last synced: 14 days ago
JSON representation
A bash script to check the status of your IP on various geo-restricted services.
- Host: GitHub
- URL: https://github.com/lmc999/RegionRestrictionCheck
- Owner: lmc999
- License: agpl-3.0
- Created: 2021-06-03T01:51:22.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-10-13T15:25:50.000Z (29 days ago)
- Last Synced: 2024-10-16T07:42:27.150Z (27 days ago)
- Language: Shell
- Homepage:
- Size: 3.38 MB
- Stars: 4,028
- Watchers: 27
- Forks: 545
- Open Issues: 24
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## For English user please see
### [Introduction](https://github.com/lmc999/RegionRestrictionCheck/blob/main/README_EN.md)## 脚本介绍
本脚本基于 [CoiaPrant/MediaUnlock_Test](https://github.com/CoiaPrant/MediaUnlock_Test) 代码进行修改
## 支持操作系统
带有 bash 环境的任意 Unix 或类 Unix 操作系统。
例如:Ubuntu 16+, Debian 10+, RHEL 7+, Arch Linux, Alpine Linux, FreeBSD, MacOS 10.13+, Android (Termux), iOS (iSH), Windows (MinGW/Cygwin), OpenWRT 23+ 等等。## 使用方法
**使用脚本前请确认 curl 已安装**
````bash
bash <(curl -L -s check.unlock.media)
````##### 只检测 IPv4 结果:
````bash
bash <(curl -L -s check.unlock.media) -M 4
````##### 只检测 IPv6 结果:
````bash
bash <(curl -L -s check.unlock.media) -M 6
````##### 指定检测的网卡名称:
````bash
bash <(curl -L -s check.unlock.media) -I eth0
````##### 直接测试指定的区域编号:
````bash
bash <(curl -L -s check.unlock.media) -R 0
````如果不指定区域编号或区域编号为空,则显示区域选择菜单
##### 选择脚本语言为英文:
````bash
bash <(curl -L -s check.unlock.media) -E en
````**或者直接运行以下 Docker 命令** (兼容 ARM 架构)
````
docker run --rm -ti --net=host lmc999/regioncheck && docker rmi lmc999/regioncheck > /dev/null 2>&1
````## 安装依赖
### Ubuntu/Debian:
```
sudo apt install curl openssl ca-certificates -yq
```可选依赖:
```
sudo apt install uuid-runtime dnsutils -yq
```### RHEL:
```
sudo dnf install curl openssl
```可选依赖:
```
sudo dnf install bind-utils
```### Android Termux:
```
pkg up -yq
pkg install curl openssl openssl-tool ca-certificates -yq
```可选依赖:
```
pkg install uuid-utils dnsutils -yq
```### iOS iSH / Alpine Linux:
```
apk add curl bash grep openssl ca-certificates uuidgen
```### macOS:
```
brew install curl openssl md5sha1sum coreutils
```### Windows:
可以使用 Cygwin 或者 Git Windows 最新版本。
如果使用 Git Windows,请确认安装 `powershell` 用于生成 uuid。请确认使用最新版本的 `curl` (>=8.8.0) 以避免遇到段错误。### OpenWRT
```
opkg update
opkg install grep
```## 特性
纯 bash shell 实现的流媒体检测功能,可免 ROOT 执行,支持多个平台。可用于批量测试多个地区的流媒体网站解锁情况。
具体的各个地区流媒体测试支持情况,详见 [supported_platforms](https://github.com/lmc999/RegionRestrictionCheck/blob/main/reference/supported_platforms.md)
## 注意事项
1. Netflix CDN 分流测试依赖 DNS 解析。而如果您使用的本地设备开了 VPN 代理进行测试,将无法得到正确的 CDN 分流信息。
## PR 须知
### 1. 请勿滥用 curl 的参数。
常用 CURL 参数如下:
```
-s (--silent): 静默模式。即不输出任何错误信息、URL 连接详情等。
-S (--show-error): 显示错误。当使用静默模式时,输出错误消息。如果使用该参数,意外的错误消息可能会影响代码整洁性,不建议使用。
-f (--fail): 当 URL 返回 400 错误或者 HTTP 无法传输时,不输出错误信息,并返回错误代码 22。
-w (--write-out): 当 URL 访问完成后,可用于输出例如 HTTP 响应代码、URL 网址等内容。
-o (--output): 将请求的内容重定向输出到文件,而不是直接屏幕打印。
-D (--dump-header): 将访问 URL 时收到的 header 信息输出到文件。
-L (--location): 跟随 URL 跳转。
-i (--include): 在输出结果中显示响应 header 信息。
-c (--cookie-jar): 当 URL 访问完成后,将 cookie 信息写入到 Netscape 格式的文件中。
-b (--cookie): 使用指定的数据或者文件作为 cookie。
```### 2. 请勿使用双方括号
双方括号只是 bash 的扩展功能。一是在某些不同平台可能会有兼容性问题,二是较为影响整洁性。
### 3. 请避免使用 if ... elif ... else 语句
if ... elif 不利于代码的阅读性,在函数中,建议使用更简洁的判断模式,得到预期结果后使用 return 退出函数。
### 4. 除非确实有必要,请尽量避免输出到文件
逻辑部分的处理请尽量在 shell 中处理,避免输出到文件。
### 5. 请勿添加额外的依赖
能以 shell 方式解决的问题,请尽量以 shell 方式实现。
## 赞助
如果觉得脚本对你有帮助,可以考虑请作者喝一箱健力宝
![image](https://i.imgur.com/HHbZgUsl.jpg)
![image](https://i.imgur.com/MWXifObl.jpg)
## 交流
脚本使用过程中出现 bug 欢迎提交 issue
你亦可直接添加 [TG群组](https://t.me/gameaccelerate) 分享你的建议
## 特别鸣谢
[柠檬大佬](https://t.me/ilemonrain) ,目前市面的流媒体解锁检测脚本都是从 [Lemonbench](https://github.com/LemonBench/LemonBench) 演化而来
[onoc1yn](https://github.com/onoc1yn) 提供多架构 docker 解决方案及 Hulu Cookies 加密方案