121 lines
2.2 KiB
Markdown
Executable File
121 lines
2.2 KiB
Markdown
Executable File
# Neocities C CLI
|
||
|
||
A simple command-line tool written in C that interacts with the [Neocities API](https://neocities.org/api).
|
||
Currently, only the `--info` command is implemented — it fetches and displays basic information about your Neocities site.
|
||
|
||
---
|
||
|
||
## Features
|
||
- Fetch site information using Neocities API
|
||
- Authenticates via environment variables
|
||
- JSON parsing with [jansson](https://digip.org/jansson/)
|
||
- Works on Linux, Windows (MSYS2/MinGW), and Android (via Termux)
|
||
- Compilable with a Makefile for easy builds
|
||
|
||
---
|
||
|
||
## Requirements
|
||
|
||
You’ll need:
|
||
- A C compiler (`gcc` or `clang`)
|
||
- [libcurl](https://curl.se/libcurl/)
|
||
- [jansson](https://digip.org/jansson/)
|
||
- `make`
|
||
|
||
### Linux (Debian/Ubuntu-based)
|
||
```bash
|
||
sudo apt update
|
||
sudo apt install build-essential libcurl4-openssl-dev libjansson-dev make
|
||
```
|
||
|
||
### Windows (MSYS2 / MinGW)
|
||
```bash
|
||
pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-curl mingw-w64-x86_64-jansson make
|
||
```
|
||
|
||
### Android (Termux)
|
||
|
||
```bash
|
||
pkg install clang curl-dev jansson make
|
||
```
|
||
|
||
## Building
|
||
|
||
Run in cloned repository:
|
||
```bash
|
||
make
|
||
```
|
||
|
||
This will generate the executable neocities (or neocities.exe on Windows).
|
||
|
||
To clean build files:
|
||
|
||
```bash
|
||
make clean
|
||
```
|
||
|
||
### Environment Variables
|
||
|
||
Before running, export your Neocities credentials:
|
||
|
||
#### Linux / macOS / Termux
|
||
|
||
```bash
|
||
export NEOCITIES_USER="your_username"
|
||
export NEOCITIES_PASS="your_password"
|
||
```
|
||
|
||
#### Windows (PowerShell)
|
||
|
||
```batch
|
||
setx NEOCITIES_USER "your_username"
|
||
setx NEOCITIES_PASS "your_password"
|
||
```
|
||
|
||
## Usage
|
||
|
||
```bash
|
||
./neocities --info
|
||
```
|
||
|
||
Example output:
|
||
|
||
```
|
||
Neocities C CLI
|
||
|
||
Sitename: example
|
||
Hits: 42
|
||
Created at: 2024-01-10
|
||
Last updated: 2025-11-01
|
||
Domain: domain.com
|
||
Tags: art, blog, personal.
|
||
```
|
||
|
||
## Optional: Install Globally
|
||
|
||
You can move the compiled executable to a directory in your PATH to run it from anywhere:
|
||
|
||
#### Linux / Termux
|
||
|
||
```bash
|
||
sudo mv neocities /usr/local/bin/
|
||
```
|
||
|
||
#### Windows (PowerShell)
|
||
Move neocities.exe to a folder in your PATH, e.g., C:\Windows\System32\.
|
||
|
||
After that, you can run:
|
||
|
||
```batch
|
||
neocities --info
|
||
```
|
||
|
||
from any folder without specifying the path.
|
||
|
||
## Notes
|
||
|
||
Only the --info command is implemented for now.
|
||
|
||
If you get curl_easy_perform errors, check your network and SSL setup.
|
||
|
||
On Termux, use clang for the best compatibility. |