Skip to content

Repository files navigation

logchive Simple API

logchive, perkakas sederhana untuk menyimpan catatan/log, baik secara publik maupun privat, dengan dukungan kedaluwarsa otomatis dan antarmuka web sederhana untuk menilik kembali log yang telah disimpan sebelumnya.

Fitur

  • Simpan log publik dan privat
  • Batas waktu kedaluwarsa log (menit, jam, hari, bulan, tahun)
  • CLI untuk upload log (logchive.py)
  • Simple web interface untuk mengakses daftar log
  • Kirim log langsung ke Telegram via CLI mandiri (logram) dengan dukungan berkas .env

Pemasangan

1. Klon Repo

git clone https://github.com/username/logchive.git
cd logchive

2. Buat dan aktifkan virtual environment

python3 -m venv venv
source venv/bin/activate  # Linux/Mac
venv\Scripts\activate     # Windows

3. Install dependensi

pip install -r requirements.txt

Konfigurasi

Bila diperlukan, edit file config.py untuk mengatur:

BASE_URL = "http://localhost:8077"
ALLOWED_ORIGINS = [
    "http://localhost:8077",
    "http://127.0.0.1:8077",
]

Menjalankan Server

uvicorn app:app --reload --port 8077

Membuat User

curl -X POST "http://127.0.0.1:8077/register?username=fulan&password=p4ssword"

CLI Upload Log

Simpan log publik:

# Simpan dari cli output
echo "Hello World" | python logchive.py


# Upload dari file
python logchive.py -f nama-file.txt

Simpan log dengan nama custom:

echo "Rahasia" | python logchive.py -n log-saya.txt

Simpan log privat:

echo "Rahasia" | python logchive.py --private --login -u username -p p4ssw0rd

Simpan log dengan kedaluwarsa:

echo "Catatan sementara" | python logchive.py -xp 10m

Agar logchive dapat digunakan dari direktori manapun, sebaiknya buat symlink berkas logchive di $HOME/.local/bin/logchive. Dengan demikian, Anda dapat menggunakan logchive secara langsung di terminal tanpa perlu python /path/ke/logchive.py


CLI Send Log to Telegram (logram)

logram adalah CLI mandiri (portable) untuk mengirim log langsung ke Telegram Anda tanpa melalui server logchive.

1. Konfigurasi

Salin .env.example ke .env dan masukkan token bot Telegram serta chat ID Anda:

cp .env.example .env

Sunting berkas .env:

TELEGRAM_BOT_TOKEN=token_bot_anda
TELEGRAM_CHAT_ID=chat_id_anda

2. Cara Penggunaan

Secara default, log akan dikirim sebagai pesan teks preformatted. Jika konten melebihi 4000 karakter, logram otomatis mengirimkannya sebagai lampiran berkas dokumen .log.

# Kirim teks langsung dari stdin
echo "Log uji coba" | ./logram

# Kirim isi file lokal
./logram -f requirements.txt

# Paksa pengiriman sebagai berkas dokumen .log terlampir (-af / --as-file)
./logram -f requirements.txt -af

# Kirim log dengan nama file kustom
echo "Isi log penting" | ./logram -n log-utama.log

Sama seperti logchive, sebaiknya buat symlink berkas logram ke $HOME/.local/bin/logram agar bisa dijalankan langsung dari direktori mana pun.


API Endpoints

Silakan cek http://localhost:8077/redoc untuk melihat rincian endpoint yang tersedia.


About

Logchive, a simple tooling to keep notes/logs, both public and private, with automatic expiration support and a simple web interface to re-obverse to logs that have been saved.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages