ColinOL

A Small Website

用户工具

站点工具


home

这是本文档旧的修订版!


Colinol Home

Pandoc 标记语言转换

Pandoc是使用Haskell语言编写的一款跨平台、自由开源及命令行界面的标记语言转换工具,可实现不同标记语言间的格式转换,堪称该领域中的“瑞士军刀”。

以在windows中的使用方法为例:

  1. 下载最新版本,安装或解压缩到相应目录 pandoc-2.16.2-windows-x86_64.msi pandoc-2.16.2-windows-x86_64.zip
  2. 使用运行命令进行格式转换

示例1:dokuwiki格式转换为markdown格式,并导出

.\pandoc.exe -f markdown -t dokuwiki markdownfile.md -o dokuwikifile.txt

示例2:markdown格式转换为dokuwiki格式,并导出

.\pandoc.exe -f dokuwiki -t markdown dokuwikifile.txt -o markdownfile.md 

其他参考

  1. 使用pandoc转换md为PDF并添加中文支持 https://www.jianshu.com/p/7f9a9ff053bb

Pandoc 支持多种文件格式之间的转换:

Pandoc is a Haskell library for converting from one markup format to another, and a command-line tool that uses this library. It can convert from

  • bibtex (BibTeX bibliography)
  • biblatex (BibLaTeX bibliography)
  • commonmark (CommonMark Markdown)
  • commonmark_x (CommonMark Markdown with extensions)
  • creole (Creole 1.0)
  • csljson (CSL JSON bibliography)
  • csv (CSV table)
  • docbook (DocBook)
  • docx (Word docx)
  • dokuwiki (DokuWiki markup)
  • epub (EPUB)
  • fb2 (FictionBook2 e-book)
  • gfm (GitHub-Flavored Markdown), or the deprecated and less accurate markdown_github; use markdown_github only if you need extensions not supported in gfm.
  • haddock (Haddock markup)
  • html (HTML)
  • ipynb (Jupyter notebook)
  • jats (JATS XML)
  • jira (Jira/Confluence wiki markup)
  • json (JSON version of native AST)
  • latex (LaTeX)
  • markdown (Pandoc’s Markdown)
  • markdown_mmd (MultiMarkdown)
  • markdown_phpextra (PHP Markdown Extra)
  • markdown_strict (original unextended Markdown)
  • mediawiki (MediaWiki markup)
  • man (roff man)
  • muse (Muse)
  • native (native Haskell)
  • odt (ODT)
  • opml (OPML)
  • org (Emacs Org mode)
  • rtf (Rich Text Format)
  • rst (reStructuredText)
  • t2t (txt2tags)
  • textile (Textile)
  • tikiwiki (TikiWiki markup)
  • twiki (TWiki markup)
  • vimwiki (Vimwiki)

It can convert to

  • asciidoc (AsciiDoc) or asciidoctor (AsciiDoctor)
  • beamer (LaTeX beamer slide show)
  • bibtex (BibTeX bibliography)
  • biblatex (BibLaTeX bibliography)
  • commonmark (CommonMark Markdown)
  • commonmark_x (CommonMark Markdown with extensions)
  • context (ConTeXt)
  • csljson (CSL JSON bibliography)
  • docbook or docbook4 (DocBook 4)
  • docbook5 (DocBook 5)
  • docx (Word docx)
  • dokuwiki (DokuWiki markup)
  • epub or epub3 (EPUB v3 book)
  • epub2 (EPUB v2)
  • fb2 (FictionBook2 e-book)
  • gfm (GitHub-Flavored Markdown), or the deprecated and less accurate markdown_github; use markdown_github only if you need extensions not supported in gfm.
  • haddock (Haddock markup)
  • html or html5 (HTML, i.e. HTML5/XHTML polyglot markup)
  • html4 (XHTML 1.0 Transitional)
  • icml (InDesign ICML)
  • ipynb (Jupyter notebook)
  • jats_archiving (JATS XML, Archiving and Interchange Tag Set)
  • jats_articleauthoring (JATS XML, Article Authoring Tag Set)
  • jats_publishing (JATS XML, Journal Publishing Tag Set)
  • jats (alias for jats_archiving)
  • jira (Jira/Confluence wiki markup)
  • json (JSON version of native AST)
  • latex (LaTeX)
  • man (roff man)
  • markdown (Pandoc’s Markdown)
  • markdown_mmd (MultiMarkdown)
  • markdown_phpextra (PHP Markdown Extra)
  • markdown_strict (original unextended Markdown)
  • mediawiki (MediaWiki markup)
  • ms (roff ms)
  • muse (Muse),
  • native (native Haskell),
  • odt (OpenOffice text document)
  • opml (OPML)
  • opendocument (OpenDocument)
  • org (Emacs Org mode)
  • pdf (PDF)
  • plain (plain text),
  • pptx (PowerPoint slide show)
  • rst (reStructuredText)
  • rtf (Rich Text Format)
  • texinfo (GNU Texinfo)
  • textile (Textile)
  • slideous (Slideous HTML and JavaScript slide show)
  • slidy (Slidy HTML and JavaScript slide show)
  • dzslides (DZSlides HTML5 + JavaScript slide show),
  • revealjs (reveal.js HTML5 + JavaScript slide show)
  • s5 (S5 HTML and JavaScript slide show)
  • tei (TEI Simple)
  • xwiki (XWiki markup)
  • zimwiki (ZimWiki markup)
  • the path of a custom Lua writer, see Custom writers below
