14 三月, 2025

thumbnail

小白写了一个手机扫码配置网络的脚本

这脚本是我用AI写的哈,本人完全不会写哈,只是分享出来大家一起学习。 [有能力的大佬可以完美的优化下。~~~~

怎么上传不了附件

下面是脚本文,保存*.sh 执行就可以了。

#!/bin/bash
确保以 root 用户运行脚本
if [ "$(id -u)" -ne 0 ]; then
echo "此脚本需要 root 权限,请以 root 用户运行。"
exit 1
fi
更新系统并安装必要的软件包
echo "正在更新系统并安装必要的软件包..."
apt-get update
apt-get install -y hostapd dnsmasq python3 python3-pip qrencode wget kmod
安装 Flask
pip3 install flask
配置无线网卡
echo "正在配置无线网卡..."
cat <<EOF > /etc/network/interfaces.d/wlan0
auto wlan0
iface wlan0 inet static
address 192.168.42.1
netmask 255.255.255.0
gateway 192.168.42.1
dns-nameservers 8.8.8.8
EOF
配置 hostapd
echo "正在配置 hostapd..."
cat <<EOF > /etc/hostapd/hostapd.conf
interface=wlan0
driver=nl80211
ssid=MyLinuxAP
hw_mode=g
channel=6
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=123456789
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
EOF
配置 dnsmasq
echo "正在配置 dnsmasq..."
cat <<EOF > /etc/dnsmasq.conf
interface=wlan0
dhcp-range=192.168.42.2,192.168.42.20,255.255.255.0,24h
port=53
server=8.8.8.8
EOF
停止并禁用服务
echo "正在停止并禁用服务..."
systemctl stop hostapd
systemctl stop dnsmasq
systemctl disable hostapd
systemctl disable dnsmasq
取消屏蔽服务
echo "正在取消屏蔽服务..."
systemctl unmask hostapd
systemctl unmask dnsmasq
启动服务
echo "正在启动服务..."
systemctl enable hostapd
systemctl enable dnsmasq
systemctl restart hostapd
systemctl restart dnsmasq
创建 Flask 应用
echo "正在创建 Flask 应用..."
cat <<EOF > /usr/local/bin/app.py
from flask import Flask, request, jsonify, render_template_string
import subprocess
app = Flask(name)
@app.route('/')
def index():
return render_template_string('''
<h1>连接到 WiFi</h1>
<div id="wifi-list"></div>
<script>
fetch('/scan')
.then(response => response.json())
.then(data => {
const wifiList = document.getElementById('wifi-list');
data.forEach(wifi => {
const listItem = document.createElement('div');
listItem.textContent = `\${wifi.ssid} (\${wifi.signal} dBm)`;
listItem.onclick = () => {
const password = prompt(`Connecting to \${wifi.ssid}. Enter password:`);
fetch('/connect', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({ssid: wifi.ssid, password: password})
}).then(response => response.json())
.then(data => alert(data.status === 'success' ? 'Connected!' : 'Failed: ' + data.message));
};
wifiList.appendChild(listItem);
});
});
</script>
''')
@app.route('/scan')
def scan_wifi():
result = subprocess.run(["nmcli", "-t", "-f", "IN-USE,SSID,SIGNAL,SECURITY", "dev", "wifi"], capture_output=True, text=True)
networks = result.stdout.strip().split('\n')
wifi_list = []
for network in networks:
if network.strip():
parts = network.split(':')
wifi_list.append({
'ssid': parts[1].strip(),
'signal': parts[2].strip(),
'security': parts[3].strip()
})
return jsonify(wifi_list)
@app.route('/connect', methods=['POST'])
def connect_wifi():
data = request.json
ssid = data.get('ssid')
password = data.get('password')
if ssid and password:
result = subprocess.run(
["nmcli", "dev", "wifi", "connect", ssid, "password", password],
capture_output=True, text=True
)
if result.returncode == 0:
return jsonify({"status": "success"})
else:
return jsonify({"status": "error", "message": result.stderr})
return jsonify({"status": "error", "message": "Invalid input"})
if name == 'main':
app.run(host='0.0.0.0', port=5001)
EOF
开放相关端口
echo "正在开放相关端口..."
ufw allow 53
ufw allow 5001
ufw allow 80
ufw allow 443
启动 Flask 应用
echo "正在启动 Flask 应用..."
python3 /usr/local/bin/app.py &
生成二维码
echo "正在生成二维码..."
qrencode -o /usr/local/bin/qr.png "http://192.168.42.1:5001"
echo "部署完成!"
echo "请扫描 /usr/local/bin/qr.png 中的二维码以配置 WiFi。"





欢迎投稿(技术分享、原创教程)至本站机器人: blog#mige.eu.org
 
thumbnail

SSH登录发送告警信息到邮箱

前言

自从开放端口到公网后,每次查看SSH日志,总有一堆国外肉鸡在疯狂访问,于是想搞个远程登录报警(可能也什么卵用,但至少被爆破后能知道,可以及时修改密码)。

原理

将自动发送邮件的脚本放到.bashrc中,一旦通过SSH登录,就会自动运行,并获取登录信息发送到对应邮箱上。

方法

步骤一:获取邮箱的应用密码(此处以QQ邮箱为例)

参考链接:https://laowangblog.com/qq-mail-smtp-service.html

步骤二:编写邮件发送脚本,保存为send_email.py

#!/usr/bin/python  # -*- coding: UTF-8 -*-  import smtplib  from email import encoders  from email.header import Header  from email.mime.text import MIMEText  from email.utils import parseaddr, formataddr  import sys    def send_mail(dtime,duser,dip,dhostname):      #基础信息      # from_addr = input("From:")      from_addr = "[email protected]" # 发送邮件地址      password = "xxxxx"  # 邮箱应用密码,步骤一获取      #to_addr = from_addr      to_addr = ["[email protected]"] # 接收邮件地址      # password = raw_input("Password:")      # to_addr = input("To:")      smtp_server = "smtp.qq.com"      mimetex = '[server0x]您的机器:',dhostname,',于:',dtime,',被IP: ',dip,' 以账号:',duser,' 进行登录,请确认是否是本人。'      #构造邮件      msg = MIMEText(''.join(mimetex), 'plain', 'utf-8')      msg['From'] = "{}".format(from_addr)      msg['To']   = ",".join(to_addr)      msg['Subject'] = Header("来自Server Monitor", 'utf-8').encode()      #发送邮件      server = smtplib.SMTP_SSL(smtp_server, 465)      #server.set_debuglevel(1)      server.login(from_addr, password)      server.sendmail(from_addr, to_addr, msg.as_string())      server.quit()    if __name__ == "__main__":      send_mail(sys.argv[1], sys.argv[2], sys.argv[3], sys.argv[4])

步骤三:获取登录信息,并调用邮件脚本,保存为sshrc.sh

#!/bin/sh    #获取登录者的用户名  user=$USER  #获取登录者的IP地址  ip=${SSH_CLIENT%% *}  #获取登录的时间  time=$(date +%F%t%k:%M)  #服务器的IP地址  hostname=$(hostname)  echo "content=$time,$user,$ip,$hostname" > /dev/null 2>&1  /usr/bin/python3 /opt/send_email.py  "$time" "$user" "$ip" "$hostname" > /dev/null 2>&1

步骤四:将sshrc.sh脚本放到.bashrc中,添加前建议先在终端测试一下

运行 vi ~/.bashrc 即可打开,然后在文件末尾处添加 /opt/sshrc.sh > /dev/null
到此全部添加完成,可以关闭终端,然后连接SSH试一下。。。






欢迎投稿(技术分享、原创教程)至本站机器人: blog#mige.eu.org
 

27 二月, 2025

thumbnail

静态托管免费的有哪些?

以下是一些提供 **免费静态网站托管** 的服务平台,适合托管HTML、CSS、JavaScript等静态文件:

---

### 1. **GitHub Pages**
- **特点**:与GitHub集成,支持自定义域名和Jekyll静态网站生成器。
- **免费额度**:每个仓库1GB存储空间,带宽100GB/月。
- **网址**:[https://pages.github.com](https://pages.github.com)

---

### 2. **Netlify**
- **特点**:支持自动化部署、CDN加速、自定义域名和HTTPS。
- **免费额度**:100GB带宽/月,300分钟构建时间/月。
- **网址**:[https://www.netlify.com](https://www.netlify.com)

---

### 3. **Vercel**
- **特点**:专注于前端框架(如Next.js),支持自动部署和CDN加速。
- **免费额度**:100GB带宽/月,1000分钟构建时间/月。
- **网址**:[https://vercel.com](https://vercel.com)

---

### 4. **Surge**
- **特点**:简单易用,支持命令行部署和自定义域名。
- **免费额度**:无限带宽,单个项目最大50MB。
- **网址**:[https://surge.sh](https://surge.sh)

---

### 5. **Render**
- **特点**:支持静态网站和动态应用托管,提供免费HTTPS和CDN。
- **免费额度**:100GB带宽/月,500分钟构建时间/月。
- **网址**:[https://render.com](https://render.com)

---

### 6. **Cloudflare Pages**
- **特点**:与Cloudflare CDN集成,支持快速部署和自定义域名。
- **免费额度**:500次构建/月,无限带宽。
- **网址**:[https://pages.cloudflare.com](https://pages.cloudflare.com)

---

### 7. **Firebase Hosting**
- **特点**:由Google提供,支持实时数据库和云函数集成。
- **免费额度**:1GB存储空间,10GB带宽/月。
- **网址**:[https://firebase.google.com](https://firebase.google.com)

---

### 8. **GitLab Pages**
- **特点**:与GitLab集成,支持自定义域名和静态网站生成器。
- **免费额度**:每个仓库10GB存储空间,400分钟构建时间/月。
- **网址**:[https://docs.gitlab.com/ee/user/project/pages](https://docs.gitlab.com/ee/user/project/pages)

---

### 9. **Fleek (基于IPFS)**
- **特点**:支持IPFS分布式存储,适合去中心化应用。
- **免费额度**:1GB存储空间,50GB带宽/月。
- **网址**:[https://fleek.co](https://fleek.co)

---

### 10. **Tiiny.host**
- **特点**:简单易用,适合快速部署小型静态网站。
- **免费额度**:单个项目最大5MB。
- **网址**:[https://tiiny.host](https://tiiny.host)

---

### 选择建议
- **个人项目或博客**:GitHub Pages、Netlify、Vercel。
- **小型项目或测试**:Surge、Tiiny.host。
- **去中心化应用**:Fleek。
- **企业级需求**:Firebase Hosting、Cloudflare Pages。

根据项目需求选择合适的托管平台,注意免费额度的限制。

23 二月, 2025

thumbnail

CM201-2 CH安装cups打印和惠普驱动

先通过网页登陆HiNas管理页面,右上角进入局域网,点终端后台进入,
先进入终端,输入以下命令
sudo apt-get update
apt-get install hplip

hplip自带cups程序,无需单独安装

打卡配置文件sudo vim /etc/cups/cupsd.conf(也可以通过文件管理器替换文件,下方附改好的配置文本)
修改修改监听地址:找到Listen字段,将其设置为0.0.0.0:631以监听所有IP地址:
Listen 0.0.0.0:6313、允许远程访问:默认情况下,CUPS的Web界面只允许本地访问,如果需要允许远程访问,可以修改配置文件中的相关部分,
Browsing Off改为Browsing On
<Location />
Order allow,deny
Allow all
</Location>4、保存并退出:编辑完成后,保存文件并退出编辑器。
重启CUPS服务:使配置生效,重启CUPS服务:
sudo systemctl restart cups

查看版本sudo apt-get install hplip
上传对应版本文件到root目录,可以通过文件管理器上传,
安装sudo hp-plugin
Enter option (d=download, p=specify path, q=quit) ? 输入p
Enter the path to the 'hplip-3.20.3-plugin.run' file (q=quit) : 输入回车
Do you accept the license terms for the plug-in (y=yes, n=no, q=quit) ? 输入y

打开CUPS Web界面:在浏览器中输入服务器的IP地址和端口号(631),例如http://<your-server-ip>:631,进入CUPS管理界面,默认用户名root和密码ecoo1234,就是刚才登陆注册的账号密码

2、添加打印机:在CUPS Web界面中,点击"Administration"选项卡,然后选择"Add Printer",根据提示完成打印机的添加过程,可以选择本地打印机或通过网络添加共享打印机。

3、共享打印机:如果需要在局域网内共享打印机,可以在添加打印机时勾选"Share this printer"选项,并为打印机起一个名称。

相关程序下载网站
https://www.openprinting.org/download/printdriver/auxfiles/HP/plugins/
https://developers.hp.com/zh-hans/node/2887

cupsd配置文件(文件管理器路径etc/cups/cupsd.conf,直接替换也可以,替换完后输入命令重新启动程序sudo systemctl restart cups)






欢迎投稿(技术分享、原创教程)至本站机器人: blog#mige.eu.org
 

20 十一月, 2024

thumbnail

在单位里,永远不要当着同事面,随便说出这3句话


今天就跟大家聊聊,在单位里当着同事面,哪三句话最好烂在肚子里,说出来容易得罪人、惹是生非。
 
我先给大家分享个小故事:
 
阿强是公司的一名小职员,平时爱开玩笑。
 
一次午休时,他跟新来的小李聊起公司里的趣事,还顺口揶揄了在场同事阿杰当年的几个工作失误,逗得小李捧腹。
 
谁知阿杰脸色一沉,骂了句"没素质",拂袖而去。


事后阿强才知道,原来阿杰为那几个失误吃了不少苦头,是他的"心病"。
 
阿强虽然赔了不是,但俩人关系再难修复如初了。
 
拿别人的伤疤开涮,是职场大忌。职场有道,嘴上留德。
 
大叮咛之一: 别拿同事的短处开涮
 
每个人都有缺点和敏感点,聪明的职场人绝不会拿这个开同事玩笑。记住:
 

工作失误、生活窘境都可能是同事的"雷区",避之不谈为妙。

07 十一月, 2024

thumbnail

分享一些美图






欢迎投稿(技术分享、原创教程)至本站机器人: blog#mige.eu.org
 
thumbnail

优秀班组长带员工的方法

作为一名基层管理者,既要当好上级的参谋与助手,又要当好班组的带头人,做到站好岗、把好关、尽好责。工厂把班组管理的重任交给了班组长,作为"兵头将尾"应热爱本职工作,从严管理,以身作则,凡事多带头,一定能带好。

其实,要管理好一个班组并不难,不是不可为,就怕不作为。俗话说:打铁还需自身硬。主管必须必备思想好,安全责任感强,技术精,懂业务,会管理,作风正,干劲足,有威信等特性。才能带领班组成员完成各项工作任务,在管理方面我虽然没有足够的水平经验,但我可以借鉴学习其它班组好的经验,弥补自己的不足;也可以向公司有经验的师傅和领导们取经,为自己排除前进的障碍。我自己也需要不断的学习充电,提高文化知识和管理水平。

当然,要做到这些,并不是像从嘴里说出来那么轻松,要切实落到实际的行动中可能有一定的难度。那么,我该怎么做,有该从何做起?

第一:如何做好班组管理工作

1.随时而有意识地调动员工的工作积极性



03 十一月, 2024

thumbnail

但凡上班的,永远不要向别人透露你的真实情况


1.这样容易被人拿捏


别人不断试探你的真实情况,比如收入,职位,家庭情况的时候,就是想称一称你几斤几两?


如果你收入比他高,比他富有,条件比他好,他就尽量找你借钱,蹭你的好处。


一旦你不给,就破口大骂,甚至诋毁你,说你那么有钱都不借给他,真不是人。


一旦你条件不如他,那么他就会一直在你身上找优越感,时不时数落你,安排你,命令你。


在一群朋友面前当面"洗刷"你,开一些让你难堪的玩笑,以显得自己的优越或者幽默。


而你只能默默承受,因为你一旦反抗或者不识趣,那就会被扣上不识趣、不合群、不受欢迎、人穷格局小等等这些屎盆子。。。


thumbnail

所谓工作能力强,就是做好这5件事

我们常常听到"工作能力强"这个词,但这个词背后究竟蕴含着怎样的内涵?很多人认为,只要能按时完成任务,就是工作能力强。然而,现实远比这复杂。
我曾与一位资深HR交流,他告诉我:"很多面试者都强调自己的工作经验和技能,但真正让我印象深刻的,是那些能够清晰表达自己想法、主动承担责任、并且能够从错误中学习的人。"
那么,如何才能成为一个工作能力强的人呢?

通过对大量职场案例的研究和分析,我发现,那些在职场中脱颖而出的人,往往具备一些共同的特质。这些特质可以归纳为以下五步工作法:

About

搜索此博客