Implementing a basic plugin architecture shouldn't be a complicated task. The solution described here is working but you still have to import every plugin (inheriting from the base class).
This is my solution:
$ tree
| # docker build -t my-debrepo -f Dockerfile.deb . | |
| # Bulunduğu dizinde latest ve packages adından iki dizin oluşturulur. | |
| # latest en güncel paketim tutulduğu dizin jenkins tarafımndan otomatik kullanılacaktır. | |
| # packages ise tüm deb paketlerinin tutulduğu dizin. | |
| # docker run --privileged -dit --name debrepo -p 8080:80 -v $(pwd)/latest:/usr/local/apache2/htdocs/latest/debs/amd64 -v $(pwd)/packages:/usr/local/apache2/htdocs/debs/amd64 -v "$(pwd)"/httpd.conf:/usr/local/apache2/httpdconf my-debrepo | |
| # docker exec -it debianrepo nohup bash -c "/usr/local/apache2/htdocs/updaterepo.sh &" && sleep 4 ile repo'yu otomatik scan edecek script çalıştırılır. | |
| FROM httpd:2.4 | |
| RUN echo "root:root" | chpasswd | |
| RUN apt-get update && \ |
Implementing a basic plugin architecture shouldn't be a complicated task. The solution described here is working but you still have to import every plugin (inheriting from the base class).
This is my solution:
$ tree
| #!/usr/bin/env python | |
| """ | |
| Written by Nathan Prziborowski | |
| Github: https://github.com/prziborowski | |
| This code is released under the terms of the Apache 2 | |
| http://www.apache.org/licenses/LICENSE-2.0.html | |
| The property collector can be used to fetch a subset of properties | |
| for a large amount of objects with fewer round trips that iterating. | |
| This sample shows how to use the TraversalSpec to get properties | |
| of another object without multiple calls. |
| #!/usr/bin/env perl | |
| # | |
| # surveilleur de logins sasl: compte les IP's de provenance d'un meme login | |
| # | |
| # needs geoip2 perl module and GeoLite2-Country.mmdb (use geoipupdate) | |
| # | |
| # run by cron on a daily-rotated maillog: | |
| # 2 */1 * * * root /usr/local/admin/ssi/surveille-spam.pl /data/logs/serveurs/maillog | |
| # 1 0 * * * root /usr/local/admin/ssi/surveille-spam.pl /data/logs/serveurs/maillog.0 | |
| use strict; |
| <?php | |
| /** | |
| * Simple method to use the API from https://www.troyhunt.com/ive-just-launched-pwned-passwords-version-2/ | |
| * Written by Jim Westergren and released to public domain | |
| * @return int count | |
| */ | |
| function checkPawnedPasswords(string $password) : int | |
| { | |
| $sha1 = strtoupper(sha1($password)); | |
| $data = file_get_contents('https://api.pwnedpasswords.com/range/'.substr($sha1, 0, 5)); |
| #!/bin/bash | |
| # Original: | |
| # https://blog.cloudflare.com/validating-leaked-passwords-with-k-anonymity | |
| echo -n Password: | |
| read -s password | |
| echo | |
| hash="$(echo -n $password | openssl dgst -sha1 -binary | xxd -p)" | |
| upperCase="$(echo $hash | tr '[a-z]' '[A-Z]')" |
This is a story about how I tried to use Go for scripting. In this story, I’ll discuss the need for a Go script, how we would expect it to behave and the possible implementations; During the discussion I’ll deep dive to scripts, shells, and shebangs. Finally, we’ll discuss solutions that will make Go scripts work.
While python and bash are popular scripting languages, C, C++ and Java are not used for scripts at all, and some languages are somewhere in between.
| #!/bin/bash | |
| # | |
| # ts3server-bot.sh | |
| # | |
| # Teamspeak 3 AFK bot, move clients to the specified channel when they are muted | |
| # for more than the specified period of time and move them back when they unmute | |
| # themself. | |
| # | |
| # Copyright 2016, Malobre. | |
| # |
| #!/bin/bash | |
| # | |
| # Stolen from https://stuckinadoloop.wordpress.com/2011/04/14/script-to-convert-openldap-schema-files-to-ldif-format/ | |
| SCHEMAD=/etc/openldap/schema | |
| SCHEMAS='dhcp.schema' | |
| tmpd=`mktemp -d` | |
| pushd ${tmpd} >>/dev/null |