2021/12/31 01:32 · colin

frps内网穿透、外网访问内网

概述

frps是什么

frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。可以粗略理解它是一个中转站,帮助实现【公网】←→【FRP(服务器)】←→【内网】的连接,让内网里的设备也可以被公网访问到。只需一台有公网IP的 VPS 服务器即可愉快地进行内网穿透,来让外网与内网建立起连接,实现远程访问!

frps资料

  1. github官方地址:https://github.com/fatedier/frp
  2. 说明:本文中使用的连接方式为kcp(基于udp协议),特此注明

准备

  1. 公网电脑/VPS:Linux,运行frps服务端
  2. 内网电脑:windows,运行frpc客户端
  3. 注册域名、域名A记录指向服务器IP、域名备案(有需要的话)

服务端配置(linux为例)

安装

FRP 使用 Go 语言开发,可以支持 Windows、Linux、macOS、ARM 等多平台部署。FRP 安装非常容易,因为开源,只需到 Github 发布页 下载对应系统平台的软件包并解压就可用了。

sudo mkdir -p /opt/frp
cd /opt/frp
sudo wget "https://github.com/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_linux_amd64.tar.gz"
sudo tar xzvf frp_0.38.0_linux_amd64.tar.gz
sudo mv frp_0.38.0_linux_amd64/* /opt/frp

frps.ini 配置

# frps.ini 服务端配置
[common]
# bind_addr = 0.0.0.0
 
# 默认使用TCP连接,可能导致http域名无法访问的问题
# bind_port = 7000
 
# frp支持使用kcp作为底层的通讯协议,而kcp默认就是基于udp协议
kcp_bind_port = 8190
 
vhost_http_port = 8080
 
#开启tls加密
tls_enable = true
 
#客户端也要配置一样的token
token = 123456
#超时时间,如果客户端遇到服务启动认证失败,大概率是时区问题,服务器设置一下就好了
authentication_timeout = 20000
 
# frp 控制面板
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = passwd

开启防火墙端口:7000

运行

./frps -c ./frps.ini

客户端配置(windows为例)

下载

从官方地址下载(https://github.com/fatedier/frp/releases)最新版本,解压缩到相应目录。

https://github.com/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_windows_amd64.zip

frpc.ini 配置

启动动前,我们需要先修改配置文件。需要修改 frpc.ini 配置文件。

# frpc.ini 客户端配置
 
[common]
server_addr = 100.100.100.100
server_port = 7000
# frp支持使用kcp作为底层的通讯协议,而kcp默认就是基于udp协议
protocol = kcp
token = 123456
tls_enable = true
 
[ip_a]
# 适用于IP形式访问
# 形式为 server_addr:remote_port
# 示例为 100.100.100.100:6655
type = tcp
# 局域网IP,如果为本机,则是127.0.0.1
local_ip = 127.0.0.1
local_port = 80
remote_port = 8180
 
[ip_evlicensemanager]
# 适用于IP形式访问
# 形式为 server_addr:remote_port
# 示例为 100.100.100.100:6655
type = tcp
# 局域网IP,如果为本机,则是127.0.0.1
local_ip = 172.16.0.18
local_port = 88
remote_port = 6655
 
[domain_a]
# 适用于域名形式访问
# 形式为 custom_domains:(frps.ini)vhost_http_port
# 示例为 example.com:8080
type = http
# 内网 IP (如是本机,也可使用 127.0.0.1 或者这行不要)
local_ip = 172.16.0.18
local_port = 88
# 必填项
custom_domains = example.com
tls_enable = true

运行

注意程序路径,如果有空格的话,需要加引号“”

./frpc.exe -c ./frpc.ini

或 在程序目录新建文件并编辑为以下内容,然后双击运行

run_frpc.cmd
@echo off
title frpc 桥接软件 正在运行...
color 5e
echo 启动frpc
frpc.exe -c frpc.ini
echo 准备退出
pause

frps 服务端注册为服务,并自动启动

创建服务文件

sudo vim /usr/lib/systemd/system/frps.service

编辑为以下内容,并保存

[Unit]
Description=frp server
After=network.target
 
[Service]
Type=simple
 
ExecStart=/opt/frp/frps -c /opt/frp/frps.ini
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
 
[Install]
WantedBy=multi-user.target

设置开启自启

sudo systemctl enable frps

启动服务

sudo systemctl start frps

停止服务

sudo systemctl stop frps

重启服务

sudo systemctl restart frps

查看服务状态

sudo systemctl status frps

参考:

  1. Frp做内网穿透访问家里的Web网站 https://netsecurity.51cto.com/art/202010/628637.htm
  2. 利用frp 穿透到内网的http/https网站,实现对外开放(有域名和无域名时的配置情况) https://www.cnblogs.com/sanduzxcvbnm/p/8509150.html
2021/12/31 01:19 · colin

Nginix 常用命令(Windows)

在Windows下使用Nginx,我们需要掌握一些基本的操作命令,比如:启动、停止Nginx服务,重新载入Nginx等,下面我就进行一些简单的介绍。

假设你安装在 C:\server\nginx-1.0.2目录下,

cmd命令进入安装文件;

启动、停止等命令

1、启动:

C:\server\nginx-1.0.2>start nginx

C:\server\nginx-1.0.2>nginx.exe

注:建议使用第一种,第二种会使你的cmd窗口一直处于执行中,不能进行其他命令操作。

2、停止:

C:\server\nginx-1.0.2>nginx.exe -s stop

C:\server\nginx-1.0.2>nginx.exe -s quit

注:stop是快速停止nginx,可能并不保存相关信息;quit是完整有序的停止nginx,并保存相关信息。

3、重新载入Nginx:

C:\server\nginx-1.0.2>nginx.exe -s reload

当配置信息修改,需要重新载入这些配置时使用此命令。

4、重新打开日志文件:

C:\server\nginx-1.0.2>nginx.exe -s reopen

5、查看Nginx版本:

C:\server\nginx-1.0.2>nginx -v

开启目录访问功能。

1. 修改nginx的配置文件,nginx的配置文件在conf目录下的nginx.conf。打开nginx.conf文件。进行如下修改:

server {
    listen       80;
    server_name  localhost;
    #charset koi8-r;
    #access_log  logs/host.access.log  main;
    location / {
        root   html;
        autoindex on; ###开启目录浏览功能
        charset utf-8,gbk; ###支持中文字符
        index  index.html index.htm;
    }
    #...
}

注: 需要Nginx开启索引功能,具体开启方法是在Nginx的网站配置文件的http或者server段加上“autoindex on;”。这样就算开启了Nginx的目录浏览功能。如果需要访问的目录或文件有中文,则要在nginx的配置文件添加charset utf-8,gbk;进行字符集的设置。

2. 重新启动nginx,进行访问。

2021/11/19 01:31 · colin

QGIS 可用的 XYZ Tiles

qgis.xyztiles.xml
<!DOCTYPE connections>
<qgsXYZTilesConnections version="1.0">
    <xyztiles zmax="17" username="" referer="" password="" url="https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/%7Bz%7D/%7By%7D/%7Bx%7D" zmin="0" authcfg="" name="Esri卫星"/>
    <xyztiles zmax="13" username="" referer="" password="" url="https://server.arcgisonline.com/ArcGIS/rest/services/World_Terrain_Base/MapServer/tile/%7Bz%7D/%7By%7D/%7Bx%7D" zmin="0" authcfg="" name="Esri地形"/>
    <xyztiles zmax="17" username="" referer="" password="" url="https://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer/tile/%7Bz%7D/%7By%7D/%7Bx%7D" zmin="0" authcfg="" name="Esri矢量"/>
    <xyztiles zmax="19" username="" referer="" password="" url="https://tile.openstreetmap.org/{z}/{x}/{y}.png" zmin="0" authcfg="" name="OpenStreetMap"/>
    <xyztiles zmax="17" username="" referer="Kartendaten: © OpenStreetMap-Mitwirkende, SRTM | Kartendarstellung: © OpenTopoMap (CC-BY-SA)" password="" url="https://tile.opentopomap.org/%7Bz%7D/%7Bx%7D/%7By%7D.png" zmin="1" authcfg="" name="OpenStreetMap地形"/>
    <xyztiles zmax="19" username="" referer="" password="" url="https://tile.openstreetmap.org/{z}/{x}/{y}.png" zmin="0" authcfg="" name="OpenStreetMap矢量"/>
    <xyztiles zmax="18" username="" referer="" password="" url="http://mt0.google.cn/vt/lyrs=t&amp;hl=zh-CN&amp;gl=cn&amp;x={x}&amp;y={y}&amp;z={z}" zmin="0" authcfg="" name="google地形"/>
    <xyztiles zmax="18" username="" referer="" password="" url="http://t0.tianditu.com/img_w/wmts?service=wmts&amp;request=GetTile&amp;version=1.0.0&amp;LAYER=img&amp;tileMatrixSet=w&amp;TileMatrix={z}&amp;TileRow={y}&amp;TileCol={x}&amp;style=default&amp;format=tiles&amp;tk=40b190683706230fade806c1ac8c14e8" zmin="0" authcfg="" name="天地图影像"/>
    <xyztiles zmax="18" username="" referer="" password="" url="http://t0.tianditu.com/cva_w/wmts?service=wmts&amp;request=GetTile&amp;version=1.0.0&amp;LAYER=cva&amp;tileMatrixSet=w&amp;TileMatrix={z}&amp;TileRow={y}&amp;TileCol={x}&amp;style=default&amp;format=tiles&amp;tk=40b190683706230fade806c1ac8c14e8" zmin="0" authcfg="" name="天地图注记"/>
    <xyztiles zmax="18" username="" referer="" password="" url="http://t0.tianditu.com/vec_w/wmts?service=wmts&amp;request=GetTile&amp;version=1.0.0&amp;LAYER=vec&amp;tileMatrixSet=w&amp;TileMatrix={z}&amp;TileRow={y}&amp;TileCol={x}&amp;style=default&amp;format=tiles&amp;tk=40b190683706230fade806c1ac8c14e8" zmin="0" authcfg="" name="天地图矢量"/>
    <xyztiles zmax="19" username="" referer="" password="" url="http://ecn.t3.tiles.virtualearth.net/tiles/a{q}.jpeg?g=1" zmin="1" authcfg="" name="必应卫星"/>
    <xyztiles zmax="19" username="" referer="" password="" url="https://mt1.google.com/vt/lyrs=s&amp;x=%7Bx%7D&amp;y=%7By%7D&amp;z=%7Bz%7D" zmin="0" authcfg="" name="谷歌卫星"/>
    <xyztiles zmax="19" username="" referer="" password="" url="https://mt1.google.com/vt/lyrs=m&amp;x=%7Bx%7D&amp;y=%7By%7D&amp;z=%7Bz%7D" zmin="0" authcfg="" name="谷歌矢量"/>
    <xyztiles zmax="18" username="" referer="" password="" url="https://webst01.is.autonavi.com/appmaptile?style=6&amp;x={x}&amp;y={y}&amp;z={z}" zmin="0" authcfg="" name="高德卫星"/>
    <xyztiles zmax="18" username="" referer="" password="" url="https://wprd01.is.autonavi.com/appmaptile?x={x}&amp;y={y}&amp;z={z}&amp;lang=zh_cn&amp;size=1&amp;scl=2&amp;style=8&amp;ltype=11" zmin="0" authcfg="" name="高德路网"/>
</qgsXYZTilesConnections>
2021/11/19 01:27 · colin

替换默认资源管理器 为 TotalCommander

利用注册表

新建两个文本后缀为.reg的文件。双击执行就可以了。

1、添加注册表

ExplorerToTC.reg
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Shell]
@="TC"
[HKEY_CLASSES_ROOT\Directory\Shell\TC\command]
@="\"D:\your-filepath\TC\Totalcmd64.exe\" \"/O\" \"/T\" \"/L=%1\""

如果自己去注册表中设置,清洁版的命令如下:

"D:\your-filepath\TC\Totalcmd64.exe" "/O" "/T" "/L=%1"

2、恢复注册表

ExplorerToTmd_recover.reg
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Shell]
@="none"

备注:

  1. 目录中的your-filepath为TC安装路径,需要自行修改。
  2. 添加“/O” “/T”是为了每次打开的文件夹在新的标签,如果不需要可以去掉。
  3. /L代表左侧面板,如果需要在右侧面板打开则/R。
  4. 各种方法,最终目的都是为了使用方便,切莫舍本逐末,忘记本心。

引用:

2021/11/17 00:26 · colin
home.1567239509.txt.gz · 最后更改: 2019/08/31 04:18 由 colin