From 49707775bc9ccf0edfbca99d53d714fdb8a6d771 Mon Sep 17 00:00:00 2001 From: Shizun Ge Date: Tue, 26 Oct 2021 21:33:55 -0700 Subject: [PATCH] initial push to github --- .github/workflows/docker-hub-build-push.yml | 25 + Dockerfile | 19 + LICENSE | 674 +++++++++ README.md | 96 ++ client.go | 105 ++ dashboard/endlessh.json | 1431 +++++++++++++++++++ dashboard/screenshot.png | Bin 0 -> 304287 bytes geoip.go | 146 ++ go.mod | 18 + go.sum | 156 ++ main.go | 175 ++- 11 files changed, 2776 insertions(+), 69 deletions(-) create mode 100644 .github/workflows/docker-hub-build-push.yml create mode 100644 Dockerfile create mode 100644 LICENSE create mode 100644 README.md create mode 100644 client.go create mode 100755 dashboard/endlessh.json create mode 100755 dashboard/screenshot.png create mode 100644 geoip.go create mode 100644 go.sum diff --git a/.github/workflows/docker-hub-build-push.yml b/.github/workflows/docker-hub-build-push.yml new file mode 100644 index 0000000..8dd1e1c --- /dev/null +++ b/.github/workflows/docker-hub-build-push.yml @@ -0,0 +1,25 @@ +name: build docker image and push to docker hub + +on: + release: + types: # This configuration does not affect the page_build event above + - created + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: checkout code + uses: actions/checkout@v2 + - name: install buildx + id: buildx + uses: crazy-max/ghaction-docker-buildx@v1 + with: + version: latest + - name: login to docker hub + run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin + - name: build the image + run: | + docker buildx build --push \ + --tag shizunge/endlessh-go:latest \ + --platform linux/amd64,linux/arm/v7,linux/arm64 . diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..8dfb800 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,19 @@ +FROM golang:alpine AS build + +ADD . /go/src/app +WORKDIR /go/src/app +RUN go mod tidy +RUN go build -o endlessh . + +FROM alpine:latest + +LABEL org.opencontainers.image.title=endlessh-go +LABEL org.opencontainers.image.description="Endlessh: an SSH tarpit" +LABEL org.opencontainers.image.vendor="Shizun Ge" +LABEL org.opencontainers.image.licenses=GPLv3 + +COPY --from=build /go/src/app/endlessh /usr/bin/endlessh +EXPOSE 2222 2112 +USER nobody +ENTRYPOINT ["/usr/bin/endlessh"] +CMD ["-logtostderr", "-v=1"] diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..f288702 --- /dev/null +++ b/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/README.md b/README.md new file mode 100644 index 0000000..f24f1c1 --- /dev/null +++ b/README.md @@ -0,0 +1,96 @@ +# endlessh-go + +Golang implementation of [endlessh](https://nullprogram.com/blog/2019/03/22/) exporting Prometheus metrics. + +## Introduction + +Endlessh is a great idea that not only blocks the brute force SSH attacks, but also wastes attackers time as a kind of counter-attack. Besides trapping the attackers, I also want to virtualize the Geolocations and other statistics of the sources of attacks. Unfortunately the wonderful [C implementation of endlessh](https://github.com/skeeto/endlessh) only provides text based log, but I do not like the solution that writing extra scripts to parse the log outputs, then exporting the results to a dashboard, because it would introduce extra layers in my current setup and it would depend on the format of the text log file rather than some structured data. Thus I create this golang implementation of endlessh to export [Prometheus](https://prometheus.io/) metrics and a [Grafana](https://grafana.com/) dashboard to virtualize them. + +If you want a dashboard of sources of attacks and do not mind the endlessh server, besides trapping the attackers, does extra things including: translating IP to Geohash, exporting Prometheus metrics, and using more memory (about 10MB), this is the solution for you. + +## Getting Started + +Clone the repo then build from source: + +``` +go build . +./endlessh-go +``` + +Alternatively, you can use the [docker image](https://hub.docker.com/r/shizunge/endlessh-go): + +``` +sudo docker run -d shizunge/endlessh-go +``` + +It listens to port `2222` by default. + +If you want log like the [C implementation](https://github.com/skeeto/endlessh), you need to set both CLI arguments `-logtostderr` and `-v=1`, then the log will go to the stderr. You can set different log destinations via CLI arguments. + +## Usage + +Usage of `./endlessh-go` + +* -alsologtostderr + * log to standard error as well as files +* -conn_type string + * Connection type. Possible values are tcp, tcp4, tcp6 (default "tcp") +* -enable_prometheus + * Enable prometheus +* -geoip_supplier string + * Supplier to obtain Geohash of IPs. Possible values are "off", "ip-api", "freegeoip" (default "off") +* -host string + * Listening address (default "0.0.0.0") +* -interval_ms int + * Message millisecond delay (default 1000) +* -line_length int + * Maximum banner line length (default 32) +* -log_backtrace_at value + * when logging hits line file:N, emit a stack trace +* -log_dir string + * If non-empty, write log files in this directory +* -logtostderr + * log to standard error instead of files +* -max_clients int + * Maximum number of clients (default 4096) +* -port string + * Listening port (default "2222") +* -prometheus_entry string + * Entry point for prometheus (default "metrics") +* -prometheus_port string + * The port for prometheus (default "2112") +* -stderrthreshold value + * logs at or above this threshold go to stderr +* -v value + * log level for V logs +* -vmodule value + * comma-separated list of pattern=N settings for file-filtered logging + +## Metrics + +This golang implementation exports the following Prometheus metrics. + +| Metric | Type | Description | +|--------------------------------------|-------|--------------| +| endlessh_client_open_count_total | count | Total number of clients that tried to connect to this host. | +| endlessh_client_closed_count_total | count | Total number of clients that stopped connecting to this host. | +| endlessh_sent_bytes_total | count | Total bytes sent to clients that tried to connect to this host. | +| endlessh_trapped_time_seconds_total | count | Total seconds clients spent on endlessh. | +| endlessh_client_open_count | count | Number of connections of clients.
Labals:
  • `ip`: IP of the client
  • `country`: Country of the IP
  • `location`: Country, Region, and City
  • `geohash`: Geohash of the location
| +| endlessh_client_trapped_time_seconds | count | Seconds a client spends on endlessh.
Labals:
  • `ip`: IP of the client
