Skip to content

johntrue15/NOCTURN-Raspi-test

Repository files navigation

NOCTURN PCA Parser Service

A service that monitors directories for PCA files, converts them to JSON, and pushes to GitHub.

Features

  • Monitors both local and network share directories for PCA files
  • Automatically converts PCA files to JSON format
  • Pushes JSON files to GitHub repository
  • Maintains archive of processed files
  • Auto-recovery from network disconnections
  • Supports Windows sleep/wake cycles
  • Automatic SMB remounting
  • Detailed logging system

Quick Installation

One-line installation:

cd /tmp && git clone -b Test-1-16 https://github.com/johntrue15/NOCTURN-Raspi-test.git && cd NOCTURN-Raspi-test && chmod +x *.sh && sudo ./install.sh

Manual Installation Steps

  1. Clone the repository:
git clone -b Test-1-16 https://github.com/johntrue15/NOCTURN-Raspi-test.git
cd NOCTURN-Raspi-test
  1. Make scripts executable:
chmod +x *.sh
  1. Run installation script:
sudo ./install.sh

Configuration

The service uses the following configuration files:

  • config.ini: Main configuration file
  • /root/.smbcredentials: SMB share credentials
  • /etc/systemd/system/pca_parser.service: Service configuration

Directory Structure

/opt/pca_parser/
├── input/          # Input directory for PCA files
├── output/         # Output directory for JSON files
├── archive/        # Archive of processed PCA files
└── gitrepo/        # Local Git repository

Monitoring

Check service status:

sudo systemctl status pca_parser.service

View logs:

sudo tail -f /var/log/pca_parser.log
sudo tail -f /var/log/pca_parser.error.log

Uninstallation

Using uninstall script (includes data backup):

sudo ./uninstall.sh

Quick uninstall (no backup):

sudo systemctl stop pca_parser.service && sudo systemctl disable pca_parser.service && sudo rm -f /etc/systemd/system/pca_parser.service && sudo systemctl daemon-reload && sudo rm -rf /opt/pca_parser /var/log/pca_parser.* /root/.smbcredentials && sudo sed -i '\#/mnt/windows_share#d' /etc/fstab && sudo umount -f /mnt/windows_share 2>/dev/null || true && sudo rm -rf /mnt/windows_share && echo "Uninstallation complete"

Troubleshooting

  1. If service fails to start:
sudo journalctl -u pca_parser.service -n 50
  1. Check SMB mount:
mount | grep windows_share
  1. Test network connectivity:
ping -c 3 [WINDOWS_IP]
  1. Manually restart service:
sudo systemctl restart pca_parser.service

Recovery Features

  • Automatic SMB remounting after network interruptions
  • Observer recovery after mount failures
  • Multiple SMB protocol version support (3.0, 2.1, 2.0)
  • Boot-time network and mount verification
  • Periodic mount status checking

Requirements

  • Raspberry Pi with Raspbian/Debian
  • Python 3.x
  • Git
  • SMB/CIFS support
  • Network connectivity to Windows share
  • GitHub account with personal access token

Support

For issues or questions, please open an issue on GitHub.

About

No description, website, or topics provided.

Resources

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •