NoBige-JackCh3n

copy to my blog

实现本文可以最低成本使用世界上优秀的搜索引擎,而非竞价排名的毒瘤.

多说两句

​ 反代理技术很多,如Nginx,caddy,或是使用php脚本等,都需要一个合格的外国服务器或是虚拟主机,而cloudflare workers边缘计算则可以无需任何服务器或是虚拟主机,只需要一个邮箱就可以.

​ 嫌麻烦可以直接看福利部分,若嫌弃不稳定则可以使用多吉搜索(国产版duckduckgo)

步骤

1.注册cloudflare 账号,并验证邮箱

2.登录cloudflare 后进入,点击右上角的人像图标,点击 Account Home

Account Home

3.点击Workers

Workers

4.注册一个你喜欢二级域名,如我的是fuckqq,点Set up,再次确认再点Confirm

fuckqq

5.选择Free的套餐,点击Continue with Free

free

6.点击Create a Worker

Create a Worker

7.在编辑页面的左上角修改下项目名称,如g,粘贴代码(代码在最下面)

步骤

9.点击Save and Deploy即可部署完毕,要求再次确认点击Save and Deploy即可.

福利

​ 通过类似关键词(google workers 反代理)可以找到别的博主已经部署好的网站,如下

麻烦

老是出现流量异常?不能访问?打开漫长?不想折腾?可以使用Chrome的两款插件

  1. 谷歌访问助手-破解版
  2. 集装箱-内含Google助手

提示

  • 若为公开,建议开启搜索安全模式
  • 出现验证码,则可以修改 upstream的域名,如www.google.com.hk或是在google全球各国域名与各国使用语言中随便找一个.
  • 为了不必要的麻烦建议开启对地区或IP进行限制,如默认代码中就对中国,朝鲜,叙利亚等地区进行禁止访问限制
  • 如果默认的域名被污染可以尝试绑定域名进行解决
  • 每日的流量有限制,需求大的可以多创建几个账号做好负载均衡

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
// Website you intended to retrieve for users.
const upstream = 'www.google.com'

// Custom pathname for the upstream website.
const upstream_path = '/'

// Website you intended to retrieve for users using mobile devices.
const upstream_mobile = 'www.google.com'

// Countries and regions where you wish to suspend your service.
const blocked_region = ['CN', 'KP', 'SY', 'PK', 'CU']

// IP addresses which you wish to block from using your service.
const blocked_ip_address = ['0.0.0.0', '127.0.0.1']

// Whether to use HTTPS protocol for upstream address.
const https = true

// Replace texts.
const replace_dict = {
'$upstream': '$custom_domain',
'//google.com': ''
}

addEventListener('fetch', event => {
event.respondWith(fetchAndApply(event.request));
})

async function fetchAndApply(request) {

const region = request.headers.get('cf-ipcountry').toUpperCase();
const ip_address = request.headers.get('cf-connecting-ip');
const user_agent = request.headers.get('user-agent');

let response = null;
let url = new URL(request.url);
let url_hostname = url.hostname;

if (https == true) {
url.protocol = 'https:';
} else {
url.protocol = 'http:';
}

if (await device_status(user_agent)) {
var upstream_domain = upstream;
} else {
var upstream_domain = upstream_mobile;
}

url.host = upstream_domain;
if (url.pathname == '/') {
url.pathname = upstream_path;
} else {
url.pathname = upstream_path + url.pathname;
}

if (blocked_region.includes(region)) {
response = new Response('Access denied: WorkersProxy is not available in your region yet.', {
status: 403
});
} else if (blocked_ip_address.includes(ip_address)) {
response = new Response('Access denied: Your IP address is blocked by WorkersProxy.', {
status: 403
});
} else {
let method = request.method;
let request_headers = request.headers;
let new_request_headers = new Headers(request_headers);

new_request_headers.set('Host', url.hostname);
new_request_headers.set('Referer', url.hostname);

let original_response = await fetch(url.href, {
method: method,
headers: new_request_headers
})

let original_response_clone = original_response.clone();
let original_text = null;
let response_headers = original_response.headers;
let new_response_headers = new Headers(response_headers);
let status = original_response.status;

new_response_headers.set('access-control-allow-origin', '*');
new_response_headers.set('access-control-allow-credentials', true);
new_response_headers.delete('content-security-policy');
new_response_headers.delete('content-security-policy-report-only');
new_response_headers.delete('clear-site-data');

const content_type = new_response_headers.get('content-type');
if (content_type.includes('text/html') && content_type.includes('UTF-8')) {
original_text = await replace_response_text(original_response_clone, upstream_domain, url_hostname);
} else {
original_text = original_response_clone.body
}

response = new Response(original_text, {
status,
headers: new_response_headers
})
}
return response;
}

async function replace_response_text(response, upstream_domain, host_name) {
let text = await response.text()

var i, j;
for (i in replace_dict) {
j = replace_dict[i]
if (i == '$upstream') {
i = upstream_domain
} else if (i == '$custom_domain') {
i = host_name
}

if (j == '$upstream') {
j = upstream_domain
} else if (j == '$custom_domain') {
j = host_name
}

let re = new RegExp(i, 'g')
text = text.replace(re, j);
}
return text;
}


async function device_status(user_agent_info) {
var agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"];
var flag = true;
for (var v = 0; v < agents.length; v++) {
if (user_agent_info.indexOf(agents[v]) > 0) {
flag = false;
break;
}
}
return flag;
}

类似

参考

2020再战浪潮ipbs9505

之前有写过一篇<浪潮ipbs9505 刷机破解研究>,当时因为没有TTL转USB工具无法通过软件的方法对浪潮ipbs9505进行刷机破击,这次在有了TTL转USB工具工具下简直就是分分钟钟的事情.

