小豪
小豪

小豪

All Posts


shell proxy via proxychains-ng

This blog post provides an in-depth guide on how to set up a shell proxy using proxychains-ng on GNU/Linux systems. It begins by explaining the need for a proxy to speed up access when visiting external websites or downloading content through a shell. The post then introduces proxychains-ng, a simple and convenient tool for this purpose, as an alternative to temporary solutions like 'export https_proxy'. The post proceeds with detailed instructions on how to download, compile, and install proxychains-ng. The steps include cloning the tool from GitHub, entering the downloaded folder, compiling the tool, and installing it along with the proxychains.conf configuration file. The final part of the blog post covers the configuration process. It explains how to view and edit the profile location, set up a SOCKS5 proxy and an HTTP proxy, and modify an alias in zsh. After following these steps, readers should be able to achieve faster access through a proxy. The blog post concludes by congra...--GPT 4

Proxy Shell

NFS Filesystem Mount

本篇博客主要讲述了如何在Linux和Windows之间使用NFS文件系统进行目录共享。文章首先详细介绍了Linux端的配置步骤,包括安装NFS服务器和实用程序、创建目录、绑定目录、编辑导出文件以及启动NFS服务器。接着,文章转向Windows端的配置,包括在控制面板中启用NFS服务、使用命令提示符挂载目录等步骤。文章的最后部分,作者列出了一些常见问题及其解决方案,如Windows连接挂载显示网络连接失败、在Windows创建文件显示无权访问等问题。这篇文章能为你提供一个关于如何在Linux和Windows之间使用NFS文件系统共享目录的全面指南。为了更好地理解和应用这些步骤,你可能需要回答以下问题:NFS文件系统在实际应用中有哪些优势和限制?如何解决在挂载过程中出现的权限问题?在不同操作系统间共享文件时,有哪些可能的安全风险?--GPT 4

Linux NFS Windows

Linux 部署clash的三种方式

本篇博客详细介绍了在Linux上部署Clash代理软件的三种方法。首先是Linux常规安装,包括下载文件、解压、配置、启动以及自启动的步骤,详细的命令行操作和配置文件内容都一一列出。其次是通过Docker部署,需要先在本地创建配置文件,然后编辑docker-compose配置文件并启动,最后通过网页访问。最后一种是通过flatpak安装Clash for Windows,只需简单的一行命令就可以完成。这三种方式各有优势,可以根据自己的实际情况选择适合的方式进行部署。那么,你更倾向于哪种部署方式呢?你觉得哪种方式更适合你的实际需求呢?--GPT 4

clash Linux

没有静态公网ip如何稳定访问家里的设备

本篇博客介绍了如何在没有静态公网ip的情况下稳定访问家里的设备。文章首先列出了实现这一目标的前置条件,包括Linux系统或者可以装docker的路由器、域名以及Cloudflare账号。接着,文章详细阐述了创建配置文件和使用Docker-compose运行的步骤。在创建配置文件的步骤中,作者给出了一个详细的配置文件模板,并对其中的参数进行了详细的解释。在使用Docker-compose运行的步骤中,作者提供了一个docker-compose.yaml文件的模板,并给出了运行的命令。文章最后指出,完成以上步骤后,你可以在cloudflare中看到一条ip域名映射记录,并且每五分钟更新一次,从而实现使用自定义的域名访问家里的设备。那么,你是否已经掌握了如何在没有静态公网ip的情况下稳定访问家里的设备呢?是否还有什么问题需要进一步的探讨呢?--GPT 4

DDNS IP Cloudflare

如何创建属于自己的博客

这篇博客主要探讨了如何创建自己的博客。首先,文章讲述了作者因为有道云笔记同步错误和分享知识的需求,决定创建自己的博客。作者首先选择了在博客园上创建博客,但在实际使用过程中,遇到了markdown图片保存、资料展示灵活和独立域名的问题。因此,作者决定自建博客。 在自建博客部分,作者详细介绍了通过Github Pages创建博客的步骤,包括在GitHub上创建username.github.io的仓库,部署Hexo,并访问username.github.io。接着,作者讲述了如何申请域名,包括在GoDaddy购买域名,通过cloudflare配置域名防护、CDN、域名服务器等,并在cloudflare的DNS配置中配置域名解析。 最后,作者提供了博客可以部署在其他网站的建议,包括heroku、vercel和Google Cloud Platform,并给出了他们的主要用途和优点。这篇博客是对创建和部署博客的全面指南,旨在帮助有同样需求的读者建立自己的博客。阅读全文后,你是否也想尝试创建自己的博客呢?--GPT 4


远程连接linux桌面的几种方式