| + +The metrics is off by default, you can turn it via the CLI argument `-enable_prometheus`. + +It listens to port `2112` and entry point is `/metrics` by default. The port and entry point can be changed via CLI arguments. + +The endlessh-go server stores the geohash of attackers as a label on `endlessh_client_open_count`, which is also off by default. You can turn it on via the CLI argument `-geoip_supplier`. The endlessh-go uses service from either [ip-api](https://ip-api.com/) or [freegeoip](https://freegeoip.live/), which may enforce a query rate and limit commercial use. Visit their website for their terms and policies. + +## Dashboard + +![screenshot](dashboard/screenshot.png) + +The dashboard requires Grafana 8.2. + +You can import the dashboard from Grafana.com using ID [15156](https://grafana.com/grafana/dashboards/15156) + +The IP addresses are clickable and link you to the [ARIN](https://www.arin.net/) database. diff --git a/client.go b/client.go new file mode 100644 index 0000000..de32e39 --- /dev/null +++ b/client.go @@ -0,0 +1,105 @@ +// Copyright (C) 2021 Shizun Ge +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// + +package main + +import ( + "math/rand" + "net" + "sync/atomic" + "time" + + "github.com/golang/glog" + "github.com/prometheus/client_golang/prometheus" +) + +var letterBytes = []byte(" abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890!@#$%^&*()-=_+[]{}|;:',./<>?") + +func randStringBytes(n int64) []byte { + b := make([]byte, n+1) + for i := range b { + b[i] = letterBytes[rand.Intn(len(letterBytes))] + } + b[n] = '\n' + return b +} + +type client struct { + conn net.Conn + last time.Time + next time.Time + start time.Time + interval time.Duration + geoipSupplier string + geohash string + country string + location string + bytes_sent int +} + +func NewClient(conn net.Conn, interval time.Duration, maxClient int64, geoipSupplier string) *client { + addr := conn.RemoteAddr().(*net.TCPAddr) + atomic.AddInt64(&numCurrentClients, 1) + atomic.AddInt64(&numTotalClients, 1) + geohash, country, location, err := geohashAndLocation(addr.IP.String(), geoipSupplier) + if err != nil { + glog.Warningf("Failed to obatin the geohash of %v: %v.", addr.IP, err) + } + clientIP.With(prometheus.Labels{ + "ip": addr.IP.String(), + "geohash": geohash, + "country": country, + "location": location}).Inc() + glog.V(1).Infof("ACCEPT host=%v port=%v n=%v/%v\n", addr.IP, addr.Port, numCurrentClients, maxClient) + return &client{ + conn: conn, + last: time.Now(), + next: time.Now().Add(interval), + start: time.Now(), + interval: interval, + geohash: geohash, + country: country, + location: location, + bytes_sent: 0, + } +} + +func (c *client) Send(bannerMaxLength int64) error { + defer func(c *client) { + addr := c.conn.RemoteAddr().(*net.TCPAddr) + millisecondsSpent := time.Now().Sub(c.last).Milliseconds() + c.last = time.Now() + c.next = time.Now().Add(c.interval) + atomic.AddInt64(&numTotalMilliseconds, millisecondsSpent) + clientSeconds.With(prometheus.Labels{"ip": addr.IP.String()}).Add(float64(millisecondsSpent) / 1000) + }(c) + length := rand.Int63n(bannerMaxLength) + bytes_sent, err := c.conn.Write(randStringBytes(length)) + if err != nil { + return err + } + c.bytes_sent += bytes_sent + atomic.AddInt64(&numTotalBytes, int64(bytes_sent)) + return nil +} + +func (c *client) Close() { + addr := c.conn.RemoteAddr().(*net.TCPAddr) + atomic.AddInt64(&numCurrentClients, -1) + atomic.AddInt64(&numTotalClientsClosed, 1) + glog.V(1).Infof("CLOSE host=%v port=%v time=%v bytes=%v\n", addr.IP, addr.Port, time.Now().Sub(c.start).Seconds(), c.bytes_sent) + c.conn.Close() +} diff --git a/dashboard/endlessh.json b/dashboard/endlessh.json new file mode 100755 index 0000000..a7b7bca --- /dev/null +++ b/dashboard/endlessh.json @@ -0,0 +1,1431 @@ +{ + "__inputs": [ + { + "name": "DS_PROMETHEUS", + "label": "Prometheus", + "description": "", + "type": "datasource", + "pluginId": "prometheus", + "pluginName": "Prometheus" + } + ], + "__requires": [ + { + "type": "panel", + "id": "geomap", + "name": "Geomap", + "version": "" + }, + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "8.2.2" + }, + { + "type": "panel", + "id": "piechart", + "name": "Pie chart", + "version": "" + }, + { + "type": "datasource", + "id": "prometheus", + "name": "Prometheus", + "version": "1.0.0" + }, + { + "type": "panel", + "id": "stat", + "name": "Stat", + "version": "" + }, + { + "type": "panel", + "id": "table", + "name": "Table", + "version": "" + }, + { + "type": "panel", + "id": "timeseries", + "name": "Time series", + "version": "" + } + ], + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "target": { + "limit": 100, + "matchAny": false, + "tags": [], + "type": "dashboard" + }, + "type": "dashboard" + } + ] + }, + "description": "Dashboard for endlessh", + "editable": true, + "fiscalYearStartMonth": 0, + "gnetId": null, + "graphTooltip": 0, + "id": null, + "iteration": 1635302834418, + "links": [], + "liveNow": false, + "panels": [ + { + "datasource": "-- Dashboard --", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 4, + "x": 0, + "y": 0 + }, + "id": 36, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "/^Total number connections that endlessh trapped$/", + "values": false + }, + "text": {}, + "textMode": "auto" + }, + "pluginVersion": "8.2.2", + "targets": [ + { + "panelId": 47, + "refId": "A" + } + ], + "title": "Connections", + "transformations": [ + { + "id": "groupBy", + "options": { + "fields": { + "Value #Count": { + "aggregations": [ + "lastNotNull" + ], + "operation": "aggregate" + }, + "Value #Seen": { + "aggregations": [ + "sum" + ], + "operation": "aggregate" + }, + "ip": { + "aggregations": [], + "operation": "groupby" + } + } + } + }, + { + "id": "reduce", + "options": { + "includeTimeField": false, + "labelsToFields": false, + "mode": "reduceFields", + "reducers": [ + "sum" + ] + } + }, + { + "id": "merge", + "options": {} + }, + { + "id": "organize", + "options": { + "excludeByName": {}, + "indexByName": { + "Field": 0, + "Total": 1 + }, + "renameByName": { + "Total": "Total number connections that endlessh trapped", + "Value #Count (lastNotNull)": "Total number connections that endlessh trapped", + "Value #Seen (sum)": "Total number connections that endlessh trapped" + } + } + } + ], + "type": "stat" + }, + { + "datasource": "-- Dashboard --", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 4, + "x": 4, + "y": 0 + }, + "id": 42, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "/^Time spent on endlessh$/", + "values": false + }, + "text": {}, + "textMode": "auto" + }, + "pluginVersion": "8.2.2", + "targets": [ + { + "panelId": 47, + "refId": "A" + } + ], + "title": "Trapped Time", + "transformations": [ + { + "id": "groupBy", + "options": { + "fields": { + "Value #Count": { + "aggregations": [ + "lastNotNull" + ], + "operation": null + }, + "Value #Seen": { + "aggregations": [ + "sum" + ], + "operation": null + }, + "Value #Time": { + "aggregations": [ + "lastNotNull" + ], + "operation": "aggregate" + }, + "Value #Trapped": { + "aggregations": [ + "sum" + ], + "operation": "aggregate" + }, + "ip": { + "aggregations": [], + "operation": "groupby" + } + } + } + }, + { + "id": "reduce", + "options": { + "includeTimeField": false, + "labelsToFields": false, + "mode": "reduceFields", + "reducers": [ + "sum" + ] + } + }, + { + "id": "merge", + "options": {} + }, + { + "id": "organize", + "options": { + "excludeByName": {}, + "indexByName": {}, + "renameByName": { + "Total": "Seconds spent on endlessh", + "Value #Time (lastNotNull)": "Seconds spent on endlessh", + "Value #Trapped (lastNotNull)": "Time spent on endlessh", + "Value #Trapped (sum)": "Time spent on endlessh" + } + } + } + ], + "type": "stat" + }, + { + "datasource": null, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "bytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 4, + "x": 8, + "y": 0 + }, + "id": 18, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "auto" + }, + "pluginVersion": "8.2.2", + "targets": [ + { + "exemplar": true, + "expr": "increase(endlessh_sent_bytes_total{instance=\"$host\",job=\"$job\"}[$__range])", + "hide": false, + "interval": "", + "legendFormat": "Bytes sent by endlessh", + "refId": "sent_bytes" + } + ], + "title": "Sent Bytes", + "type": "stat" + }, + { + "datasource": "-- Dashboard --", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 4, + "x": 12, + "y": 0 + }, + "id": 38, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "/^Unique IPs connected$/", + "values": false + }, + "text": {}, + "textMode": "auto" + }, + "pluginVersion": "8.2.2", + "targets": [ + { + "panelId": 47, + "refId": "A" + } + ], + "title": "Unique IPs", + "transformations": [ + { + "id": "groupBy", + "options": { + "fields": { + "Time": { + "aggregations": [], + "operation": null + }, + "Value #Count": { + "aggregations": [ + "lastNotNull" + ], + "operation": null + }, + "Value #Seen": { + "aggregations": [ + "sum" + ], + "operation": "aggregate" + }, + "ip": { + "aggregations": [], + "operation": "groupby" + } + } + } + }, + { + "id": "reduce", + "options": { + "includeTimeField": false, + "labelsToFields": false, + "mode": "reduceFields", + "reducers": [ + "count" + ] + } + }, + { + "id": "merge", + "options": {} + }, + { + "id": "organize", + "options": { + "excludeByName": {}, + "indexByName": {}, + "renameByName": { + "Count": "Unique IPs connected", + "Value #Seen (sum)": "Unique IPs connected", + "ip": "" + } + } + } + ], + "type": "stat" + }, + { + "datasource": "-- Dashboard --", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "links": [ + { + "targetBlank": true, + "title": "whois", + "url": "https://search.arin.net/rdap/?query=${__value.text}" + } + ], + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 4, + "x": 16, + "y": 0 + }, + "id": 45, + "maxDataPoints": null, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "/^Client IP of the latest connection$/", + "values": false + }, + "text": {}, + "textMode": "value" + }, + "pluginVersion": "8.2.2", + "repeat": null, + "targets": [ + { + "panelId": 47, + "refId": "A" + } + ], + "title": "Latest Connection", + "transformations": [ + { + "id": "groupBy", + "options": { + "fields": { + "Time": { + "aggregations": [ + "lastNotNull" + ], + "operation": "aggregate" + }, + "Value #Seen": { + "aggregations": [ + "sum" + ], + "operation": "aggregate" + }, + "country": { + "aggregations": [ + "lastNotNull" + ], + "operation": null + }, + "ip": { + "aggregations": [], + "operation": "groupby" + } + } + } + }, + { + "id": "merge", + "options": {} + }, + { + "id": "filterByValue", + "options": { + "filters": [ + { + "config": { + "id": "greater", + "options": { + "value": 0 + } + }, + "fieldName": "Value #Seen (sum)" + } + ], + "match": "any", + "type": "include" + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "field": "Time (lastNotNull)" + } + ] + } + }, + { + "id": "organize", + "options": { + "excludeByName": { + "instance": true, + "job": true + }, + "indexByName": { + "Time (lastNotNull)": 0, + "instance": 3, + "ip (lastNotNull)": 1, + "job": 2 + }, + "renameByName": { + "Time (lastNotNull)": "Time", + "Value #Seen (sum)": "Count", + "ip": "Client IP of the latest connection", + "ip (lastNotNull)": "Client IP of the latest connection" + } + } + } + ], + "type": "stat" + }, + { + "datasource": null, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "#EAB839", + "value": 10 + }, + { + "color": "red", + "value": 20 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 4, + "x": 20, + "y": 0 + }, + "id": 20, + "interval": null, + "maxDataPoints": null, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "auto" + }, + "pluginVersion": "8.2.2", + "targets": [ + { + "exemplar": true, + "expr": "(endlessh_client_open_count_total{instance=\"$host\",job=\"$job\"}) - (endlessh_client_closed_count_total{instance=\"$host\",job=\"$job\"} offset $__interval or endlessh_client_open_count_total{instance=\"$host\",job=\"$job\"} * 0)", + "instant": false, + "interval": "", + "legendFormat": "Current Open Connections", + "refId": "current_open" + } + ], + "title": "Current Connections", + "type": "stat" + }, + { + "datasource": "-- Dashboard --", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "stepAfter", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": -0.01, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 12, + "x": 0, + "y": 3 + }, + "id": 30, + "options": { + "legend": { + "calcs": [], + "displayMode": "hidden", + "placement": "bottom" + }, + "tooltip": { + "mode": "single" + } + }, + "targets": [ + { + "panelId": 20, + "refId": "A" + } + ], + "title": "Concurrent Connections", + "type": "timeseries" + }, + { + "datasource": "-- Dashboard --", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + } + }, + "mappings": [] + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 3 + }, + "id": 32, + "options": { + "displayLabels": [], + "legend": { + "displayMode": "table", + "placement": "right", + "values": [ + "value", + "percent" + ] + }, + "pieType": "pie", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "tooltip": { + "mode": "single" + } + }, + "targets": [ + { + "panelId": 47, + "refId": "A" + } + ], + "title": "Connections by country", + "transformations": [ + { + "id": "groupBy", + "options": { + "fields": { + "Value #Count": { + "aggregations": [ + "lastNotNull" + ], + "operation": "aggregate" + }, + "Value #Seen": { + "aggregations": [ + "sum" + ], + "operation": "aggregate" + }, + "country": { + "aggregations": [ + "last" + ], + "operation": "aggregate" + }, + "ip": { + "aggregations": [], + "operation": "groupby" + } + } + } + }, + { + "id": "merge", + "options": {} + }, + { + "id": "filterByValue", + "options": { + "filters": [ + { + "config": { + "id": "greater", + "options": { + "value": 0 + } + }, + "fieldName": "Value #Seen (sum)" + } + ], + "match": "any", + "type": "include" + } + }, + { + "id": "groupBy", + "options": { + "fields": { + "Value #Count (lastNotNull)": { + "aggregations": [ + "sum" + ], + "operation": "aggregate" + }, + "Value #Seen (sum)": { + "aggregations": [ + "sum" + ], + "operation": "aggregate" + }, + "country (last)": { + "aggregations": [], + "operation": "groupby" + }, + "country (lastNotNull)": { + "aggregations": [], + "operation": "groupby" + } + } + } + }, + { + "id": "rowsToFields", + "options": {} + } + ], + "type": "piechart" + }, + { + "cacheTimeout": null, + "datasource": "-- Dashboard --", + "fieldConfig": { + "defaults": { + "color": { + "mode": "continuous-GrYlRd" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#96D98D", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 12, + "x": 0, + "y": 7 + }, + "id": 48, + "interval": null, + "links": [], + "maxDataPoints": null, + "options": { + "basemap": { + "config": {}, + "type": "default" + }, + "controls": { + "mouseWheelZoom": false, + "showAttribution": false, + "showDebug": false, + "showScale": false, + "showZoom": true + }, + "layers": [ + { + "config": { + "color": { + "field": "Connections", + "fixed": "dark-green" + }, + "fillOpacity": 0.4, + "shape": "circle", + "showLegend": false, + "size": { + "field": "Connections", + "fixed": 5, + "max": 10, + "min": 2 + } + }, + "location": { + "geohash": "Geohash", + "mode": "geohash" + }, + "type": "markers" + } + ], + "view": { + "id": "zero", + "lat": 0, + "lon": 0, + "zoom": 1 + } + }, + "targets": [ + { + "panelId": 47, + "refId": "A" + } + ], + "timeFrom": null, + "title": "Locations", + "transformations": [ + { + "id": "groupBy", + "options": { + "fields": { + "Time": { + "aggregations": [ + "firstNotNull" + ], + "operation": null + }, + "Value": { + "aggregations": [ + "lastNotNull" + ], + "operation": "aggregate" + }, + "Value #Count": { + "aggregations": [ + "lastNotNull" + ], + "operation": "aggregate" + }, + "Value #Seen": { + "aggregations": [ + "sum" + ], + "operation": "aggregate" + }, + "Value #geo": { + "aggregations": [ + "lastNotNull" + ], + "operation": "aggregate" + }, + "Value #time": { + "aggregations": [ + "lastNotNull" + ], + "operation": "aggregate" + }, + "geohash": { + "aggregations": [ + "lastNotNull" + ], + "operation": "aggregate" + }, + "ip": { + "aggregations": [], + "operation": "groupby" + }, + "location": { + "aggregations": [ + "lastNotNull" + ], + "operation": "aggregate" + } + } + } + }, + { + "id": "groupBy", + "options": { + "fields": { + "Time (firstNotNull)": { + "aggregations": [ + "firstNotNull" + ], + "operation": "aggregate" + }, + "Time (lastNotNull)": { + "aggregations": [ + "lastNotNull" + ], + "operation": "aggregate" + }, + "Value #Count (lastNotNull)": { + "aggregations": [ + "sum" + ], + "operation": "aggregate" + }, + "Value #Seen (sum)": { + "aggregations": [ + "sum" + ], + "operation": "aggregate" + }, + "Value #geo (lastNotNull)": { + "aggregations": [ + "sum" + ], + "operation": "aggregate" + }, + "Value #time (lastNotNull)": { + "aggregations": [ + "sum" + ], + "operation": "aggregate" + }, + "Value (lastNotNull)": { + "aggregations": [ + "sum" + ], + "operation": "aggregate" + }, + "geohash (lastNotNull)": { + "aggregations": [], + "operation": "groupby" + }, + "location (lastNotNull)": { + "aggregations": [ + "lastNotNull" + ], + "operation": "aggregate" + } + } + } + }, + { + "id": "organize", + "options": { + "excludeByName": {}, + "indexByName": { + "Time (firstNotNull) (firstNotNull)": 0, + "Value #geo (lastNotNull) (sum)": 3, + "geohash (lastNotNull)": 1, + "location (lastNotNull) (lastNotNull)": 2 + }, + "renameByName": { + "Time (firstNotNull) (firstNotNull)": "Time", + "Time (firstNotNull) (lastNotNull)": "Time", + "Value #Count (lastNotNull) (lastNotNull)": "Connections", + "Value #Count (lastNotNull) (sum)": "Connections", + "Value #Seen (sum) (lastNotNull)": "Count", + "Value #Seen (sum) (sum)": "Connections", + "Value #geo (lastNotNull) (sum)": "Value", + "Value #time (lastNotNull) (sum)": "Trapped Time", + "Value (lastNotNull) (sum)": "Value", + "geohash (lastNotNull)": "Geohash", + "location (lastNotNull) (lastNotNull)": "Location" + } + } + } + ], + "type": "geomap" + }, + { + "datasource": null, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "displayMode": "auto", + "filterable": true, + "minWidth": 50 + }, + "links": [], + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Last Connection" + }, + "properties": [ + { + "id": "custom.minWidth", + "value": 150 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "IP" + }, + "properties": [ + { + "id": "links", + "value": [ + { + "targetBlank": true, + "title": "search ARIN", + "url": "https://search.arin.net/rdap/?query=${__data.fields.IP}" + } + ] + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Trapped Time" + }, + "properties": [ + { + "id": "unit", + "value": "s" + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 11 + }, + "id": 47, + "options": { + "frameIndex": 0, + "showHeader": true, + "sortBy": [ + { + "desc": true, + "displayName": "Last Connection" + } + ] + }, + "pluginVersion": "8.2.2", + "targets": [ + { + "exemplar": true, + "expr": "(endlessh_client_open_count{instance=\"$host\",job=\"$job\"} - endlessh_client_open_count{instance=\"$host\",job=\"$job\"} offset $__interval) > 0 or (endlessh_client_open_count{instance=\"$host\",job=\"$job\"}!=0 unless endlessh_client_open_count{instance=\"$host\",job=\"$job\"} offset $__interval)", + "format": "table", + "hide": false, + "interval": "", + "legendFormat": "Seen {{ip}}", + "refId": "Seen" + }, + { + "exemplar": true, + "expr": "(endlessh_client_trapped_time_seconds{instance=\"$host\",job=\"$job\"} - endlessh_client_trapped_time_seconds{instance=\"$host\",job=\"$job\"} offset $__interval) > 0 or (endlessh_client_trapped_time_seconds{instance=\"$host\",job=\"$job\"}!=0 unless endlessh_client_trapped_time_seconds{instance=\"$host\",job=\"$job\"} offset $__interval)", + "format": "table", + "hide": false, + "interval": "", + "legendFormat": "Trapped {{ip}}", + "refId": "Trapped" + } + ], + "title": "Clients", + "transformations": [ + { + "id": "groupBy", + "options": { + "fields": { + "Time": { + "aggregations": [ + "lastNotNull" + ], + "operation": "aggregate" + }, + "Value #Seen": { + "aggregations": [ + "sum" + ], + "operation": "aggregate" + }, + "Value #Trapped": { + "aggregations": [ + "sum" + ], + "operation": "aggregate" + }, + "country": { + "aggregations": [ + "lastNotNull" + ], + "operation": "aggregate" + }, + "ip": { + "aggregations": [], + "operation": "groupby" + } + } + } + }, + { + "id": "merge", + "options": {} + }, + { + "id": "groupBy", + "options": { + "fields": { + "Time (lastNotNull)": { + "aggregations": [ + "firstNotNull" + ], + "operation": "aggregate" + }, + "Value #Seen (sum)": { + "aggregations": [ + "lastNotNull" + ], + "operation": "aggregate" + }, + "Value #Trapped (lastNotNull)": { + "aggregations": [ + "lastNotNull" + ], + "operation": "aggregate" + }, + "Value #Trapped (sum)": { + "aggregations": [ + "lastNotNull" + ], + "operation": "aggregate" + }, + "country (lastNotNull)": { + "aggregations": [ + "lastNotNull" + ], + "operation": "aggregate" + }, + "ip": { + "aggregations": [], + "operation": "groupby" + } + } + } + }, + { + "id": "filterByValue", + "options": { + "filters": [ + { + "config": { + "id": "greater", + "options": { + "value": 0 + } + }, + "fieldName": "Value #Seen (sum) (lastNotNull)" + } + ], + "match": "any", + "type": "include" + } + }, + { + "id": "organize", + "options": { + "excludeByName": {}, + "indexByName": { + "Time (lastNotNull) (firstNotNull)": 0, + "Value #Seen (sum) (lastNotNull)": 3, + "Value #Trapped (lastNotNull) (lastNotNull)": 4, + "country (lastNotNull) (lastNotNull)": 2, + "ip": 1 + }, + "renameByName": { + "Time (lastNotNull) (firstNotNull)": "Last Connection", + "Value #Seen (sum) (lastNotNull)": "Connections", + "Value #Trapped (lastNotNull) (lastNotNull)": "Trapped Time", + "Value #Trapped (sum) (lastNotNull)": "Trapped Time", + "country (lastNotNull) (lastNotNull)": "Country", + "ip": "IP" + } + } + } + ], + "type": "table" + } + ], + "refresh": "1m", + "schemaVersion": 31, + "style": "dark", + "tags": [ + "prometheus" + ], + "templating": { + "list": [ + { + "allValue": null, + "current": {}, + "datasource": "${DS_PROMETHEUS}", + "definition": "label_values(endlessh_client_open_count_total, job)", + "description": null, + "error": null, + "hide": 0, + "includeAll": false, + "label": "Job", + "multi": false, + "name": "job", + "options": [], + "query": { + "query": "label_values(endlessh_client_open_count_total, job)", + "refId": "StandardVariableQuery" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "type": "query" + }, + { + "allValue": null, + "current": {}, + "datasource": "${DS_PROMETHEUS}", + "definition": "label_values(endlessh_client_open_count_total, instance)", + "description": null, + "error": null, + "hide": 0, + "includeAll": false, + "label": "Host", + "multi": false, + "name": "host", + "options": [], + "query": { + "query": "label_values(endlessh_client_open_count_total, instance)", + "refId": "StandardVariableQuery" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "type": "query" + } + ] + }, + "time": { + "from": "now-24h", + "to": "now" + }, + "timepicker": {}, + "timezone": "", + "title": "Endlessh", + "uid": "ATIxYkO7k", + "version": 292 +} \ No newline at end of file diff --git a/dashboard/screenshot.png b/dashboard/screenshot.png new file mode 100755 index 0000000000000000000000000000000000000000..dee6f681493fdf9c3aea86f9aec4609160f18f1d GIT binary patch literal 304287 zcmd43cTiJpv^R<(q9URqptRT#q$pK7iU?Ar*MNc$AOwWaOG0@S6#)eS>Ag3Ro=_|Z zf)r^95JFHSl#m1nNq~^>#rHk$Ip^L#?%bI>_k7pTALRSO!aw> z2_NI&;NZP)aMyx^FwpFO}8kXy!sQX;sh6KsW(x?)7+pF-_ z*XA~i7%5m(G`{oWqj-RCyf}$Odf;FfbFg%x!0^gslZi|ioxWx)KV1V-nfB=dOeL+Y zk=7pLr$Kr9m(IBp2f)YKxBYwR@MNqQANcpoK`~bR-{bQ#C%67R=J1Ls;Qsf-faeff zzJHdE!};a^{Px(v+ka&Jd%YGs68`UTbd$~x&VNrzxc>jS#cOj^T}N*wUv)*>)Ni5R z4E&g+sRg9U#yV3VEp0g92?Ud#`K!p)(oH@`$#Y0P5_D(rrD5aaepir5K*^Gl5O1B4 zPL@>dKf)MDm~&}bZD-}Cx>Z%#sDj7zVXzqc)?moDgEj&+9*-YS-6_w?s`#aA096A7 zIxj~W*gSfy<^mm^M;yw!`tL_3(?|!POHph^AxD2&WBT4*%%zwevOm zKUVYi`afo0?j#%wZz6ZSP+iNy5jj5*5d?8OlisCBpQSu+>@_3g!AU_N$si~HuR*~$ zQ`H?~5btYPpysLunz~}R2-UV8=lMsX^C?&P!hI0rNoCIlx^~wS6o3TwQ>l!FwKAg4&8Q$;vieJo_dm(l043V}$ z`VW(IIDu$A`1;AQs%vdU=Z`y-YtpAMPEpjvGCv%v>_b3hrs9f_0vIJdUZ|@t^6toS z)3@pAS>3F~P|8&CNH#Yh^z&LnpH^90TTfU^p{R9hr*HPEWGU#h+W*WiA+=YB9K9f_9Ss9FBIReNU zoab#2!_SER{zRpqZ)x3`Z}hbv*Bi+}ghF$}TcJp_loY`uLw}9#hkS){Pc>0i$yE=z zX_PK4PoIlGHloNZZW685#Wf%xfRN~4RPYr#qUn{SO1mNQ$`0XENilxX-~$+8{Ud0B zyWxw1_+u6!>I9SVsAa9-FzQRatCtkMZ(%k)8~g12FhMcO+Uxf$EgOex?3;TYFP?d4 zLSto|>tL=7H&!mxG!84sb*;A$wVnB>0Qm1y`syPnf9@0F?Zgu;NI|MneNZ^0f`vEJ zW{P6sJ6j?cwPp|(s=GTe7gW4J^RGt}q9)KxxNjHcZAM6NO9g*hEhEzba4j7I+z;tb z!zZG(Yp|>&47n9J)l≺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⪕SfzN4Ct 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

TQZG}u+MZ?|Dk7OY520r8bpas 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

