OpenWRT 实现HP1020打印机网络共享

1、下载HP1020固件文件sihp1020.dl文件至/etc目录

2、在USB热拔插触发目录下建立触发脚本:VI /etc/hotplug.d/usb/Printer-HP1020

#!/bin/sh set -e # 固件路径 FIRMWARE=/etc/sihp1020.dl # 打印机路径,可以从OpenWRT的USB打印机界面中中查看 DEVICE=/dev/usb/lp0 # Debug Log File LOGFILE=/tmp/hp1020 if [ "$PRODUCT" = "3f0/2b17/100" -a "$ACTION" = "bind" -a "$DEVTYPE" = "usb_device" ]; then echo "$(date): USB printer binded. Trying to upload firmware..." >> $LOGFILE cat $FIRMWARE > $DEVICE echo "$(date): Success. Done." >> $LOGFILE exit fi

加入首次启动 local startup /etc/rc.local

cat /etc/sihp1020.dl >> /dev/usb/lp0

3、实现效果:

打印机开机后触发USB热插拔事件,HP1020打印机绿灯常亮并立即进行自检,然后红灯绿灯交替闪烁再次自检,随后绿灯常亮

出处: https://www.pizzayy.com/openwrt-实现hp1020打印机网络共享.html?doing_wp_cron=1714973122.5799219608306884765625

How to Resolve “Package crypto/ecdh is not in GOROOT” Error in Linux

Have you encountered the “Package crypto/ecdh is not in GOROOT” error while working with Go in Linux? This error can be frustrating, but it’s typically due to misconfigurations or outdated Go installations. In this quick guide, we’ll walk you through the steps to resolve this issue.

Uninstall Go

If you suspect that your current Go installation is causing the problem, you can uninstall it before re-installing the latest version. Use the following commands:

  1. Remove the golang-go package:

$ sudo apt-get remove golang-go

2. Remove the golang-go dependencies:

$ sudo apt-get remove — auto-remove golang-go

3. Uninstall the existing Go package:

$ sudo rm -rvf /usr/local/go

Install the New Go Version

Now, let’s install the latest Go version:

  1. Download the Go archive:

$ wget https://dl.google.com/go/go1.21.3.linux-amd64.tar.gz

2. Extract the archive file:

$ sudo tar -xvf go1.21.3.linux-amd64.tar.gz

3. Place the extracted Go directory in the desired location (e.g., /usr/local):

$ sudo mv go /usr/local

Set Up Go Environment Variables

To configure Go properly, you need to set up environment variables:

  1. Set GOROOT to the Go installation location:

$ export GOROOT=/usr/local/go

2. Define GOPATH as your Go workspace directory:

$ export GOPATH=$HOME/go

3. Add Go binary paths to your PATH:

$ export PATH=$GOPATH/bin:$GOROOT/bin:$PATH

4. Reload environment variables:

$ source ~/.profile

Verify Your Go Installation

Finally, verify your Go installation to ensure it’s working correctly:

$ go version

With these steps, you should have successfully resolved the “Package crypto/ecdh is not in GOROOT” error and updated your Go installation to the latest version. Your Go environment should now be correctly configured and ready for your projects. Happy coding!

Reddit问答版:在你曾经受到的建议里,有哪些是你开始时并不理解但在后来证明非常明智的?

