{"id":19237505,"url":"https://github.com/wallaroolabs/spamdetector","last_synced_at":"2025-06-13T04:06:08.457Z","repository":{"id":114358145,"uuid":"136643640","full_name":"WallarooLabs/spamdetector","owner":"WallarooLabs","description":"Sample XMPP spam detection pipeline","archived":false,"fork":false,"pushed_at":"2018-07-12T15:34:39.000Z","size":81,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":32,"default_branch":"master","last_synced_at":"2025-02-23T13:51:20.556Z","etag":null,"topics":["example","python","wallaroo"],"latest_commit_sha":null,"homepage":"https://blog.wallaroolabs.com/2018/07/detecting-spam-as-it-happens-getting-erlang-and-python-working-together-with-wallaroo/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/WallarooLabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-06-08T16:40:19.000Z","updated_at":"2018-10-05T16:05:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"b248354f-6935-4b83-9b08-db244b1ea630","html_url":"https://github.com/WallarooLabs/spamdetector","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/WallarooLabs/spamdetector","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WallarooLabs%2Fspamdetector","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WallarooLabs%2Fspamdetector/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WallarooLabs%2Fspamdetector/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WallarooLabs%2Fspamdetector/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WallarooLabs","download_url":"https://codeload.github.com/WallarooLabs/spamdetector/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WallarooLabs%2Fspamdetector/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259578199,"owners_count":22879213,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["example","python","wallaroo"],"created_at":"2024-11-09T16:27:03.618Z","updated_at":"2025-06-13T04:06:08.433Z","avatar_url":"https://github.com/WallarooLabs.png","language":"Python","readme":"# Spamdetector\n\nA demo of how Wallaroo can be used alongside a chat installation to detect, in\nnear-real-time, the presence of malicious clients.\n\n\n# Howto (Docker-compose)\n\n    $ make deps\n    $ docker-compose up\n        (.. wait for docker to download the world ..)\n    $ tail -f sink_output/sink.log\n\nOpen [http://localhost:4000](http://localhost:4000) to see the runtime statistics for\nyour pipeline.\n\n\n# Development \u0026 running w/out Docker\n\n  - Install Erlang 18.x .. 20.x and the development libraries for:\n\t`ssl`, `expat`, `zlib`, and `unixodbc`. MongooseIM will not currently\n\trun with Erlang 21.\n\n  - Run `make deps build-chat`\n\n  - You now have two directories: `mongooseim` and `amoc`.\n\n  - The chat server lives in `mongooseim` and is preconfigured for:  \n    a) Allowing logins from any `\u003cUSER\u003e@localhost`, where password=`\u003cUSER\u003e`  \n    b) Sending a copy of every XMPP stanza to a TCP socket defined by\n  \t  the environment variable `WALLAROO_TCP_HOSTPORT`\n\n  - The spam simluation script lives `amoc/spambots.erl` and can be\n    launched with the `run.sh` script found in `amoc`.  \n    Use `CHAT_SERVER_HOSTNAME=127.0.0.1 ./run.sh spambots 1 13`\n    to launch 12 regular users and 1 spammer, as every 13th user will\n    be a spammer.\n\n  - Run `make setup` to set up a Virtualenv in `.env`\n\n  - As instructed, copy the `machida` executable and `wallaroo.py` into the\n    virtualenv. If you don't have these, follow the [Wallaroo Tutorial\n\t](https://docs.wallaroolabs.com/book/getting-started/setting-up-your-environment.html)\n    to get them.\n\n  - Run `make run-locally` to launch all the required components locally. If\n    you modify anything under `mongooseim`, you will have to `make build-chat`\n    to recompile the chat server.\n\n  - Take a look at `log/local_sink.log` to see the spam detector publishing\n    its results.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwallaroolabs%2Fspamdetector","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwallaroolabs%2Fspamdetector","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwallaroolabs%2Fspamdetector/lists"}