AhFei

AhFei

简洁的写作需要勇气

分享我使用兩年的極簡網頁記事本

若無單獨說明,按照文章代碼塊中命令的順序,一條一條執行,即可實現目標。
適用系統:Debian 系發行版,包括 Ubuntu 和 Armbian,其他發行版按流程稍改命令一般也可。

走通預計時間:10 分鐘(Docker) 或 25 分鐘(原生部署)


可以訪問這個實例: https://forward.vfly.app/index.php ,試試怎麼樣,公開使用的網頁記事本。

minimalist-web-notepad#

image.png

這個網頁記事本是我 2 年前玩機子初期的一大驅動力。當時主要從手機上瀏覽信息,剛轉變到在電腦上處理信息,需要一種簡便的渠道在兩者之間傳遞文本、網址。

網盤太重,微信需要驗證,tg 很好,但在找到這個記事本後,都是樂色,這就是最好的全平台傳遞文本的工具。

極簡網頁 記事本,是一個使用瀏覽器訪問的輕量好用的記事本,專注於文本記錄。

Github:pereorga/minimalist-web-notepad: Minimalist Web Notepad (github.com)


使用方法

  1. 訪問網頁: https://forward.vfly.app/index.php
  2. 它會隨機分配 5 個字符組成的地址,如 https://forward.vfly.app/5b79m ,如果想指定地址,只需要訪問時手動修改,如 https://forward.vfly.app/this_is_a_path 。下面以 5b79m 為例。
  3. 在上面編輯文本
  4. 等待一會(幾秒,取決於延遲),服務端就會存儲網頁內容到名為 5b79m 的文件裡。
  5. 關閉網頁,如果關閉太快,會來不及保存,丟失編輯。
  6. 在其他平台再訪問同樣的網址,就能剪切內容了 ٩۹(๑・̀ω・́ ๑)۶

只要不關閉過快和在兩個網頁同時編輯,它都能很好地工作。因為極簡,項目作者不會考慮增加多餘功能。

webnote-in-phone_compressed.webp

在遠控其他電腦時,用這個先傳遞命令,在目標電腦上使用,非常方便,而且適應性強。多個手機之間也一樣。或者用於臨時傳送敏感數據,避免受到平台審查。

使用 Docker 安裝網頁記事本#

GitHub: pereorga/minimalist-web-notepad at docker (github.com)

全複製並執行,一鍵創建工作目錄並開放端口

myserve="webnote"
sudo ufw allow 8088/tcp comment $myserve && sudo ufw reload
cd ~/myserve/
wget https://github.com/pereorga/minimalist-web-notepad/archive/refs/heads/docker.zip
unzip docker.zip && mv minimalist-web-notepad-docker webnote
cd webnote

根據註釋自定義,然後執行,一鍵創建 docker-compose.yml 文件

cat > docker-compose.yml << EOF
---

version: "2.4"
services:
  minimalist-web-notepad:
    build: .
    container_name: webnote
    restart: always
    ports:
     - "8088:80"
    volumes:
     - ./_tmp:/var/www/html/_tmp
EOF

前面的 5b79m 就存儲在 _tmp 中。