Reddit问答版:在你曾经受到的建议里,有哪些是你开始时并不理解但在后来证明非常明智的?

  • 严格来说,这不是我收到的,有个女孩在练习射箭时一直失败,她的教练告诉她:「你搞砸是因为年过于关注目标而忽视了自己的动作。」她说这是她得到的最好的人生指导。
  • 「我们作为人类往往会模仿我们交往的人的习惯,所以请与那些你真正想要效仿习惯的人为伍。」我的意思是,如果你想要戒烟,就尽可能避免和有烟瘾的人来往。
  • 「如果容易的话,每个人都会做。」这是我父亲说的,他是退休的发动机工程师。
  • 「进步,而非完美。」这句话帮了我很多。
  • 「每个人要么正在经历风暴,要么正在走出风暴,要么正在准备进入风暴。这就是生命的循环,直到你死去。」15岁的我心里想着,操,这也太消极了吧。30岁的我现在心想,天啊,奶奶说的是对的。
  • 「当你搬家时,首先要安排的是你的卧室。当一切都乱七八糟,你因为整天搬运箱子而筋疲力尽时,你有一个准备好的地方可以休息。」
  • 我的第一个老板在开除我之前对我说:「你知道如何高效地工作,但你不知道如何看起来像是在高效地工作。」过了很久我才意识到,人们更加追求的是他们认为的价值,而不仅仅是你所提供的真实价值。
  • 当我考到驾照时,我爸爸总是说:「开车时要像你和其他人车里都有个婴儿一样。」这话当时对我来说很奇怪,因为我只有15岁,但这让我成为一个非常谨慎的驾驶员,因为谁会想要对一起伤害婴儿的机动车事故负责呢。但现在这些话对我来说更有共鸣了,因为我现在有两个小宝宝。
  • 当我在接受机械工程的培训时,我的老师告诉我要多使用计算器。他随即补充道:「我不是你的数学老师,你的雇主也不是。你的数学老师希望你用脑子计算来证明你理解题目,但你的雇主关心的是任务能够快速准确的完成。这就意味着要使用计算器。」这是一堂关于动力和期望的好课,尤其是当我们很容易陷入二元的对错思维时。
  • 当我还在高中时,在一家杂货店当收银员时,一位上了岁数的男人凑近我耳边低声说道:「千万不要同时服用安眠药和泻药。相信我。」我不知道他为什么告诉我这个,但自从那时起,我一直按照这个建议生活。

-「爱并不能解决一切问题。」这是一个非常难以学会的事情,尤其是当你如此爱一个人的时候。但有时候,再多的爱也不足以拯救他们免于自我毁灭。他们必须足够爱自己,才会想要改变,而无论你给予他们多少爱,都无法强迫他们这样做。

  • 我最初听到的一条看似奇怪的建议是:「不要急于同意,但也不要急于反对。」乍一看,这个建议可能令人困惑甚至矛盾。然而,随着时间的推移,我意识到这是一个邀请,一个真正倾听、在形成观点之前对信息进行评估的邀请。在一个我们常常被鼓励迅速给出答案并与某种观点保持一致的世界中,这个建议提醒我们,花时间来处理信息和形成自己的结论是完全可以的。这不仅帮助我们避免判断失真,还让我们能够发展思维能力,更好的理解周遭世界的复杂性。
  • 「你可能是树上最甜的苹果,但并不是每个人都喜欢苹果。」
  • 上大学前,我收到的告诫是:「确保你要有自己的海绵擦。」我不明白这是什么意思,直到住进集体宿舍并使用了一段时间的公用厨房,才发现如果某件物品是公共的,那么每个人都不会对它负责,用来洗碗的海绵擦就会如此,它会变得极其恶心。
  • 我得到的最好的招聘建议是:「我可以教任何人技能,但无法教他们态度」实际上,求职者会什么没有那么重要,只要他们愿意且能够学习,和他人相处起来也融洽。如果他们做不到后面两条,那么也不用考虑他们会什么了。
  • 我爸爸说的:「孩子,你长得不帅,也不是天才,所以你要么学会让女人笑,要么就做好一辈子打光棍的准备。」我爸是个混蛋,但他在这件事上是对的,我长得普通,也不比大多数人聪明,但我从来没有缺少女性的陪伴。我相信我现在的关系之所以如此顺利,其中一个原因就是我仍然能让她笑。
  • 在得知我即将生孩子后,一个长辈告诉我,他至今为止最有用的一条育儿建议是:「别发脾气,能洗掉。」
  • 我在一家金融公司上班时,有一天管理层召开全体员工会议,讨论接下来可能的裁员事项,老板说了这么一句话:「没有人是不能被替代的。」虽然他当时的意图是让我们不要追问裁员消息、做好本职工作,但我从来没有忘记这句话,因为它是如此的真实。
  • 我妈以前常说:「如果你想要做完某件事,就把它交给一个忙碌的人。」我不懂,难道不应该找一个手头空闲的人吗?直到我进入职场当了管理层,才反应过来这句话再正确不过了,能做完10件任务的人永远可以接下并干好第11件任务,而勉强应付2件任务的人往往无法处理第3件任务。
  • 当我18岁的时候,一个22岁的同事告诉我不要拼命提升工作效率,因为公司不会奖励我,他们只会给我更多的工作。这是个很好的建议,我最终意识到了。
  • 楼上两个真是卧龙凤雏。
  • 「攀比是快乐的窃贼。」很有哲理的建议,但我依然不想在一个公共厕所的小便池前、被旁边一个有着硕大JB的男人这么建议。

