# Open Source Software

OSS - Open Source Software

# Home Media System

Kodi, Jellyfin, Plex and Emby 家庭影音資料庫系統。

# Jellyfin

#### Introduction

[Jellyfin](https://jellyfin.org/docs/index.html) is the volunteer-built media solution that puts you in control of your media. Stream to any device from your own server, with no strings attached. Your media, your server, your way.

- [Setting up Jellyfin Media Server on Raspberry Pi (itsfoss.com)](https://itsfoss.com/jellyfin-raspberry-pi/)

#### Installation

##### With Docker

```shell
# Pull the image
docker pull jellyfin/jellyfin

# Create the directories
mkdir {config,cache,video}

#Create the account
addgroup --system jellyfin
adduser --system --ingroup jellyfin jellyfin

# Set the permission
chown jellyfin.jellyfin config cache

# Run the container
docker run -d \
 --name jellyfin \
 --user $(id -u jellyfin):$(id -g jellyfin) \
 --net=host \
 --volume $(pwd)/config:/config \
 --volume $(pwd)/cache:/cache \
 --mount type=bind,source=$(pwd)/video,target=/video \
 --restart=unless-stopped \
 jellyfin/jellyfin
```

docker-compose.yaml:

```yaml
services:
  jellyfin:
    image: jellyfin/jellyfin
    container_name: jellyfin
    # Optional - specify the uid and gid you would like Jellyfin to use instead of root
    user: jellyfin:jellyfin
    ports:
      - 8096:8096/tcp
    volumes:
      - ./config:/config
      - ./cache:/cache
      - type: bind
        source: ./video
        target: /video
        read_only: true
      # Optional - extra fonts to be used during transcoding with subtitle burn-in
      - type: bind
        source: ./fonts
        target: /usr/local/share/fonts/custom
        read_only: true
    restart: 'unless-stopped'
    # Optional - alternative address used for autodiscovery
    #environment:
    #  - JELLYFIN_PublishedServerUrl=http://example.com
    # Optional - may be necessary for docker healthcheck to pass if running in host network mode
    extra_hosts:
      - 'host.docker.internal:host-gateway'
```

#### Quick Start

`http://SERVER_IP:8096`

#### Plugins

- [https://github.com/JavScraper/Emby.Plugins.JavScraper](https://github.com/JavScraper/Emby.Plugins.JavScraper)
- [91270/MeiamSubtitles: Emby Server / Jellyfin Server 端字幕插件 ，使用 迅雷影音、 射手网 接口精准匹配视频字幕](https://github.com/91270/MeiamSubtitles)

##### 新增第三方套件庫位址

- 官方說明：https://jellyfin.org/docs/general/server/plugins/index.html
- danieladov's Repo：`https://raw.githubusercontent.com/danieladov/JellyfinPluginManifest/master/manifest.json`
- dkanada's Repo：`https://raw.githubusercontent.com/dkanada/jellyfin-plugin-intros/master/manifest.json`

控制台 &gt; 附加元件 &gt; 儲存庫 &gt; 新增

##### 安裝附加元件

控制台 &gt; 附加元件 &gt; 目錄 &gt; \[選擇要安裝的元件\] &gt; Install

#### 直播頻道

- [https://github.com/iptv-org/iptv](https://github.com/iptv-org/iptv)
- [https://www.youtube.com/watch?v=htCDPwMQwcE](https://www.youtube.com/watch?v=htCDPwMQwcE)

#### 刮削器

- [MetaTube](https://metatube-community.github.io/)
- [tinyMediaManager](https://www.tinymediamanager.org/)

#### Storj DCS Cloud Storage

- [Setting up Storj with Plex Using Rclone](https://docs.storj.io/dcs/how-tos/how-to-use-plex-and-storj-dcs-as-a-private-streaming-service/)

rclone mount

```shell
rclone mount storjdcs-jellyfin:media /root/jellyfin/video --vfs-che-mode full --dir-cache-time 1h  --no-checksum --no-modtime --rc

rclone mount storjdcs-jellyfin:media /root/jellyfin/video \
 --vfs-cache-mode full \
 --allow-other \
 --dir-cache-time 1h \
 --uid=$(id -u jellyfin) \
 --gid=$(id -g jellyfin) \
 --no-checksum --no-modtime --rc
```

Refreshing the Local Sync Location

This recursively refreshes the root directory of the Rclone mount to pick up the newly uploaded files in Storj.

```bash
rclone rc vfs/refresh -v --fast-list recursive=true
```

- 掛載時，程式會在前景模式下執行；如果要卸載，直接 CTRL+C。
- 遠端目錄的權限 owner 只能是 root，所以必須修改 docker 的啟動參數，將這行刪除 `--user $(id -u jellyfin):$(id -g jellyfin) \`。

#### FAQ

> 媒體庫封面無法顯示中文。

Solution: 在主機端安裝中文字形

```shell
# On the docker host
apt install fonts-noto-cjk

# Adjust the launch command
docker run -d \
...
 --volume /usr/share/fonts:/usr/share/fonts \
 --volume /usr/share/fontconfig:/usr/share/fontconfig \
...
 jellyfin/jellyfin
```

清除 Browser cache，並重新登入後再試一次。

如果還是顯示不正常，清除 `config/metadata/library/` 內的所有目錄，重新掃描媒體庫後再試一次。

> ASS 字幕無法顯示中文。

Solution:

1. 下載中文字型檔(網頁字型) `NotoSansCJKtc-Regular.woff2`， `NotoSerifCJKtc-Regular.woff2`。下載位址：[https://github.com/CodePlayer/webfont-noto/releases](https://github.com/CodePlayer/webfont-noto/releases)
2. 在主機端 docker 目錄下新增 font/ 資料夾，並將字型檔上傳到該資料夾。
3. 修改 docker 啟動檔，在中間處加上這一行 `--volume $(pwd)/fonts:/fonts \`，重新啟動 container。
4. 開啟 Jellyfin 管理界面 &gt; 控制台 &gt; 播放 &gt; Fallback font folder path: */fonts* ，Enable fallback fonts: *Checked*
5. Done

> rclone 掛載 StorjDCS 發生錯誤：
> 
> Fatal error: failed to mount FUSE fs: fusermount: exec: "fusermount": executable file not found in $PATH

Solution：

```bash
sudo apt install fuse
```

# OSS & Freewares

##### OSS List

- [Awesome-Selfhosted](https://awesome-selfhosted.net/)
- [LinuxLinks - The Linux Portal Site](https://www.linuxlinks.com/)
- [OpenAlternative](https://openalternative.co/)

##### Good Articles to OSS

- [為何開發者要開源程式碼？動機有四個](https://www.blocktempo.com/the-essential-motivation-of-open-source/)

##### 網站瀏覽統計分析 (Alternative to Google Analytics)

- [Plausible Analytics](https://plausible.io/)
    - [Complete Guide to Self-hosting Plausible \[Privacy Friendly Google Analytics Alternative\]](https://linuxhandbook.com/plausible-deployment-guide/)
- [Rybbit Analytics](https://www.rybbit.io/)
    - GitHub: [https://github.com/rybbit-io/rybbit](https://github.com/rybbit-io/rybbit)
    - Doc: [Introduction - Rybbit](https://www.rybbit.io/docs)

##### Video Conference

[Jitsi](https://jitsi.org/)

- [How to Self Host Jitsi Meet With Docker](https://linuxhandbook.com/self-host-jitsi-meet/)

##### Data Backup

- Restic - Commands and tools such as cp, rsync, and unison are excellent for moving data from one location to the other and even for synchronizing data. However, they are not ideal for a differential or incremental backup strategy. They are also not efficient in terms of resource usage. A good backup solution not only performs a full backup, but also examines the objects to see what has changed. It accounts for these changes and saves them accordingly with emphasis on security and efficiency. When it comes to restoration, a viable backup solution should allow for the bulk and granular restoration of files, directories, and objects based on a point-in-time. **Restic** checks all of the boxes when it comes to a solid backup solution. 
    - [Restic Backups, A Flexible &amp; Powerful Backup Solution](https://frontpagelinux.com/tutorials/restic-backups-flexible-powerful-backup-solution/)
- [Kopia](https://kopia.io/) - 備份路徑支援本地磁碟, Amazon S3, Azure Blob Storage, Google Drive, Cloud storages supported by Rclone，支援快照功能、傳輸加密、跨平台等功能，提供 GUI 與 CLI 介面。 
    - Doc: [What is Kopia? | Kopia](https://kopia.io/docs/)
    - GitHub: [https://github.com/kopia/kopia/](https://github.com/kopia/kopia/)
    - [I self-host Kopia to back up my essential files - here's how you can, too](https://www.xda-developers.com/kopia-guide/)

##### Performance Analytics

Guider - Python-based Tools

- Official: [https://iipeace.github.io/docs/guider.html](https://iipeace.github.io/docs/guider.html)
- [How to Install Guider Linux Performance Analyzer on Ubuntu 20.04](https://www.howtoforge.com/how-to-install-guider-linux-performance-analyzer-tool-on-ubuntu/)

##### Presentation

Make a slide with Markdown

- [https://revealjs.com/](https://revealjs.com/) Web Presentation
- [https://github.com/jdan/cleaver](https://github.com/jdan/cleaver)
- [https://rabbit-shocker.org/](https://rabbit-shocker.org/)
- [https://hackmd.io/](https://hackmd.io/) Online-Slide
- [moffee: Make Markdown Ready to Present](https://github.com/BMPixel/moffee)

[Prezi](https://prezi.com/) - 沉浸式簡報

- YT: [台下為什麼跪了？是運鏡，我在簡報裡加了電影運鏡 | Prezi 簡報快速上手 - YouTube](https://www.youtube.com/watch?v=3nqZs8VTchU)

##### Remote Control

- [RPort](https://rport.io/): Self-hosted open source remote management solution for Windows &amp; Linux. Intuitive, easy to use inventory management, remote access, script execution, VPN replacement, and much more. 
    - \[Video\] [RPort - an open source, self hosted Remote Machine Management System running on Linux!](https://www.youtube.com/watch?v=Xc_5qE7ZyYA)
- [Rustdesk](https://rustdesk.com/) - Alternative to Teamviewer, Anydesk 
    - \[Video\] [Rustdesk - an Open Source, Self Hosted alternative to TeamViewer, AnyDesk, GoToAssist, and the like.](https://www.youtube.com/watch?v=9nzHm3xGz2I)

##### Console &amp; Terminal

- [tmate: Instantly Share Terminal Session With Other Linux Users](https://linuxhandbook.com/tmate/)
- Web Console 
    - GateOne 
        - [http://liftoffsoftware.com/](http://liftoffsoftware.com/)
        - [https://github.com/liftoff/GateOne](https://github.com/liftoff/GateOne)
        - [https://liftoff.github.io/GateOne/index.html](https://liftoff.github.io/GateOne/index.html)
    - [Bastillion](https://github.com/bastillion-io/Bastillion) - Java-Based
- Terminal Output 
    - [asciinema](https://asciinema.org/) - Terminal Recording
    - [termbin](https://www.tecmint.com/termbin-share-terminal-output-online/): A Secure Way to Share Terminal Output Online

##### Mail Server

- [grommunio](https://grommunio.com/)
- [Mail-in-a-Box](https://mailinabox.email/)
    - \[Video\] [Episode 5 - Building a Business on Open Source - Setting up Email, Calendars, Contacts, &amp; Cloud Sync](https://www.youtube.com/watch?v=bzxNb_fcqnA)
- [BillionMail](https://github.com/aaPanel/BillionMail) - 廣告信郵件系統
- [Cloud-Mail](https://github.com/maillab/cloud-mail) - 可使用 Cloudflae + Resend 架設自有域名的郵件伺服器 
    - [零成本搭建超强域名邮箱 | 免服务器、无限前缀、能收能发、多域名管理、电报推送 | Cloud Mail + Cloudflare + Resend - YouTube](https://www.youtube.com/watch?v=3nzW1PUbkDs)

##### 中文化-多國語言翻譯 Translation

語言翻譯協作平台

- [Weblate](https://weblate.org/zh-hant/)
- [POEditor](https://poeditor.com/)
- [Crowdin](https://crowdin.com/)

中文化資源

- [「英文－繁中」專用語對照表](https://github.com/javascript-tutorial/zh-hant.javascript.info/wiki/%E3%80%8C%E8%8B%B1%E6%96%87%EF%BC%8D%E7%B9%81%E4%B8%AD%E3%80%8D%E7%94%A8%E8%AA%9E%E5%B0%8D%E7%85%A7%E8%A1%A8)
- [三度辭典網](https://www.3du.tw/)
- [雙語詞彙 - 資訊服務｜moda — 數位發展部 Ministry of Digital Affairs](https://moda.gov.tw/information-service/bilingual-glossary/1391)
- [OpenCC 開放中文轉換](https://opencc.byvoid.com/) （繁簡中字轉換）

##### Software Router

- [OPNSense](https://opnsense.org/)
    - \[Video\] [OPNSense - a powerful, open source, network firewall and router](https://www.youtube.com/watch?v=Qrglquxw-6I)
    - [The OPNsense Plugin You Must Install in 2025: Zenarmor Guide &amp; Review - Virtualization Howto](https://www.virtualizationhowto.com/2025/10/the-opnsense-plugin-you-must-install-in-2025-zenarmor-guide-review/)
- [pfSense](https://www.pfsense.org/)
- [OpenWrt](https://openwrt.org/)
- [RouterOS](https://mikrotik.com/software)
- [IPFire](https://www.ipfire.org/)
- [RaspAP](https://raspap.com/) is feature-rich wireless router software that just works on many popular Debian-based devices, including the Raspberry Pi. 
    - [https://github.com/RaspAP/raspap-webgui](https://github.com/RaspAP/raspap-webgui)
    - Doc: [RaspAP Documentation](https://docs.raspap.com/)

##### Linux Firewall

- [FireHOL](http://firehol.org/)
    - [FireHOL IP Lists | IP Blacklists | IP Blocklists | IP Reputation](https://iplists.firehol.org/index.html)

##### Kiosk

- [Porteus Kiosk](https://porteus-kiosk.org/index.html)
- Raspberry Pi Kiosk Mode 
    - [Raspberry Pi Wayland Kiosk for Home Lab Dashboard - Virtualization Howto](https://www.virtualizationhowto.com/2024/10/raspberry-pi-wayland-kiosk-for-home-lab-dashboard/)

##### Web Benchmark

- [Ddosify - High-performance load testing tool](https://github.com/ddosify/ddosify)
- [Apache JMeter](https://jmeter.apache.org/) is open source software, a 100% pure Java application designed to load test functional behavior and measure performance.

##### Calendar

- [Baikal](https://github.com/sabre-io/Baikal)
    - [How to Create a Calendar Server With Baikal](https://www.maketecheasier.com/create-calendar-server-baikal/)

##### Active Directory

- [Zentyal](https://zentyal.com/) - Join Windows® clients to the domain and manage them transparently. No disruption to your users, no user or device CALs. 
    - \[Video\] [An Open Source Domain Controller and Active Directory system with Zentyal!](https://www.youtube.com/watch?v=RZfybZVE6Lo)

##### Cloud Storage

- [MinIO](https://min.io/) offers high-performance, S3 compatible object storage. 
    - [How to Install MinIO Storage on Rocky Linux](https://www.howtoforge.com/how-to-install-minio-storage-on-rocky-linux/)
- [SeaweedFS](https://github.com/seaweedfs/seaweedfs) is a fast distributed storage system for blobs, objects, files, and data lake, for billions of files.
- [Nimbus](https://github.com/logscore/Nimbus) - An open source alternative to Google Drive, One Drive, iCloud, etc.
- [PersonalDrive](https://github.com/gyaaniguy/personal-drive) - Self Hosted Google drive alternative

##### Bootable USB Drive with ISO files

- [Ventoy](https://www.ventoy.net/en/index.html)
- [Easy2Boot](https://easy2boot.xyz/)

##### Game OS  


- [SteamOS Holo](https://github.com/HoloISO/holoiso)
    - \[Video\] [The Worlds Smallest Steam Machine! A Powerful Ultra Micro Gaming PC](https://www.youtube.com/watch?v=Zxw4-SfeR6w)

##### 影像監視系統

- [Shinobi](https://shinobi.video/)
    - \[Video\] [Shinobi Update! This 2023 look at Shinobi CCTV System Helps show the power of open source!](https://www.youtube.com/watch?v=uQ_Egb37rmY)
- [Viseron](https://viseron.netlify.app/) - AI 影像辨識 
    - \[Video\] [Viseron - an open source, self hosted video surveillance solution with Motion and Object detection!](https://www.youtube.com/watch?v=wbTQC660vUk)
- [Zoneminder](https://zoneminder.com/)
    - \[Video\] [Zoneminder - an Open Source, Self Hosted surveillance system powerful enough for the Enterprise!](https://www.youtube.com/watch?v=Us20t1gQPOE)

##### NAS

- [TrueNAS CORE](https://www.truenas.com/)
    - [TrueNAS User Guide](https://www.truenas.com/docs/)
- [OpenMediaVault](https://www.openmediavault.org/)
    - Default Login: admin / openmediavault
    - [Documentation](https://docs.openmediavault.org/en/latest/)

##### Forum

- [Flarum](https://discuss.flarum.org/)
    - [Flarum: An Open-Source Community Platform Like Discourse](https://news.itsfoss.com/flarum/)

##### Home Lab/Cloud Server

- [5 of the most beginner-friendly home server operating systems](https://www.xda-developers.com/beginner-friendly-home-server-operating-systems/)
- [CasaOS](https://casaos.io/) - Your Personal Cloud OS 
    - \[Video\] [Setting up a CHEAP and EASY Homelab Linux Server](https://www.youtube.com/watch?v=_qNWpdFqLIU)
- [Umbrel](https://umbrel.com/) - Your cloud. In your home.
- [1Panel](https://1panel.cn/) - Web-based linux server management control panel 
    - GitHub: [https://github.com/1Panel-dev/1Panel](https://github.com/1Panel-dev/1Panel)
    - Doc: [1Panel 文档](https://1panel.cn/docs/)
- [Home Assistant](https://www.home-assistant.io/) - Open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiasts. 
    - [Home Assistant is the best example of what free and open-source software should be](https://www.xda-developers.com/home-assistant-is-best-example-of-what-free-open-source-software-should-be/)
- [Homebridge](https://homebridge.io/) allows you to integrate with smart home devices that do not natively support HomeKit. 
    - [I tried HomeBridge to replace Home Assistant and here’s what I learned](https://www.xda-developers.com/homebridge-replace-home-assistant/)
- [homepage](https://gethomepage.dev/) - 整合了100 種以上各式常用服務 API 的儀錶板首頁

##### OAuth2/SSO

- [Authelia](https://www.authelia.com/) - Protect your applications with Single Sign-On and 2 Factor. 
    - \[Video\] [2 Factor Auth and Single Sign On with Authelia](https://www.youtube.com/watch?v=u6H-Qwf4nZA)
    - \[Video\] [Authelia - Free, Open Source, Self Hosted authorization and authentication for your web applications](https://www.youtube.com/watch?v=5KtbmrUwYNQ)
- [Authentik](https://goauthentik.io/) - Identity made easy. authentik makes single-sign on (SSO), user enrollment, and access control simple. 
    - \[Video\] [Replace Authelia With Authentik Web Proxies And OAuth2](https://www.youtube.com/watch?v=1bTSOdYiIOQ)
- [Zitadel](https://zitadel.com/) - Secure authentication management for your application. 
    - \[Video\] [Zitadel, Single Sign On, and OAuth. It's Impressive!](https://www.youtube.com/watch?v=1T1uxKW06Vs)
- [Keycloak](https://www.keycloak.org/) - Open Source Identity and Access Management 
    - \[Video\] [Keycloak Is AWESOME! Single Sign On Made Easy!](https://www.youtube.com/watch?v=6ye4lP9EA2Y)
- [JumpServer](https://www.jumpserver.com/) is an open-source Privileged Access Management (PAM) tool that provides DevOps and IT teams with on-demand and secure access to SSH, RDP, Kubernetes, Database and RemoteApp endpoints through a web browser. 
    - GitHub: [https://github.com/jumpserver/jumpserver](https://github.com/jumpserver/jumpserver)
    - YT: [JumpServer v4.0 Quickstart Guide - YouTube](https://www.youtube.com/watch?v=UlGYRbKrpgY)

##### Audio

- [Best Free and Open Source Software - Audio - LinuxLinks](https://www.linuxlinks.com/best-free-open-source-software-audio/)

##### File Transfer

- [ProjectSend](https://www.projectsend.org/) - 檔案分享平台 
    - [How to Install ProjectSend with Apache and Let's Encrypt SSL on Ubuntu 20.04](https://www.howtoforge.com/how-to-install-projectsend-with-nginx-on-ubuntu-20-04/)
- [Jirafeau](https://gitlab.com/jirafeau/Jirafeau) - PHP 開發的簡易型檔案傳輸平台，下載期限設定。
- [Croc](https://github.com/schollz/croc) - 點對點即時檔案傳輸，PAKE 加密，支援跨平台，指令模式，支援 Proxy。
- [AltSendme](https://github.com/tonyantony300/alt-sendme) - 點對點即時檔案傳輸，端對端加密，跨平台支援，檔案無限制，毋須帳戶認證。
- [MicroBin](https://github.com/szabodanika/microbin) - A secure, configurable file-sharing and URL shortening web app written in Rust.

##### Database

- [Greenplum](https://greenplum.org/) - 是一種建立在 PostgreSQL 基礎上的大規模平行（MPP）資料倉儲 
    - [Greenplum Database 是什麼？ 基本觀念、架構以及適用場景介紹 - 歐立威科技 (omniwaresoft.com.tw)](https://www.omniwaresoft.com.tw/product-news/greenplum-news/greenplum-database-introduction/)
- [ChartDB](https://chartdb.io/) - Open-source database diagrams editor 
    - GitHub: [https://github.com/chartdb/chartdb](https://github.com/chartdb/chartdb)
- [drawDB](https://drawdb.vercel.app/) - Free and open source, simple, and intuitive database design editor, data-modeler, and SQL generator 
    - GitHub: [https://github.com/drawdb-io/drawdb](https://github.com/drawdb-io/drawdb)
- [Basemulti](https://github.com/basemulti/basemulti) is a developer-friendly no-code database that allows you to quickly build spreadsheets, management backends, and API interfaces using your favorite database.

##### SQL Tools

- [Beekeeper Studio](https://github.com/beekeeper-studio/beekeeper-studio) is a cross-platform SQL editor and database manager available for Linux, Mac, and Windows.
- [Lazysql](https://github.com/jorgerojas26/lazysql) - A cross-platform TUI database management tool written in Go
- [Tabularis](https://tabularis.dev/) - 一款開源、跨平台的現代數據庫客戶端。支援 PostgreSQL、MySQL/MariaDB 和 SQLite，內置 AI、MCP 與 Notebook，並支援外掛插件。輕量、原生、高顏值，專為開發者打造。

##### Business Management

- [Odoo](https://www.odoo.com/zh_TW)
- [Zulip](https://github.com/zulip/zulip) - Open-source team chat that helps teams stay productive and focused. Alternative to Slack.
- [Redmine](https://www.redmine.org/projects/redmine/wiki) - 軟體專案管理平台 
    - [How to Install Redmine Project Management Tool on Ubuntu 22.04](https://www.howtoforge.com/how-to-install-redmine-on-ubuntu-22-04/)
- [Huly Platform](https://github.com/hcengineering/platform) - 一個開源應用程式開始取代 Notion、Linear、Slack 和 Jira，適用於整個工作團隊。

##### Desktop Tools

- [Keyviz](https://mularahul.github.io/keyviz/) - 顯示鍵盤的輸入畫面，可用於教學影片檔製作或線上展示。

##### Push notification

- [ntfy](https://ntfy.sh/) - Send push notifications to your phone or desktop using PUT/POST 
    - GitHub: [https://github.com/binwiederhier/ntfy](https://github.com/binwiederhier/ntfy)
    - Doc: [https://docs.ntfy.sh/](https://docs.ntfy.sh/)
    - \[Video\] [Open Source Push Notifications! Get notified of any event you can imagine. Triggers abound!](https://www.youtube.com/watch?v=WJgwWXt79pE)
- [Bark](https://bark.day.app/#/) - An iOS App which allows you to push customed notifications to your iPhone. 
    - GitHub: [https://github.com/Finb/bark-server](https://github.com/Finb/bark-server)

##### Network Monitoring

- [WatchYourLAN](https://github.com/aceberg/WatchYourLAN)
- [Arpwatch](https://www.virtualizationhowto.com/2025/01/build-your-own-arpwatch-docker-container-to-watch-your-network/)
- [NetAlertX](https://github.com/netalertx/NetAlertX)
    - [NetAlertX Self-Hosted Network Monitoring for Home Labs - Virtualization Howto](https://www.virtualizationhowto.com/2025/06/netalertx-self-hosted-network-monitoring-for-home-labs/)
- [ServiceRadar](https://github.com/carverauto/serviceradar) - A distributed network monitoring system designed for infrastructure and services in hard to reach places

##### Network Diagnostic Tools

Sniffer

- [Sniffnet](https://sniffnet.net/) - 跨平台流量嗅探分析軟體，以 Rust 語言開發。
- [Oryx](https://github.com/pythops/oryx) - TUI for sniffing network traffic using eBPF on Linux
- [RustNet](https://github.com/domcyrus/rustnet) - 是一款終端 TUI 工具，將每條 TCP/UDP/QUIC 連接關聯到對應程序，通過深度封包檢測識別 HTTP、TLS/SNI、DNS、SSH、QUIC 等協議，無需外部解析器。

Diagnostic Tools

- [ttl](https://github.com/lance0/ttl) - Network diagnostic tool that goes beyond traceroute: MTU discovery, NAT detection, route flap alerts, IX identification, and more.
- [TraceBar](https://tracebar.app/) - See your network, hop by hop.
- [Netwatch](https://terminaltrove.com/netwatch/) - Real time network diagnostics in your terminal.
- [NetSonar](https://github.com/sn4k3/NetSonar) - 單機網路診斷視覺化工具

##### Android stuff

- Termux: [在 Android 手機上使用 Termux 打造你的 Linux 終端](https://lyingflat.info/2024/09/27/%E5%9C%A8-android-%E6%89%8B%E6%A9%9F%E4%B8%8A%E4%BD%BF%E7%94%A8-termux-%E6%89%93%E9%80%A0%E4%BD%A0%E7%9A%84-linux-%E7%B5%82%E7%AB%AF/)
    - YT: [I Turned My Old Phone into a Linux PC + Home Assistant Server | No root required! - YouTube](https://www.youtube.com/watch?v=tYm2rQpkOcg)
- UserLAnd: [UserLAnd 安裝指南：在 Android 上運行 Ubuntu 的簡單方法](https://lyingflat.info/2024/11/03/userland-ubuntu/)
- LocalDesktop: [Home | Local Desktop | Linux on Android](https://localdesktop.github.io/)
- [Scrcpy](https://github.com/Genymobile/scrcpy) - This application mirrors Android devices (video and audio) connected via USB or TCP/IP and allows control using the computer's keyboard and mouse.

##### IoT

- [Home-Assistant](https://www.home-assistant.io/) - Open-source home automation platform

##### Note-Taking

- [Docs](https://github.com/suitenumerique/docs) - 文件協作及寫作平台，平替 Notions，協作即時同步，法國與德國政府共同開發。
- [Outline](https://github.com/outline/outline) - A fast, collaborative, knowledge base for your team built using React and Node.js. 
    - [5 reasons Outline is better than Notion for most people](https://www.xda-developers.com/reasons-outline-is-better-than-notion-for-most-people/)
- [CodiMD](https://github.com/hackmdio/codimd) - 台灣人開發的 [HackMD](https://hackmd.io/) 文件協作平台的開放原始碼版本
- [Memos](https://github.com/usememos/memos) - Open Source, Self-hosted, Your Notes, Your Way
- [GitJournal](https://github.com/GitJournal/GitJournal) - 用 Git 來寫筆記
- [Trilium Notes](https://github.com/TriliumNext/Trilium) - Build your personal knowledge base, 類似 [Obsidian](https://obsidian.md/) 筆記軟體
- [Blinko](https://github.com/blinkospace/blinko) - 平替 Google Keep 的自架平台
- [clin](https://terminaltrove.com/clin/) - A TUI note management for Obsidian Valut

##### KM Management

- [Wiki-Go](https://github.com/leomoon-studios/wiki-go) is a modern, feature-rich, databaseless flat-file wiki platform built with Go.
- [Docmost](https://docmost.com/) - Enterprise-ready Wiki for Modern Teams 
    - [I found a self-hosted open-source Notion replacement and it's a total game-changer](https://www.xda-developers.com/i-found-a-self-hosted-notion-replacement-and-its-a-total-game-changer/)

##### Website Builder

- [Hugo](https://gohugo.io/) - 快速網站建置（不需 Apache, Nginx Web Engine），Markdown 格式內容 
    - [Create Beautiful Websites With Hugo - YouTube](https://www.youtube.com/watch?v=onw826NsgWQ)
    - [KnightLi的博客](https://www.knightli.com/zh-tw/tags/hugo/)
    - [Building a static website in Markdown with Hugo - YouTube](https://www.youtube.com/watch?v=MX4yy1dTVYg)

##### Gallery/Photos

- [Immich](https://immich.app/) - 自架相簿/照片管理軟體 
    - [Immich相簿架設與使用，界面長得最像Google相簿的照片管理軟體 · Ivon的部落格 (ivonblog.com)](https://ivonblog.com/posts/immich-setup/)
    - [How I made my own photo hosting platform with Immich](https://www.xda-developers.com/how-i-made-my-own-photo-hosting-platform-with-immich/)
- [Lychee](https://lycheeorg.dev/)
    - [Backup your photos for free using this self-hosted image gallery](https://www.xda-developers.com/this-self-hosted-image-gallery-can-give-google-photos-a-run-for-its-money/)

##### OSINT 開源情報

- [Crucix](https://github.com/calesthio/Crucix) - 全球即時情報監測網，整合了 AI 與 Telegram。 
    - [全世界吃瓜？利用Crucix，打造你的私人全球情报中心吧！ - YouTube](https://www.youtube.com/watch?v=lqt5ehXEbNw)
- [World Monitor](https://github.com/koala73/worldmonitor) - 即時全球情報儀表板
- [Redroom](https://github.com/Owlinkai/redroom) - Open-Source Geopolitical Intelligence Platform

##### 其他自架(self-hosted)服務

- [測速網站 - LibreSpeed](https://github.com/librespeed/speedtest)
- [UVdesk: A Free and Open-Source Helpdesk Ticket System](https://itsfoss.com/uvdesk/)
- [Rundeck](https://www.rundeck.com/open-source) - 雲端主機自動化平台 
    - [Take Control of Your Cron Jobs With Rundeck](https://lowendbox.com/blog/take-control-of-your-jobs-with-rundeck/)
    - [Rundeck部署和基本使用](https://www.twblogs.net/a/5b8f23e12b717718834a02e9)
- [Alnoda Workspace](https://docs.alnoda.org/) - 自架雲端開發工作平台(支援各種程式語言)，全 Web 介面。
- [Matrix](https://matrix.org/) - An open network for secure, decentralized communication
- [PeerTube](https://joinpeertube.org/) - An alternative to Big Tech's video platforms
- [dataease](https://github.com/dataease/dataease) - 數據分析可視化平台，Tableau 替代。
- [Trigger.dev](https://trigger.dev/) - Open source background jobs with no timeouts
- [Puter](https://github.com/HeyPuter/puter) - The Internet OS! Free, Open-Source, and Self-Hostable
- [Automatisch](https://automatisch.io/) - Open source [Zapier](https://zapier.com/) alternative, which helps you to automate your business processes without coding. Use our affordable cloud solution or self-host on your own servers.
- [MyIP](https://github.com/jason5ng32/myip) - A Better IP Toolbox, IP 線上工具箱，IP 地理位址檢測，ping 測試，whois 查詢等。
- [YOURLS](https://yourls.org/) - PHP 開發的短網址平台 
    - [\[教程\] 利用轻量服务器搭配开源的Yourls搭建属于自己的短网址网站 – 蓝点网](https://www.landiannews.com/archives/109874.html)
- [speedtest-tracker](https://github.com/alexjustesen/speedtest-tracker) - 主機的外網連線定期測速並告警通知。
- [Stirling PDF](https://github.com/Stirling-Tools/Stirling-PDF) - The Open-Source PDF Platform

# phpIPAM

#### Introduction

phpIPAM - Open source IP address management.

phpipam is an open-source web IP address management application (IPAM). Its goal is to provide light, modern and useful IP address management. It is php-based application with MySQL database backend, using jQuery libraries, ajax and HTML5/CSS3 features.

URLs:

- Home: [https://phpipam.net/](https://phpipam.net/)
- API: [https://phpipam.net/api/api\_documentation/](https://phpipam.net/api/api_documentation/)
- Github: [https://github.com/phpipam/](https://github.com/phpipam/)

#### Installation

- [https://phpipam.net/documents/installation/](https://phpipam.net/documents/installation/)

##### Requirements

1. Apache2 webserver with php support or Nginx with php-fpm
2. Mysql server (5.1+)
3. PHP: 
    - version 5.3 supported to phpipam version 1.3.1
    - version 5.4
    - version 7.2 and higher supported from phpipam release 1.3.2
4. PHP modules: 
    - pdo, pdo\_mysql : Adds support for mysql connections
    - session : Adds persistent session support
    - sockets : Adds sockets support
    - openssl : Adds openSSL support
    - gmp : Adds support for dev-libs/gmp (GNU MP library) -&gt; to calculate IPv6 networks
    - ldap : Adds LDAP support (Lightweight Directory Access Protocol – for AD also)
    - crypt : Add support for password encryption
    - SimpleXML: Support for SimpleXML (optional, for RIPE queries and if required for API)
    - json: Enable JSON support
    - gettext: Enables translation
    - filter : Adds filtering support
    - pcntl : Add support for process creation functions (optional, required for scanning)
    - cli : Enable CLI (optional, required for scanning and status checks)
    - mbstring : Enable mbstring support
5. php PEAR support

You can check which php modules are enabled by issuing `php -m` in command line.

#### API Develop

##### Enable API and Create new API Key (code)  


By default, the API is Disabled, go to Enable it first.

IPAM Web &gt; Administration &gt; Server management &gt; phpIPAM settings &gt; API: ON

IPAM Web &gt; Administration &gt; API &gt; Create API Key

- App id: devappro (自定義 app 名稱，建議不同的 APP 使用不同的 app\_id)
- App code: &lt;系統自動產生一組密鑰&gt;
- App permissions: Read (依實際需求選擇)
- App security: User token (如果連線協定不想用 HTTPS，這裡必須是 User token)
- Transaction locking: No
- Lock timeout: 0
- Nest custom fields: No
- Show links: No

> NOTE:
> 
> 如果 App security 是 User token，表示 API 連線協定使用不加密的 HTTP，這時系統會提示需要變更 `config.php` 的參數。
> 
> $api\_allow\_unsafe = true;

##### API Test with curl  


API 使用注意

1. 第一次連線，需要先登入 IPAM 的帳號/密碼並取得一組 Token，預設有效期是 6 小時。
2. 每次連線 API 時，必須在 header 內包含一組有效的 Token，才能通過認證；否則會顯示 *Unauthorized*。
3. 先前建立的 API Key 與 第一項的 Token 兩個是不一樣的東西，用途也不同。基本上 API Client 開發只會用到 Token。
4. Token 一旦超過有效期，有兩種做法可以繼續 API 連線。 
    - 延展已過期的 Token。
    - 以帳密重新取得新的 Token。(注意: 原 Token 將會永久失效)

以帳號取得一組 token: /api/{app\_id}/user/

TIP: 相同語法也能用在驗證特定帳密是否有效。

```
#> curl -X POST --user admin:thisispassword http://10.10.2.207/api/devappro/user/ -i

HTTP/1.1 200 OK
Date: Wed, 15 Jun 2022 05:40:01 GMT
Server: Apache/2.4.6 (CentOS) PHP/5.4.16
X-Powered-By: PHP/5.4.16
Set-Cookie: phpipam=ttm3cg1ctpq1vqn2lv1rht3kl1; expires=Thu, 16-Jun-2022 05:40:01 GMT; path=/; HttpOnly
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-cache
Pragma: no-cache
Content-Length: 116
Content-Type: application/json; charset=utf-8

{"code":200,"success":true,"data":{"token":"7dMGzul08SsPMhDDOK-oZdBk","expires":"2022-06-15 19:40:01"},"time":0.009}
```

查詢 token 的有效期: /api/{app\_id}/user/token\_expires/

```
#> curl -X GET http://10.10.2.207/api/devappro/user/token_expires/ --header "token: 7dMGzul08SsPMhDDOK-oZdBk"
{"code":200,"success":true,"data":{"expires":"2022-06-15 19:44:31"},"time":0.002}
```

延展 token 有效期: /api/{app\_id}/user/

TIP: 每次延展會以 6 小時為限，多次延展也不會超過 6 小時

```
curl -X PATCH http://10.10.2.207/api/devappro/user/ --header "token: 7dMGzul08SsPMhDDOK-oZdBk"
{"code":200,"success":true,"data":{"expires":"2022-06-15 21:11:37"},"time":0.004}
```

以 IP 搜尋資料庫: /api/{app\_id}//addresses/search/{ip-address}/

```
# IP is existed.
curl -X GET http://10.10.2.207/api/devappro/addresses/search/10.10.1.8 --header "token: 7dMGzul08SsPMhDDOK-oZdBk"
{"code":200,"success":true,"data":[{"id":"271","subnetId":"22","ip":"10.10.1.8","is_gateway":null,"description":"FAB A-VM Server-VM05","hostname":"TPECIMVM05","mac":null,"owner":null,"tag":"2","deviceId":null,"location":"3","port":null,"note":null,"lastSeen":"2022-06-15 13:30:01","excludePing":null,"PTRignore":null,"PTR":"0","firewallAddressObject":null,"editDate":"2022-06-15 13:30:10","customer_id":null}],"time":0.017}

# IP not found
curl -X GET http://10.10.2.207/api/devappro/addresses/search/10.10.1.7 --header "token: 7dMGzul08SsPMhDDOK-oZdBk"
{"code":200,"success":false,"message":"Address not found","time":0.007}
```

#### 延伸閱讀  


- Perl5 Interface: [https://github.com/natxo/phpipam-API](https://github.com/natxo/phpipam-API)
- [11 Best IP Address Management Tools for Linux Network](https://www.tecmint.com/ip-address-management-tools-for-linux/)

##### NextBox Community

NetBox Community 開放原始碼 IPAM 平台，有非常豐富的功能，適合企業中大型網路管理。

- GitHub: [https://github.com/netbox-community/netbox](https://github.com/netbox-community/netbox)
- Wiki: [https://github.com/netbox-community/netbox/wiki/Community-Contributions](https://github.com/netbox-community/netbox/wiki/Community-Contributions)
- Doc: [https://deepwiki.com/netbox-community/netbox/1-netbox-overview](https://deepwiki.com/netbox-community/netbox/1-netbox-overview)
- Doc2: [https://netboxlabs.com/docs/netbox/installation/](https://netboxlabs.com/docs/netbox/installation/)

# Server Monitor

##### Server Performance

- [Collectd](https://collectd.org/index.shtml)
    - [Configure Collectd as a Central Monitoring Server for Clients](https://www.tecmint.com/configure-collectd-as-central-monitoring-server-for-clients/)
    - [How to Install and Configure ‘Collectd’ and ‘Collectd-Web’ to Monitor Server Resources in Linux](https://www.tecmint.com/install-collectd-and-collectd-web-to-monitor-server-resources-in-linux/)
- [Checkmk](https://checkmk.com/)
    - [Using Checkmk for Monitoring Your Linux Server Infrastructure](https://linuxhandbook.com/checkmk/)
- [Healthchecks](https://healthchecks.io/) - Healthchecks is a cron job monitoring service. It listens for HTTP requests and email messages ("pings") from your cron jobs and scheduled tasks ("checks"). When a ping does not arrive on time, Healthchecks sends out alerts. 可監控 Cron job，排程時間到若沒有正常執行，也可以收到告警。可以整合任何程式碼或 script 以 HTTP API 方式觸發告警。可以監控某個程式的執行時間是否過長。
- [Netdata](https://github.com/netdata/netdata) - Monitor your servers, containers, and applications, in high-resolution and in real-time. 
    - [How to Monitor Performance Of CentOS 8/7 Server Using Netdata (tecmint.com)](https://www.tecmint.com/monitor-centos-server-performance/)
- [Beszel](https://beszel.dev/zh/) 是一個輕量級的伺服器監控平台，包含 Docker 統計資訊、歷史數據和告警功能。 
    - [This free and open-source lightweight server monitor changed how I keep an eye on my home lab](https://www.xda-developers.com/beszel-feature/)

##### Server UpTime

- [Uptime Kuma](https://github.com/louislam/uptime-kuma)
    - [How I use Uptime Kuma to monitor my self-hosted services (and get notifications if they go down)](https://www.xda-developers.com/uptime-kuma-guide/)
- [NEMS Linux](https://nemslinux.com/): NEMS is the Nagios Enterprise Monitoring Server for Single Board Computers 
    - \[Video\] [NEMS Linux 1.4.1 - The FREE Nagios Enterprise Monitoring Server](https://www.youtube.com/watch?v=OLvDxL9LiAk)
- [Gatus](https://github.com/TwiN/gatus): Gatus is a developer-oriented health dashboard that gives you the ability to monitor your services using HTTP, ICMP, TCP, and even DNS queries as well as evaluate the result of said queries by using a list of conditions on values like the status code, the response time, the certificate expiration, the body and many others. The icing on top is that each of these health checks can be paired with alerting via Slack, Teams, PagerDuty, Discord, Twilio and many more. 支援 Line 告警
- [BlueWave Uptime](https://github.com/bluewave-labs/bluewave-uptime)
- [OneUptime](https://oneuptime.com/): OneUptime helps you handle incidents, set up on-call rotations, run tests, secure your services, analyze logs, track performance, and debug errors. 
    - GitHub: [https://github.com/OneUptime/oneuptime](https://github.com/OneUptime/oneuptime)
- [CoolMonitor](https://github.com/star7th/coolmonitor)
- [CheckCle](https://checkcle.deno.dev/): Open-source monitoring platform offering real-time insights into server and service health, incident management, and operational transparency. 
    - GitHub: [https://github.com/operacle/checkcle](https://github.com/operacle/checkcle)

##### Misc Monitor

- [PatchMon](https://patchmon.net/) - Linux 主機更新監控
- [GPU Hot](https://github.com/psalias2006/gpu-hot) - Real-Time NVIDIA GPU Monitoring Dashboard
- [MySpeed](https://myspeed.dev/) - 網站外網測速統計監測