構建並啟動容器(完成後就可以訪問網頁了,通過 http://ip_addr_or_domain:8088 訪問。將 ip_addr_or_domain 替換為伺服器的 IP 或域名)

docker compose up -d

Docker 版很久沒更新了,有技術的可以參考下面的原生安裝創建鏡像。

原生安裝網頁記事本#

下面以域名 http://forward.vfly.app 為例。

安裝 Apache2 和 PHP#

sudo apt update && sudo apt upgrade && \
sudo apt install apache2
# sudo systemctl status apache2   # 檢查狀態
sudo apt install php libapache2-mod-php

訪問 http://YOUR_IP_or_Domain/ 可以驗證 Apache 是否正常工作,如果能看到歡迎頁。

安裝 PHP 後,重啟 Apache 以加載 PHP module:

sudo systemctl restart apache2

檢測 PHP 安裝:

sudo bash -c 'echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php'

訪問 http://YOUR_IP_or_Domain/phpinfo.php 可以驗證 php 是否安裝成功。

說個自己的經歷。從 porkbun 白嫖的 .app 域名,用來解析這個服務的時候,怎麼都打不開,還總是跳 HTTPS ,老半天才知道, .app 和 .net 似乎只能 HTTPS 。

創建目錄和下載原文件#

cd /var/www/ && \
sudo git clone https://github.com/pereorga/minimalist-web-notepad.git
# 改名並將目錄賦予用戶 www-data 以擁有讀寫權限
sudo mv minimalist-web-notepad webnote
sudo chown -R www-data:www-data /var/www/webnote

修改 $base_url = 'http://forward.vfly.app'; 就在第四行,必須修改為訪問時的域名,如果後面要加 SSL,這裡也要對應修改為 https 。

cd /var/www/webnote && sudo vim index.php

創建虛擬主機#

如果要用 https,跳過這節,直接看下面一節

進入可用虛擬主機目錄,複製示例配置文件,並編輯

cd /etc/apache2/sites-available   
sudo cp 000-default.conf web-notepad.conf
sudo vim web-notepad.conf

保證有下面的兩行即可,記得修改域名和目錄。

        ServerAdmin <郵箱隨意>
        ServerName forward.vfly.app
        DocumentRoot /var/www/webnote

還要添加下面這部分

<Directory /var/www/webnote>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
</Directory>

啟用虛擬主機

sudo a2enmod rewrite   # 開啟mod_rewrite,
sudo a2ensite web-notepad.conf   # 啟用虛擬主機
sudo systemctl reload apache2   # 重啟apache2生效

這樣就可以使用了,瀏覽器訪問:http://YOUR_Domain/index.php

SSL#

申請證書時,要使用 root: sudo -i ,實際部署時,記得修改域名。

安裝並啟用 acme.sh 腳本(/home/skf/.acme.sh/acme.sh)(改郵箱)

apt install -y curl && curl https://get.acme.sh | sh -s [email protected] && cd ~ && source .bashrc

切換證書簽發機構

acme.sh --set-default-ca --server letsencrypt

簽發證書(改域名)

acme.sh  --issue -d forward.vfly.app --apache

安裝證書(改域名)

acme.sh --install-cert -d forward.vfly.app \
--cert-file      /etc/ssl/certs/forward.vfly.app.cer \
--key-file       /etc/ssl/private/forward.vfly.app.key

開啟 acme.sh 自動升級

acme.sh  --upgrade  --auto-upgrade

可以退出 root 用戶了。

進入可用虛擬主機目錄,複製另一個默認的,並編輯

cd /etc/apache2/sites-available   
sudo cp default-ssl.conf ssl-webnote.conf
sudo vim ssl-webnote.conf

保證有下面的兩行即可,記得修改域名和目錄。

        ServerAdmin <郵箱隨意>
        ServerName forward.vfly.app
        DocumentRoot /var/www/webnote

還要添加下面這部分

<Directory /var/www/webnote>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
</Directory>

還有編輯證書位置

          SSLCertificateFile  /etc/ssl/certs/forward.vfly.app.cer
          SSLCertificateKeyFile /etc/ssl/private/forward.vfly.app.key

啟用虛擬主機

sudo a2enmod rewrite ssl   # 開啟mod_rewrite,ssl
sudo a2ensite ssl-webnote.conf   # 啟用虛擬主機
sudo systemctl reload apache2   # 重啟apache2生效

這樣就可以使用了,瀏覽器訪問:https://YOUR_Domain/index.php

如果出現文本框很小的情況,那是 $base_url 的沒從 http 改成 https 。

遷移#

數據都在 /var/www/webnote/_tmp 中,在新機子上重新部署一遍,複製這個目錄到新機子上即可。

其他#

如要開啟認證訪問。 編輯網站根目錄下的.htaccess,去掉末尾四行的註釋。

cd /var/www/webnote && sudo vim .htaccess

這四行取消註釋

# AuthType basic
# AuthName "website.name"
# AuthUserFile "/var/www/webnote/update-path-to.htpasswd"   # 這裡的路徑自定義
# Require valid-user

再創建文件

sudo touch /var/www/webnote/update-path-to.htpasswd

然後添加賬戶即可(記得改 username,會提示輸密碼)

sudo htpasswd -c /var/www/webnote/update-path-to.htpasswd username

如要添加第二個,不要加 - c,否則會覆蓋第一個

其他類似項目#

瀏覽器便簽#

很不錯的項目,簡單,雖然項目不更新了,但是功能基本完成。

GitHub: jonathontoon/manifest: An instant grid-based pinboard for note taking in your browser. (github.com)

image.png

Hasty Paste#

一個文本粘貼工具,看著不錯,有高亮,適合分享代碼。

GitHub:enchant97/hasty-paste: A fast and minimal paste bin. (github.com)

image


原文鏈接: https://blog.vfly2.com/2023/08/a-minimalist-web-notepad-used-for-two-years/
版權聲明:本博客所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請注明來源 承飛之咎 (blog.vfly2.com)

如果你認為我的文章有幫助,歡迎使用 RSS 訂閱,也歡迎留言指正。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。