VimeOo)K@c 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 XZdM_2n(6Jg4rqIb2MKI@?~DHhN7kaO literal 0 HcmV?d00001 diff --git a/geoip.go b/geoip.go new file mode 100644 index 0000000..7db01bc --- /dev/null +++ b/geoip.go @@ -0,0 +1,146 @@ +// Copyright (C) 2021 Shizun Ge +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// + +package main + +import ( + "encoding/json" + "fmt" + "io/ioutil" + "net/http" + "strings" + + "github.com/pierrre/geohash" +) + +type freegeoip struct { + Ip string `json:"ip"` + CountryCode string `json:"country_code"` + CountryName string `json:"country_name"` + RegionCode string `json:"region_code"` + RegionName string `json:"region_name"` + City string `json:"city"` + Zipcode string `json:"zipcode"` + Latitude float64 `json:"latitude"` + Longitude float64 `json:"longitude"` + MetroCode int `json:"metro_code"` + AreaCode int `json:"area_code"` +} + +func geohashAndLocationFromFreegeoip(address string) (string, string, string, error) { + var geo freegeoip + response, err := http.Get("https://freegeoip.live/json/" + address) + if err != nil { + return "s000", "Unknown", "Unknown", err + } + defer response.Body.Close() + + body, err := ioutil.ReadAll(response.Body) + if err != nil { + return "s000", "Unknown", "Unknown", err + } + + err = json.Unmarshal(body, &geo) + if err != nil { + return "s000", "Unknown", "Unknown", err + } + + var locations []string + for _, s := range []string{geo.CountryName, geo.RegionName, geo.City} { + if strings.TrimSpace(s) != "" { + locations = append(locations, s) + } + } + location := strings.Join(locations, ", ") + if location == "" { + location = "Unknown" + } + country := geo.CountryName + if country == "" { + country = "Unknown" + } + gh := geohash.EncodeAuto(geo.Latitude, geo.Longitude) + + return gh, country, location, nil +} + +type ipapi struct { + Status string `json:"status"` + Message string `json:"message"` + Ip string `json:"query"` + CountryCode string `json:"countryCode"` + CountryName string `json:"country"` + RegionCode string `json:"region"` + RegionName string `json:"regionName"` + City string `json:"city"` + Zipcode string `json:"zip"` + Latitude float64 `json:"lat"` + Longitude float64 `json:"lon"` +} + +func geohashAndLocationFromIpapi(address string) (string, string, string, error) { + var geo ipapi + response, err := http.Get("http://ip-api.com/json/" + address) + if err != nil { + return "s000", "Unknown", "Unknown", err + } + defer response.Body.Close() + + body, err := ioutil.ReadAll(response.Body) + if err != nil { + return "s000", "Unknown", "Unknown", err + } + + err = json.Unmarshal(body, &geo) + if err != nil { + return "s000", "Unknown", "Unknown", err + } + + if geo.Status != "success" { + return "s000", "Unknown", "Unknown", fmt.Errorf("failed to query %v via ip-api: status: %v, message: %v", address, geo.Status, geo.Message) + } + + var locations []string + for _, s := range []string{geo.CountryName, geo.RegionName, geo.City} { + if strings.TrimSpace(s) != "" { + locations = append(locations, s) + } + } + location := strings.Join(locations, ", ") + if location == "" { + location = "Unknown" + } + country := geo.CountryName + if country == "" { + country = "Unknown" + } + gh := geohash.EncodeAuto(geo.Latitude, geo.Longitude) + + return gh, country, location, nil +} + +func geohashAndLocation(address string, geoipSupplier string) (string, string, string, error) { + switch geoipSupplier { + case "off": + return "s000", "Geohash off", "Geohash off", nil + case "ip-api": + return geohashAndLocationFromIpapi(address) + case "freegeoip": + return geohashAndLocationFromFreegeoip(address) + default: + return "s000", "Unknown", "Unknown", fmt.Errorf("unknown geoipSupplier %v.", geoipSupplier) + } +} diff --git a/go.mod b/go.mod index de5847c..0d49fb0 100644 --- a/go.mod +++ b/go.mod @@ -1,3 +1,21 @@ module endlessh-go go 1.17 + +require ( + github.com/golang/glog v1.0.0 + github.com/pierrre/geohash v1.0.0 + github.com/prometheus/client_golang v1.11.0 +) + +require ( + github.com/beorn7/perks v1.0.1 // indirect + github.com/cespare/xxhash/v2 v2.1.1 // indirect + github.com/golang/protobuf v1.4.3 // indirect + github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect + github.com/prometheus/client_model v0.2.0 // indirect + github.com/prometheus/common v0.26.0 // indirect + github.com/prometheus/procfs v0.6.0 // indirect + golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40 // indirect + google.golang.org/protobuf v1.26.0-rc.1 // indirect +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..a292c71 --- /dev/null +++ b/go.sum @@ -0,0 +1,156 @@ +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +github.com/Codefor/geohash v0.0.0-20140723084247-1b41c28e3a9d h1:iG9B49Q218F/XxXNRM7k/vWf7MKmLIS8AcJV9cGN4nA= +github.com/Codefor/geohash v0.0.0-20140723084247-1b41c28e3a9d/go.mod h1:RVnhzAX71far8Kc3TQeA0k/dcaEKUnTDSOyet/JCmGI= +github.com/TomiHiltunen/geohash-golang v0.0.0-20150112065804-b3e4e625abfb h1:wumPkzt4zaxO4rHPBrjDK8iZMR41C1qs7njNqlacwQg= +github.com/TomiHiltunen/geohash-golang v0.0.0-20150112065804-b3e4e625abfb/go.mod h1:QiYsIBRQEO+Z4Rz7GoI+dsHVneZNONvhczuA+llOZNM= +github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= +github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= +github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/broady/gogeohash v0.0.0-20120525094510-7b2c40d64042 h1:iEdmkrNMLXbM7ecffOAtZJQOQUTE4iMonxrb5opUgE4= +github.com/broady/gogeohash v0.0.0-20120525094510-7b2c40d64042/go.mod h1:f1L9YvXvlt9JTa+A17trQjSMM6bV40f+tHjB+Pi+Fqk= +github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= +github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/fanixk/geohash v0.0.0-20150324002647-c1f9b5fa157a h1:Fyfh/dsHFrC6nkX7H7+nFdTd1wROlX/FxEIWVpKYf1U= +github.com/fanixk/geohash v0.0.0-20150324002647-c1f9b5fa157a/go.mod h1:UgNw+PTmmGN8rV7RvjvnBMsoTU8ZXXnaT3hYsDTBlgQ= +github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= +github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= +github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= +github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/golang/glog v1.0.0 h1:nfP3RFugxnNRyKgeWd4oI1nYvXpxrx8ck8ZrcizshdQ= +github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.4.3 h1:JjCZWpVbqXDqFVmTfYWEVTMIYrL/NPdPSCHPJ0T/raM= +github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= +github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/mmcloughlin/geohash v0.9.0 h1:FihR004p/aE1Sju6gcVq5OLDqGcMnpBY+8moBqIsVOs= +github.com/mmcloughlin/geohash v0.9.0/go.mod h1:oNZxQo5yWJh0eMQEP/8hwQuVx9Z9tjwFUqcTB1SmG0c= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/pierrre/compare v1.0.2 h1:k4IUsHgh+dbcAOIWCfxVa/7G6STjADH2qmhomv+1quc= +github.com/pierrre/compare v1.0.2/go.mod h1:8UvyRHH+9HS8Pczdd2z5x/wvv67krDwVxoOndaIIDVU= +github.com/pierrre/geohash v1.0.0 h1:f/zfjdV4rVofTCz1FhP07T+EMQAvcMM2ioGZVt+zqjI= +github.com/pierrre/geohash v1.0.0/go.mod h1:atytaeVa21hj5F6kMebHYPf8JbIrGxK2FSzN2ajKXms= +github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= +github.com/prometheus/client_golang v1.11.0 h1:HNkLOAEQMIDv/K+04rukrLx6ch7msSRwf3/SASFAGtQ= +github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= +github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= +github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= +github.com/prometheus/common v0.26.0 h1:iMAkS2TDoNWnKM+Kopnx/8tnEStIfpYA0ur0xQzzhMQ= +github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= +github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= +github.com/prometheus/procfs v0.6.0 h1:mxy4L2jP6qMonqmq+aTtOx1ifVWUgG/TAmntgbh3xv4= +github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/the42/cartconvert v0.0.0-20131203171324-aae784c392b8 h1:I4DY8wLxJXCrMYzDM6lKCGc3IQwJX0PlTLsd3nQqI3c= +github.com/the42/cartconvert v0.0.0-20131203171324-aae784c392b8/go.mod h1:fWO/msnJVhHqN1yX6OBoxSyfj7TEj1hHiL8bJSQsK30= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40 h1:JWgyZ1qgdTaF3N3oxC+MdTV7qvEEgHo3otj+HB5CM7Q= +golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.26.0-rc.1 h1:7QnIQpGRHE5RnLKnESfDoxm2dTapTZua5a0kS0A+VXQ= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/main.go b/main.go index 623f58f..d1a6126 100644 --- a/main.go +++ b/main.go @@ -1,68 +1,91 @@ package main -// echo -n "test out the server" | nc localhost 3333 - import ( "flag" "fmt" "math/rand" "net" + "net/http" "os" - "sync/atomic" "time" + + "github.com/golang/glog" + "github.com/prometheus/client_golang/prometheus" + "github.com/prometheus/client_golang/prometheus/promhttp" ) var ( - numCurrentClients int64 - numTotalClients uint64 - numTotalBytes uint64 + numCurrentClients int64 + numTotalClients int64 + numTotalClientsClosed int64 + numTotalBytes int64 + numTotalMilliseconds int64 + totalClients prometheus.CounterFunc + totalClientsClosed prometheus.CounterFunc + totalBytes prometheus.CounterFunc + totalSeconds prometheus.CounterFunc + clientIP *prometheus.CounterVec + clientSeconds *prometheus.CounterVec ) -var letterBytes = []byte(" abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890!@#$%^&*()-=_+[]{}|;:',./<>?") - -func randStringBytes(n int64) []byte { - b := make([]byte, n+1) - for i := range b { - b[i] = letterBytes[rand.Intn(len(letterBytes))] - } - b[n] = '\n' - return b -} - -type client struct { - conn net.Conn - next time.Time - start time.Time - bytes_sent int -} - -func NewClient(conn net.Conn, interval time.Duration, maxClient int64) *client { - atomic.AddInt64(&numCurrentClients, 1) - atomic.AddUint64(&numTotalClients, 1) - fmt.Printf("%v ACCEPT host=%v n=%v/%v\n", time.Now(), conn.RemoteAddr(), numCurrentClients, maxClient) - return &client{ - conn: conn, - next: time.Now().Add(interval), - start: time.Now(), - bytes_sent: 0, - } -} - -func (c *client) Send(bannerMaxLength int64) error { - length := rand.Int63n(bannerMaxLength) - bytes_sent, err := c.conn.Write(randStringBytes(length)) - if err != nil { - return err - } - c.bytes_sent += bytes_sent - atomic.AddUint64(&numTotalBytes, uint64(bytes_sent)) - return nil -} - -func (c *client) Close() { - atomic.AddInt64(&numCurrentClients, -1) - fmt.Printf("%v CLOSE host=%v time=%v bytes=%v\n", time.Now(), c.conn.RemoteAddr(), time.Now().Sub(c.start), c.bytes_sent) - c.conn.Close() +func initPrometheus(connHost, prometheusPort, prometheusEntry string) { + totalClients = prometheus.NewCounterFunc( + prometheus.CounterOpts{ + Name: "endlessh_client_open_count_total", + Help: "Total number of clients that tried to connect to this host.", + }, func() float64 { + return float64(numTotalClients) + }, + ) + totalClientsClosed = prometheus.NewCounterFunc( + prometheus.CounterOpts{ + Name: "endlessh_client_closed_count_total", + Help: "Total number of clients that stopped connecting to this host.", + }, func() float64 { + return float64(numTotalClientsClosed) + }, + ) + totalBytes = prometheus.NewCounterFunc( + prometheus.CounterOpts{ + Name: "endlessh_sent_bytes_total", + Help: "Total bytes sent to clients that tried to connect to this host.", + }, func() float64 { + return float64(numTotalBytes) + }, + ) + totalSeconds = prometheus.NewCounterFunc( + prometheus.CounterOpts{ + Name: "endlessh_trapped_time_seconds_total", + Help: "Total seconds clients spent on endlessh.", + }, func() float64 { + return float64(numTotalMilliseconds) / 1000 + }, + ) + clientIP = prometheus.NewCounterVec( + prometheus.CounterOpts{ + Name: "endlessh_client_open_count", + Help: "Number of connections of clients.", + }, + []string{"ip", "geohash", "country", "location"}, + ) + clientSeconds = prometheus.NewCounterVec( + prometheus.CounterOpts{ + Name: "endlessh_client_trapped_time_seconds", + Help: "Seconds a client spends on endlessh.", + }, + []string{"ip"}, + ) + prometheus.MustRegister(totalClients) + prometheus.MustRegister(totalClientsClosed) + prometheus.MustRegister(totalBytes) + prometheus.MustRegister(totalSeconds) + prometheus.MustRegister(clientIP) + prometheus.MustRegister(clientSeconds) + http.Handle("/"+prometheusEntry, promhttp.Handler()) + go func() { + glog.Infof("Starting Prometheus on %v:%v, entry point is /%v", connHost, prometheusPort, prometheusEntry) + http.ListenAndServe(connHost+":"+prometheusPort, nil) + }() } func main() { @@ -70,28 +93,40 @@ func main() { bannerMaxLength := flag.Int64("line_length", 32, "Maximum banner line length") maxClients := flag.Int64("max_clients", 4096, "Maximum number of clients") connType := flag.String("conn_type", "tcp", "Connection type. Possible values are tcp, tcp4, tcp6") - connHost := flag.String("host", "localhost", "Listening address") + connHost := flag.String("host", "0.0.0.0", "Listening address") connPort := flag.String("port", "2222", "Listening port") + enablePrometheus := flag.Bool("enable_prometheus", false, "Enable prometheus") + prometheusPort := flag.String("prometheus_port", "2112", "The port for prometheus") + prometheusEntry := flag.String("prometheus_entry", "metrics", "Entry point for prometheus") + geoipSupplier := flag.String("geoip_supplier", "ip-api", "Supplier to obtain Geohash of IPs. Possible values are \"ip-api\", \"freegeoip\"") + flag.Usage = func() { fmt.Fprintf(flag.CommandLine.Output(), "Usage of %v \n", os.Args[0]) flag.PrintDefaults() } flag.Parse() + if *enablePrometheus { + initPrometheus(*connHost, *prometheusPort, *prometheusEntry) + } + rand.Seed(time.Now().UnixNano()) interval := time.Duration(*intervalMs) * time.Millisecond // Listen for incoming connections. + if *connType == "tcp6" && *connHost == "0.0.0.0" { + *connHost = "[::]" + } l, err := net.Listen(*connType, *connHost+":"+*connPort) if err != nil { - fmt.Println("Error listening:", err.Error()) + glog.Errorf("Error listening: %v", err) os.Exit(1) } // Close the listener when the application closes. defer l.Close() - fmt.Println("Listening on " + *connHost + ":" + *connPort) + glog.Infof("Listening on %v:%v", *connHost, *connPort) clients := make(chan *client, *maxClients) - go func(clients chan *client, interval time.Duration, bannerMaxLength int64) { + go func() { for { c, more := <-clients if !more { @@ -100,26 +135,28 @@ func main() { if time.Now().Before(c.next) { time.Sleep(c.next.Sub(time.Now())) } - err := c.Send(bannerMaxLength) + err := c.Send(*bannerMaxLength) if err != nil { c.Close() continue } - c.next = time.Now().Add(interval) go func() { clients <- c }() } - }(clients, interval, *bannerMaxLength) - for { - // Listen for an incoming connection. - conn, err := l.Accept() - if err != nil { - fmt.Println("Error accepting: ", err.Error()) - os.Exit(1) + }() + listener := func() { + for { + // Listen for an incoming connection. + conn, err := l.Accept() + if err != nil { + glog.Errorf("Error accepting: %v", err) + os.Exit(1) + } + // Handle connections in a new goroutine. + for numCurrentClients >= *maxClients { + time.Sleep(interval) + } + clients <- NewClient(conn, interval, *maxClients, *geoipSupplier) } - // Handle connections in a new goroutine. - for numCurrentClients >= *maxClients { - time.Sleep(interval) - } - clients <- NewClient(conn, interval, *maxClients) } + listener() }

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 jOF5XM*B4QMKfqb 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