本篇博客详细介绍了如何远程连接Linux桌面的几种方式。首先,为了解决无公网IP的问题,可以使用花生壳进行端口映射,但是它的网络速度和总流量有限制。其次,可以在Linux上安装xrdp并在花生壳开启3389端口映射,但是实际体验并不理想,画面卡断,操作不流畅。另一种方式是使用TeamViewer,但是在Linux端经常会掉线。还有一种方式是使用VNC进行远程连接,相应的操作步骤和命令在文章中有详细介绍。此外,文章还介绍了如何使用ZeroTier建立内部局域网,包括Linux端和Windows端的操作方法。然而,使用openssh for Windows作为代理转发内网的尝试并未成功。最后,文章介绍了使用Windows端口转发工具NATBypass的方法。这些方式各有优缺点,具体选择哪种方式需要根据实际情况和需求来决定。文章的最后提出了一个问题,那就是如何优化这些远程连接方式以提高效率和稳定性?这是一个值得读者深入思考和探索的问题。--GPT 4

Linux Remote

如何减少代码中的if else,设计模式实战

本文详细介绍了如何通过设计模式来减少代码中的if else,以实现更优的编码形式。首先,文章指出了过多的if else可能造成的问题,如不符合开闭原则,不符合面向对象编程,代码耦合度过高等。然后,文章提出了通过适配器模式和策略模式对代码进行优化的解决方案,通过将每一种流程抽取到单独的一个类里面,并使用依赖注入来注入所有实现,统一使用抽象类来调用。最后,文章通过单例模式进一步优化了代码,实现了每个流程都能自己注册到环境类中,增加新流程完全不用修改原来的代码,同时代码之间的耦合性也大大降低。但是,是否所有的优化都适合每种情况呢?或者说,我们是否有更好的方法来减少if else?这些都值得我们深入思考。--GPT 4

Java

用batch脚本自动更新部署构建系统

这篇博客详细介绍了如何使用batch脚本自动更新部署构建系统,以解决项目开发过程中频繁重复的部署操作所带来的时间消耗。文章首先抽象出了部署过程,然后通过两个优化步骤简化了这个过程。初始优化阶段,作者通过将远程服务器的svn仓库拉到本地,然后本地构建完成后直接将文件移动到远程svn仓库,省去了登录服务器和复制文件的操作。进一步优化阶段,作者提出了自动触发运维平台的构建,包括配置Jenkins用户token和触发事件,从而避免了手动操作。最后,作者展示了优化后的自动化部署流程,并强调了这种方式可以大大节约部署运维时间,使开发人员能更专注于业务开发,提高开发效率。那么,对于你来说,如何将这种自动化部署流程应用到你的项目中呢?又如何进一步优化这个流程以适应你的特殊需求呢?--GPT 4

DevOps Batch

docker开启代理

在国内网络环境下,使用docker拉取DockerHub仓库的镜像可能会非常慢,但镜像加速器并不始终能有效解决这个问题。这篇博客介绍了如何通过配置Docker代理来解决这一问题。首先,博客指出Docker守护进程在启动环境中使用HTTP_PROXY, HTTPS_PROXY和NO_PROXY环境变量来配置HTTP或HTTPS代理行为,但这些环境变量不能通过daemon.json文件配置。然后,博客提供了一个详细的步骤来创建和配置代理,包括创建docker.service.d文件夹,创建http-proxy.conf文件,编写文件内容,重启docker以及验证代理是否成功配置。此外,如果在拉取镜像时遇到报错,博客也提供了一些解决方案,如重置DNS解析服务器,检查http-proxy.conf配置文件。那么,如果你在使用docker时遇到了类似的问题,为什么不尝试下这篇博客提供的方法呢?它会帮助你更有效地使用docker,提高你的工作效率。--GPT 4

Proxy

Gitlab CI/CD全自动部署实战

本篇博客详细阐述了如何使用Gitlab CI/CD实现全自动部署。首先,文章介绍了如何创建一个简单的web服务和部署Gitlab Runner执行器,包括下载执行器、赋予文件夹权限、新建操作用户、添加docker用户组等步骤。然后,文章详细解释了如何注册Runner执行器,并展示了部署的整体效果和实际结果。 接下来,文章深入讨论了Gitlab CI/CD的作用,包括提高开发人员效率、及时更新整改、满足条线在更新服务器之前先进行单元测试的要求,以及一键部署到生产、仿真系统。这些功能可以让开发人员专注于系统设计和开发,加快客户响应速度,同时也可以保证服务器的代码是通过完整测试的。 最后,博客提出了下一个目标规划,包括部署harbor镜像仓库、docker-compose多容器部署,以及利用ssh部署到远程服务器。 这篇博客是关于如何利用Gitlab CI/CD实现全自动部署的详细指南,对于希望提高工作效率的开发人员来说,是一篇极其有价值的参考资料。那么,你是否已经准备好利用Gitlab CI/CD来提升你的开发效率了呢?--GPT 4

DevOps Java