首页
文章导航
留言板
友链
更多
关于
Search
1
常用安装脚本知识 [24年10月27日更新]
68 阅读
2
网页制作常用代码 不断增加 [2025年3月31更新]
64 阅读
3
Win10怎么默认开启数字小键盘
60 阅读
4
总结白嫖】DeepSeek R1 671B满血版-网页版+API版
47 阅读
5
Linux系统下常用命令【不断补充】
46 阅读
默认
日常
学习
技术
登录
Search
标签搜索
安装
cloudflare
CF
白嫖
壁纸
图片
脚本
docker
Linux
代码
哪吒
域名
Caddy
节点
桌面壁纸
手机壁纸
NAT
LXC
优选
HTML
ws01
累计撰写
94
篇文章
累计收到
50
条评论
首页
栏目
默认
日常
学习
技术
页面
文章导航
留言板
友链
关于
搜索到
3
篇与
的结果
2024-08-12
serv00注册等系列教程,服务器清理,ssh连接不上问题轻松解决,非挂代理
serv00系列教程,服务器清理,ssh连接不上问题轻松解决,非挂代理一、FTP、ssh 无法连接1、修改链接地址,sXXX.serv00.com 换成 webXXX.serv00.comssh服务器清理pkill -kill -u ${username} chmod -R 755 ~/* chmod -R 755 ~/.* rm -rf ~/.* rm -rf ~/*sN.serv00.com 18(或其IP)+端口22(或80或443)webN.serv00.com 12(或其IP)+端口22cacheN.serv00.com 8(或其IP)+端口22panelN.serv00.com 5 +端口22panelN.serv00.net +端口22USER.serv00.net +端口22其中大写的 N 是邮件中给定的服务器号2、ip被blockip解锁地址:https://www.serv00.com/ip_unban二、注册1、serv00注册对ip要求较高,邮箱也有可能收不到邮件和在垃圾箱中,所以正常注册不上就只能 换ip,换邮箱 。2、推荐下面方法:打开ProxySite-免费网络代理,在代理中注册,地址随意,最好选波兰ProxySite-免费网络代理 serv00注册输入:https://www.serv00.com/offer/create_new_accountct8注册输入【代理地址必须选择🇵🇱波兰】:https://www.ct8.pl/offer/create_new_account可选临时邮箱 ,最好是自己的邮箱,信息填完后serv00最下面一栏填写:freect8最下面一栏填写:MyDevil.net三、cloudflare保活1、登录 cloudflare ,创建 Workers 或 Pages 项目2、复制以下代码到 Workers 并部署addEventListener('fetch', event => { event.respondWith(handleRequest(event.request)) }) addEventListener('scheduled', event => { event.waitUntil(handleScheduled(event.scheduledTime)) }) async function handleRequest(request) { return new Response('Worker is running') } async function handleScheduled(scheduledTime) { const accounts = JSON.parse(ACCOUNTS_JSON) const results = await loginAccounts(accounts) await sendSummary(results) } async function loginAccounts(accounts) { const results = [] for (const account of accounts) { const result = await loginAccount(account) results.push({ ...account, ...result }) await delay(Math.floor(Math.random() * 8000) + 1000) } return results } function generateRandomUserAgent() { const browsers = ['Chrome', 'Firefox', 'Safari', 'Edge', 'Opera']; const browser = browsers[Math.floor(Math.random() * browsers.length)]; const version = Math.floor(Math.random() * 100) + 1; const os = ['Windows NT 10.0', 'Macintosh', 'X11']; const selectedOS = os[Math.floor(Math.random() * os.length)]; const osVersion = selectedOS === 'X11' ? 'Linux x86_64' : selectedOS === 'Macintosh' ? 'Intel Mac OS X 10_15_7' : 'Win64; x64'; return `Mozilla/5.0 (${selectedOS}; ${osVersion}) AppleWebKit/537.36 (KHTML, like Gecko) ${browser}/${version}.0.0.0 Safari/537.36`; } async function loginAccount(account) { const { username, password, panelnum, type } = account let url = type === 'ct8' ? 'https://panel.ct8.pl/login/?next=/' : `https://panel${panelnum}.serv00.com/login/?next=/` const userAgent = generateRandomUserAgent(); try { const response = await fetch(url, { method: 'GET', headers: { 'User-Agent': userAgent, }, }) const pageContent = await response.text() const csrfMatch = pageContent.match(/name="csrfmiddlewaretoken" value="([^"]*)"/) const csrfToken = csrfMatch ? csrfMatch[1] : null if (!csrfToken) { throw new Error('CSRF token not found') } const initialCookies = response.headers.get('set-cookie') || '' const formData = new URLSearchParams({ 'username': username, 'password': password, 'csrfmiddlewaretoken': csrfToken, 'next': '/' }) const loginResponse = await fetch(url, { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', 'Referer': url, 'User-Agent': userAgent, 'Cookie': initialCookies, }, body: formData.toString(), redirect: 'manual' }) console.log(`Login response status: ${loginResponse.status}`) console.log(`Login response headers: ${JSON.stringify(Object.fromEntries(loginResponse.headers))}`) const loginResponseBody = await loginResponse.text() console.log(`Login response body: ${loginResponseBody.substring(0, 200)}...`) if (loginResponse.status === 302 && loginResponse.headers.get('location') === '/') { const loginCookies = loginResponse.headers.get('set-cookie') || '' const allCookies = combineCookies(initialCookies, loginCookies) const dashboardResponse = await fetch(url.replace('/login/', '/'), { headers: { 'Cookie': allCookies, 'User-Agent': userAgent, } }) const dashboardContent = await dashboardResponse.text() console.log(`Dashboard content: ${dashboardContent.substring(0, 200)}...`) if (dashboardContent.includes('href="/logout/"') || dashboardContent.includes('href="/wyloguj/"')) { const nowUtc = formatToISO(new Date()) const nowBeijing = formatToISO(new Date(Date.now() + 8 * 60 * 60 * 1000)) const message = `账号 ${username} (${type}) 于北京时间 ${nowBeijing}(UTC时间 ${nowUtc})登录成功!` console.log(message) await sendTelegramMessage(message) return { success: true, message } } else { const message = `账号 ${username} (${type}) 登录后未找到登出链接,可能登录失败。` console.error(message) await sendTelegramMessage(message) return { success: false, message } } } else if (loginResponseBody.includes('Nieprawidłowy login lub hasło')) { const message = `账号 ${username} (${type}) 登录失败:用户名或密码错误。` console.error(message) await sendTelegramMessage(message) return { success: false, message } } else { const message = `账号 ${username} (${type}) 登录失败,未知原因。请检查账号和密码是否正确。` console.error(message) await sendTelegramMessage(message) return { success: false, message } } } catch (error) { const message = `账号 ${username} (${type}) 登录时出现错误: ${error.message}` console.error(message) await sendTelegramMessage(message) return { success: false, message } } } function combineCookies(cookies1, cookies2) { const cookieMap = new Map() const parseCookies = (cookieString) => { cookieString.split(',').forEach(cookie => { const [fullCookie] = cookie.trim().split(';') const [name, value] = fullCookie.split('=') if (name && value) { cookieMap.set(name.trim(), value.trim()) } }) } parseCookies(cookies1) parseCookies(cookies2) return Array.from(cookieMap.entries()).map(([name, value]) => `${name}=${value}`).join('; ') } async function sendSummary(results) { const successfulLogins = results.filter(r => r.success) const failedLogins = results.filter(r => !r.success) let summaryMessage = '登录结果统计:\n' summaryMessage += `成功登录的账号:${successfulLogins.length}\n` summaryMessage += `登录失败的账号:${failedLogins.length}\n` if (failedLogins.length > 0) { summaryMessage += '\n登录失败的账号列表:\n' failedLogins.forEach(({ username, type, message }) => { summaryMessage += `- ${username} (${type}): ${message}\n` }) } console.log(summaryMessage) await sendTelegramMessage(summaryMessage) } async function sendTelegramMessage(message) { const telegramConfig = JSON.parse(TELEGRAM_JSON) const { telegramBotToken, telegramBotUserId } = telegramConfig const url = `https://api.telegram.org/bot${telegramBotToken}/sendMessage` try { await fetch(url, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ chat_id: telegramBotUserId, text: message }) }) } catch (error) { console.error('Error sending Telegram message:', error) } } function formatToISO(date) { return date.toISOString().replace('T', ' ').replace('Z', '').replace(/\.\d{3}Z/, '') } function delay(ms) { return new Promise(resolve => setTimeout(resolve, ms)) }3、设置变量,都在Workers 或 Pages设置中变量1变量名称:ACCOUNTS_JSON其中“帐号1服务器”为,如:你的帐号在s2.serv00.com,则填写:2,帐号可随意增加和减少,最后一个大括号后没逗号。[ { "username": "serv00帐号1", "password": "serv00帐号1密码", "panelnum": "帐号1服务器", "type": "serv00" }, { "username": "serv00帐号2", "password": "serv00帐号2密码", "panelnum": "帐号1服务器", "type": "serv00" }, { "username": "serv00帐号3", "password": "serv00帐号3密码", "panelnum": "帐号1服务器", "type": "serv00" } ]变量2变量名称:ACCOUNTS_JSON设置TG通知,不用不设置{ "telegramBotToken": "TG Token:如72492745590000:AAGCNhe663WD3z_PxTaUvSAYlKFBJ5Q3A2YQQQQ", "telegramBotUserId": "59515042110000" }变量3设置“触发事件”,如以下设置是:每月12号11时4分触发启动,可修改为任意时间11 4 12 * *
2024年08月12日
35 阅读
2 评论
0 点赞
2024-06-02
免费二级域名,包括可托管到cf的二级域名
免费二级域名,包括可托管到cf的二级域名 可托管到cf的二级域名一、cloudns,对注册ip有严格要求注册地址:https://cloudns.net二、us.kg,打开速度慢,注册时不要多点,耐心等待,域名界后起之秀。注册地址:https://register.us.kg/注册步骤:1、到https://www.ssnzk.com/网页截图好后面用到的 KYC 图片2、打开https://register.us.kg/,选择注册,把上一步中的信息填写好,提交3、邮箱中点击验证4、登录网站,开始提交第一步中的KYC和相关信息选择 upload kyc documents to default server (recommended)Why register the .US.KG domain name:填入 blog或setup a website等Document Type:填入proof of address上传1中的KYC截图点击Submit等待提示Successful!,及实名审核完成;5、重新进行us.kg账户登录申请域名即可三、cc.ua免费二级域名,可选5年【看脸不删除帐号,不过删除帐号后只要别人没注册,域名缓存还有,号还是可用。设置4或6个NS记录和1个CNAME两种方法,其中加_acme-challenge两条,如果用邮箱,再加3条MX记录和1条TXT记录】免费注册:https://www.1gb.ua/付费注册:https://prosto.1gb.ua注册参考文章:https://www.aldsd.com/1gb-ua四、https://dot.nyc.mn/注册简单,才开放五、l53,选择 filegear-sg.me 和 ggff.net 后缀才可能托管,一年优惠码:newuser,好像要1-3个月登录一次,麻烦https://www.l53.net/已封车域名1、free.hr,现注册收费,但便宜https://subreg.cz/en/2、link域名,现收费https://www.dynadot.com/account/sign-in3、eu.org,管理员70多,没精神管理网站了,2023年5月后没审批https://nic.eu.org/4、dedyn.io,现在也可注册,但不能托管cf,费了,以前注册并托管好的可以继续免费使用https://desec.io/5、nyc.mn,要审核才能通过,才开始就结束了,申请通过的可以正常使用https://dot.nyc.mn/{dotted startColor="#ff6c6c" endColor="#1989fa"/}其它不能托管到cf的二级域名1、mydns.jp日本免费二级域名,注册简单。https://www.mydns.jp/2、dynv6免费二级域名https://dynv6.com/3、freemyip注册最简单的免费二级域名【保留子域名,每年必须至少更新一次 IP】https://freemyip.com/4、ydns.io免费二级域名https://ydns.io/5、com.mp免费二级域名https://www.registry.com.mp/6、日本mydns.jphttps://www.mydns.jp/【几天登录一次,不用了】7、freedomain,利用bug可申请30年使用https://freedomain.one/8、my.noip.com,要30天确认一次,也费了https://my.noip.com/还有一些,不写了,最后强调: 免费是最贵的,域名最好买一个
2024年06月02日
22 阅读
0 评论
0 点赞
2024-05-31
注册GCP150刀相关【有手就行】
注册GCP150刀相关【有手就行】地址: GCP 一路点下去就行,如果出现要验卡步骤就算了【或换个干净IP和环境再试】,换个号和窗口继续,手快有,手慢就要封车了。一、GCP 改成root密码登录方法1、先选择从浏览器打开ssh连接服务器2、切换到root账号,输入代码:sudo -i3、设置root密码,输入代码:passwd然后会要求输入新密码,然后再重复一次密码,输入密码的时候不会显示出来,所以直接输入密码,然后回车,再然后重复输入密码回车开启SSH权限1、CentOS和Debian通用,输入以下两条命令sed -i 's/PermitRootLogin no/PermitRootLogin yes/g' /etc/ssh/sshd_config sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config2、Ubuntu系统,输入以下两条命令sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/g' /etc/ssh/sshd_config sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config3、重启服务器,输入命令:reboot二、gcp亚洲速度较快各区台湾【tw】asia-east1 10.140.0.0/20香港【hk】asia-east2 10.170.0.0/20东京【tokyo】asia-northeast1 10.146.0.0/20大板【osaka】asia-northeast2 10.174.0.0/20首尔【seoul】asia-northeast3 10.178.0.0/20孟买asia-south1 10.160.0.0/20新德里asia-south2 10.190.0.0/20新加坡【sg】asia-southeast1 10.148.0.0/20加达asia-southeast2 10.184.0.0/20三、防火墙用:v4:0.0.0.0/0v6:::/0四、300刀创建免费200G注意事项1、地点必须是us-west(俗称美西)和另2种(不推荐)2、机型必须是e2-micro(2C 1G)3、磁盘选:标准和30G4、网络要换到:标准,us-west免费200G五、ip不好或被强时可更换ip从左上方选择 “VPC网络” 进入“ip地址”,操作方法看图
2024年05月31日
18 阅读
0 评论
0 点赞