{"id":15753765,"url":"https://github.com/idrinth/1984","last_synced_at":"2026-02-09T23:01:36.949Z","repository":{"id":65737601,"uuid":"598473853","full_name":"Idrinth/1984","owner":"Idrinth","description":"A small tool to remotely track bash histories","archived":false,"fork":false,"pushed_at":"2023-02-12T23:45:00.000Z","size":119,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-08T14:44:42.373Z","etag":null,"topics":["bash-history","blue-team","linux-app","logging","monitoring","remote","restful","root","surveillance"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Idrinth.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null}},"created_at":"2023-02-07T07:20:01.000Z","updated_at":"2025-05-04T06:51:49.000Z","dependencies_parsed_at":"2023-05-14T22:00:30.757Z","dependency_job_id":null,"html_url":"https://github.com/Idrinth/1984","commit_stats":{"total_commits":89,"total_committers":2,"mean_commits":44.5,"dds":0.4606741573033708,"last_synced_commit":"1f4b57a75a83436417f9853f8b4c4190325c1dba"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/Idrinth/1984","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Idrinth%2F1984","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Idrinth%2F1984/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Idrinth%2F1984/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Idrinth%2F1984/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Idrinth","download_url":"https://codeload.github.com/Idrinth/1984/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Idrinth%2F1984/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29284729,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-09T21:57:15.303Z","status":"ssl_error","status_checked_at":"2026-02-09T21:57:11.537Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash-history","blue-team","linux-app","logging","monitoring","remote","restful","root","surveillance"],"created_at":"2024-10-04T07:41:57.845Z","updated_at":"2026-02-09T23:01:36.933Z","avatar_url":"https://github.com/Idrinth.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 1984 [![Lint All](https://github.com/Idrinth/1984/actions/workflows/lint-all.yml/badge.svg)](https://github.com/Idrinth/1984/actions/workflows/lint-all.yml)[![PSR-12](https://github.com/Idrinth/1984/actions/workflows/psr-12.yml/badge.svg)](https://github.com/Idrinth/1984/actions/workflows/psr-12.yml) [![Unittest](https://github.com/Idrinth/1984/actions/workflows/unittest.yml/badge.svg)](https://github.com/Idrinth/1984/actions/workflows/unittest.yml) [![Phan](https://github.com/Idrinth/1984/actions/workflows/phan.yml/badge.svg)](https://github.com/Idrinth/1984/actions/workflows/phan.yml)[![Lint Old](https://github.com/Idrinth/1984/actions/workflows/lint-old.yml/badge.svg)](https://github.com/Idrinth/1984/actions/workflows/lint-old.yml)\n## A small tool to remotely track bash histories\n\nThis tool is merely a small project of mine to aggregate my own bash histories. It is obviously not intended for surveillance of other users. If you plan to use it like that make sure, that the bash history is written immediately (`history -a`) and the program runs with root rights.\n\nThe name is a reference to George Orwell's book Nineteen Eighty-Four, since this is a surveillance tool if used on other users than yourself. Consider this a warning of what may be possible.\n\n## Requirements\n\n### Source-Server\n\n- php \u003e= 5.3\n- ext-curl (optional)\n- ext-pcntl (optional)\n- openssl\n- root access\n\n### Target-Server\n\n- webserver\n- php \u003e= 7.1\n- write access to database\n- ext-pdo\n- mariadb/mysql/sqlite depending on database choice\n\n### Generator-System\n\n- php \u003e= 7.4\n- openssl\n- composer\n\n### Development-System\n\n- php \u003e= 7.4\n- ext-curl\n- ext-ast\n- openssl\n- composer\n\n## bin/remote-logger.php\n\nRun this script to generate files to be deployed.\n```sh\nphp bin/remote-logger.php source-server-ip targer-server-host-or-ip communication-protocol sdatabase-dns enable-log-deduplication enable-bashrc-modification\n```\n\n- source-server-ip: for example `1.2.3.4`\n- target-server-host-or-ip: for example `1.1.2.3` or `idrinth.de`, can take multiple comma-separated entries\n- communication-protocol: http by default, could be any curl can use in theory\n- database-dns: optional, defaults to `sqlite:/tmp/remote_bash_log.sqlite`\n- enable-log-deduplication: defaults to `false`, set to `true` to remove duplicate entries from the logs in one package\n- enable-bashrc-modification: defaults to `false`, set to `true` to try to set `history -a` as `PROMPT_COMMAND`-export or add it to an existing one.\n\n### dist/home/*.kill\n\nContains the export statement to permanently disable this specific instance of the script. Do NOT lose this file, since disabling is hard to do otherwise.\n\n### dist/source/*.sh\n\nThis is the script to be started on the server to monitor. It will try to install the required packages itself as well.\n\n### dist/source/*.php\n\nThis is the script actually monitoring the server. It works best with `ext-curl` and `ext-pcntl` around.\n\n### dist/target/*.php\n\nThis is the api, that validates the write requests and saves them to the given database. Host this file in the webroot of the desired IP or domain-\n\n## Help \u0026 Support\n\nIf you want direct support options, feel free to drop by on [Discord](https://discord.gg/xHSF8CGPTh).\n\n## Disclaimer\n\n1984 was created for educational purposes, use only on computers or networks you have explicit permission to do so. The contributors are not responsible for any illegal or malicious acts performed with this project.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fidrinth%2F1984","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fidrinth%2F1984","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fidrinth%2F1984/lists"}