source:r/AskReddit/comments/1b8sfer/whats_a_piece_of_advice_youve_received_that

六神磊磊:因为只有运动了,他才是个东西;不运动,大家都美好生活、积极创造,他就什么玩意都不是了。

https://m.weibo.cn/status/4913270760671077?wx=1

杨丽萍《孔雀》遇到稀奇古怪指责这个事,给些现在已经不了解的朋友说一下吧。有些朋友可能不知道,一个常识建立起来,是多么不容易的事,想要糟蹋了又多么容易。
很多例子不太好举,举一个方便说的,《军港之夜》听过吧,很美吧,“军港的夜啊静悄悄,海浪把战舰轻轻地摇”,多美啊,完全正确吧。苏小明57年的和我妈同龄。唱得多好啊。战士们自己也爱听极了。
但是当初80年苏小明刚唱了这首歌的时候,那家伙,掀起一阵批判热潮,说是没有英雄主义气势,是靡靡之音,等等,就跟现在这伙短视频里说《孔雀》演员衣服没穿好的网民一样的。有的还指责说:当兵就要提高警惕,怎么能唱海军战士睡觉呢?敌人打过来怎么办?
这样一搞,搞得有关部门也进退两难,拿不准这个歌是能听啊还是不能听啊?有的在广播里放了这个歌的,被处分,关禁闭。苏小明也一度被谈话,不要唱《军港之夜》了,要唱《十送红军》。大家去看在人民网工作多年的祝华新老师的回忆文章,说得很清楚的。后来幸亏高层开明,觉得这个歌是好的。《人民日报》来为《军港之夜》辩护,大意说这首歌是好的,我们不只能唱战士们打仗,也能唱战士们睡觉嘛!水兵那么辛苦,不能好好睡觉吗?
所以常识是怎么来的呢,是文明的力量很艰难地一点一点争来的,就跟推着个大石头上山,推推推推推,很艰难,但是半路碰上炮轰杨丽萍这种傻鸟,一脚又给你踹下去了。所以进步极难,而退步极易,就这么个情况。
杨丽萍现在还登台,大伙儿还能看她本人演,多不容易啊,说看一场少一场有点丧,但这样的艺术家确实看一场少一场吧?说真的排到重庆演那一会儿,她很高兴的,亲自发微博,说很期待,结果演了几天因为大家都知道的防治传染原因,不得已停了,我很庆幸啊,带着女儿赶上了最后一场,如果多拖延一天去,就看不上了。
结果一伙人撇着大嘴,短视频下面说什么“艺术也要有底线”“这不是艺术是粗俗”,笑死了,你平时消费艺术吗?平时关注艺术吗?您认为的“有底线”的艺术您又支持了吗,真看了吗?所以说实话艺术有没有底线关您什么事儿啊?您知道啥是底线啊?你留你的辫子我们当我们的现代人多好啊,互不打扰对吧。世界上最美好的事就是互不打扰,多好啊。否则米开朗基罗不能雕大卫只能雕《大搞卫生》;梵高不能画向日葵要画《花开富贵》,杨丽萍不能跳孔雀只能跳《雄鸡报晓》,多没意思啊。
再说远点,为什么网民里、受众里总有这么一股子喜欢扼杀、喜欢上纲上线的力量呢?说白了吧,就是权柄问题。这个“权柄”指的是虚拟的。如果文明、宽容,那么最得利的人是从事创造性工作的人,他们就会是最牛的,最赚钱,最露脸;而类似评论里那些不学无术、无力创造、只会乱咬的群体就没有话语力了;但反之,如果不文明,不宽容,权柄就会转移,从创造者的手上转向阻碍者、破坏者的手上,乱咬就可以变现了,苏小明也好杨丽萍也好你就要先来我们键盘群体这儿表示表示了。那么你说是创造容易,还是阻碍容易呢;是跳一出《孔雀》的门槛低,还是在网上说“靡靡之音”“查查她”门槛低呢,肯定是后者。这是根本。
《芙蓉镇》里有个疯子,最后疯了,天天喊运动了运动了。因为只有运动了,他才是个东西;不运动,大家都美好生活、积极创造,他就什么玩意都不是了。

warp-cli 解决chatGPT访问限制

https://developers.cloudflare.com/warp-client/get-started/linux/

参考: https://github.com/willoong9559/XrayWarp

现在机场大多数使用的是Dnsmasq将网站解析劫持到SNI proxy反向代理的页面上。

这里是使用WARP Client进行代理解锁Netflix等。 可以去cloudfalre官方页面有详细的安装流程和原理,不赘述。 个人认为官方socks这种代理方式更灵活且优雅。 https://developers.cloudflare.com/warp-client/setting-up/linux

这里写下我的配置过程

1.注册客户端

warp-cli register
2.设置WARP代理模式

warp-cli set-mode proxy
3.连接WARP

warp-cli connect
此时WARP会使用socks5本机代理127.0.0.1:40000 4.打开warp always-on

warp-cli enable-always-on
6.测试socks代,理检查ip是否改变

export ALL_PROXY=socks5://127.0.0.1:40000
curl ifconfig.me
7.修改v2ray/xray outbounds和分流规则,这里给出我的配置可自由发挥。

vim /usr/local/etc/xray/config.json
inbounds要启动sniffing

“sniffing”: {
“enabled”: true,
“destOverride”: [“http”, “tls”]
}
“outbounds”: [
{
“tag”: “default”,
“protocol”: “freedom”
},
{
“tag”:”socks_out”,
“protocol”: “socks”,
“settings”: {
“servers”: [
{
“address”: “127.0.0.1”,
“port”: 40000
}
]
}
}
],
“routing”: {
“rules”: [
{
“type”: “field”,
“outboundTag”: “socks_out”,
“domain”: [“geosite:netflix”]
},
{
“type”: “field”,
“outboundTag”: “default”,
“network”: “udp,tcp”
}
]
}
8.重新启动v2ray/xray

systemctl restart v2ray/xray
systemctl status v2ray/xray
xray可能需要下载geosite和geoip, google github上就能找到,下载后放在 /usr/local/bin

注意routing的位置顺序

cat /etc/v2ray/config.json
{
“log”: {
“access”: “/var/log/v2ray/access.log”,
“error”: “/var/log/v2ray/error.log”,
“loglevel”: “warning”
},
“inbounds”: [
{
“port”:12026,
“listen”: “127.0.0.1”,
“tag”: “vmess-in”,
“protocol”: “vmess”,
“settings”: {
“clients”: [
{
“id”:”b9d6e3c5-dea4-4cac-8c0e-30fb1ccbe906″,
“alterId”: 64
}
]
},
“streamSettings”: {
“network”: “ws”,
“wsSettings”: {
“path”:”/fb4e/”
}
}
}
],
“outbounds”: [
{
“protocol”: “freedom”,
“settings”: { },
“tag”: “direct”
},
{
“protocol”: “blackhole”,
“settings”: { },
“tag”: “blocked”
},
{
“tag”:”socks_out”,
“protocol”: “socks”,
“settings”: {
“servers”: [
{
“address”: “127.0.0.1”,
“port”: 40000
}
]
}

}
],
“dns”: {
“servers”: [
“https+local://1.1.1.1/dns-query”,
“1.1.1.1”,
“1.0.0.1”,
“8.8.8.8”,
“8.8.4.4”,
“localhost”
]
},
“routing”: {
“domainStrategy”: “AsIs”,
“rules”: [
{
“type”: “field”,
“outboundTag”: “socks_out”,
“domain”: [“geosite:openai”]

},

{
“type”: “field”,
“inboundTag”: [
“vmess-in”
],
“outboundTag”: “direct”
}
]
}
}

chatGPT登录(Google账户)流程

chatGPT登录(Google账户)流程:
1.先不翻墙,保持网络干净。并清除浏览器有关openai的内容。
2.打开 https://chat.openai.com ,login in /显示谷歌账户登录
3.翻墙 全局
4.谷歌账户登录 直到显示IP被ban
5.关闭翻墙 是完全关闭 不是pac模式 也不要用浏览器翻墙插件
6.刷新显示ban的页面
7.此步应该已经正常登录了。如果依然不行,尝试浏览器禁用quic

Debian 11搭建naiveproxy服务器

naiveproxy 是基于caddy使用go语言开发的一个转发服务器。作者的github地址 https://github.com/klzgrad/naiveproxy

搭建任务步骤
首先安装go语言
编译带转发的caddy
编辑caddy配置文件
启用服务

1.安装最新版本的go语言,下载链接需要查看链接 https://go.dev/doc/install

wget https://go.dev/dl/go1.19.4.linux-amd64.tar.gz
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.19.4.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin

2.新建一个caddy配置文件(系统不含这个路径,需要新建目录)。
文件名: /etc/caddy/Caddyfile 
文件内容:

{
order forward_proxy before file_server
}
:443, xxx.f3ck.cn {
tls suhaha1024@gmail.com
forward_proxy {
basic_auth username password
hide_ip
hide_via
probe_resistance
}
file_server {
root /var/www/html
}
}

3.编译带naiveproxy的caddy。也可以新建一个update.sh ,方便以后升级用。
文件内容:

export PATH=$PATH:/usr/local/go/bin

go install github.com/caddyserver/xcaddy/cmd/xcaddy@latest
~/go/bin/xcaddy build --with github.com/caddyserver/forwardproxy@caddy2=github.com/klzgrad/forwardproxy@naive

systemctl stop caddy.service 
cp caddy /usr/bin/caddy 
systemctl start caddy.service 
systemctl status caddy.service

4.最后新建Debian的系统服务,完成自动开机启动。

文件名称: /etc/systemd/system/caddy.service
文件内容:

[Unit]
Description=Caddy
Documentation=https://caddyserver.com/docs/
After=network.targetnetwork-online.target
Requires=network-online.target

[Service]
User=root
Group=root
ExecStart=/usr/bin/caddy run --environ --config /etc/caddy/Caddyfile
ExecReload=/usr/bin/caddy reload --config /etc/caddy/Caddyfile
TimeoutStopSec=5s
PrivateTmp=true
ProtectSystem=full

[Install]
WantedBy=multi-user.target

5.此处记得启用服务

systemctl enable caddy.service

以上完成后对应的客户端配置信息:

naiveproxy连接方式 http2或者quic 服务器地址 xxx.f3ck.cn 端口号 443 用户名 username 密码 password

iPhone “shadowrocket” app 安装

由于需要非cn区域的Apple ID很麻烦,为了不忘记所以写个备份备注。具体信息如下:

ID名称:suyuanhua@hotmail.com 密码:Hk102488 注:第一次登录需要短信验证码认证。

app在 已购买 内找,或者直接使用以下链接 https://apps.apple.com/us/app/shadowrocket/id932747118

注意仅仅登录app store!不用使用此ID完整登录手机,仅仅登录app store即可。登录步骤如下/如已经登录按这个步骤退出后再登录:

下载app完成后,请看评论内的信息,做最后设置。