准备

  1. TTL转USB版(某宝入手11.1元-土豪金 CH340G-USB转TTL-USB转TTL USB转串口下载线CH340G模块 RS232升级板刷机板线PL2303 )
  2. 公对母杜邦线(3.32-杜邦线 母对母 公对母 公对公40P彩色排线连接线10/15/30/20/40CM )
  3. U盘一个
  4. 自备电烙铁和拆机设备

破解

将TTL连(焊)到盒子上对应的位置

注意按照GND-GND RX-TX TX-RX 连接!!!!

注意按照GND-GND RX-TX TX-RX 连接!!!!

注意按照GND-GND RX-TX TX-RX 连接!!!!

怎么找到GND RX TX 这个三个点?

版的背面有写,可以参考下图

GND RX TX

GND RX TX接线图

下载盒子桌面软件,如沙发桌面或者当贝桌面,将其下载到U盘,并连接到盒子

接下来准备使用putty连接*(驱动按TTL转USB商家提供的教程安装)*

1.点击Serial

2.COM端口号同设备管理中的COM端口号相同

3.点击Open

4.盒子通电

通电之后,会开始跑代码,跑完代码后就变成可以输入的状态
root@xxxxxx:/ #

接着开始”破解”安装第三方软件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
df
# 查看所有挂载的设备,即查看u盘的路径,如 /storage/external_storage/sda1

cd /storage/external_storage/sda1
# 进入U盘

cp *.apk /data/app
# 安装U盘里面的APP到盒子

am start com.shafa.tvlauncher
# 启动沙发桌面,会出现类似下面的提示,则为成功
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] pkg=com.shafa.tvlaucncher }

am start com.dangbei.tvlauncher
# 启动当贝桌面,喜欢当贝的可以用这个,会出现类似下面的提示,则为成功
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] pkg=com.dangbei.tvlaucncher }

reboot
# 重启

错误

Error: Activity not started, unable to resolve Intent { act=android.intent.action.CALL }

盒子桌面 精简去广告版 使用 am start com.dangbei.tvlauncher命令会出现类似错误,且不能正常启动,解决方案暂无.只能使用官方版本,推荐沙发桌面广告少点

用户您好,本终端已关闭第三方应用的直接安装,请从移动应用商场安装,谢谢!

解决方法:安装re管理器,通过复制的方法将/storage/external_storage/sda1U盘里面的apk复制到/data/app也可以一定程度的避免软件的乱下载或误点广告或软件升级问题.

下载

其他

  • /system/app下的文件不可写,尝试用mount未果,不能替换删除系统的垃圾软件.
  • 联通定制的盒子就是比网上买的强多了秒开机.
  • 不能通过U盘安装第三方应用,也暂时没有有效的方法启动/data/app里面的修改去广告的APP

参考

Unicode转中文

如果type(text) is bytes

1
text.decode('unicode_escape')

如果type(text) is str

1
text.encode('latin-1').decode('unicode_escape')

字符实体转中文

1
2
import html
print(html.unescape('a=1&amp;b=2'))

错误

1
2
3
from html.parser import HTMLParser
print(HTMLParser().unescape('a=1&amp;b=2'))
#报一下错误

DeprecationWarning: The unescape method is deprecated and will be removed in 3.5, use html.unescape() instead.

原因:python3.4以后已经弃用

解决: 用 html 模块中的 unescape 方法

1
2
import html
print(html.unescape('a=1&amp;b=2'))

参考

提示

无法定位链接器!请检查 tools\link.ini 中的配置是否正确的解决方案正在进行名称连接…

1
2
3
4
5
6
7
8
9
正在统计需要编译的子程序
正在编译...
正在生成主程序入口代码
程序代码编译成功
等待用户输入欲编译到的文件名
正在进行名称连接...
开始静态链接...
无法定位链接器!请检查 tools\link.ini 中的配置是否正确。
静态连接失败

原因

易语言5.X版本以上编译为静态编译,静态编译需要借助VC编译器,如果编译器配置不正确或者没安装将会出现以上信息。

解决

  1. 下载 VC98linker.rar
  2. 将文件 VC98linker.rar 解压到易语言安装目录,得到VC98linker文件夹,如下图所示
    1. VC98linker.rar解压情况
  3. 进入VC98linker文件夹,点击link.e文件,运行,点击修改即可。(不要修改link.e代码)
    1. link.e运行

参考

提示

环境:win7

软件:Xshell_5.0.1339,Xftp_5.0.1235

时间:2020-01-23

要继续使用此程序,您必须应用最新的更新或使用新版本。

错误弹窗

原因

  • “时间限制”
  • 新版有更好的功能更好的赚钱

解决方案

  1. 修改时间法
  2. 替换 nslicense.dll 文件
  3. 使用博主已替换 nslicense.dll 文件的xshell5和xftp5软件(基于精品绿色便携软件-Xshell+Xftp5整合版替换)Xshell_5.0.1339_Xftp_5.0.1235_PortableSoft.7z

1.修改时间方法不推荐

2.替换 nslicense.dll 文件,则是将 nslicense.dll 文件下载,放到xshell5或是xftp5安装目录下,替换即可。

3.下载即可使用。

查毒链接-nslicense.dll MD5:c5ae73f83a144bef7609d7f7bd208941 0% 的杀软(0/47) 报告发现病毒 - VirSCAN.org-多引擎在线病毒扫描网 v1.02,当前支持 47 款杀毒引擎

弹窗提示

1
2
3
4
5
6
7
8
---------------------------
Xftp
---------------------------
Initialize Flexnet Service failed
Error code: 50003
---------------------------
确定
---------------------------

不用理会,确认即可。

Initialize Flexnet Service failed

参考

0%