Messages-强大的短链程序
前言
前一阵子,在网上找链接缩短的开源项目,想搭一个这样的网站
谁知,要不就是太癃肿(一个链接缩短网站,要注册???),要不就没有我想要的功能
所以,趁着最近学了下PHP的header和PDO(连接mysql的工具),就花了3天写了这个工具
特色
基本功能完全支持+附加了Text(文本)的传递-其实就是xurl和ti的合体
运用了PHP的header,直接显示内容,不搞花里胡哨的-给予用户应得的尊重
运用了$_SERVER-代码部署方便
部署
来到了简单的部署环节(不花里胡哨)
新建一个数据库,用户名和密码自定
把数据库,用户名和密码依次填入config.php的dbname,username和password
如果数据库不在本地,请修改server
端口号修改的方法: 在server的最后加上;port=端口
测试一下如果没有问题,就可以用了…
短链接创建教程
检查你的val是链接和文本(Text)
选择链接或文本(Text) (如果你的val是多行的就不用管)
填表
创建
无脑操作,主要是第2步难一点
蓝凑云直链解析
前言
就是看到很多大佬写了,不过99%没开源,1%用的e语言
所以,我先写个py版本的,然后再去做个php版的(有时间的话)
代码
花了很多时间,遇到了很多坑,没有注释…
#!/usr/bin/env python
# The code from xihale.top
import requests
import json
UA = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4537.0 Safari/537.36 Edg/93.0.926.1"
header = {"user-agent": UA}
url = "lanzoui.com"
def swn(str: str, start: str, end: str) -> str:
r = str.find(start)
re = str.find(end, r + len(start))
return str[r + len(start):re - len(end) ...
Win-磁盘修复
前言
如果一不小心把电脑的磁盘弄坏了(比如写入文件时突然断电)
Todo
win+x调出PowerShell(管理员)
简单一步搞定
C为坏了的盘符(如果是隐藏的可以先取消隐藏)
chkdsk C: /f
动态修改Referer欺骗服务器
前言
在做js(electron)版本的蓝奏解析时,发现要修改referer发送请求,但是chrome内核不允许这样做
开始
依赖: ipcMain,ipcRenderer
在主进程创建窗口后添加:
ipcMain.on('lanzou',(event,args) => {
session.defaultSession.webRequest.onBeforeSendHeaders({urls: ["*://*/*"]}, (details, callback)=> {
details.requestHeaders['referer'] = args;
callback({requestHeaders: details.requestHeaders});
});
});
在渲染进程内添加:
ipcRenderer.send('lanzou',url);
注: lanzou是通讯的key,可以替换
*://*/*是匹配的url 可修改
此方法会影响其他子进程,不过影响不大,主要看你 ...
通过无备案域名搭建在国内服务器上的网站
序
从前,网站只要把端口改掉就能实现访问,但是现在不行了…
而身为一个初中生,并没有资格去执行严苛的域名备案制度,我也无奈
不过,身为一个热血青少年,想要拥有自己的网站(BLOG)也是理所当然的
注: 本文不违法任何有关网站搭建的法律(目前来说)
请不要使用此方法去做任何违法规则的事,作者概不负责
此方法优缺点
优点:可以支持80端口代理访问
缺点:IP段不支持https
言
分析
服务商的服务器限制在更底层,因为我们买的服务器一般不是物理机,所以相当于是虚拟机了,也就是说我们根本无法通过修改服务器的配置去防止域名被拦截,所以这条路不通!
而众所周知,服务商限制的是域名的备案与否,这与IP段访问是没什么关系的
(所以你想说,我在说废话吗?)
不,这里贴出我的解决方案
具体可以实现的功能: url实时刷新,url间接访问
有点晦涩难懂…看效果(这是我用这个方法搭建的站): Public - xihale
搭建教程
首先把这段代码加入到要代理的页面(实现url刷新的基本)
关于这个,如果是php伪静态的话建议加在主题文件内(防止干扰其他页面的问题,OneManager就遇到了这 ...
01背包问题
序
早就开始学dp了,但是,进度缓慢…
言
设背包容量为10,物品数量为5
物品的容量占用和价值分别为:
[2,5,4,2,3]和[6,3,5,4,6]
首先我们把大问题转换为小问题
既然要求容量为10的最大价值,那就可以先求出容量为<10的最大价值
自动 mount
序
有几个分区得自动mount
言
挂载需要自动挂载的分区
使用blkid命令获取分区的UUID并复制
打开/etc/fstab自动挂载分区标识文件
sudo vim /etc/fstab
添加/修改即可,格式:
请将uuid替换为刚刚复制的 uuid,
然后把绑定目录改一下,一般只需要把xihale改为你自己的用户名,把dir改为需要绑定到的文件夹名即可,
最后把ext4改为你需要的分区格式,一般是ntfs或fat32
UUID=uuid /media/xihale/dir ext4 defaults 0 0
一般来说,后面两个参数都填0,[详解在这](https://www.rmssf.com/news/fstab dump pass values.html)
ES6新特性 - promise
序
有时候要写函数用到了异步,但是又想强行使他同步执行
这时候就可以用到 Promise 了
言
基础
首先,一个简单的 Promise 定义是这样的:
new Promise((resolve,reject)=>{ // 这里的 resolve 接收 成功 后返回的值, reject 接收 失败 后返回的值
// 注意: resolve 触发 then 方法 reject 触发 catch 方法
if(...){
resolve(funtion(){return 1});
}else if(...){
resolve(2);
}else{
reject(3);
}
})
这里我喜欢把 resolve 写成 solve ,把 reject 写成 throwerr ,这是不要紧的
进阶
然后是进阶的用法: 搭配 async 和 await 实现同步操作
// 这里很简单在执行的 await 函数外套一 ...
cross compile for cpp
序
在 linux 下编写 c++ ,然后又想直接编译成 exe 发布 ( 懒得去 windows平台重新编译了 )
言
这里使用 交叉编译器 实现编译 exe文件
安装 mingw-w64 包
各个系统有不同的安装命令,此处演示 Ubuntu(Debian)系
sudo apt install mingw-w64
使用 mingw-w64 编译
其中内置的编译命令太多了,此处仅演示 默认 版本的 g++ 编译器 ,其中 main.cpp 是需要编译的源文件
i686-w64-mingw32-g++ main.cpp -o main.exe
wireshark抓包入门
序
使用 tcpdump 已经满足不了日益增长的抓包需求了
这时得使用更加强大的工具 wireshark 进行底层抓包了
这是官网: Wireshark(如果实在太卡点击这里,自己搭建了个万能镜像站,不过别滥用)
言
安装(installing)
Linux
使用包管理器即可,不同系统的安装命令可能不同,这里演示 Ubuntu系 的安装方法
sudo apt install wireshark # 使用包管理器进行安装
sudo groupadd wireshark # 添加一个 wireshark 用户组
sudo chgrp wireshark /usr/bin/dumpcap # 将底层抓包命令 dumpcap 规划到 wireshark 用户组内 ( 获取执行权 )
sudo chmod 4755 /usr/bin/dumpcap # 设置 wireshark 用户组拥有 root 权限
这里还有一步,请把 xihale 改为你自己的用户名!
sudo gpasswd -a xihale wireshark # 将自己加入到 wireshark 用户组以执行 wireshark ...