让我们用PGP进行安全地交流吧!
技术

让我们用PGP进行安全地交流吧!

如今的互联网,用户已经毫无隐私可言。咱经常都能看见各种信息泄露的新闻。谁能保证咱使用的软件、网络甚至是设备没有被什么人监视着呢? 为了保证隐私安全,PGP诞生了。 这篇文章将会让你了解如何在你的设备上配置与使用PGP加密邮件,让我们开始吧~ 0x00 PGP的前世今生 什么是 PGP ? PGP(英语:Pretty Good Privacy,中文翻译“优良保密协议”)是一套用于讯息加密、验证的应用程序,采用IDEA的散列算法作为加密和验证之用。 PGP加密由一系列散列、数据压缩、对称密钥加密,以及公钥加密的算法组合而成。每个步骤均支持几种算法,用户可以选择一个使用。每个公钥均绑定一个用户名和/或者E-mail地址。 PGP的主要开发者是菲尔·齐默曼(

  • lss233
    lss233
4 min read
{0x13} Phoenix模块开发教程:命令系统
Phoenix入门教程

{0x13} Phoenix模块开发教程:命令系统

碎碎念... 关于命令系统的构思,我采用了一些Web框架的路由设计。 他们是像这样的: 注: 这个例子用到了Rapidoid Web框架。 所以我在Phoenix中也引入了这种设计。 可以说,这部分是最让我引以为豪的地方了。 这篇文章属于Phoenix Framework 入门教程的一部分。 注册一个命令执行器 咱建议,在插件被启用的时候就马上让Phoenix给我们的模块注册监听器。所以,在我们项目主类的onEnable()方法下,写上这么一行: Phoenix.getCommandManager().registerCommand(this,new MyCommandExecutor()); 如果一切顺利的话,接下来, 你的IDE会开始报错。(没报错的同学也没事,接着看往下操作。) 我们根据IDE的提示,创建一个叫做MyCommandExecutor的类,

  • lss233
    lss233
8 min read
浅谈 Java 9 的模块化系统
Java

浅谈 Java 9 的模块化系统

什么是模块? 一个模块是代码的集合。它以依赖关系的形式持有类,数据和其他模块。它与JAR文件类似,但更好。每个模块都包含一个module-info.java文件,它可以让我们明确地设置必要的信息。包括它依赖的其他模块以及其他模块可以访问的内容。 这是一种更好的方式,可以为程序员共享代码并进行协作减少一些兼容性的问题。 如何使用模块? 一个模块包含一个module-info.java文件 ,它包含了模块的基本信息,比如它依赖哪些模块、它的哪些部分能被其他模块访问等。 最主要的关键词是requires和exports。 现在,我们来写举几个简单的例子: module Decoder { requires Reader; exports com.decoder; } 上面的这个例子表明了Decoder模块依赖于Reader模块。 下一行则声明其他模块只能访问com.decoder包以内的内容。 module Reader

  • lss233
    lss233
2 min read
使用lss233源加快Minecraft插件/Mod开发
Maven

使用lss233源加快Minecraft插件/Mod开发

记得最开始使用Maven的时候,基本上大部分时间都花在寻找依赖和下载依赖上。 许多API的作者也都是把自己的工件放在自己的maven仓库上, 如果你使用maven,那么你不仅要在pom.xml中写dependency,还要写一个repository。 有些仓库在国内访问还很慢,这大大降低了开发效率。 如果你现在正为此苦恼的话,那么试试我搭建的仓库吧! 介绍 仓库地址:https://lss233.com/artifactory/minecraft 这个仓库镜像了以下内容: Spigot的Snapshots (主要包含了spigot-api, bukkit-api) Spongepowered (主要包含了spongeapi, spongecommon, spongeforge 以及其他开发sponge插件可能用到的工件) forge(镜像了files.minecraftforge.net/maven) nexus.

  • lss233
    lss233
2 min read
Ghost Alpha主题发布
Ghost

Ghost Alpha主题发布

Ghost Alpha 是本人为Ghost写的第一个主题,前端主要采用Vue编写,主题基于来自HTML5 UP的Alpha 安装 您可以在Github的Release页面下载这个主题的最新版本。 解压下载的.zip文件,将里面的文件粘贴至您Ghost的content/themes文件夹中,然后重启您的Ghost 您需要在Ghost的Labs中开启Public API。 配置 您可以在这个主题的assets/js文件夹下找到一个名为config.js的文件,将里面的值换成你自己的。 更新日志 2018/6/22 发布第一个测试版本 这个主题目前还在开发阶段,您可以在评论区或者Github的issues页面提交您发现的问题或者建议。

  • lss233
    lss233
1 min read
{0x00} Phoenix模块开发教程:准备阶段
Phoenix入门教程

{0x00} Phoenix模块开发教程:准备阶段

Phoenix是使用Java进行开发的插件框架,因此,标准的Phoenix插件也需要使用Java进行开发。 在进行Java开发之前,我们需要准备好JDK和IDE. 0x01 准备JDK 这篇文章属于Phoenix Framework 入门教程的一部分。 Java Development Kit,就是我们平时所提到 JDK,是开发 Phoenix模块所必须的。 由于Phoenix使用了Java8进行编写,因此你只能选择Java8或其以上的JDK版本。 同时,要想正常使用Phoenix,你也必须使用Java8或其以上版本的JRE. 旧版本的Java(如Java7)是无法运行Phoenix的。 下载 访问Oracle的Java SE Development Kit 8 Downloads页面,你可以下载到最新版本的Oracle

  • lss233
    lss233
2 min read
{0x12} Phoenix模块开发教程:创建你的项目主类
Phoenix入门教程

{0x12} Phoenix模块开发教程:创建你的项目主类

现在,我们终于可以开始写代码啦! 这篇文章属于Phoenix Framework 入门教程的一部分。 创建主类 在IntelliJ IDEA的Project窗口中,右键java文件夹(它应该是 src > main > java) 单击 New > Java Class 在Create New Class窗口中, Name处填写你的类名。 还记得上一节中我们填写的Group Id和Artifact Id吗? 你的类名最好这样填: <Group Id>.<

  • lss233
    lss233
3 min read
{0x11} Phoenix模块开发教程:创建你的项目
Phoenix入门教程

{0x11} Phoenix模块开发教程:创建你的项目

在你完成之前的准备工作之后,咱就可以开始进行Phoenix Module的开发工作了。 这篇文章属于Phoenix Framework 入门教程的一部分。 这篇文章将会引导你通过使用IntelliJ IDEA、Gradle 创建一个Phoenix Module项目。 0x00 介绍Gradle Gradle是一个构建工具,它可以帮助你管理项目依赖、打包项目等。 拓展阅读: 如何通俗地理解 Gradle? - 知乎 0x01 介绍 Intellij IDEA Intellij IDEA是一个非常好用的Java集成开发环境,由JetBrains开发,提供免费的社区版本以及专有软件的商业版本。 IntelliJ IDEA 0x02 创建

  • lss233
    lss233
4 min read
关于DarkSky
无意义

关于DarkSky

从DarkSky解散到现在差不多已经有半年的时间了。过了这么久,也应该有一个总结了。 其实解散在很久以前就是必然的事情,我所谓的恶性竞争只是一个借口罢了原因其实有很多: 软弱。这也许是我当不成合格的领导者的主要原因。作为团队领导者,我本应该指挥大家执行任务,但是因为这个原因,我做不到。 选人不严。记得当时招募了很多人,不过来越觉得没有什么用。虽然人是很多,但是真正能做事的又有哪些呢。我在选择招募的时候,基本上完全忽视了自己先前定下的规矩,以至于招到了一些没有意义的人。 总而言之,DarkSky的经历让我学到了很多,希望来年能更好地发展吧。

  • lss233
    lss233
1 min read
Nodejs下更好的本地require()

Nodejs下更好的本地require()

当你的Nodejs项目很大,并且有很多目录结构的时候(比如Express) 使用require()方法来载入其他文件看起来会像这样: var logger = require('../../../utils/logger); 这也鸡儿丑了吧! 在要是日后项目结构改变了,修改也很麻烦。 解决方案 1.使用模块 安装一个模块(这里使用app-module-path作为例子。 npm i app-module-path -s 在你的项目启动文件里加入: require('app-module-path').addPath(__dirname); 接下来,在其他文件里需要加载文件,就轻松很多了: var logger

  • lss233
    lss233
1 min read
移除浏览器劫持脚本

移除浏览器劫持脚本

昨天新装好的系统不小心执行了一些来源不明的程序,结果重启之后发现浏览器出问题了,无论打开什么浏览器,都会自动访问hao123网址导航,但自己浏览器设置的主页却不是这个。 嗯,这一看就是被劫持了嘛。我发现基本上所有浏览器快捷方式后面都加上了这个参数: http://hao916.com/?r=xlrnmdebjmxx&m=d5 真是不要脸的东西,原以为把这个参数删除就是了,但事实证明没有这么简单,重启之后它们又回来了。 于是参考了 中招了——WMI脚本劫持浏览器 - 知乎专栏 这篇文章,找到了解决方法。 移除脚本 WMI脚本是个藏后门的好东西,基本上很少有机会能想到它。 根据文章里的解释,需要先下载一个 WMI

  • lss233
    lss233
2 min read
将MySQL从Antelope转为Barracuda
MySQL

将MySQL从Antelope转为Barracuda

Barracuda是MySQL的一种文件格式,它允许你压缩数据库。MySQL默认采用Antelope格式,关于他俩的区别,你可以在其他网站找到答案。 今天在安装Moodle的时候提示需要将数据库的文件格式换为Barracuda,所以分享一下过程。 首先,请先备份一下你的数据库,以免出现什么意外。 然后,执行以下两句SQL: SET GLOBAL innodb_file_format = barracuda; SET GLOBAL innodb_file_format_max = barracuda; 大功告成。

  • lss233
    lss233
1 min read
Linux

使用Polipo将Socks代理转换为Http代理

Polipo是一个支持Ubuntu/Debian系统和MacOS系统的代理转换工具,它能让你的Shadowsocks或者SSH代理拥有Http proxy协议。 安装 MacOS $ sudo port install polipo Ubuntu/Debian $ sudo apt install polipo 使用 假设我们使用了Shadowsocks作为代理,它监听在localhost:1080上。 快速使用 $ sudo polipo socksParentProxy=localhost:1080 执行上面那个命令,polio将会在127.0.0.1:8123创建一个HTTP代理,把流量转换为Socks协议。

  • lss233
    lss233
1 min read
HTML

自定义CNZZ网站统计样式

之前想在自己的网站加一个统计访问人数的功能,但是又懒得创建一个数据库来保存数据。这个时候突然想起CNZZ有一个显示访问信息的代码,于是就直接通过它来改了。 0x01 首先,需要去CNZZ 开启“数据形式”代码功能,然后看一下浏览器的地址栏,把SiteID记下来,就是地址栏中 siteid 背后的那串数字。 0x02 删除页面中原有的CNZZ统计代码,换成下面这段代码: <span id="cnzz_stat" style="display: none;"> <script

  • lss233
    lss233
2 min read
Java

FileChooser (JavaFX的文件选择对话框)

FileChooser类 提供了标准平台文件对话框的支持。这些对话框拥有JavaFX的外观效果。 一个FileChooser可以用来调用文件打开的对话框选择单个文件(showOpenDialog)、文件打开对话框中选择多个文件(showOpenMultipleDialog)和文件保存对话框(showSaveDialog)。显示的对话框的配置由的值来控制FileChooser相应的之前设置的showDialog属性方法。此配置包括该对话框的标题,对话框和列出的文件扩展名过滤器(S)中显示的初始目录。对于价值尚未确定明确的配置属性,显示的对话框使用他们的平台默认值。一个对话框显示方法的调用被阻塞,直到用户做出选择或取消对话框。如果对话框被取消,将返回null*. FileChooserDemo.java: package top.lss233.demo; import java.io.File; import javax.annotation.

  • lss233
    lss233
2 min read
数据库

博客数据库迁移

之前为了几块钱给换了一个新VPS,但一租来就后悔了,原来的VPS有512MB的内存,然而这个VPS只有128MB。所以装上数据库的时候就尴尬了:内存不够用,网站动不动就宕机。 今天又遇到这种情况了,简直不能忍!于是我趁自己另外一个VPS空闲着没用的机会,把数据库转移过去。 Getting Started 先把目标VPS(CentOS6.5)上原来的MySQL数据库卸载. sudo yum remove mysql 然后清空数据库的文件,否则安装MariaDB后会出现启动失败的情况。 sudo rm -rf /var/lib/mysql/ 接下来,就可以开始安装MariaDB啦! 安装过程官网都有详细介绍。 在CentOS6的情况下的话,

  • lss233
    lss233
1 min read
使用 WP-CLI 在命令行安装WordPress
Linux

使用 WP-CLI 在命令行安装WordPress

我想大部分人应该是这样安装WordPress的: 从 WordPress.org 下载压缩包,解压,把文件放到服务器文件夹,浏览器打开localhost,然后根据提示完成安装。 这是WordPress的标准安装方式。它工作正常,但它需要一些步骤,而且你的大部分时间都会花在手动下载程序上。 要安装WordPress的另一种方法是使用WP-CLI,这是我找到的更精简的安装方法。WP-CLI是在命令行中运行WordPress的东西。这包括安装和更新WordPress的核心,以及安装和更新插件。 所以,如果你想让你的工作主要是WordPress的环境,并想舒服地在终端执行命令行,你可以按照这个技巧。 本文来源: Installing WordPress Through Command Line 准备 我们首先需要安装WP-CLI,最简单的方法是通过Homebrew。键入以下命令: brew

  • lss233
    lss233
3 min read

Subscribe to Lss233's.Blog()