From c528ca1823b250b22661edf35c16678b1e4bf540 Mon Sep 17 00:00:00 2001 From: Trevor Batley Date: Sat, 7 Sep 2024 19:50:30 +1000 Subject: [PATCH] initial commit of file from CVS for smeserver-ddclient on Sat Sep 7 19:50:30 AEST 2024 --- .gitignore | 4 + Makefile | 21 + README.md | 17 +- additional/CHANGELOG.git | 84 + additional/COPYING | 340 ++++ additional/LICENSE | 339 ++++ additional/README.md | 4 + additional/debugfiles.list | 0 additional/debugsources.list | 0 additional/smeserver-ddclient.spec | 165 ++ contriborbase | 1 + createlinks | 61 + root/etc/ddclient/ddclient.conf | 290 ++++ .../defaults/ddclient/DeamonUpdate | 1 + .../db/configuration/defaults/ddclient/SSL | 1 + .../db/configuration/defaults/ddclient/status | 1 + .../db/configuration/defaults/ddclient/syslog | 1 + .../db/configuration/defaults/ddclient/type | 1 + .../defaults/ddclient/urlcheckip | 1 + .../etc/e-smith/db/domains/migrate/80ddclient | 64 + .../bg/etc/e-smith/web/functions/ddclient | 278 ++++ .../da/etc/e-smith/web/functions/ddclient | 278 ++++ .../de/etc/e-smith/web/functions/ddclient | 278 ++++ .../el/etc/e-smith/web/functions/ddclient | 278 ++++ .../en-us/etc/e-smith/web/functions/ddclient | 352 ++++ .../es/etc/e-smith/web/functions/ddclient | 278 ++++ .../et/etc/e-smith/web/functions/ddclient | 278 ++++ .../fr/etc/e-smith/web/functions/ddclient | 278 ++++ .../he/etc/e-smith/web/functions/ddclient | 278 ++++ .../hu/etc/e-smith/web/functions/ddclient | 278 ++++ .../id/etc/e-smith/web/functions/ddclient | 278 ++++ .../it/etc/e-smith/web/functions/ddclient | 278 ++++ .../ja/etc/e-smith/web/functions/ddclient | 278 ++++ .../nb/etc/e-smith/web/functions/ddclient | 278 ++++ .../nl/etc/e-smith/web/functions/ddclient | 278 ++++ .../pl/etc/e-smith/web/functions/ddclient | 278 ++++ .../pt-br/etc/e-smith/web/functions/ddclient | 278 ++++ .../pt/etc/e-smith/web/functions/ddclient | 278 ++++ .../ro/etc/e-smith/web/functions/ddclient | 278 ++++ .../ru/etc/e-smith/web/functions/ddclient | 278 ++++ .../sl/etc/e-smith/web/functions/ddclient | 278 ++++ .../sv/etc/e-smith/web/functions/ddclient | 278 ++++ .../th/etc/e-smith/web/functions/ddclient | 278 ++++ .../tr/etc/e-smith/web/functions/ddclient | 278 ++++ .../zh-cn/etc/e-smith/web/functions/ddclient | 278 ++++ .../zh-tw/etc/e-smith/web/functions/ddclient | 278 ++++ .../etc/ddclient/ddclient.conf | 3 + .../etc/ddclient/ddclient.conf/10Headers | 72 + .../etc/ddclient/ddclient.conf/20Declaration | 124 ++ .../templates/etc/ppp/ip-up.local/45ddclient | 13 + .../50koozali.conf/20Service | 18 + .../50koozali.conf/30Install | 2 + root/etc/e-smith/web/functions/ddclient | 1416 +++++++++++++++++ root/etc/ppp/ddclient_ip-up.local | 40 + .../system/ddclient.service.d/50koozali.conf | 5 + .../lib/SrvMngr/Controller/Ddclient.pm | 1015 ++++++++++++ .../lib/SrvMngr/I18N/Modules/Ddclient/en.pm | 158 ++ .../themes/default/templates/ddclient.html.ep | 48 + .../partials/_ddc_create_cust.html.ep | 65 + .../partials/_ddc_customlist.html.ep | 50 + .../templates/partials/_ddc_del.html.ep | 14 + .../partials/_ddc_domainlist.html.ep | 52 + .../partials/_ddc_modify_domain.html.ep | 108 ++ .../templates/partials/_ddc_paramlist.html.ep | 136 ++ smeserver-ddclient.spec | 344 ++++ 65 files changed, 12379 insertions(+), 2 deletions(-) create mode 100644 .gitignore create mode 100644 Makefile create mode 100644 additional/CHANGELOG.git create mode 100644 additional/COPYING create mode 100644 additional/LICENSE create mode 100644 additional/README.md create mode 100644 additional/debugfiles.list create mode 100644 additional/debugsources.list create mode 100644 additional/smeserver-ddclient.spec create mode 100644 contriborbase create mode 100644 createlinks create mode 100644 root/etc/ddclient/ddclient.conf create mode 100644 root/etc/e-smith/db/configuration/defaults/ddclient/DeamonUpdate create mode 100644 root/etc/e-smith/db/configuration/defaults/ddclient/SSL create mode 100644 root/etc/e-smith/db/configuration/defaults/ddclient/status create mode 100644 root/etc/e-smith/db/configuration/defaults/ddclient/syslog create mode 100644 root/etc/e-smith/db/configuration/defaults/ddclient/type create mode 100644 root/etc/e-smith/db/configuration/defaults/ddclient/urlcheckip create mode 100644 root/etc/e-smith/db/domains/migrate/80ddclient create mode 100644 root/etc/e-smith/locale/bg/etc/e-smith/web/functions/ddclient create mode 100644 root/etc/e-smith/locale/da/etc/e-smith/web/functions/ddclient create mode 100644 root/etc/e-smith/locale/de/etc/e-smith/web/functions/ddclient create mode 100644 root/etc/e-smith/locale/el/etc/e-smith/web/functions/ddclient create mode 100644 root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/ddclient create mode 100644 root/etc/e-smith/locale/es/etc/e-smith/web/functions/ddclient create mode 100644 root/etc/e-smith/locale/et/etc/e-smith/web/functions/ddclient create mode 100644 root/etc/e-smith/locale/fr/etc/e-smith/web/functions/ddclient create mode 100644 root/etc/e-smith/locale/he/etc/e-smith/web/functions/ddclient create mode 100644 root/etc/e-smith/locale/hu/etc/e-smith/web/functions/ddclient create mode 100644 root/etc/e-smith/locale/id/etc/e-smith/web/functions/ddclient create mode 100644 root/etc/e-smith/locale/it/etc/e-smith/web/functions/ddclient create mode 100644 root/etc/e-smith/locale/ja/etc/e-smith/web/functions/ddclient create mode 100644 root/etc/e-smith/locale/nb/etc/e-smith/web/functions/ddclient create mode 100644 root/etc/e-smith/locale/nl/etc/e-smith/web/functions/ddclient create mode 100644 root/etc/e-smith/locale/pl/etc/e-smith/web/functions/ddclient create mode 100644 root/etc/e-smith/locale/pt-br/etc/e-smith/web/functions/ddclient create mode 100644 root/etc/e-smith/locale/pt/etc/e-smith/web/functions/ddclient create mode 100644 root/etc/e-smith/locale/ro/etc/e-smith/web/functions/ddclient create mode 100644 root/etc/e-smith/locale/ru/etc/e-smith/web/functions/ddclient create mode 100644 root/etc/e-smith/locale/sl/etc/e-smith/web/functions/ddclient create mode 100644 root/etc/e-smith/locale/sv/etc/e-smith/web/functions/ddclient create mode 100644 root/etc/e-smith/locale/th/etc/e-smith/web/functions/ddclient create mode 100644 root/etc/e-smith/locale/tr/etc/e-smith/web/functions/ddclient create mode 100644 root/etc/e-smith/locale/zh-cn/etc/e-smith/web/functions/ddclient create mode 100644 root/etc/e-smith/locale/zh-tw/etc/e-smith/web/functions/ddclient create mode 100644 root/etc/e-smith/templates.metadata/etc/ddclient/ddclient.conf create mode 100644 root/etc/e-smith/templates/etc/ddclient/ddclient.conf/10Headers create mode 100644 root/etc/e-smith/templates/etc/ddclient/ddclient.conf/20Declaration create mode 100644 root/etc/e-smith/templates/etc/ppp/ip-up.local/45ddclient create mode 100644 root/etc/e-smith/templates/usr/lib/systemd/system/ddclient.service.d/50koozali.conf/20Service create mode 100644 root/etc/e-smith/templates/usr/lib/systemd/system/ddclient.service.d/50koozali.conf/30Install create mode 100755 root/etc/e-smith/web/functions/ddclient create mode 100755 root/etc/ppp/ddclient_ip-up.local create mode 100644 root/usr/lib/systemd/system/ddclient.service.d/50koozali.conf create mode 100644 root/usr/share/smanager/lib/SrvMngr/Controller/Ddclient.pm create mode 100644 root/usr/share/smanager/lib/SrvMngr/I18N/Modules/Ddclient/en.pm create mode 100644 root/usr/share/smanager/themes/default/templates/ddclient.html.ep create mode 100644 root/usr/share/smanager/themes/default/templates/partials/_ddc_create_cust.html.ep create mode 100644 root/usr/share/smanager/themes/default/templates/partials/_ddc_customlist.html.ep create mode 100644 root/usr/share/smanager/themes/default/templates/partials/_ddc_del.html.ep create mode 100644 root/usr/share/smanager/themes/default/templates/partials/_ddc_domainlist.html.ep create mode 100644 root/usr/share/smanager/themes/default/templates/partials/_ddc_modify_domain.html.ep create mode 100644 root/usr/share/smanager/themes/default/templates/partials/_ddc_paramlist.html.ep create mode 100644 smeserver-ddclient.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..cbb3a13 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +*.rpm +*.log +*spec-20* +*.tar.gz diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..bedf44f --- /dev/null +++ b/Makefile @@ -0,0 +1,21 @@ +# Makefile for source rpm: smeserver-ddclient +# $Id: Makefile,v 1.1 2020/05/08 08:56:26 brianr Exp $ +NAME := smeserver-ddclient +SPECFILE = $(firstword $(wildcard *.spec)) + +define find-makefile-common +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +endef + +MAKEFILE_COMMON := $(shell $(find-makefile-common)) + +ifeq ($(MAKEFILE_COMMON),) +# attept a checkout +define checkout-makefile-common +test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 +endef + +MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) +endif + +include $(MAKEFILE_COMMON) diff --git a/README.md b/README.md index fd7c9d7..c2d0d28 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,16 @@ -# smeserver-ddclient +# smeserver-ddclient -SMEServer Koozali developed git repo for smeserver-ddclient smecontribs \ No newline at end of file +SMEServer Koozali developed git repo for smeserver-ddclient smecontribs + +## Wiki +
https://wiki.koozali.org/Ddclient +
https://wiki.koozali.org/Ddclient-help + +## Bugzilla +Show list of outstanding bugs: [here](https://bugs.koozali.org/buglist.cgi?component=smeserver-ddclient&product=SME%20Contribs&query_format=advanced&limit=0&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=CONFIRMED) + +## Description + +
*This description has been generated by an LLM AI system and cannot be relied on to be fully correct.* +*Once it has been checked, then this comment will be deleted* +
diff --git a/additional/CHANGELOG.git b/additional/CHANGELOG.git new file mode 100644 index 0000000..7877a66 --- /dev/null +++ b/additional/CHANGELOG.git @@ -0,0 +1,84 @@ +commit 93889b252f2b1e3ff0fe3f8c5461d6638846e472 +Author: Stephane de Labrusse +Date: Fri Aug 29 15:47:37 2014 +0200 + + added ssl + +commit 80788ffca76392187530211d3a22b2551a89fe4c +Author: Stephane de Labrusse +Date: Fri Aug 29 15:45:46 2014 +0200 + + added ssl + +commit e99eb33b7090184ba0677ef29a71a610dbb57d52 +Author: Stephane de Labrusse +Date: Wed Aug 27 00:13:16 2014 +0200 + + add a db to set the deamon update + +commit be331f8e59372bd05c6a9a044af6e76199376973 +Author: Stephane de Labrusse +Date: Tue Aug 26 23:48:49 2014 +0200 + + add a db to set the deamon update + +commit 5bdb0cb1023b08f8a0b3ee5ee39727ad7de30637 +Author: Stephane de Labrusse +Date: Tue Aug 26 23:44:51 2014 +0200 + + add a db to set the deamon update + +commit 3ef0ed2d0c1f8217e6dbea0c0f7fc2a8469096d2 +Author: Stephane de Labrusse +Date: Tue Aug 26 22:06:11 2014 +0200 + + namecheap + +commit f06ff2755bb40e4579f2c1b2f65d353ab5f2403f +Author: Stephane de Labrusse +Date: Mon Aug 25 08:51:10 2014 +0200 + + added the namecheap protocol + +commit a3b351e8d825c176fca6492c2b39752452c4881d +Author: Stephane de Labrusse +Date: Mon Aug 25 08:48:50 2014 +0200 + + added the namecheap protocol + +commit da1df58146515be7e641d228adeb6cf1c4a6d22f +Author: Stephane de Labrusse +Date: Mon Aug 25 08:41:50 2014 +0200 + + added the namecheap protocol + +commit 245958e7341d4094bc6892bc5d65d0bd2e56f396 +Author: Stephane de Labrusse +Date: Mon Aug 25 08:32:25 2014 +0200 + + added the namecheap protocol + +commit 1e7e4c4bdbd2d95b2912696d2633ca13477460ea +Author: Stephane de Labrusse +Date: Mon Aug 25 08:31:34 2014 +0200 + + added the namecheap protocol + +commit 895e5ad856d5ba05c99e669ea8058ae9c12eece9 +Author: Stephane de Labrusse +Date: Mon Aug 25 08:30:45 2014 +0200 + + added the namecheap protocol + +commit 775931461d6d330c6b7408ff087f57c226f3b39e +Author: Stephane de Labrusse +Date: Sat Jun 21 14:17:00 2014 +0200 + + * Tue Jun 10 2014 stephane de Labrusse - 1.2.0-1.sme + - Initial release to sme9contribs + +commit 9bc41511091499a36eadfe5bf225163525597363 +Author: Stephane de Labrusse +Date: Sat Jun 21 14:09:46 2014 +0200 + + Initial commit diff --git a/additional/COPYING b/additional/COPYING new file mode 100644 index 0000000..eeb586b --- /dev/null +++ b/additional/COPYING @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) 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 +this service 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 make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. 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. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute 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 and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +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 +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the 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 a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, 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. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE 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. + + 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 +convey 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) 19yy + + 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 2 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, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision 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, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This 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 Library General +Public License instead of this License. diff --git a/additional/LICENSE b/additional/LICENSE new file mode 100644 index 0000000..22fbe5d --- /dev/null +++ b/additional/LICENSE @@ -0,0 +1,339 @@ +GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) 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 +this service 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 make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. 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. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute 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 and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +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 +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the 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 a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, 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. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE 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. + + 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 +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + {description} + Copyright (C) {year} {fullname} + + 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 2 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, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision 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, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + {signature of Ty Coon}, 1 April 1989 + Ty Coon, President of Vice + +This 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. \ No newline at end of file diff --git a/additional/README.md b/additional/README.md new file mode 100644 index 0000000..b1f2c60 --- /dev/null +++ b/additional/README.md @@ -0,0 +1,4 @@ +smeserver-ddclient +================== + +A contrib to simplify the setting of dynamic IP service providers diff --git a/additional/debugfiles.list b/additional/debugfiles.list new file mode 100644 index 0000000..e69de29 diff --git a/additional/debugsources.list b/additional/debugsources.list new file mode 100644 index 0000000..e69de29 diff --git a/additional/smeserver-ddclient.spec b/additional/smeserver-ddclient.spec new file mode 100644 index 0000000..79dde57 --- /dev/null +++ b/additional/smeserver-ddclient.spec @@ -0,0 +1,165 @@ +# $Id: smeserver-ddclient.spec,v 1.8 2013/12/31 07:04:47 unnilennium Exp $ +# Authority: dungog +# Name: Stephen Noble + +%define name smeserver-ddclient +%define version 1.2.1 +%define release 1 + +Summary: ddclient panel for SME Server +Name: %{name} +Version: %{version} +Release: %{release}%{?dist} +License: GNU GPL version 2 +Group: SMEserver/addon +Source: %{name}-%{version}.tar.gz +BuildRoot: /var/tmp/%{name}-%{version}-%{release}-buildroot +BuildRequires: e-smith-devtools +Obsoletes: sme7-ddclient +BuildArchitectures: noarch +Requires: e-smith-release >= 9.0 +Requires: ddclient >= 3.8.1 +Requires: e-smith-formmagick +AutoReqProv: no + +%changelog +* Mon Aug 25 2014 stephane de Labrusse - 1.2.1-1.sme +- Added the Namecheap protocol [SME:8538] +- Added a db DeamonUpdate +- Added force ssl + +* Tue Jun 10 2014 stephane de Labrusse - 1.2.0-1.sme +- Initial release to sme9contribs + +* Mon Dec 30 2013 JP Pialasse 1.0.0-30.sme +- fix db extras need to migrate [SME: 6494] +- added misisng prop login + +* Tue Dec 3 2013 JP Pialasse 1.0.0-28.sme +- patch fix for translation + +* Tue Nov 26 2013 stephane de Labrusse 1.0.0-27.sme +- 5 more dynamic dns services (DtDNS, Loopia, dnspark.com, OVH DynHost,Noip ,changeip) [SME:8019] + +* Mon Jul 25 2013 stephane de Labrusse 1.0.0-26.sme +- modify the path of template ddclient.conf [SME: 8018] + +* Sun Jul 14 2013 JP Pialasse 1.0.0-24.sme +- apply locale 2013-07-14 patch + +* Sun Mar 06 2011 SME Translation Server 1.0.0-23.sme +- apply locale 2011-03-06 patch + +* Sun May 23 2010 SME Translation Server 1.0.0-22.sme +- apply locale 2010-05-23 patch + +* Tue Mar 02 2010 SME Translation Server 1.0.0-21.sme +- apply locale 2010-03-02 patch + +* Tue Oct 27 2009 SME Translation Server 1.0.0-20.sme +- apply locale 2009-10-27 patch + +* Wed Oct 21 2009 SME Translation Server 1.0.0-19.sme +- apply locale 2009-10-21 patch + +* Thu Oct 8 2009 Filippo Carletti 1.0.0-18.sme +- Merged dyndns db into domains db +- Template and cgi cleanup +- Fixed template expansion in events + +* Mon Aug 24 2009 SME Translation Server 1.0.0-17.sme +- apply locale 2009-08-24 patch + +* Mon Apr 27 2009 SME Translation Server 1.0.0-16.sme +- apply locale 2009-04-27 patch + +* Tue Mar 03 2009 SME Translation Server +- apply locale 2009-03-03 patch + +* Sun Mar 1 2009 Jonathan Martens 1.0.0-14 +- Apply 1 Mar 2009 locale patch [SME: 5018] + +* Sat Jan 31 2009 Jonathan Martens 1.0.0-13 +- Apply 31 Jan 2009 locale patch [SME: 4951] + +* Thu Jan 1 2009 Jonathan Martens 1.0.0-12 +- Apply 1 Jan 2009 locale patch [SME: 4900] + +* Sun Nov 30 2008 Jonathan Martens 1.0.0-11 +- Apply 30 Nov 2008 locale patch + +* Wed Nov 5 2008 Jonathan Martens 1.0.0-10 +- Apply 5 Nov 2008 locale patch + +* Tue Oct 14 2008 Jonathan Martens 1.0.0-9 +- Apply 14 Oct 2008 locale patch + +* Tue Jul 1 2008 Jonathan Martens 1.0.0-8 +- Apply 1 July 2008 locale patch + +* Wed Jun 25 2008 Jonathan Martens 1.0.0-7 +- Apply 25 Jun 2008 locale patch + +* Thu May 21 2008 Jonathan Martens 1.0.0-6 +- Apply 21 May 2008 locale patch + +* Mon May 5 2008 Jonathan Martens 1.0.0-5 +- Apply 5 May 2008 locale patch + +* Sat Apr 26 2008 Jonathan Martens 1.0.0-4 +- Added 26 April 2008 locale patch +- Add common tags to e-smith-formmagick's general + +* Wed Apr 23 2008 Jonathan Martens 1.0.0-3 +- Added 23 April 2008 locale patch +- Removed version number from spec file + +* Wed Apr 23 2008 Stephen Noble 1.0.0-2 +- prepare for import to smecontribs +- links moved to createlinks +- en lexicon split from function +- fr and de lexicons removed, add back in pootle + +* Sat Jan 20 2007 Paul Floor +- ver 1.0 rel 1: split into smeserver-ddclient and ddclient +- removed heartbeat + +* Sun Nov 12 2006 Filali-Ansary Vincent +- ver 3.7 rel 1: change for the new ddclient client + +* Sat Aug 19 2006 Filali-Ansary Vincent +- rel 8: change checkip.sjc.dyndns.org by checkip.dyndns.org + +* Mon Aug 7 2006 Filali-Ansary Vincent +- rel 7: repair the custom eurodyndns options on ddclient.conf. + +* Mon Jul 31 2006 Filali-Ansary Vincent +- rel 6: repair the custom dyndns options on ddclient.conf. + +* Fri Jun 30 2006 Filali-Ansary Vincent +- rel 5: change checkip.dyndns.org by checkip.sjc.dyndns.org + +* Tue May 09 2006 Filali-Ansary Vincent +- initial release + +%description +ddclient panel and config files for SME9. + +%prep +%setup + +%build +perl createlinks + +%install +rm -rf $RPM_BUILD_ROOT +(cd root ; find . -depth -print | cpio -ldump $RPM_BUILD_ROOT) +rm -f %{name}-%{version}-filelist +/sbin/e-smith/genfilelist $RPM_BUILD_ROOT > %{name}-%{version}-filelist +echo "%doc COPYING" >> %{name}-%{version}-filelist + +%clean +rm -rf $RPM_BUILD_ROOT + +%files -f %{name}-%{version}-filelist +%defattr(-,root,root) diff --git a/contriborbase b/contriborbase new file mode 100644 index 0000000..9b7fd51 --- /dev/null +++ b/contriborbase @@ -0,0 +1 @@ +contribs10 diff --git a/createlinks b/createlinks new file mode 100644 index 0000000..721b78c --- /dev/null +++ b/createlinks @@ -0,0 +1,61 @@ +#! /usr/bin/perl -w + +use esmith::Build::CreateLinks qw(:all); + +panel_link("ddclient", 'manager'); + +# our event specific for updating with yum without reboot +$event = "smeserver-ddclient-update"; + +foreach my $file (qw( + /etc/systemd/system-preset/49-koozali.preset + /etc/ddclient/ddclient.conf + /etc/ppp/ip-up.local + /usr/lib/systemd/system/ddclient.service.d/50koozali.conf + )) +{ + templates2events( $file, $event ); +} + + +#action needed in case we have a systemd unit +event_link("systemd-default", $event, "10"); +event_link("systemd-reload", $event, "50"); + +#action specific to this package +#event_link("conf-timezone", $event, "30"); + + +#services we need to restart +safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/ddclient"); + + +#service_link_enhanced("ddclient", "S65", "7"); + + +$event = 'domain-create'; + safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/ddclient"); + templates2events("/etc/ddclient/ddclient.conf", $event); + +$event = 'domain-delete'; + safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/ddclient"); + templates2events("/etc/ddclient/ddclient.conf", $event); + +$event = 'domain-modify'; + safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/ddclient"); + templates2events("/etc/ddclient/ddclient.conf", $event); + +$event = 'bootstrap-console-save'; + safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/ddclient"); + templates2events("/etc/ddclient/ddclient.conf", $event); + +$event = 'console-save'; + safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/ddclient"); + templates2events("/etc/ddclient/ddclient.conf", $event); + +#$event = 'post-upgrade'; +# templates2events("/etc/ddclient/ddclient.conf", $event); +# templates2events("/etc/ppp/ip-up.local", $event); + +# and create an empty cache +# safe_touch("/var/cache/ddclient/ddclient.cache") diff --git a/root/etc/ddclient/ddclient.conf b/root/etc/ddclient/ddclient.conf new file mode 100644 index 0000000..f29d0a4 --- /dev/null +++ b/root/etc/ddclient/ddclient.conf @@ -0,0 +1,290 @@ +###################################################################### +## +## Define default global variables with lines like: +## var=value [, var=value]* +## These values will be used for each following host unless overridden +## with a local variable definition. +## +## Define local variables for one or more hosts with: +## var=value [, var=value]* host.and.domain[,host2.and.domain...] +## +## Lines can be continued on the following line by ending the line +## with a \ +## +## +## Warning: not all supported routers or dynamic DNS services +## are mentioned here. +## +## AND THIS FILE IS OUT OF DATE - IN PARTICULAR THE USE OF "use" and "web" is deprecated! +## (bjr Nov2023) +###################################################################### +daemon=300 # check every 300 seconds +syslog=yes # log update msgs to syslog +#mail=root # mail all msgs to root +mail-failure=root # mail failed update msgs to root +pid=/var/run/ddclient/ddclient.pid # record PID in file. +ssl=yes # use ssl-support. Works with + # ssl-library +# postscript=script # run script after updating. The + # new IP is added as argument. +# +#use=watchguard-soho, fw=192.168.111.1:80 # via Watchguard's SOHO FW +#use=netopia-r910, fw=192.168.111.1:80 # via Netopia R910 FW +#use=smc-barricade, fw=192.168.123.254:80 # via SMC's Barricade FW +#use=netgear-rt3xx, fw=192.168.0.1:80 # via Netgear's internet FW +#use=linksys, fw=192.168.1.1:80 # via Linksys's internet FW +#use=maxgate-ugate3x00, fw=192.168.0.1:80 # via MaxGate's UGATE-3x00 FW +#use=elsa-lancom-dsl10, fw=10.0.0.254:80 # via ELSA LanCom DSL/10 DSL Router +#use=elsa-lancom-dsl10-ch01, fw=10.0.0.254:80 # via ELSA LanCom DSL/10 DSL Router +#use=elsa-lancom-dsl10-ch02, fw=10.0.0.254:80 # via ELSA LanCom DSL/10 DSL Router +#use=alcatel-stp, fw=10.0.0.138:80 # via Alcatel Speed Touch Pro +#use=xsense-aero, fw=192.168.1.1:80 # via Xsense Aero Router +#use=allnet-1298, fw=192.168.1.1:80 # via AllNet 1298 DSL Router +#use=3com-oc-remote812, fw=192.168.0.254:80 # via 3com OfficeConnect Remote 812 +#use=e-tech, fw=192.168.1.1:80 # via E-tech Router +#use=cayman-3220h, fw=192.168.0.1:1080 # via Cayman 3220-H DSL Router +# +#fw-login=admin, fw-password=XXXXXX # FW login and password +# +## To obtain an IP address from FW status page (using fw-login, fw-password) +#use=fw, fw=192.168.1.254/status.htm, fw-skip='IP Address' # found after IP Address +# +## To obtain an IP address from Web status page (using the proxy if defined) +## by default, checkip.dyndns.org is used if you use the dyndns protocol. +## Using use=web is enough to get it working. +## WARNING: set deamon at least to 600 seconds if you use checkip or you could +## get banned from their service. +#use=web, web=checkip.dyndns.org/, web-skip='IP Address' # found after IP Address +# +#use=ip, ip=127.0.0.1 # via static IP's +#use=if, if=eth0 # via interfaces +#use=web # via web +# +#protocol=dyndns2 # default protocol +#proxy=fasthttp.sympatico.ca:80 # default proxy +#server=members.dyndns.org # default server +#server=members.dyndns.org:8245 # default server (bypassing proxies) + +#login=your-login # default login +#password=test # default password +#mx=mx.for.your.host # default MX +#backupmx=yes|no # host is primary MX? +#wildcard=yes|no # add wildcard CNAME? + +## +## dyndns.org dynamic addresses +## +## (supports variables: wildcard,mx,backupmx) +## +# server=members.dyndns.org, \ +# protocol=dyndns2 \ +# your-dynamic-host.dyndns.org + +## +## dyndns.org static addresses +## +## (supports variables: wildcard,mx,backupmx) +## +# static=yes, \ +# server=members.dyndns.org, \ +# protocol=dyndns2 \ +# your-static-host.dyndns.org + +## +## +## dyndns.org custom addresses +## +## (supports variables: wildcard,mx,backupmx) +## +# custom=yes, \ +# server=members.dyndns.org, \ +# protocol=dyndns2 \ +# your-domain.top-level,your-other-domain.top-level + +## +## ZoneEdit (zoneedit.com) +## +# server=dynamic.zoneedit.com, \ +# protocol=zoneedit1, \ +# login=your-zoneedit-login, \ +# password=your-zoneedit-password \ +# your.any.domain,your-2nd.any.dom + +## +## EasyDNS (easydns.com) +## +# server=members.easydns.com, \ +# protocol=easydns, \ +# login=your-easydns-login, \ +# password=your-easydns-password \ +# your.any.domain,your-2nd.any.domain + +## +## Hammernode (hn.org) dynamic addresses +## +# server=dup.hn.org, \ +# protocol=hammernode1, \ +# login=your-hn-login, \ +# password=your-hn-password \ +# your-hn-host.hn.org,your-2nd-hn-host.hn.org + +## +## dslreports.com dynamic-host monitoring +## +# server=members.dslreports.com \ +# protocol=dslreports1, \ +# login=dslreports-login, \ +# password=dslreports-password \ +# dslreports-unique-id + +## +## OrgDNS.org account-configuration +## +# use=web, web=members.orgdns.org/nic/ip +# server=www.orgdns.org \ +# protocol=dyndns2 \ +# login=yourLoginName \ +# password=yourPassword \ +# yourSubdomain.orgdns.org + +## +## dnspark.com +## (supports variables: mx, mxpri) +## +# use=web, web=ipdetect.dnspark.com, web-skip='Current Address:' +# protocol=dnspark, \ +# server=www.dnspark.com, \ +# your-host.dnspark.com + +## +## NameCheap (namecheap.com) +## +# protocol=namecheap, \ +# server=dynamicdns.park-your-domain.com, \ +# login=my-namecheap.com-login, \ +# password=my-namecheap.com-password \ +# fully.qualified.host + +## +## NearlyFreeSpeech.NET (nearlyfreespeech.net) +## +# protocol = nfsn, \ +# login=member-login, \ +# password=api-key, \ +# zone=example.com \ +# example.com,subdomain.example.com + +## +## +## Loopia (loopia.se) +## +# use=web +# web=loopia +# protocol=dyndns2 +# server=dns.loopia.se +# script=/XDynDNSServer/XDynDNS.php +# login=my-loopia.se-login +# password=my-loopia.se-password +# my.domain.tld,other.domain.tld + +## +## +## ChangeIP (changeip.com) +## +## single host update +# protocol=changeip, \ +# login=my-my-changeip.com-login, \ +# password=my-changeip.com-password \ +# myhost.changeip.org + +## +## DtDNS (www.dtdns.com) +## +# protocol=dtdns, +# server=www.dtdns.com, +# client=ddclient, +# password=my-dtdns.com-password +# myhost.dtdns.net, otherhost.dtdns.net + +## +## CloudFlare (www.cloudflare.com) +## +#protocol=cloudflare, \ +#zone=domain.tld, \ +#ttl=1, \ +#login=your-login-email, \ +#password=APIKey \ +#domain.tld,my.domain.tld + +## +## Google Domains (www.google.com/domains) +## +# protocol=googledomains, +# login=my-auto-generated-username, +# password=my-auto-generated-password +# my.domain.tld, otherhost.domain.tld + +## +## Duckdns (http://www.duckdns.org/) +## +# +# password=my-auto-generated-password +# protocol=duckdns hostwithoutduckdnsorg + +## +## Freemyip (http://freemyip.com/) +## +# +# protocol=freemyip, +# password=my-token +# myhost + +## +## MyOnlinePortal (http://myonlineportal.net) +## +# protocol=dyndns2 +# ssl=yes +# # ipv6=yes # optional +# use=web, web=myonlineportal.net/checkip +# # use=if, if=eth0 # alternative to use=web +# # if-skip=Scope:Link # alternative to use=web +# login=your-myonlineportal-username +# password=your-myonlineportal-password +# domain.myonlineportal.net + +## +## nsupdate.info IPV4(https://www.nsupdate.info) +## +#protocol=dyndns2 +#use=web, web=http://ipv4.nsupdate.info/myip +#server=ipv4.nsupdate.info +#login=domain.nsupdate.info +#password='123' +#domain.nsupdate.info + +## +## nsupdate.info IPV6 (https://www.nsupdate.info) +## ddclient releases <= 3.8.1 do not support IPv6 +## +#protocol=dyndns2 +#usev6=if, if=eth0 +#server=ipv6.nsupdate.info +#login=domain.nsupdate.info +#password='123' +#domain.nsupdate.info + +## +## Yandex.Mail for Domain (domain.yandex.com) +## +# protocol=yandex, \ +# login=domain.tld, \ +# password=yandex-pdd-token \ +# my.domain.tld,other.domain.tld \ + +## DNS Made Easy (https://dnsmadeeasy.com) +## +# protocol=dnsmadeeasy, +# login=your-account-email-address +# password=your-generated-password +# your-numeric-record-id-1,your-numeric-record-id-2,... + diff --git a/root/etc/e-smith/db/configuration/defaults/ddclient/DeamonUpdate b/root/etc/e-smith/db/configuration/defaults/ddclient/DeamonUpdate new file mode 100644 index 0000000..2921a15 --- /dev/null +++ b/root/etc/e-smith/db/configuration/defaults/ddclient/DeamonUpdate @@ -0,0 +1 @@ +360 diff --git a/root/etc/e-smith/db/configuration/defaults/ddclient/SSL b/root/etc/e-smith/db/configuration/defaults/ddclient/SSL new file mode 100644 index 0000000..7cfab5b --- /dev/null +++ b/root/etc/e-smith/db/configuration/defaults/ddclient/SSL @@ -0,0 +1 @@ +yes diff --git a/root/etc/e-smith/db/configuration/defaults/ddclient/status b/root/etc/e-smith/db/configuration/defaults/ddclient/status new file mode 100644 index 0000000..86981e6 --- /dev/null +++ b/root/etc/e-smith/db/configuration/defaults/ddclient/status @@ -0,0 +1 @@ +enabled diff --git a/root/etc/e-smith/db/configuration/defaults/ddclient/syslog b/root/etc/e-smith/db/configuration/defaults/ddclient/syslog new file mode 100644 index 0000000..26ed6c9 --- /dev/null +++ b/root/etc/e-smith/db/configuration/defaults/ddclient/syslog @@ -0,0 +1 @@ +enabled \ No newline at end of file diff --git a/root/etc/e-smith/db/configuration/defaults/ddclient/type b/root/etc/e-smith/db/configuration/defaults/ddclient/type new file mode 100644 index 0000000..24e1098 --- /dev/null +++ b/root/etc/e-smith/db/configuration/defaults/ddclient/type @@ -0,0 +1 @@ +service diff --git a/root/etc/e-smith/db/configuration/defaults/ddclient/urlcheckip b/root/etc/e-smith/db/configuration/defaults/ddclient/urlcheckip new file mode 100644 index 0000000..14874f4 --- /dev/null +++ b/root/etc/e-smith/db/configuration/defaults/ddclient/urlcheckip @@ -0,0 +1 @@ +checkip.dyndns.org diff --git a/root/etc/e-smith/db/domains/migrate/80ddclient b/root/etc/e-smith/db/domains/migrate/80ddclient new file mode 100644 index 0000000..f675d1a --- /dev/null +++ b/root/etc/e-smith/db/domains/migrate/80ddclient @@ -0,0 +1,64 @@ +{ +my $filename = '/home/e-smith/db/extras'; +return 0 +unless (-e $filename); + + +use esmith::ConfigDB; + +##use db domain or die if doesn't exist +my $domaindb = esmith::ConfigDB->open('/home/e-smith/db/domains'); + +##use db extras or die if doesn't exist +my $edb = esmith::ConfigDB->open($filename); + + if (defined $edb) + { + foreach my $extradomain ($edb->get_all_by_prop(type=>'ddhost')) + { + my $currentdom = $extradomain->key; + my $descddhost = $edb->get_prop("$currentdom", "desc") || "ddhost migrated domain"; + my $dnsddhost = $edb->get_prop("$currentdom", "dns"); + my $mxddhost = $edb->get_prop("$currentdom", "mx"); + my $passwordddhost = $edb->get_prop("$currentdom", "password"); + my $login = $edb->get_prop("$currentdom", "login"); + + $domaindb->new_record( "$currentdom" ); + $domaindb->set_value( "$currentdom" , "domain" ); + $domaindb->set_prop( "$currentdom" , "Description" , "$descddhost" ); + $domaindb->set_prop( "$currentdom" , "dns" , "$dnsddhost" ) if defined $dnsddhost; + $domaindb->set_prop( "$currentdom" , "mx" , "$mxddhost") if defined $mxddhost; + $domaindb->set_prop( "$currentdom" , "password" , "$passwordddhost" ) if defined $passwordddhost; + $domaindb->set_prop( "$currentdom" , "login" , "$login" ) if defined $login; + # followings set defaults values as a domain pointing to Primary ibay + # as even if they are not configured they will point there ! + # Nameservers are defined as internet, as they are dynamic domains, + # if admin wants to point as a localhost, he just has to do it in the manager + $domaindb->set_prop( "$currentdom" , "SystemPrimaryDomain" , "no" ); + $domaindb->set_prop( "$currentdom" , "Removable" , "yes" ); + $domaindb->set_prop( "$currentdom" , "Nameservers" , "internet" ); + $domaindb->set_prop( "$currentdom" , "Content" , "Primary" ); + } + + foreach my $extradomain ($edb->get_all_by_prop(type=>'domain')) + + { + my $currentdom = $extradomain->key; + # commented as we rather keep description already in domain + #my $descdomain = $edb->get_prop("$currentdom", "desc"); + my $dnsdomain = $edb->get_prop("$currentdom", "dns"); + my $mxdomain = $edb->get_prop("$currentdom", "mx"); + my $passworddomain = $edb->get_prop("$currentdom", "password"); + my $login = $edb->get_prop("$currentdom", "login"); + + #$domaindb->set_prop( "$currentdom" , "desc", "$descdomain" ); + $domaindb->set_prop( "$currentdom" , "dns" , "$dnsdomain" ) if defined $dnsdomain; + $domaindb->set_prop( "$currentdom" , "mx" , "$mxdomain" ) if defined $mxdomain; + $domaindb->set_prop( "$currentdom" , "password" , "$passworddomain" ) if defined $passworddomain; + $domaindb->set_prop( "$currentdom" , "login" , "$login" ) if defined $login; + } + +system ("/bin/mv $filename /home/e-smith/db/extras-migrated"); + + } +} diff --git a/root/etc/e-smith/locale/bg/etc/e-smith/web/functions/ddclient b/root/etc/e-smith/locale/bg/etc/e-smith/web/functions/ddclient new file mode 100644 index 0000000..b97bd56 --- /dev/null +++ b/root/etc/e-smith/locale/bg/etc/e-smith/web/functions/ddclient @@ -0,0 +1,278 @@ + + + FORM_TITLE + Създаване, премахване и промяна на публикация на виртуални домейни + + + FORM_DESCRIPTION + виртуален домейн за публикуване в мрежата. + + + NO_VIRTUAL_DOMAINS + Няма виртуални домейни в системата. + + + CURRENT_LIST_OF_DOMAINS + Текущ списък на виртуални домейни + + + PUBLICATION + публикуване + + + PRIMARY_SITE + основен сайт + + + CONTENT + {$content} инфо слот + + + CREATE_TITLE + Създай нова публикация на виртуален домейн + + + SERVERS_LABEL + къде да публикувам + + + MX + запис MX + + + NAME_LABEL + име за публикуването + + + PASSWORD_LABEL + парола за публикуването + + + CONTENT_FIELD_DESCRIPTION + За уеб сайт можете да изберете основния уеб сайт или всеки инфо слот за съдържание. + + + DOMAIN_NAME_VALIDATION_ERROR + Грешка: неочакван или липсващ символ в името на домейна {$domainName}. Името на домейна трябва да съдържа една или повече букви, цифри, точки и знаци минус. Новия домейна не бе създаден. + + + DOMAIN_DESCRIPTION_VALIDATION_ERROR + Грешка: неочакван или липсващ символ в описанието на домейна {$domainName}. Новия домейна не бе създаден. + + + DOMAIN_IN_USE_ERROR + Грешка: домейнът {$domainName} вече се ползва. Новия домейна не бе създаден. + + + RESERVED_SECURE_DOMAIN_ERROR + Грешка: домейнът {$domainName} е резервиран за предоставяне на сигурен уеб сървър за виртуален домейн {$key}. Не беше създаден нов домейн. + + + SYSTEM_DOMAIN_ERROR + Грешка: домейнът {$domainName} е вашият системен домейн. Не можете да имате виртуален домейн със същото име. Не беше създаден нов домейн. + + + RESERVED_SECURE_SYSTEM_DOMAIN_ERROR + Грешка: домейнът {$domainName} е резервиран за предоставяне на сигурен уеб сървър за системния домейн {$systemDomain}. Не беше създаден нов домейн. + + + SUCCESSFULLY_CREATED + Успешно публикуване на домейн {$domainName} на {$dns}. + + + MODIFY_TITLE + Промяна на виртуален домейн + + + NONEXISTENT_DOMAIN_ERROR + Грешка: Домейн {$domainName} не съществува. + + + SUCCESSFULLY_MODIFIED + Успешно променена публикация на {$domainName} on {$dns}. + + + REMOVE_TITLE + Премахване на публикация на виртуален домейн + + + REMOVE_DESCRIPTION + Ще премахнете публикация на домейн {$domain} ({$domainDesc}) на {$dns}.

Сигурни ли сте че искате да премахнете тази публикация на домейна?

]]>
+
+ + ERROR_WHILE_REMOVING_DOMAIN + Грешка: вътрешна грешка при премахване на публикация на {$domain}. + + + SUCCESSFULLY_DELETED + Успешно изтрита публикация на of {$domain} от {$dns}. + + + DYNDNS1 + динамични адреси от dyndns.org + + + DYNDNS2 + статични адреси от dyndns.org + + + DYNDNS3 + потребителски адреси от dyndns.org + + + ZONEDIT + ZoneEdit (zoneedit.com) + + + EASYDNS + EasyDNS (easydns.com) + + + HAMMER + Динамични адреси от Hammernode (hn.org) + + + DSLREPORTS + Наблюдение на динамични хостове от dslreports.com + + + EURODYNDNS + динамични адреси от eurodyndns.org + + + DTDNS + Динамични адреси от DtDNS (www.dtdns.com) + + + LOOPIA + Динамични адреси от Loopia (loopia.se) + + + DNSPARK + Динамични адреси от Dnspark (dnspark.com) + + + DYNHOST + Динамични адреси от DynHost (ovh.com) + + + NOIP + Динамични адреси от NoIP (noip.com) + + + CHANGEIP + Динамични адреси от ChangeIP (changeip.com) + + + NAMECHEAP + Динамични адреси от NAMECHEAP (namecheap.com) + + + SPDNS + динамични адреси от SPDNS (spdns.de) + + + CUSTOMDNS + Потребителски доставчик на динамичен DNS + + + CUSTOMDNS_LABEL + Потребителски адрес на сървъра + + + CUSTOM_PROTOCOL_LABEL + Потребителски протокол за ddclient + + + CUSTOM_DESCRIPTION + Можете да използвате потребителски доставчик на динамичен DNS, ако вашият не е в публикувания списък. Моля, попълнете потребителските полета с съответните стойности + + + CUSTOMDNS_VALIDATION_ERROR + Грешка: неочакван или липсващ символ в името на потребителския сървър на домейна {$domainName}. Адресът на сървъра трябва да съдържа една или повече букви, цифри, точки и знаци минус. Промяната не е приложена. + + + ddclient + Динамичен клиент + + + DOMAIN_NAME_ALREADY_EXIST + Грешка: този домейн "{$domainName}" вече съществува. Моля, изберете друг. + + + FREE_FORM_DESCRIPTION + Тук можете да създадете всякакво име на домейн за да го публикувате чрез мрежата. + + + RETRIEVE_SSL + SSL актуализация + + + RETRIEVE_DEAMONUPDATE + Актуализация на Deamon (в секунди) + + + RETRIEVE_URLCHECKIP + URL за външен IP адрес + + + APPLY + Запис + + + DOMAIN_NAME_LABEL + Име на домейн + + + DESCRIPTION_LABEL + Описание на домейна + + + SUCCESSFULLY_MODIFIED_RETRIEVE_IP + Успешно променихте настройките за получаване на IP. + + + RETRIEVE_METHOD + Метод за получаване на нов IP адрес: + + + RETRIEVE_IF + Локален интерфейс за вземане на нов IP адрес, ако сте избрали метод по интерфейс + + + RETRIEVE_CMD + Команда за изпълнение за вземане на IP адрес, ако сте избрали метод чрез команда + + + SME external Interface + Външен интерфейс на SME + + + SME configuration DB + БД с конфигурация на SME + + + web + Web заявка + + + Interface + IP от интерфейс + + + IP + Ръчни настройки на IP адрес + + + Command + Команда за изпълнение + + + RETRIEVE_IP + IP адрес за ръчно форсиране + + + + + +
diff --git a/root/etc/e-smith/locale/da/etc/e-smith/web/functions/ddclient b/root/etc/e-smith/locale/da/etc/e-smith/web/functions/ddclient new file mode 100644 index 0000000..9613e4b --- /dev/null +++ b/root/etc/e-smith/locale/da/etc/e-smith/web/functions/ddclient @@ -0,0 +1,278 @@ + + + FORM_TITLE + Oprette, fjerne eller ændre på offentliggørelsen af virtuelle domæner + + + FORM_DESCRIPTION + virtuelt domæne til offentliggørelse på nettet. + + + NO_VIRTUAL_DOMAINS + Der er ikke nogen virtuelle domæner på serveren. + + + CURRENT_LIST_OF_DOMAINS + Aktuel liste over virtuelle domæner + + + PUBLICATION + offentliggørelse + + + PRIMARY_SITE + primært websted + + + CONTENT + {$content} i-bay + + + CREATE_TITLE + Oprette en ny offentliggørelse af et virtuelt domæne + + + SERVERS_LABEL + placering af offentliggørelsen + + + MX + record MX + + + NAME_LABEL + login til offentliggørelsen + + + PASSWORD_LABEL + adgangskode til offentliggørelsen + + + CONTENT_FIELD_DESCRIPTION + Som kilde for websideindholdet kan du vælge enten serverens primære webside eller en i-bay. + + + DOMAIN_NAME_VALIDATION_ERROR + Fejl: uventede eller manglende tegn i domænenavn {$domainName}. Domænenavnet skal indeholde et eller flere bogstaver, tal, punktum eller bindestreger. Domænet blev ikke oprettet. + + + DOMAIN_DESCRIPTION_VALIDATION_ERROR + Fejl: uventede eller manglende tegn i domænebeskrivelsen {$domainDesc}. Domænet blev ikke oprettet. + + + DOMAIN_IN_USE_ERROR + Fejl: domænenavn {$domainName} er allerede i brug. Domænet blev ikke oprettet. + + + RESERVED_SECURE_DOMAIN_ERROR + Fejl: Domænenavn {$domainName} er reserveret til sikker webserver for det virtuelle domænenavn {$key}. Domænet blev ikke oprettet. + + + SYSTEM_DOMAIN_ERROR + Fejl: Domænet {$domainName} er dit systems domænenavn. Du kan ikke have et virtuelt domæne med det samme navn. Domænet blev ikke oprettet. + + + RESERVED_SECURE_SYSTEM_DOMAIN_ERROR + Fejl: Domænenavn {$domainName} er reserveret til sikker webserver for dit systems domænenavn {$systemDomain}. Domænet blev ikke oprettet. + + + SUCCESSFULLY_CREATED + Domænenavnet {$domainName} er offentligtgjort på {$dns}. + + + MODIFY_TITLE + Rediger virtuelt domæne + + + NONEXISTENT_DOMAIN_ERROR + Fejl: {$domainName} findes ikke. + + + SUCCESSFULLY_MODIFIED + Ændrede offentliggørelsen af {$domainName} på {$dns}. + + + REMOVE_TITLE + Fjerne offentliggørelsen af virtuelt domæner + + + REMOVE_DESCRIPTION + Du er ved at fjerne offentliggørelsen af domænet {$domain} ({$domainDesc}) på {$dns}.

Er du sikker på, at du vil fjerne offentliggørelsen af dette domæne?

]]>
+
+ + ERROR_WHILE_REMOVING_DOMAIN + Fejl: intern fejl under fjernelse af offentliggørelsen for {$domain}. + + + SUCCESSFULLY_DELETED + Slettede offentliggørelsen af {$domain} på {$dns}. + + + DYNDNS1 + dyndns.org dynamiske adresser + + + DYNDNS2 + dyndns.org statiske adresser + + + DYNDNS3 + dyndns.org valgte adresser + + + ZONEDIT + ZoneEdit (zoneedit.com) + + + EASYDNS + EasyDNS (easydns.com) + + + HAMMER + Hammernode (hn.org) dynamiske adresser + + + DSLREPORTS + dslreports.com dynamisk værtsovervågning + + + EURODYNDNS + eurodyndns.org dynamiske adresser + + + DTDNS + DtDNS (www.dtdns.com) dynamiske adresser + + + LOOPIA + Loopia (loopia.se) dynamiske adresser + + + DNSPARK + Dnspark (dnspark.com) dynamiske adresser + + + DYNHOST + DynHost (ovh.com) dynamiske adresser + + + NOIP + NoIP (noip.com) dynamiske adresser + + + CHANGEIP + ChangeIP (changeip.com) dynamiske adresser + + + NAMECHEAP + NAMECHEAP (namecheap.com) dynamiske adresser + + + SPDNS + SPDNS (spdns.de) dynamiske adresser + + + CUSTOMDNS + Selvvalgt Dynamisk DNS service + + + CUSTOMDNS_LABEL + Selvvalgt server adresse + + + CUSTOM_PROTOCOL_LABEL + Selvvalgt ddclient Protokol + + + CUSTOM_DESCRIPTION + Du kan bruge en selvvalgt dynamisk dns udbyder hvis din ikke er på den publicerede liste. Udfyld de relavante felter med de nødvendige indstillinger + + + CUSTOMDNS_VALIDATION_ERROR + Fejl: uventede eller manglende tegn i selvvalgt server adresse for domænet {$domainName}. Domænenavnet skal indeholde et eller flere bogstaver, tal, punktum eller bindestreger. Domænet blev ikke oprettet. + + + ddclient + Dynamiske klienter + + + DOMAIN_NAME_ALREADY_EXIST + Fejl: domænenavn: "{$domainName}" er allerede i brug. Vælg venligst et andet.. + + + FREE_FORM_DESCRIPTION + Her kan oprettes ethvert domæne til offentliggørelse over nettet. + + + RETRIEVE_SSL + SSL opdatér + + + RETRIEVE_DEAMONUPDATE + Deamon opdatér (sekunder) + + + RETRIEVE_URLCHECKIP + Url for den eksterne IP + + + APPLY + Gem + + + DOMAIN_NAME_LABEL + Domænenavn + + + DESCRIPTION_LABEL + Domæne beskrivelse + + + SUCCESSFULLY_MODIFIED_RETRIEVE_IP + Redigering af modtage IP opsætning er gennemført med succes. + + + RETRIEVE_METHOD + Metode til at få ny IP: + + + RETRIEVE_IF + Lokal brugergrænseflade til at få ny IP, hvis lokal brugergrænseflade er valgt + + + RETRIEVE_CMD + Kommando til at få IP, hvis kommando metode er valgt + + + SME external Interface + SME ekstern grænseflade + + + SME configuration DB + SME konfiguration af DB + + + web + Web forespørgsel + + + Interface + IP fra grænseflade + + + IP + Manuel IP konfiguration + + + Command + Kommando til eksekvering + + + RETRIEVE_IP + IP for manuel opdatering + + + + + +
diff --git a/root/etc/e-smith/locale/de/etc/e-smith/web/functions/ddclient b/root/etc/e-smith/locale/de/etc/e-smith/web/functions/ddclient new file mode 100644 index 0000000..779d028 --- /dev/null +++ b/root/etc/e-smith/locale/de/etc/e-smith/web/functions/ddclient @@ -0,0 +1,278 @@ + + + FORM_TITLE + Erstellen, Löschen und Ändern der Einstellungen zur Veröffentlichung virtueller Domänen + + + FORM_DESCRIPTION + virtuelle Domäne im Internet veröffentlichen. + + + NO_VIRTUAL_DOMAINS + Keine virtuellen Domänen im System vorhanden. + + + CURRENT_LIST_OF_DOMAINS + Aktuelle Liste der virtuellen Domänen + + + PUBLICATION + Veröffentlichung + + + PRIMARY_SITE + Primäre Seite + + + CONTENT + {$content} i-bay + + + CREATE_TITLE + Neue virtuelle Domäne im Internet veröffentlichen + + + SERVERS_LABEL + Auswahl DNS-Providerdienst + + + MX + MX schreiben + + + NAME_LABEL + Login zum Veröffentlichen + + + PASSWORD_LABEL + Kennwort + + + CONTENT_FIELD_DESCRIPTION + Für die Webseite können Sie entweder die primäre Seite oder ein i-bay als Inhalt auswählen. + + + DOMAIN_NAME_VALIDATION_ERROR + FEHLER: Ungültiges oder fehlendes Zeichen im Domänen-Namen {$domainName}. Der Domänen-Name darf nur Buchstaben, Nummern, Punkte oder Bindestriche enthalten. Neue Domäne wurde nicht erstellt. + + + DOMAIN_DESCRIPTION_VALIDATION_ERROR + FEHLER: Ungültiges oder fehlendes Zeichen in der Domänenbeschreibung {$domainDesc}. Neue Domäne wurde nicht erstellt. + + + DOMAIN_IN_USE_ERROR + FEHLER: Domäne {$domainName} ist bereits vorhanden. Neue Domäne wurde nicht erstellt. + + + RESERVED_SECURE_DOMAIN_ERROR + Fehler: Der Domänen-Name {$domainName} ist reserviert, um einen sicheren Webserver für die virtuelle Domäne {$key} bereitzustellen. Die neue Domäne wurde nicht angelegt. + + + SYSTEM_DOMAIN_ERROR + Fehler: Der Domänen-Name {$domainName} ist der Domänen-Name des Systems. Eine virtuelle Domain darf nicht den identischen Namen wie den Domänen-Namen des Systems haben. Die neue Domäne wurde nicht angelegt. + + + RESERVED_SECURE_SYSTEM_DOMAIN_ERROR + Fehler: Der Domäne-Name {$domainName} ist reserviert, um einen sicheren Webserver für Ihren Domänen-Namen des Systems {$key} bereitzustellen. Die neue Domäne wurde nicht angelegt. + + + SUCCESSFULLY_CREATED + Die Domäne {$domainName} wurde erfolgreich bei {$dns} veröffentlicht. + + + MODIFY_TITLE + Virtuelle Domäne ändern + + + NONEXISTENT_DOMAIN_ERROR + FEHLER: {$domainName} ist keine existierende Domäne. + + + SUCCESSFULLY_MODIFIED + Die Domäne {$domainName} wurde erfolgreich bei {$dns} veröffentlicht. + + + REMOVE_TITLE + Löschen der veröffentlichten virtuellen Domäne + + + REMOVE_DESCRIPTION + Soll die bei {$dns} veröffentlichte Domäne {$domain} ({$domainDesc}) gelöscht werden ?

Sind Sie sicher ?

]]>
+
+ + ERROR_WHILE_REMOVING_DOMAIN + Fehler: Interner Fehler beim Löschen der veröffentlichten Domain {$domain}. + + + SUCCESSFULLY_DELETED + Die Domain {$domain} wurde erfolgreich bei {$dns} gelöscht. + + + DYNDNS1 + dyndns.org Dynamische Adressen + + + DYNDNS2 + dyndns.org Statische Adressen + + + DYNDNS3 + dyndns.org Spezielle Adressen + + + ZONEDIT + ZoneEdit (zoneedit.com) + + + EASYDNS + EasyDNS (easydns.com) + + + HAMMER + Hammernode (hn.org) Dynamische Adressen + + + DSLREPORTS + dslreports.com dynamic-host monitoring + + + EURODYNDNS + eurodyndns.org Dynamische Adressen + + + DTDNS + DtDNS (www.dtdns.com) Dynamische Adressen + + + LOOPIA + Loopia (loopia.se) Dynamische Adressen + + + DNSPARK + Dnspark (dnspark.com) Dynamische Adressen + + + DYNHOST + DynHost (ovh.com) Dynamische Adressen + + + NOIP + NoIP (noip.com) Dynamische Adressen + + + CHANGEIP + ChangeIP (changeip.com) Dynamische Adressen + + + NAMECHEAP + NAMECHEAP (namecheap.com) Dynamische Adressen + + + SPDNS + SPDNS (spdns.de) Dynamische Adressen + + + CUSTOMDNS + Benutzerdefinierter Anbieter von dynamischem DNS + + + CUSTOMDNS_LABEL + Benutzerdefinierte Server-Adresse + + + CUSTOM_PROTOCOL_LABEL + Benutzerdefiniertes ddclient-Protokoll + + + CUSTOM_DESCRIPTION + Falls Ihr Dynamic-DNS-Anbieter nicht in der Auflistung auftaucht, können Sie einen benutzerdefinierten Anbieter verwenden. Bitte füllen Sie die entsprechenden Felder aus + + + CUSTOMDNS_VALIDATION_ERROR + FEHLER: Ungültiges oder fehlendes Zeichen im benutzerdefinierten Domänen-Namen {$domainName}. Der Domänen-Name darf nur Buchstaben, Nummern, Punkte oder Bindestriche enthalten. Änderung wurde nicht aktiviert. + + + ddclient + Dynamische Clients + + + DOMAIN_NAME_ALREADY_EXIST + FEHLER: die Domäne "{$domainName}" ist bereits vorhanden. Bitte wählen Sie einen anderen Domänen-Namen. + + + FREE_FORM_DESCRIPTION + Hier können sie einen beliebigen Domainnamen erzeugen, der im Netz übertragen werden soll. + + + RETRIEVE_SSL + SSL Update + + + RETRIEVE_DEAMONUPDATE + Aktualisierung durch Dämon (in Sekunden) + + + RETRIEVE_URLCHECKIP + URL für die externe IP + + + APPLY + Speichern + + + DOMAIN_NAME_LABEL + Domänen-Name + + + DESCRIPTION_LABEL + Domänen Beschreibung + + + SUCCESSFULLY_MODIFIED_RETRIEVE_IP + Sie haben die IP-Abrufoptionen erfolgreich geändert. + + + RETRIEVE_METHOD + Method to retrieve new IP: + + + RETRIEVE_IF + Local interface to get new IP, if selected interface method + + + RETRIEVE_CMD + Comand to execute to get IP, if selected comand method + + + SME external Interface + Konfiguration mit externem Ethernet-Adapter + + + SME configuration DB + Konfiguration des Dienstes + + + web + Anfrage + + + Interface + Oberfläche + + + IP + NFS-Ibay-Einstellungen verwalten + + + Command + Command to execute + + + RETRIEVE_IP + IP to manually force + + + + + +
diff --git a/root/etc/e-smith/locale/el/etc/e-smith/web/functions/ddclient b/root/etc/e-smith/locale/el/etc/e-smith/web/functions/ddclient new file mode 100644 index 0000000..0e6d4ee --- /dev/null +++ b/root/etc/e-smith/locale/el/etc/e-smith/web/functions/ddclient @@ -0,0 +1,278 @@ + + + FORM_TITLE + Create, remove or change the publication of virtual domains + + + FORM_DESCRIPTION + virtual domain for publication on the net. + + + NO_VIRTUAL_DOMAINS + There are no virtual domains in the system. + + + CURRENT_LIST_OF_DOMAINS + Current list of virtual domains + + + PUBLICATION + publication + + + PRIMARY_SITE + πρωτεύων τόπος + + + CONTENT + {$content} i-bay + + + CREATE_TITLE + Create a new publication virtual domain + + + SERVERS_LABEL + where to publish + + + MX + record MX + + + NAME_LABEL + login to publish + + + PASSWORD_LABEL + password to publish + + + CONTENT_FIELD_DESCRIPTION + Ως περιεχόμενο ιστοτόπου, μπορείτε να επιλέξετε τον πρωτεύοντα ιστότοπο ή οποιοδήποτε i-bay. + + + DOMAIN_NAME_VALIDATION_ERROR + Σφάλμα: μη-αναμενόμενοι ή ελλείποντες χαρακτήρες στην ονομασία τομέα {$domainName}. Η ονομασία τομέα πρέπει να περιλαμβάνει ένα ή περισσότερα γράμματα, αριθμούς, τελείες και παύλες. Δεν δημιουργήθηκε νέος τομέας. + + + DOMAIN_DESCRIPTION_VALIDATION_ERROR + Σφάλμα: μη-αναμενόμενοι ή ελλείποντες χαρακτήρες στην περιγραφή του τομέα {$domainDesc}. Δεν δημιουργήθηκε νέος τομέας. + + + DOMAIN_IN_USE_ERROR + Σφάλμα: ο τομέας {$domainName} χρησιμοποιείται ήδη. Δεν δημιουργήθηκε νέος τομέας. + + + RESERVED_SECURE_DOMAIN_ERROR + Error: domain {$domainName} is reserved to provide a secured webserver for the virtual domain {$key}. Did not create new domain. + + + SYSTEM_DOMAIN_ERROR + Error: domain {$domainName} is your system domain name. You cannot have a virtual domain with the same name. Did not create new domain. + + + RESERVED_SECURE_SYSTEM_DOMAIN_ERROR + Error: domain {$domainName} is reserved to provide a secured webserver for your system domain name {$systemDomain}. Did not create new domain. + + + SUCCESSFULLY_CREATED + Successfully publication domain {$domainName} on {$dns}. + + + MODIFY_TITLE + Modify virtual domain + + + NONEXISTENT_DOMAIN_ERROR + Σφάλμα: Ο {$domainName} δεν είναι υφιστάμενος τομέας. + + + SUCCESSFULLY_MODIFIED + Successfully modified the publication {$domainName} on {$dns}. + + + REMOVE_TITLE + Remove publication of virtual domain + + + REMOVE_DESCRIPTION + You are about to remove the publication of domain {$domain} ({$domainDesc}) on {$dns}.

Are you sure you wish to remove this domain's publication ?

]]>
+
+ + ERROR_WHILE_REMOVING_DOMAIN + Error: internal failure while removing publictaion of {$domain}. + + + SUCCESSFULLY_DELETED + Successfully deleted publication of {$domain} on {$dns}. + + + DYNDNS1 + dyndns.org dynamic addresses + + + DYNDNS2 + dyndns.org static addresses + + + DYNDNS3 + dyndns.org custom addresses + + + ZONEDIT + ZoneEdit (zoneedit.com) + + + EASYDNS + EasyDNS (easydns.com) + + + HAMMER + Hammernode (hn.org) dynamic addresses + + + DSLREPORTS + dslreports.com dynamic-host monitoring + + + EURODYNDNS + eurodyndns.org dynamic adresses + + + DTDNS + DtDNS (www.dtdns.com) dynamic adresses + + + LOOPIA + Loopia (loopia.se) dynamic adresses + + + DNSPARK + Dnspark (dnspark.com) dynamic adresses + + + DYNHOST + DynHost (ovh.com) dynamic adresses + + + NOIP + NoIP (noip.com) dynamic adresses + + + CHANGEIP + ChangeIP (changeip.com) dynamic adresses + + + NAMECHEAP + NAMECHEAP (namecheap.com) dynamic adresses + + + SPDNS + SPDNS (spdns.de) dynamic adresses + + + CUSTOMDNS + Custom Dynamic DNS Provider + + + CUSTOMDNS_LABEL + Custom server Address + + + CUSTOM_PROTOCOL_LABEL + Custom ddclient Protocol + + + CUSTOM_DESCRIPTION + You can use a custom dynamic dns provider if yours is not in the published list. Please fill the custom fields with the appropriate settings + + + CUSTOMDNS_VALIDATION_ERROR + Σφάλμα: μη-αναμενόμενοι ή ελλείποντες χαρακτήρες στην ονομασία τομέα {$domainName}. Η ονομασία τομέα πρέπει να περιλαμβάνει ένα ή περισσότερα γράμματα, αριθμούς, τελείες και παύλες. Δεν δημιουργήθηκε νέος τομέας. + + + ddclient + Dynamic Clients + + + DOMAIN_NAME_ALREADY_EXIST + Σφάλμα: ο τομέας {$domainName} χρησιμοποιείται ήδη. Δεν δημιουργήθηκε νέος τομέας. + + + FREE_FORM_DESCRIPTION + Here you can create any domain name to publish over the net. + + + RETRIEVE_SSL + Ενημέρωση + + + RETRIEVE_DEAMONUPDATE + Deamon update (seconds) + + + RETRIEVE_URLCHECKIP + Url for the external IP + + + APPLY + Αποθήκευση + + + DOMAIN_NAME_LABEL + Όνομα τομέα + + + DESCRIPTION_LABEL + Περιγραφή + + + SUCCESSFULLY_MODIFIED_RETRIEVE_IP + Επιτυχής τροποποίηση Η/Υ. + + + RETRIEVE_METHOD + Method to retrieve new IP: + + + RETRIEVE_IF + Local interface to get new IP, if selected interface method + + + RETRIEVE_CMD + Comand to execute to get IP, if selected comand method + + + SME external Interface + SME external interface + + + SME configuration DB + Ρύθμιση παραμέτρων συστήματος + + + web + Διακομιστής Web + + + Interface + IP from interface + + + IP + Ρυθμίσεις ηλεκτρονικής αλληλογραφίας + + + Command + Command to execute + + + RETRIEVE_IP + IP to manually force + + + + + +
diff --git a/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/ddclient b/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/ddclient new file mode 100644 index 0000000..a86a5d1 --- /dev/null +++ b/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/ddclient @@ -0,0 +1,352 @@ + + + FORM_TITLE + + Create, remove or change the publication of virtual domains + + + + FORM_DESCRIPTION + + virtual domain for publication on the net. + + + + NO_VIRTUAL_DOMAINS + + There are no virtual domains in the system. + + + + CURRENT_LIST_OF_DOMAINS + + Current list of virtual domains + + + + PUBLICATION + + publication + + + + PRIMARY_SITE + + primary site + + + + CONTENT + + {$content} i-bay + + + + CREATE_TITLE + + Create a new publication virtual domain + + + + SERVERS_LABEL + + where to publish + + + + MX + + record MX + + + + NAME_LABEL + + login to publish + + + + PASSWORD_LABEL + + password to publish + + + + CONTENT_FIELD_DESCRIPTION + + For the web site, you may choose your primary web site or any i-bay as the content. + + + + DOMAIN_NAME_VALIDATION_ERROR + + Error: unexpected or missing characters in domain name + {$domainName}. The domain name should contain one or more + letters, numbers, periods and minus signs. Did not create new + domain. + + + + DOMAIN_DESCRIPTION_VALIDATION_ERROR + + Error: unexpected or missing characters in domain description + {$domainDesc}. Did not create new domain. + + + + DOMAIN_IN_USE_ERROR + + Error: domain {$domainName} is already in use. Did not create new domain. + + + + RESERVED_SECURE_DOMAIN_ERROR + + Error: domain {$domainName} is reserved to provide a secured + webserver for the virtual domain {$key}. Did not create new domain. + + + + SYSTEM_DOMAIN_ERROR + + Error: domain {$domainName} is your system domain name. You + cannot have a virtual domain with the same name. Did not create new domain. + + + + RESERVED_SECURE_SYSTEM_DOMAIN_ERROR + + Error: domain {$domainName} is reserved to provide a secured + webserver for your system domain name {$systemDomain}. Did not create new domain. + + + + SUCCESSFULLY_CREATED + + Successfully publication domain {$domainName} on {$dns}. + + + + MODIFY_TITLE + + Modify virtual domain + + + + NONEXISTENT_DOMAIN_ERROR + + Error: {$domainName} is not an existing domain. + + + + SUCCESSFULLY_MODIFIED + + Successfully modified the publication {$domainName} on {$dns}. + + + + REMOVE_TITLE + + Remove publication of virtual domain + + + + REMOVE_DESCRIPTION + + + You are about to remove the publication of domain {$domain} + ({$domainDesc}) on {$dns}. +

+

+ Are you sure you wish to remove this domain's publication ? +

+ ]]> +
+
+ + ERROR_WHILE_REMOVING_DOMAIN + + Error: internal failure while removing publictaion of {$domain}. + + + + SUCCESSFULLY_DELETED + + Successfully deleted publication of {$domain} on {$dns}. + + + + DYNDNS1 + dyndns.org dynamic addresses + + + DYNDNS2 + dyndns.org static addresses + + + DYNDNS3 + dyndns.org custom addresses + + + ZONEDIT + ZoneEdit (zoneedit.com) + + + EASYDNS + EasyDNS (easydns.com) + + + HAMMER + Hammernode (hn.org) dynamic addresses + + + DSLREPORTS + dslreports.com dynamic-host monitoring + + + EURODYNDNS + eurodyndns.org dynamic adresses + + + DTDNS + DtDNS (www.dtdns.com) dynamic adresses + + + LOOPIA + Loopia (loopia.se) dynamic adresses + + + DNSPARK + Dnspark (dnspark.com) dynamic adresses + + + DYNHOST + DynHost (ovh.com) dynamic adresses + + + NOIP + NoIP (noip.com) dynamic adresses + + + CHANGEIP + ChangeIP (changeip.com) dynamic adresses + + + NAMECHEAP + NAMECHEAP (namecheap.com) dynamic adresses + + + SPDNS + SPDNS (spdns.de) dynamic adresses + + + CUSTOMDNS + Custom Dynamic DNS Provider + + + CUSTOMDNS_LABEL + Custom server Address + + + CUSTOM_PROTOCOL_LABEL + Custom ddclient Protocol + + + CUSTOM_DESCRIPTION + You can use a custom dynamic dns provider if yours is not in the published list. Please fill the custom fields with the appropriate settings + + + CUSTOMDNS_VALIDATION_ERROR + + Error: unexpected or missing characters in custom server address field of domain + {$domainName}. The server address should contain one or more + letters, numbers, periods and minus signs. Did not apply the change. + + + + ddclient + Dynamic Clients + + + DOMAIN_NAME_ALREADY_EXIST + Error: this domain:"{$domainName}" already exists. Please chose another. + + + + FREE_FORM_DESCRIPTION + Here you can create any domain name to publish over the net. + + + RETRIEVE_SSL + SSL update + + + RETRIEVE_DEAMONUPDATE + Deamon update (seconds) + + + RETRIEVE_URLCHECKIP + Url for the external IP + + + APPLY + Save + + + DOMAIN_NAME_LABEL + Domain Name + + + DESCRIPTION_LABEL + Domain description + + + SUCCESSFULLY_MODIFIED_RETRIEVE_IP + You have successfully modified the retrieve IP options. + + + RETRIEVE_METHOD + Method to retrieve new IP: + + + RETRIEVE_IF + Local interface to get new IP, if selected interface method + + + RETRIEVE_CMD + Comand to execute to get IP, if selected comand method + + + SME external Interface + SME external interface + + + SME configuration DB + SME configuration DB + + + web + Web query + + + Interface + IP from interface + + + IP + Manual IP setting + + + Command + Command to execute + + + RETRIEVE_IP + IP to manually force + + + + + +
diff --git a/root/etc/e-smith/locale/es/etc/e-smith/web/functions/ddclient b/root/etc/e-smith/locale/es/etc/e-smith/web/functions/ddclient new file mode 100644 index 0000000..96ffaf8 --- /dev/null +++ b/root/etc/e-smith/locale/es/etc/e-smith/web/functions/ddclient @@ -0,0 +1,278 @@ + + + FORM_TITLE + Crear, eliminar o cambiar la publicación de los dominios virtuales + + + FORM_DESCRIPTION + dominio virtual para publicación en la red. + + + NO_VIRTUAL_DOMAINS + No hay dominios virtuales en el sistema. + + + CURRENT_LIST_OF_DOMAINS + Lista actual de los dominios virtuales + + + PUBLICATION + publicación + + + PRIMARY_SITE + sitio primario + + + CONTENT + i-bay {$content} + + + CREATE_TITLE + Crear una nueva publicación de dominio virtual + + + SERVERS_LABEL + donde se publicará + + + MX + registro MX + + + NAME_LABEL + sesión para publicar + + + PASSWORD_LABEL + contraseña para publicar + + + CONTENT_FIELD_DESCRIPTION + Para el sitio web, usted puede escoger el sitio web primario o cualquier i-bay como contenido. + + + DOMAIN_NAME_VALIDATION_ERROR + Error: caracteres erróneos o faltantes en el nombre del dominio {$domainName}. El nombre del dominio debe contener una o más letras, números, puntos y signos menos. No es posible crear el nuevo dominio. + + + DOMAIN_DESCRIPTION_VALIDATION_ERROR + Error: caracteres erróneos o faltantes en la descripción del dominio {$domainDesc}. No se creó el nuevo dominio. + + + DOMAIN_IN_USE_ERROR + Error: el dominio {$domainName} ya está en uso. No se creó el nuevo dominio. + + + RESERVED_SECURE_DOMAIN_ERROR + Error: el dominio {$domainName} esta reservado para proporcionar un servidor web seguro para el dominio virtual {$key}. No es posible crear el nuevo dominio. + + + SYSTEM_DOMAIN_ERROR + Error: el dominio {$domainName} es su nombre de dominio del sistema. Usted no puede tener un dominio virtual con el mismo nombre. No es posible crear el nuevo dominio. + + + RESERVED_SECURE_SYSTEM_DOMAIN_ERROR + Error: el dominio {$domainName} esta reservado para proporcionar un servidor web seguro para el nombre de dominio de su sistema {$systemDomain}. No es posible crear el nuevo dominio. + + + SUCCESSFULLY_CREATED + Publicación correcta del dominio {$domainName} en {$dns}. + + + MODIFY_TITLE + Modificar dominio virtual + + + NONEXISTENT_DOMAIN_ERROR + Error: {$domainName} no es un dominio existente. + + + SUCCESSFULLY_MODIFIED + Modificada correctamente la publicación de {$domainName} en {$dns}. + + + REMOVE_TITLE + Eliminar publicación de dominio virtual + + + REMOVE_DESCRIPTION + Usted está a punto de eliminar la publicación del dominio {$domain} ({$domainDesc}) en {$dns}.

¿ Está realmente seguro de eliminar la publicación de este dominio ?

]]>
+
+ + ERROR_WHILE_REMOVING_DOMAIN + Error: fallo interno mientras se eliminaba la publicación de {$domain}. + + + SUCCESSFULLY_DELETED + Eliminación correcta de la publicación de {$domain} en {$dns}. + + + DYNDNS1 + dyndns.org direcciones dinámicas + + + DYNDNS2 + dyndns.org direcciones estáticas + + + DYNDNS3 + dyndns.org direcciones personalizadas + + + ZONEDIT + ZoneEdit (zoneedit.com) + + + EASYDNS + EasyDNS (easydns.com) + + + HAMMER + Hammernode (hn.org) direcciones dinámicas + + + DSLREPORTS + dslreports.com monitorización host-dinámico + + + EURODYNDNS + eurodyndns.org direcciones dinámicas + + + DTDNS + DtDNS (www.dtdns.com) direcciones dinámicas + + + LOOPIA + Loopia (loopia.se) direcciones dinámicas + + + DNSPARK + Dnspark (dnspark.com) direcciones dinámicas + + + DYNHOST + DynHost (ovh.com) direcciones dinámicas + + + NOIP + NoIP (noip.com) direcciones dinámicas + + + CHANGEIP + ChangeIP (changeip.com) direcciones dinámicas + + + NAMECHEAP + NAMECHEAP (namecheap.com) direcciones dinámicas + + + SPDNS + SPDNS (spdns.de) direcciones dinámicas + + + CUSTOMDNS + servicio DynDNS personalizado + + + CUSTOMDNS_LABEL + Dirección de servidor DNS corporativo + + + CUSTOM_PROTOCOL_LABEL + Custom ddclient Protocol + + + CUSTOM_DESCRIPTION + You can use a custom dynamic dns provider if yours is not in the published list. Please fill the custom fields with the appropriate settings + + + CUSTOMDNS_VALIDATION_ERROR + Error: caracteres erróneos o faltantes en el nombre del dominio {$domainName}. El nombre del dominio debe contener una o más letras, números, puntos y signos menos. No es posible crear el nuevo dominio. + + + ddclient + Clientes Dinámicos + + + DOMAIN_NAME_ALREADY_EXIST + Error: el dominio {$domainName} ya está en uso. No se creó el nuevo dominio. + + + FREE_FORM_DESCRIPTION + Here you can create any domain name to publish over the net. + + + RETRIEVE_SSL + actualizar + + + RETRIEVE_DEAMONUPDATE + Deamon update (seconds) + + + RETRIEVE_URLCHECKIP + Url for the external IP + + + APPLY + Guardar + + + DOMAIN_NAME_LABEL + Nombre del dominio + + + DESCRIPTION_LABEL + descripción + + + SUCCESSFULLY_MODIFIED_RETRIEVE_IP + Repositorio modificado correctamente. + + + RETRIEVE_METHOD + Method to retrieve new IP: + + + RETRIEVE_IF + Local interface to get new IP, if selected interface method + + + RETRIEVE_CMD + Comand to execute to get IP, if selected comand method + + + SME external Interface + Configuración de Interfaz Externa + + + SME configuration DB + Revisar configuración + + + web + consulta + + + Interface + interfaz + + + IP + Ajustes del E-mail + + + Command + Línea de órdenes + + + RETRIEVE_IP + IP to manually force + + + + + +
diff --git a/root/etc/e-smith/locale/et/etc/e-smith/web/functions/ddclient b/root/etc/e-smith/locale/et/etc/e-smith/web/functions/ddclient new file mode 100644 index 0000000..b98e55b --- /dev/null +++ b/root/etc/e-smith/locale/et/etc/e-smith/web/functions/ddclient @@ -0,0 +1,278 @@ + + + FORM_TITLE + Create, remove or change the publication of virtual domains + + + FORM_DESCRIPTION + virtual domain for publication on the net. + + + NO_VIRTUAL_DOMAINS + There are no virtual domains in the system. + + + CURRENT_LIST_OF_DOMAINS + Current list of virtual domains + + + PUBLICATION + publication + + + PRIMARY_SITE + primary site + + + CONTENT + {$content} i-bay + + + CREATE_TITLE + Create a new publication virtual domain + + + SERVERS_LABEL + where to publish + + + MX + record MX + + + NAME_LABEL + login to publish + + + PASSWORD_LABEL + password to publish + + + CONTENT_FIELD_DESCRIPTION + For the web site, you may choose your primary web site or any i-bay as the content. + + + DOMAIN_NAME_VALIDATION_ERROR + Error: unexpected or missing characters in domain name {$domainName}. The domain name should contain one or more letters, numbers, periods and minus signs. Did not create new domain. + + + DOMAIN_DESCRIPTION_VALIDATION_ERROR + Error: unexpected or missing characters in domain description {$domainDesc}. Did not create new domain. + + + DOMAIN_IN_USE_ERROR + Error: domain {$domainName} is already in use. Did not create new domain. + + + RESERVED_SECURE_DOMAIN_ERROR + Error: domain {$domainName} is reserved to provide a secured webserver for the virtual domain {$key}. Did not create new domain. + + + SYSTEM_DOMAIN_ERROR + Error: domain {$domainName} is your system domain name. You cannot have a virtual domain with the same name. Did not create new domain. + + + RESERVED_SECURE_SYSTEM_DOMAIN_ERROR + Error: domain {$domainName} is reserved to provide a secured webserver for your system domain name {$systemDomain}. Did not create new domain. + + + SUCCESSFULLY_CREATED + Successfully publication domain {$domainName} on {$dns}. + + + MODIFY_TITLE + Modify virtual domain + + + NONEXISTENT_DOMAIN_ERROR + Error: {$domainName} is not an existing domain. + + + SUCCESSFULLY_MODIFIED + Successfully modified the publication {$domainName} on {$dns}. + + + REMOVE_TITLE + Remove publication of virtual domain + + + REMOVE_DESCRIPTION + You are about to remove the publication of domain {$domain} ({$domainDesc}) on {$dns}.

Are you sure you wish to remove this domain's publication ?

]]>
+
+ + ERROR_WHILE_REMOVING_DOMAIN + Error: internal failure while removing publictaion of {$domain}. + + + SUCCESSFULLY_DELETED + Successfully deleted publication of {$domain} on {$dns}. + + + DYNDNS1 + dyndns.org dynamic addresses + + + DYNDNS2 + dyndns.org static addresses + + + DYNDNS3 + dyndns.org custom addresses + + + ZONEDIT + ZoneEdit (zoneedit.com) + + + EASYDNS + EasyDNS (easydns.com) + + + HAMMER + Hammernode (hn.org) dynamic addresses + + + DSLREPORTS + dslreports.com dynamic-host monitoring + + + EURODYNDNS + eurodyndns.org dynamic adresses + + + DTDNS + DtDNS (www.dtdns.com) dynamic adresses + + + LOOPIA + Loopia (loopia.se) dynamic adresses + + + DNSPARK + Dnspark (dnspark.com) dynamic adresses + + + DYNHOST + DynHost (ovh.com) dynamic adresses + + + NOIP + NoIP (noip.com) dynamic adresses + + + CHANGEIP + ChangeIP (changeip.com) dynamic adresses + + + NAMECHEAP + NAMECHEAP (namecheap.com) dynamic adresses + + + SPDNS + SPDNS (spdns.de) dynamic adresses + + + CUSTOMDNS + kohandatud DynDNS teenus + + + CUSTOMDNS_LABEL + Asutuse DNS serveri aadress + + + CUSTOM_PROTOCOL_LABEL + Custom ddclient Protocol + + + CUSTOM_DESCRIPTION + You can use a custom dynamic dns provider if yours is not in the published list. Please fill the custom fields with the appropriate settings + + + CUSTOMDNS_VALIDATION_ERROR + Viga: unexpected or missing characters in domain name {$DomainName}. Domeeni nimi saab koosneda ühes või rohkematest tähtedest, numbritest, periods and minus signs. uut domeeni ei loodud. + + + ddclient + Dynamic Clients + + + DOMAIN_NAME_ALREADY_EXIST + See kasutajanimi on juba võetud. Vali mõni teine. + + + FREE_FORM_DESCRIPTION + Here you can create any domain name to publish over the net. + + + RETRIEVE_SSL + Uuenda + + + RETRIEVE_DEAMONUPDATE + Deamon update (seconds) + + + RETRIEVE_URLCHECKIP + Url for the external IP + + + APPLY + Salvesta + + + DOMAIN_NAME_LABEL + Domeeni nimi + + + DESCRIPTION_LABEL + Kirjeldus + + + SUCCESSFULLY_MODIFIED_RETRIEVE_IP + Repositoorium edukalt muudetud. + + + RETRIEVE_METHOD + Method to retrieve new IP: + + + RETRIEVE_IF + Local interface to get new IP, if selected interface method + + + RETRIEVE_CMD + Comand to execute to get IP, if selected comand method + + + SME external Interface + Välimine seadistus + + + SME configuration DB + Vaata serveri seadeid + + + web + Weebi server + + + Interface + Liides + + + IP + E-posti seaded + + + Command + Command to execute + + + RETRIEVE_IP + IP to manually force + + + + + +
diff --git a/root/etc/e-smith/locale/fr/etc/e-smith/web/functions/ddclient b/root/etc/e-smith/locale/fr/etc/e-smith/web/functions/ddclient new file mode 100644 index 0000000..95e2360 --- /dev/null +++ b/root/etc/e-smith/locale/fr/etc/e-smith/web/functions/ddclient @@ -0,0 +1,278 @@ + + + FORM_TITLE + Créer, effacer ou modifier la publication des domaines virtuels + + + FORM_DESCRIPTION + Domaines virtuels pour la publication sur le net. + + + NO_VIRTUAL_DOMAINS + il n'y a aucun domaines virtuels dans le système. + + + CURRENT_LIST_OF_DOMAINS + Liste courante des domaines virtuels + + + PUBLICATION + publication + + + PRIMARY_SITE + site primaire + + + CONTENT + {$content} baie d'information + + + CREATE_TITLE + Création d'une nouvelle publication d'un domaine virtuel + + + SERVERS_LABEL + où publier + + + MX + enregistrement MX + + + NAME_LABEL + Nom d'utilisateur + + + PASSWORD_LABEL + Mot de passe + + + CONTENT_FIELD_DESCRIPTION + Pour le site Internet, vous pouvez choisir votre site primaire ou n'importe quelle ibaie comme contenu. + + + DOMAIN_NAME_VALIDATION_ERROR + Erreur : caractère manquant ou inattendu dans le nom de domaine {$domainName}. Le nom de domaine doit contenir une ou plusieurs lettres, chiffres, points et tirets. Le nouveau domaine n'a pas été créé. + + + DOMAIN_DESCRIPTION_VALIDATION_ERROR + Erreur : caractère manquant ou inattendu dans la description du domaine : {$domainDesc}. Le nouveau domaine n'a pas été créé. + + + DOMAIN_IN_USE_ERROR + Erreur : le domaine {$domainName} est déjà utilisé. Le nouveau domaine n'a pas été créé. + + + RESERVED_SECURE_DOMAIN_ERROR + Erreur : domaine {$domainName} est le nom de domaine de votre système. Impossible d'avoir un domaine virtuel avec le même nom. Domaine non créé. + + + SYSTEM_DOMAIN_ERROR + Erreur : domaine {$domainName} réservé pour un serveur Web sécurisé pour le nom de domaine de votre système {$systemDomain}. Domaine non créé. + + + RESERVED_SECURE_SYSTEM_DOMAIN_ERROR + Domaine virtuel {$domainName} créé avec succès. Votre serveur Web redémarre. Les liens de cette page seront désactivés jusqu'à la fin du redémarrage du serveur Web. + + + SUCCESSFULLY_CREATED + Publication correcte du domaine {$domainName} sur {$dns}. + + + MODIFY_TITLE + Modifier le domaine virtuel + + + NONEXISTENT_DOMAIN_ERROR + Erreur : domaine {$domainName} inexistant. + + + SUCCESSFULLY_MODIFIED + Modification avec succès de la publication de {$domainName} sur {$dns}. + + + REMOVE_TITLE + Enlever la publication du domaine virtuel + + + REMOVE_DESCRIPTION + Vous êtes sur le point de supprimer la publication du domaine virtuel {$domain} ({$domainDesc}).

Voulez-vous vraiment supprimer ce domaine?

]]>
+
+ + ERROR_WHILE_REMOVING_DOMAIN + Erreur : problème interne lors de la suppression de la publication de {$domain}. + + + SUCCESSFULLY_DELETED + Suppression avec succès de {$domain} sur {$dns}. + + + DYNDNS1 + dyndns.org adresse dynamique + + + DYNDNS2 + dyndns.org adresse statique + + + DYNDNS3 + dyndns.org adresse personalisée + + + ZONEDIT + ZoneEdit (zoneedit.com) + + + EASYDNS + EasyDNS (easydns.com) + + + HAMMER + Hammernode (hn.org) adresse dynamique + + + DSLREPORTS + moniteur d’hôtes dynamique dslreports.com + + + EURODYNDNS + eurodyndns.org adresses dynamiques + + + DTDNS + DtDNS (www.dtdns.com) adresse dynamique + + + LOOPIA + Hammernode (hn.org) adresse dynamique + + + DNSPARK + Dnspark (dnspark.com) adresse dynamique + + + DYNHOST + DynHost (ovh.com) adresse dynamique + + + NOIP + NoIP (noip.com) adresse dynamique + + + CHANGEIP + ChangeIP (noip.com) adresse dynamique + + + NAMECHEAP + NAMECHEAP (namecheap.com) adresse dynamique + + + SPDNS + SPDNS (spdns.de) adresse dynamique + + + CUSTOMDNS + Service de DNS dynamique personnalisé + + + CUSTOMDNS_LABEL + Adresse personnalisé du serveur de mise à jour + + + CUSTOM_PROTOCOL_LABEL + protocole personnalisé de ddclient + + + CUSTOM_DESCRIPTION + Vous pouvez utilisez un fournisseur de DNS dynamique personnalisé si le vôtre ne figure pas dans la liste publiée. Prière de remplir les champs personnalisés avec les paramètres appropriés. + + + CUSTOMDNS_VALIDATION_ERROR + Erreur : caractère manquant ou inattendu dans le nom de domaine {$domainName}. L'adresse du serveur doit contenir une ou plusieurs lettres, chiffres, points et tirets. Le changement n'a pas été enregistré. + + + ddclient + Clients dynamiques + + + DOMAIN_NAME_ALREADY_EXIST + Erreur : ce domaine "{$domainName}" est déjà utilisé. Veuillez en choisir un autre. + + + FREE_FORM_DESCRIPTION + Ici, vous pouvez créer un nom de domaine à publier sur internet. + + + RETRIEVE_SSL + Mise à jour par SSL + + + RETRIEVE_DEAMONUPDATE + Mise à jour du service (secondes) + + + RETRIEVE_URLCHECKIP + Url pour trouver l'IP externe + + + APPLY + Enregistrer + + + DOMAIN_NAME_LABEL + Nom de Domaine + + + DESCRIPTION_LABEL + Description du domaine + + + SUCCESSFULLY_MODIFIED_RETRIEVE_IP + Les paramètres de ddclient ont été modifiés avec succès + + + RETRIEVE_METHOD + Méthode pour récupérer le changement d'IP : + + + RETRIEVE_IF + Interface pour récupérer la nouvelle IP, si le mode interface est utilisé + + + RETRIEVE_CMD + Commande à exécuter pour récurer l'IP, si le mode commande est utilisé + + + SME external Interface + Interface externe SME + + + SME configuration DB + DB configuration de SME + + + web + Requête à une page Internet + + + Interface + IP d'une interface + + + IP + Forcer manuellement une IP + + + Command + Commande à exécuter + + + RETRIEVE_IP + IP forcée manuellement + + + + + +
diff --git a/root/etc/e-smith/locale/he/etc/e-smith/web/functions/ddclient b/root/etc/e-smith/locale/he/etc/e-smith/web/functions/ddclient new file mode 100644 index 0000000..fee8e6e --- /dev/null +++ b/root/etc/e-smith/locale/he/etc/e-smith/web/functions/ddclient @@ -0,0 +1,278 @@ + + + FORM_TITLE + Create, remove or change the publication of virtual domains + + + FORM_DESCRIPTION + virtual domain for publication on the net. + + + NO_VIRTUAL_DOMAINS + There are no virtual domains in the system. + + + CURRENT_LIST_OF_DOMAINS + Current list of virtual domains + + + PUBLICATION + publication + + + PRIMARY_SITE + primary site + + + CONTENT + {$content} i-bay + + + CREATE_TITLE + Create a new publication virtual domain + + + SERVERS_LABEL + where to publish + + + MX + record MX + + + NAME_LABEL + login to publish + + + PASSWORD_LABEL + password to publish + + + CONTENT_FIELD_DESCRIPTION + For the web site, you may choose your primary web site or any i-bay as the content. + + + DOMAIN_NAME_VALIDATION_ERROR + Error: unexpected or missing characters in domain name {$domainName}. The domain name should contain one or more letters, numbers, periods and minus signs. Did not create new domain. + + + DOMAIN_DESCRIPTION_VALIDATION_ERROR + Error: unexpected or missing characters in domain description {$domainDesc}. Did not create new domain. + + + DOMAIN_IN_USE_ERROR + Error: domain {$domainName} is already in use. Did not create new domain. + + + RESERVED_SECURE_DOMAIN_ERROR + Error: domain {$domainName} is reserved to provide a secured webserver for the virtual domain {$key}. Did not create new domain. + + + SYSTEM_DOMAIN_ERROR + Error: domain {$domainName} is your system domain name. You cannot have a virtual domain with the same name. Did not create new domain. + + + RESERVED_SECURE_SYSTEM_DOMAIN_ERROR + Error: domain {$domainName} is reserved to provide a secured webserver for your system domain name {$systemDomain}. Did not create new domain. + + + SUCCESSFULLY_CREATED + Successfully publication domain {$domainName} on {$dns}. + + + MODIFY_TITLE + Modify virtual domain + + + NONEXISTENT_DOMAIN_ERROR + Error: {$domainName} is not an existing domain. + + + SUCCESSFULLY_MODIFIED + Successfully modified the publication {$domainName} on {$dns}. + + + REMOVE_TITLE + Remove publication of virtual domain + + + REMOVE_DESCRIPTION + You are about to remove the publication of domain {$domain} ({$domainDesc}) on {$dns}.

Are you sure you wish to remove this domain's publication ?

]]>
+
+ + ERROR_WHILE_REMOVING_DOMAIN + Error: internal failure while removing publictaion of {$domain}. + + + SUCCESSFULLY_DELETED + Successfully deleted publication of {$domain} on {$dns}. + + + DYNDNS1 + dyndns.org dynamic addresses + + + DYNDNS2 + dyndns.org static addresses + + + DYNDNS3 + dyndns.org custom addresses + + + ZONEDIT + ZoneEdit (zoneedit.com) + + + EASYDNS + EasyDNS (easydns.com) + + + HAMMER + Hammernode (hn.org) dynamic addresses + + + DSLREPORTS + dslreports.com dynamic-host monitoring + + + EURODYNDNS + eurodyndns.org dynamic adresses + + + DTDNS + DtDNS (www.dtdns.com) dynamic adresses + + + LOOPIA + Loopia (loopia.se) dynamic adresses + + + DNSPARK + Dnspark (dnspark.com) dynamic adresses + + + DYNHOST + DynHost (ovh.com) dynamic adresses + + + NOIP + NoIP (noip.com) dynamic adresses + + + CHANGEIP + ChangeIP (changeip.com) dynamic adresses + + + NAMECHEAP + NAMECHEAP (namecheap.com) dynamic adresses + + + SPDNS + SPDNS (spdns.de) dynamic adresses + + + CUSTOMDNS + Custom Dynamic DNS Provider + + + CUSTOMDNS_LABEL + כתובת שרת DNS + + + CUSTOM_PROTOCOL_LABEL + Custom ddclient Protocol + + + CUSTOM_DESCRIPTION + You can use a custom dynamic dns provider if yours is not in the published list. Please fill the custom fields with the appropriate settings + + + CUSTOMDNS_VALIDATION_ERROR + Error: unexpected or missing characters in custom server address field of domain {$domainName}. The server address should contain one or more letters, numbers, periods and minus signs. Did not apply the change. + + + ddclient + Dynamic Clients + + + DOMAIN_NAME_ALREADY_EXIST + Error: this domain:"{$domainName}" already exists. Please chose another. + + + FREE_FORM_DESCRIPTION + Here you can create any domain name to publish over the net. + + + RETRIEVE_SSL + עדכון + + + RETRIEVE_DEAMONUPDATE + Deamon update (seconds) + + + RETRIEVE_URLCHECKIP + Url for the external IP + + + APPLY + שמור + + + DOMAIN_NAME_LABEL + Domain Name + + + DESCRIPTION_LABEL + תיאור + + + SUCCESSFULLY_MODIFIED_RETRIEVE_IP + You have successfully modified the retrieve IP options. + + + RETRIEVE_METHOD + Method to retrieve new IP: + + + RETRIEVE_IF + Local interface to get new IP, if selected interface method + + + RETRIEVE_CMD + Comand to execute to get IP, if selected comand method + + + SME external Interface + SME external interface + + + SME configuration DB + קונפיגורציה + + + web + Web query + + + Interface + ממשק + + + IP + Manual IP setting + + + Command + Command to execute + + + RETRIEVE_IP + IP to manually force + + + + + +
diff --git a/root/etc/e-smith/locale/hu/etc/e-smith/web/functions/ddclient b/root/etc/e-smith/locale/hu/etc/e-smith/web/functions/ddclient new file mode 100644 index 0000000..f02131c --- /dev/null +++ b/root/etc/e-smith/locale/hu/etc/e-smith/web/functions/ddclient @@ -0,0 +1,278 @@ + + + FORM_TITLE + Create, remove or change the publication of virtual domains + + + FORM_DESCRIPTION + virtual domain for publication on the net. + + + NO_VIRTUAL_DOMAINS + There are no virtual domains in the system. + + + CURRENT_LIST_OF_DOMAINS + Current list of virtual domains + + + PUBLICATION + publication + + + PRIMARY_SITE + elsődleges webhely + + + CONTENT + {$content} Adattár + + + CREATE_TITLE + Create a new publication virtual domain + + + SERVERS_LABEL + where to publish + + + MX + record MX + + + NAME_LABEL + login to publish + + + PASSWORD_LABEL + password to publish + + + CONTENT_FIELD_DESCRIPTION + A weboldalhoz kiválaszthatja az elsődleges webhelyet, vagy bármely adattárat. + + + DOMAIN_NAME_VALIDATION_ERROR + Hiba: Helytelen vagy hiányzó karakterek vannak a {$domainName} domén névben. A domén név egy vagy több betűt, számokat, pontokat és kötőjeleket tartalmazhat. A domén nem jött létre. + + + DOMAIN_DESCRIPTION_VALIDATION_ERROR + Hiba: Helytelen vagy hiányzó karakterek vannak a {$domainDesc} domén leírásában. A domén nem jött létre. + + + DOMAIN_IN_USE_ERROR + Hiba: a {$domainName} domén név már használatban van. A domén nem jött létre. + + + RESERVED_SECURE_DOMAIN_ERROR + Error: domain {$domainName} is reserved to provide a secured webserver for the virtual domain {$key}. Did not create new domain. + + + SYSTEM_DOMAIN_ERROR + Error: domain {$domainName} is your system domain name. You cannot have a virtual domain with the same name. Did not create new domain. + + + RESERVED_SECURE_SYSTEM_DOMAIN_ERROR + Error: domain {$domainName} is reserved to provide a secured webserver for your system domain name {$systemDomain}. Did not create new domain. + + + SUCCESSFULLY_CREATED + Successfully publication domain {$domainName} on {$dns}. + + + MODIFY_TITLE + Modify virtual domain + + + NONEXISTENT_DOMAIN_ERROR + Hiba: A {$domainName} nem létező domén név. + + + SUCCESSFULLY_MODIFIED + Successfully modified the publication {$domainName} on {$dns}. + + + REMOVE_TITLE + Remove publication of virtual domain + + + REMOVE_DESCRIPTION + You are about to remove the publication of domain {$domain} ({$domainDesc}) on {$dns}.

Are you sure you wish to remove this domain's publication ?

]]>
+
+ + ERROR_WHILE_REMOVING_DOMAIN + Error: internal failure while removing publictaion of {$domain}. + + + SUCCESSFULLY_DELETED + Successfully deleted publication of {$domain} on {$dns}. + + + DYNDNS1 + dyndns.org dynamic addresses + + + DYNDNS2 + dyndns.org static addresses + + + DYNDNS3 + dyndns.org custom addresses + + + ZONEDIT + ZoneEdit (zoneedit.com) + + + EASYDNS + EasyDNS (easydns.com) + + + HAMMER + Hammernode (hn.org) dynamic addresses + + + DSLREPORTS + dslreports.com dynamic-host monitoring + + + EURODYNDNS + eurodyndns.org dynamic adresses + + + DTDNS + DtDNS (www.dtdns.com) dynamic adresses + + + LOOPIA + Loopia (loopia.se) dynamic adresses + + + DNSPARK + Dnspark (dnspark.com) dynamic adresses + + + DYNHOST + DynHost (ovh.com) dynamic adresses + + + NOIP + NoIP (noip.com) dynamic adresses + + + CHANGEIP + ChangeIP (changeip.com) dynamic adresses + + + NAMECHEAP + NAMECHEAP (namecheap.com) dynamic adresses + + + SPDNS + SPDNS (spdns.de) dynamic adresses + + + CUSTOMDNS + egyéb DynDNS szolgáltatás + + + CUSTOMDNS_LABEL + Másik DNS szerver címe + + + CUSTOM_PROTOCOL_LABEL + Custom ddclient Protocol + + + CUSTOM_DESCRIPTION + You can use a custom dynamic dns provider if yours is not in the published list. Please fill the custom fields with the appropriate settings + + + CUSTOMDNS_VALIDATION_ERROR + Hiba: Helytelen vagy hiányzó karakterek vannak a {$domainName} domén névben. A domén név egy vagy több betűt, számokat, pontokat és kötőjeleket tartalmazhat. A domén nem jött létre. + + + ddclient + Levelező kliens + + + DOMAIN_NAME_ALREADY_EXIST + Hiba: a {$domainName} domén név már használatban van. A domén nem jött létre. + + + FREE_FORM_DESCRIPTION + Here you can create any domain name to publish over the net. + + + RETRIEVE_SSL + Frissítés + + + RETRIEVE_DEAMONUPDATE + Deamon update (seconds) + + + RETRIEVE_URLCHECKIP + Url for the external IP + + + APPLY + Mentés + + + DOMAIN_NAME_LABEL + Domén név + + + DESCRIPTION_LABEL + Leírás + + + SUCCESSFULLY_MODIFIED_RETRIEVE_IP + Kiszolgáló módosítása sikeres. + + + RETRIEVE_METHOD + Method to retrieve new IP: + + + RETRIEVE_IF + Local interface to get new IP, if selected interface method + + + RETRIEVE_CMD + Comand to execute to get IP, if selected comand method + + + SME external Interface + Külső hálózati csatoló konfigurálása + + + SME configuration DB + Konfiguráció + + + web + Web szerver + + + Interface + Felület + + + IP + E-mail beállítások + + + Command + Parancssor + + + RETRIEVE_IP + IP to manually force + + + + + +
diff --git a/root/etc/e-smith/locale/id/etc/e-smith/web/functions/ddclient b/root/etc/e-smith/locale/id/etc/e-smith/web/functions/ddclient new file mode 100644 index 0000000..dce3a37 --- /dev/null +++ b/root/etc/e-smith/locale/id/etc/e-smith/web/functions/ddclient @@ -0,0 +1,278 @@ + + + FORM_TITLE + Create, remove or change the publication of virtual domains + + + FORM_DESCRIPTION + virtual domain for publication on the net. + + + NO_VIRTUAL_DOMAINS + There are no virtual domains in the system. + + + CURRENT_LIST_OF_DOMAINS + Current list of virtual domains + + + PUBLICATION + publication + + + PRIMARY_SITE + Situs primary + + + CONTENT + {$content} i-bay + + + CREATE_TITLE + Create a new publication virtual domain + + + SERVERS_LABEL + where to publish + + + MX + record MX + + + NAME_LABEL + login to publish + + + PASSWORD_LABEL + password to publish + + + CONTENT_FIELD_DESCRIPTION + Untuk situs web anda dapat memilih situs primary atau i-bay manapun sebagai konten. + + + DOMAIN_NAME_VALIDATION_ERROR + Error: terdapat karakter yang tidak dibolehkan atau hilang dalam nama domain {$domainName}. Nama domain hanya boleh terdiri dari satu atau lebih huruf, angka, titik dan tanda minus. Gagal membuat domain baru. + + + DOMAIN_DESCRIPTION_VALIDATION_ERROR + Error: terdapat karakter yang tidak dibolehkan atau hilang dalam deskripsi domain {$domainDesc}. . Gagal membuat domain baru. + + + DOMAIN_IN_USE_ERROR + Error: domain {$domainName} sudah digunakan. Gagal membuat domain baru. + + + RESERVED_SECURE_DOMAIN_ERROR + Error: domain {$domainName} is reserved to provide a secured webserver for the virtual domain {$key}. Did not create new domain. + + + SYSTEM_DOMAIN_ERROR + Error: domain {$domainName} is your system domain name. You cannot have a virtual domain with the same name. Did not create new domain. + + + RESERVED_SECURE_SYSTEM_DOMAIN_ERROR + Error: domain {$domainName} is reserved to provide a secured webserver for your system domain name {$systemDomain}. Did not create new domain. + + + SUCCESSFULLY_CREATED + Successfully publication domain {$domainName} on {$dns}. + + + MODIFY_TITLE + Modify virtual domain + + + NONEXISTENT_DOMAIN_ERROR + Error: {$domainName} tidak ada. + + + SUCCESSFULLY_MODIFIED + Successfully modified the publication {$domainName} on {$dns}. + + + REMOVE_TITLE + Remove publication of virtual domain + + + REMOVE_DESCRIPTION + You are about to remove the publication of domain {$domain} ({$domainDesc}) on {$dns}.

Are you sure you wish to remove this domain's publication ?

]]>
+
+ + ERROR_WHILE_REMOVING_DOMAIN + Error: internal failure while removing publictaion of {$domain}. + + + SUCCESSFULLY_DELETED + Successfully deleted publication of {$domain} on {$dns}. + + + DYNDNS1 + dyndns.org dynamic addresses + + + DYNDNS2 + dyndns.org static addresses + + + DYNDNS3 + dyndns.org custom addresses + + + ZONEDIT + ZoneEdit (zoneedit.com) + + + EASYDNS + EasyDNS (easydns.com) + + + HAMMER + Hammernode (hn.org) dynamic addresses + + + DSLREPORTS + dslreports.com dynamic-host monitoring + + + EURODYNDNS + eurodyndns.org dynamic adresses + + + DTDNS + DtDNS (www.dtdns.com) dynamic adresses + + + LOOPIA + Loopia (loopia.se) dynamic adresses + + + DNSPARK + Dnspark (dnspark.com) dynamic adresses + + + DYNHOST + DynHost (ovh.com) dynamic adresses + + + NOIP + NoIP (noip.com) dynamic adresses + + + CHANGEIP + ChangeIP (changeip.com) dynamic adresses + + + NAMECHEAP + NAMECHEAP (namecheap.com) dynamic adresses + + + SPDNS + SPDNS (spdns.de) dynamic adresses + + + CUSTOMDNS + pengganti layanan DynDNS + + + CUSTOMDNS_LABEL + Alamat server DNS perusahaan + + + CUSTOM_PROTOCOL_LABEL + Custom ddclient Protocol + + + CUSTOM_DESCRIPTION + You can use a custom dynamic dns provider if yours is not in the published list. Please fill the custom fields with the appropriate settings + + + CUSTOMDNS_VALIDATION_ERROR + Error: terdapat karakter yang tidak dibolehkan atau hilang dalam nama domain {$domainName}. Nama domain hanya boleh terdiri dari satu atau lebih huruf, angka, titik dan tanda minus. Gagal membuat domain baru. + + + ddclient + Dynamic Clients + + + DOMAIN_NAME_ALREADY_EXIST + Error: domain {$domainName} sudah digunakan. Gagal membuat domain baru. + + + FREE_FORM_DESCRIPTION + Here you can create any domain name to publish over the net. + + + RETRIEVE_SSL + Update + + + RETRIEVE_DEAMONUPDATE + Deamon update (seconds) + + + RETRIEVE_URLCHECKIP + Url for the external IP + + + APPLY + Simpan + + + DOMAIN_NAME_LABEL + Nama domain + + + DESCRIPTION_LABEL + Gambaran + + + SUCCESSFULLY_MODIFIED_RETRIEVE_IP + Berhasil mengubah host. + + + RETRIEVE_METHOD + Method to retrieve new IP: + + + RETRIEVE_IF + Local interface to get new IP, if selected interface method + + + RETRIEVE_CMD + Comand to execute to get IP, if selected comand method + + + SME external Interface + Konfigurasi Antarmuka Eksternal + + + SME configuration DB + Mengaktifkan perubahan konfigurasi + + + web + Server Web + + + Interface + IP from interface + + + IP + Pengaturan email + + + Command + Command to execute + + + RETRIEVE_IP + IP to manually force + + + + + +
diff --git a/root/etc/e-smith/locale/it/etc/e-smith/web/functions/ddclient b/root/etc/e-smith/locale/it/etc/e-smith/web/functions/ddclient new file mode 100644 index 0000000..e98dc51 --- /dev/null +++ b/root/etc/e-smith/locale/it/etc/e-smith/web/functions/ddclient @@ -0,0 +1,278 @@ + + + FORM_TITLE + Crea, cancella o modifica la pubblicazione per i domini virtuali + + + FORM_DESCRIPTION + dominio virtuale da pubblicare in rete + + + NO_VIRTUAL_DOMAINS + Non ci sono domini virtuali nel sistema. + + + CURRENT_LIST_OF_DOMAINS + Lista corrente dei domini virtuali + + + PUBLICATION + pubblicazione + + + PRIMARY_SITE + Sito principale + + + CONTENT + I-bay per {$content} + + + CREATE_TITLE + Crea una nuova pubblicazione per un dominio virtuale + + + SERVERS_LABEL + destinazione + + + MX + record MX + + + NAME_LABEL + login + + + PASSWORD_LABEL + password + + + CONTENT_FIELD_DESCRIPTION + Per il sito web, è possibile selezionare il sito principale o qualsiasi i-bay. + + + DOMAIN_NAME_VALIDATION_ERROR + Errore: carattere inaspettato o mancante nel nome di dominio {$domainName}. Il nome può contenere uno o più lettere, numeri, punti e segni meno (trattino). Dominio non creato. + + + DOMAIN_DESCRIPTION_VALIDATION_ERROR + Errore: carattere inaspettato o mancante nella descrizione {$domainDesc}. Dominio non creato. + + + DOMAIN_IN_USE_ERROR + Errore: dominio {$domainName} già in uso. Dominio non creato. + + + RESERVED_SECURE_DOMAIN_ERROR + Errore: Il dominio {$domainName} è riservato per fornire un webserver sicuro per il dominio virtuale {$key}. Il nuovo dominio non è stato creato. + + + SYSTEM_DOMAIN_ERROR + Errore: il dominio {$domainName} è il tuo dominio principale. Non è possibile avere un dominio virtuale con lo stesso nome. Nuovo dominio non creato. + + + RESERVED_SECURE_SYSTEM_DOMAIN_ERROR + Errore: Il dominio {$domainName} è riservato per fornire un webserver sicuro per il dominio di sistema {$systemDomain}. Il nuovo dominio non è stato creato. + + + SUCCESSFULLY_CREATED + Pubblicazione del dominio {$domainName} su {$dns} avvenuta con successo. + + + MODIFY_TITLE + Modifica il dominio virtuale + + + NONEXISTENT_DOMAIN_ERROR + Errore: {$domainName} non è un dominio esistente. + + + SUCCESSFULLY_MODIFIED + Modifica della pubblicazione di {$domainName} su {$dns} avvenuta con successo + + + REMOVE_TITLE + Elimina la pubblicazione del dominio virtuale + + + REMOVE_DESCRIPTION + Stai per eliminare la pubblicazione del dominio {$domain} ({$domainDesc}) su {$dns}.

Sei sicuro di volerla eliminare?

]]>
+
+ + ERROR_WHILE_REMOVING_DOMAIN + Errore: problema interno durante la rimozione della pubblicazione per il dominio {$domain}. + + + SUCCESSFULLY_DELETED + Eliminazione della pubblicazione di {$domain} su {$dns} avvenuta con successo. + + + DYNDNS1 + Indirizzi dinamici su dyndns.org + + + DYNDNS2 + Indirizzi statici su dyndns.org + + + DYNDNS3 + Indirizzi custom su dyndns.org + + + ZONEDIT + ZoneEdit (zoneedit.com) + + + EASYDNS + EasyDNS (easydns.com) + + + HAMMER + Indirizzi dinamici su Hammernode (hn.org) + + + DSLREPORTS + Controllo host dinamico su dslreports.com + + + EURODYNDNS + Indirizzi dinamici su eurodyndns.org + + + DTDNS + Indirizzi dinamici DtDNS (www.dtdns.com) + + + LOOPIA + Indirizzi dinamici Hammernode (hn.org) + + + DNSPARK + Indirizzi dinamici Dnspark (dnspark.com) + + + DYNHOST + Indirizzi dinamici DynHost (ovh.com) + + + NOIP + Indirizzi dinamici NoIp (noip.com) + + + CHANGEIP + Indirizzi dinamici ChangeIp (changeip.com) + + + NAMECHEAP + Indirizzi dinamici NAMECHEAP (namecheap.com) + + + SPDNS + Indirizzi dinamici SPDNS (spdns.de) + + + CUSTOMDNS + Servizio di DNS dinamico personalizzato + + + CUSTOMDNS_LABEL + Indirizzo personalizzato server + + + CUSTOM_PROTOCOL_LABEL + Protocollo ddclient personalizzato + + + CUSTOM_DESCRIPTION + Si può utilizzare un servizio di DNS dinamico personalizzato se non presente nella lista. Inserire i parametri appropriati nei campi personalizzati. + + + CUSTOMDNS_VALIDATION_ERROR + Errore: carattere inaspettato o mancante nel campo personalizzato del nome di dominio {$domainName}. Il nome può contenere uno o più lettere, numeri, punti e segni meno (trattino). Modifiche non salvate. + + + ddclient + Client dinamici + + + DOMAIN_NAME_ALREADY_EXIST + Errore: dominio {$domainName} già in uso. Sceglierne un altro. + + + FREE_FORM_DESCRIPTION + Qui si può inserire qualunque nome di dominio da pubblicare in rete. + + + RETRIEVE_SSL + Aggiornamento SSL + + + RETRIEVE_DEAMONUPDATE + Aggiornamento del daemon (secondi) + + + RETRIEVE_URLCHECKIP + Url per IP esterno + + + APPLY + Salva + + + DOMAIN_NAME_LABEL + Nome dominio + + + DESCRIPTION_LABEL + Descrizione dominio + + + SUCCESSFULLY_MODIFIED_RETRIEVE_IP + Modifica delle opzioni dell'ottenimento IP avvenuta con successo. + + + RETRIEVE_METHOD + Metodo di ottenimento dell'IP: + + + RETRIEVE_IF + Interfaccia locale per ottenere l'IP se selezionato il metodo "interfaccia" + + + RETRIEVE_CMD + Comando da eseguire per ottenere l'IP se selezionato il metodo "comando" + + + SME external Interface + Interfaccia esterna SME + + + SME configuration DB + Configurazione DB SME + + + web + Ricerca Web + + + Interface + IP dall'interfaccia + + + IP + Impostazione manuale IP + + + Command + Comando da eseguire + + + RETRIEVE_IP + IP da forzare manualmente + + + + + +
diff --git a/root/etc/e-smith/locale/ja/etc/e-smith/web/functions/ddclient b/root/etc/e-smith/locale/ja/etc/e-smith/web/functions/ddclient new file mode 100644 index 0000000..309541d --- /dev/null +++ b/root/etc/e-smith/locale/ja/etc/e-smith/web/functions/ddclient @@ -0,0 +1,278 @@ + + + FORM_TITLE + Create, remove or change the publication of virtual domains + + + FORM_DESCRIPTION + virtual domain for publication on the net. + + + NO_VIRTUAL_DOMAINS + There are no virtual domains in the system. + + + CURRENT_LIST_OF_DOMAINS + Current list of virtual domains + + + PUBLICATION + publication + + + PRIMARY_SITE + primary site + + + CONTENT + {$content} i-bay + + + CREATE_TITLE + Create a new publication virtual domain + + + SERVERS_LABEL + where to publish + + + MX + record MX + + + NAME_LABEL + login to publish + + + PASSWORD_LABEL + password to publish + + + CONTENT_FIELD_DESCRIPTION + For the web site, you may choose your primary web site or any i-bay as the content. + + + DOMAIN_NAME_VALIDATION_ERROR + Error: unexpected or missing characters in domain name {$domainName}. The domain name should contain one or more letters, numbers, periods and minus signs. Did not create new domain. + + + DOMAIN_DESCRIPTION_VALIDATION_ERROR + Error: unexpected or missing characters in domain description {$domainDesc}. Did not create new domain. + + + DOMAIN_IN_USE_ERROR + Error: domain {$domainName} is already in use. Did not create new domain. + + + RESERVED_SECURE_DOMAIN_ERROR + Error: domain {$domainName} is reserved to provide a secured webserver for the virtual domain {$key}. Did not create new domain. + + + SYSTEM_DOMAIN_ERROR + Error: domain {$domainName} is your system domain name. You cannot have a virtual domain with the same name. Did not create new domain. + + + RESERVED_SECURE_SYSTEM_DOMAIN_ERROR + Error: domain {$domainName} is reserved to provide a secured webserver for your system domain name {$systemDomain}. Did not create new domain. + + + SUCCESSFULLY_CREATED + Successfully publication domain {$domainName} on {$dns}. + + + MODIFY_TITLE + Modify virtual domain + + + NONEXISTENT_DOMAIN_ERROR + Error: {$domainName} is not an existing domain. + + + SUCCESSFULLY_MODIFIED + Successfully modified the publication {$domainName} on {$dns}. + + + REMOVE_TITLE + Remove publication of virtual domain + + + REMOVE_DESCRIPTION + You are about to remove the publication of domain {$domain} ({$domainDesc}) on {$dns}.

Are you sure you wish to remove this domain's publication ?

]]>
+
+ + ERROR_WHILE_REMOVING_DOMAIN + Error: internal failure while removing publictaion of {$domain}. + + + SUCCESSFULLY_DELETED + Successfully deleted publication of {$domain} on {$dns}. + + + DYNDNS1 + dyndns.org dynamic addresses + + + DYNDNS2 + dyndns.org static addresses + + + DYNDNS3 + dyndns.org custom addresses + + + ZONEDIT + ZoneEdit (zoneedit.com) + + + EASYDNS + EasyDNS (easydns.com) + + + HAMMER + Hammernode (hn.org) dynamic addresses + + + DSLREPORTS + dslreports.com dynamic-host monitoring + + + EURODYNDNS + eurodyndns.org dynamic adresses + + + DTDNS + DtDNS (www.dtdns.com) dynamic adresses + + + LOOPIA + Loopia (loopia.se) dynamic adresses + + + DNSPARK + Dnspark (dnspark.com) dynamic adresses + + + DYNHOST + DynHost (ovh.com) dynamic adresses + + + NOIP + NoIP (noip.com) dynamic adresses + + + CHANGEIP + ChangeIP (changeip.com) dynamic adresses + + + NAMECHEAP + NAMECHEAP (namecheap.com) dynamic adresses + + + SPDNS + SPDNS (spdns.de) dynamic adresses + + + CUSTOMDNS + Custom Dynamic DNS Provider + + + CUSTOMDNS_LABEL + Custom server Address + + + CUSTOM_PROTOCOL_LABEL + Custom ddclient Protocol + + + CUSTOM_DESCRIPTION + You can use a custom dynamic dns provider if yours is not in the published list. Please fill the custom fields with the appropriate settings + + + CUSTOMDNS_VALIDATION_ERROR + Error: unexpected or missing characters in custom server address field of domain {$domainName}. The server address should contain one or more letters, numbers, periods and minus signs. Did not apply the change. + + + ddclient + メールクライアント + + + DOMAIN_NAME_ALREADY_EXIST + このユーザ名は既に使用されています。別の名前にしてください。 + + + FREE_FORM_DESCRIPTION + Here you can create any domain name to publish over the net. + + + RETRIEVE_SSL + 更新 + + + RETRIEVE_DEAMONUPDATE + Deamon update (seconds) + + + RETRIEVE_URLCHECKIP + Url for the external IP + + + APPLY + 保存 + + + DOMAIN_NAME_LABEL + ドメイン + + + DESCRIPTION_LABEL + 説明 + + + SUCCESSFULLY_MODIFIED_RETRIEVE_IP + You have successfully modified the retrieve IP options. + + + RETRIEVE_METHOD + Method to retrieve new IP: + + + RETRIEVE_IF + Local interface to get new IP, if selected interface method + + + RETRIEVE_CMD + Comand to execute to get IP, if selected comand method + + + SME external Interface + ユーザ・インターフェイス + + + SME configuration DB + 設定 + + + web + Web query + + + Interface + インターフェイス + + + IP + 全般設定 + + + Command + コマンドライン + + + RETRIEVE_IP + IP to manually force + + + + + +
diff --git a/root/etc/e-smith/locale/nb/etc/e-smith/web/functions/ddclient b/root/etc/e-smith/locale/nb/etc/e-smith/web/functions/ddclient new file mode 100644 index 0000000..0f910e9 --- /dev/null +++ b/root/etc/e-smith/locale/nb/etc/e-smith/web/functions/ddclient @@ -0,0 +1,278 @@ + + + FORM_TITLE + Opprette, fjerne eller endre på publisering av virtuelle domener + + + FORM_DESCRIPTION + Virtuelt domene for publisering på nettet. + + + NO_VIRTUAL_DOMAINS + Det er ingen virtuelle domener på serveren. + + + CURRENT_LIST_OF_DOMAINS + Aktuell liste over virtuelle domener + + + PUBLICATION + Publisering + + + PRIMARY_SITE + hoved nettsted + + + CONTENT + {$content} i-bay + + + CREATE_TITLE + Opprette en ny publisering av et virtuelt domene + + + SERVERS_LABEL + Plassering av publisering + + + MX + Record MX + + + NAME_LABEL + Login for publisering + + + PASSWORD_LABEL + Passord for publisering + + + CONTENT_FIELD_DESCRIPTION + For nettstedet kan du velge å bruke hovedsiden eller en annen i-bay som innhold. + + + DOMAIN_NAME_VALIDATION_ERROR + Feil: uventede eller manglende tegn i domenenavnet {$domainName}. Domenenavnet skal inneholde en eller flere bokstaver, tall, punktum, og minustegn. Domenet er ikke opprettet. + + + DOMAIN_DESCRIPTION_VALIDATION_ERROR + Feil: uventede eller manglene tegn i domenebeskrivelsen {$domainDesc}. Domenet er ikke opprettet. + + + DOMAIN_IN_USE_ERROR + Feil: domenet {$domainName} er allerede i bruk. Domenet er ikke opprettet. + + + RESERVED_SECURE_DOMAIN_ERROR + Feil: domene {$domainName} er reservert til en sikker webserver for det virtuelle domene navn {$key}. Domenet ble ikke opprettet. + + + SYSTEM_DOMAIN_ERROR + Feil: domenet {$domainName} er ditt systems domene navn. Du kan ikke ha et virtuelt domene med det samme navnet. Domenet ble ikke opprettet. + + + RESERVED_SECURE_SYSTEM_DOMAIN_ERROR + Feil: Domenenavn {$domainName} er reservert til ett sikkert nettsted for dit systems domenenavn {$systemDomain}. Domenet blev ikke opprettet. + + + SUCCESSFULLY_CREATED + Domene navnet {$domainName} er publisert på {$dns}. + + + MODIFY_TITLE + Redigert virtuelt domene + + + NONEXISTENT_DOMAIN_ERROR + Feil: {$domainName} eksisterer ikke. + + + SUCCESSFULLY_MODIFIED + Suksess med oppdateringen av {$domainName} på {$dns}. + + + REMOVE_TITLE + Fjerne publisering av virtuelt domene + + + REMOVE_DESCRIPTION + Du er i ferd med å fjerne publiseringen av domene {$domain} ({$domainDesc}) på {$dns}.

Er du sikker på at du vil fjerne publiseringen av dette domenet?

]]>
+
+ + ERROR_WHILE_REMOVING_DOMAIN + Feil: intern feil under fjerning av publisering av {$domain}. + + + SUCCESSFULLY_DELETED + Suksess med fjerning av publisering av {$domain} på {$dns}. + + + DYNDNS1 + dyndns.org dynamiske adresser + + + DYNDNS2 + dyndns.org statiske adresser + + + DYNDNS3 + dyndns.org valgte adresser + + + ZONEDIT + ZoneEdit (zoneedit.com) + + + EASYDNS + EasyDNS (easydns.com) + + + HAMMER + Hammernode (hn.org) dynamiske adresser + + + DSLREPORTS + dslreports.com dynamisk vertsovervåkning + + + EURODYNDNS + eurodyndns.org dynamiske adresser + + + DTDNS + DtDNS (www.dtdns.com) dynamiske adresser + + + LOOPIA + Loopia (loopia.se) dynamiske adresser + + + DNSPARK + Dnspark (dnspark.com) dynamiske adresser + + + DYNHOST + DynHost (ovh.com) dynamiske adresser + + + NOIP + NoIP (noip.com) dynamiske adresser + + + CHANGEIP + ChangeIP (changeip.com) dynamiske adresser + + + NAMECHEAP + NAMECHEAP (namecheap.com) dynamiske adresser + + + SPDNS + SPDNS (spdns.de) dynamiske adresser + + + CUSTOMDNS + Selvvalgt DynDNS service + + + CUSTOMDNS_LABEL + Selvvalgt DNS-server-adresse + + + CUSTOM_PROTOCOL_LABEL + Selvvalgt ddclient Protokol + + + CUSTOM_DESCRIPTION + Du kan bruke en selvvalgt dynamisk dns tilbyder hvis din ikke er på den publiserte lista. Fyll ut de relevante felter med de nødvendige innstillinger + + + CUSTOMDNS_VALIDATION_ERROR + Feil: uventede eller manglende tegn i domenenavnet {$domainName}. Domenenavnet skal inneholde en eller flere bokstaver, tall, punktum, og minustegn. Domenet er ikke opprettet. + + + ddclient + Dynamiske klienter + + + DOMAIN_NAME_ALREADY_EXIST + Feil: domenet "{$domainName}" er allerede i bruk. Domenet er ikke opprettet. + + + FREE_FORM_DESCRIPTION + Her kan du opprette ethvert domene til publisering på nettet. + + + RETRIEVE_SSL + SSL oppdater + + + RETRIEVE_DEAMONUPDATE + Demon oppdateringsfrekvens (sekunder) + + + RETRIEVE_URLCHECKIP + Url for den eksterne IP + + + APPLY + Lagre + + + DOMAIN_NAME_LABEL + Domenenavn + + + DESCRIPTION_LABEL + Domene navn beskrivelse + + + SUCCESSFULLY_MODIFIED_RETRIEVE_IP + Redigering av mottatt IP er gjennomført med suksess. + + + RETRIEVE_METHOD + Metode for å motta ny IP: + + + RETRIEVE_IF + Lokalt grensesnitt for å hente ny IP, dersom grensesnitt metode er selektert + + + RETRIEVE_CMD + Kommando for å hente IP, dersom kommando metode er angitt + + + SME external Interface + SME eksternt grensesnitt + + + SME configuration DB + SME konfigurasjons DB + + + web + Web forespørsmål + + + Interface + IP fra grensesnitt + + + IP + Manuell IP konfigurasjon + + + Command + Kommando for eksekvering + + + RETRIEVE_IP + IP for manuell oppdatering + + + + + +
diff --git a/root/etc/e-smith/locale/nl/etc/e-smith/web/functions/ddclient b/root/etc/e-smith/locale/nl/etc/e-smith/web/functions/ddclient new file mode 100644 index 0000000..0b8797e --- /dev/null +++ b/root/etc/e-smith/locale/nl/etc/e-smith/web/functions/ddclient @@ -0,0 +1,278 @@ + + + FORM_TITLE + Aanmaken, verwijderen of wijzigen van de virtuele domein publicaties + + + FORM_DESCRIPTION + virtueel domein voor publicatie op het net. + + + NO_VIRTUAL_DOMAINS + Er zijn geen virtuele domeinen op dit systeem. + + + CURRENT_LIST_OF_DOMAINS + Huidige lijst van virtuele domeinen + + + PUBLICATION + publicatie + + + PRIMARY_SITE + primaire site + + + CONTENT + {$content} informatie-baai + + + CREATE_TITLE + Nieuw virtueel domein publicatie aanmaken + + + SERVERS_LABEL + Waar te publiceren + + + MX + MX record + + + NAME_LABEL + login om te publiceren + + + PASSWORD_LABEL + wachtwoord om te publiceren + + + CONTENT_FIELD_DESCRIPTION + Voor de website, mag u uw primaire website als inhoud kiezen of een van de informatie-baaien. + + + DOMAIN_NAME_VALIDATION_ERROR + Fout: Onverwachte of missende tekens in domeinnaam {$domainName}. De domeinnaam moet uit een of meer letters, cijfers, punten of koppeltekens bestaan. Het nieuw domein is niet toegevoegd. + + + DOMAIN_DESCRIPTION_VALIDATION_ERROR + Fout: Onverwachte of missende tekens in de domein beschrijving {$domainDesc}. Het nieuw domein is niet toegevoegd. + + + DOMAIN_IN_USE_ERROR + Fout: domein {$domainName} is reeds in gebruik. Het nieuw domein is niet toegevoegd. + + + RESERVED_SECURE_DOMAIN_ERROR + Fout: domein {$domainName} is gereserveerd voor een beveiligde webserver voor virtueel domein {$key}. Het nieuw domein is niet toegevoegd. + + + SYSTEM_DOMAIN_ERROR + Fout: domein {$domainName} is uw systeem domeinnaam. U kunt geen virtueel domein hebben met dezelfde naam. Het nieuw domein is niet toegevoegd. + + + RESERVED_SECURE_SYSTEM_DOMAIN_ERROR + Fout: domein {$domainName} is gereserveerd voor een beveiligde webserver voor uw systeem domeinnaam {$systemDomain}. Het nieuw domein is niet toegevoegd. + + + SUCCESSFULLY_CREATED + Domein {$domainName} is met succes gepubliceerd op {$dns}. + + + MODIFY_TITLE + Virtueel domein wijzigen + + + NONEXISTENT_DOMAIN_ERROR + Fout: {$domainName} is geen bestaand domein. + + + SUCCESSFULLY_MODIFIED + Publicatie van domein {$domainName} is met succes gewijzigd op {$dns}. + + + REMOVE_TITLE + Publicatie van virtueel domein verwijderen + + + REMOVE_DESCRIPTION + U staat op het punt om de publicatie van domein {$domain} ({$domainDesc}) op {$dns} te verwijderen.

Bent u zeker dat u deze domein publicatie wilt verwijderen ?

]]>
+
+ + ERROR_WHILE_REMOVING_DOMAIN + Fout: interne fout bij het verwijderen van de publicatie van {$domain}. + + + SUCCESSFULLY_DELETED + Publicatie van {$domain} is met succes verwijderd uit {dns}. + + + DYNDNS1 + dyndns.org dynamische adressen + + + DYNDNS2 + dyndns.org statische adressen + + + DYNDNS3 + dyndns.org aangepaste adressen + + + ZONEDIT + ZoneEdit (zoneedit.com) + + + EASYDNS + EasyDNS (easydns.com) + + + HAMMER + Hammernode (hn.org) dynamische adressen + + + DSLREPORTS + dslreports.com dynamische-host monitoren + + + EURODYNDNS + eurodyndns.org dynamische adressen + + + DTDNS + DtDNS (www.dtdns.com) dynamische adressen + + + LOOPIA + Loopia (loopia.se) dynamische adressen + + + DNSPARK + Dnspark (dnspark.com) dynamische adressen + + + DYNHOST + DynHost (ovh.com) dynamische adressen + + + NOIP + NoIP (noip.com) dynamische adressen + + + CHANGEIP + ChangeIP (changeip.com) dynamische adressen + + + NAMECHEAP + NAMECHEAP (namecheap.com) dynamische adressen + + + SPDNS + SPDNS (spdns.de) dynamische adressen + + + CUSTOMDNS + Aangepaste dynamische DNS aanbieder + + + CUSTOMDNS_LABEL + Aangepaste server adres + + + CUSTOM_PROTOCOL_LABEL + Aangepaste ddclient protocol + + + CUSTOM_DESCRIPTION + U kunt een aangepaste dynamische DNS provider gebruiken als de jouwe niet in de gepubliceerde lijst staat. Vul de aangepaste velden met de juiste instellingen. + + + CUSTOMDNS_VALIDATION_ERROR + Fout: Onverwachte of missende tekens in de aangepaste server naam veld van domein {$domainName}. Het server adres moet uit een of meer letters, cijfers, punten of koppeltekens bestaan. De verandering was niet geaccepteerd. + + + ddclient + Dynamische Agenten + + + DOMAIN_NAME_ALREADY_EXIST + Fout: Het domein {$domainName} is reeds in gebruik. Kies een andere naam. + + + FREE_FORM_DESCRIPTION + Hier kunt u een domeinnaam creëren om te publiceren over het net. + + + RETRIEVE_SSL + SSL aanpassen + + + RETRIEVE_DEAMONUPDATE + Aanpassen in achtergrond (seconden) + + + RETRIEVE_URLCHECKIP + URL voor het externe IP + + + APPLY + Opslaan + + + DOMAIN_NAME_LABEL + Domeinnaam + + + DESCRIPTION_LABEL + Domein beschrijving + + + SUCCESSFULLY_MODIFIED_RETRIEVE_IP + U heeft de opgehaalde IP opties gewijzigd. + + + RETRIEVE_METHOD + Method to retrieve new IP: + + + RETRIEVE_IF + Local interface to get new IP, if selected interface method + + + RETRIEVE_CMD + Comand to execute to get IP, if selected comand method + + + SME external Interface + Externe Interface Configuratie + + + SME configuration DB + Configuratie van de dienst + + + web + Webserver + + + Interface + Koppeling + + + IP + Beheer NFS informatie-baai instellingen, + + + Command + Opdrachtregel + + + RETRIEVE_IP + IP to manually force + + + + + +
diff --git a/root/etc/e-smith/locale/pl/etc/e-smith/web/functions/ddclient b/root/etc/e-smith/locale/pl/etc/e-smith/web/functions/ddclient new file mode 100644 index 0000000..e3e5a5a --- /dev/null +++ b/root/etc/e-smith/locale/pl/etc/e-smith/web/functions/ddclient @@ -0,0 +1,278 @@ + + + FORM_TITLE + Create, remove or change the publication of virtual domains + + + FORM_DESCRIPTION + virtual domain for publication on the net. + + + NO_VIRTUAL_DOMAINS + There are no virtual domains in the system. + + + CURRENT_LIST_OF_DOMAINS + Current list of virtual domains + + + PUBLICATION + publication + + + PRIMARY_SITE + strona główna + + + CONTENT + {$content} i-bay + + + CREATE_TITLE + Create a new publication virtual domain + + + SERVERS_LABEL + where to publish + + + MX + record MX + + + NAME_LABEL + login to publish + + + PASSWORD_LABEL + password to publish + + + CONTENT_FIELD_DESCRIPTION + Jako treść strony internetowej możesz wybrać główną witrynę internetową lub dowolną witrynę i-bay. + + + DOMAIN_NAME_VALIDATION_ERROR + Błąd: niedozwolone lub brakujące znaki w nazwie domeny {$domainName}. Nazwa domeny powinna zawierać jedną lub więcej liter, cyfr, kropek i myślników. Nie utworzono nowej domeny. + + + DOMAIN_DESCRIPTION_VALIDATION_ERROR + Błąd: niedozwolone lub brakujące znaki w opisie domeny {$domainDesc}. Nie utworzono nowej domeny. + + + DOMAIN_IN_USE_ERROR + Błąd: domena {$domainName} jest już używana. Nie utworzono nowej domeny. + + + RESERVED_SECURE_DOMAIN_ERROR + Error: domain {$domainName} is reserved to provide a secured webserver for the virtual domain {$key}. Did not create new domain. + + + SYSTEM_DOMAIN_ERROR + Error: domain {$domainName} is your system domain name. You cannot have a virtual domain with the same name. Did not create new domain. + + + RESERVED_SECURE_SYSTEM_DOMAIN_ERROR + Error: domain {$domainName} is reserved to provide a secured webserver for your system domain name {$systemDomain}. Did not create new domain. + + + SUCCESSFULLY_CREATED + Successfully publication domain {$domainName} on {$dns}. + + + MODIFY_TITLE + Modify virtual domain + + + NONEXISTENT_DOMAIN_ERROR + Błąd: Domena {$domainName} nie istnieje. + + + SUCCESSFULLY_MODIFIED + Successfully modified the publication {$domainName} on {$dns}. + + + REMOVE_TITLE + Remove publication of virtual domain + + + REMOVE_DESCRIPTION + You are about to remove the publication of domain {$domain} ({$domainDesc}) on {$dns}.

Are you sure you wish to remove this domain's publication ?

]]>
+
+ + ERROR_WHILE_REMOVING_DOMAIN + Error: internal failure while removing publictaion of {$domain}. + + + SUCCESSFULLY_DELETED + Successfully deleted publication of {$domain} on {$dns}. + + + DYNDNS1 + dyndns.org dynamic addresses + + + DYNDNS2 + dyndns.org static addresses + + + DYNDNS3 + dyndns.org custom addresses + + + ZONEDIT + ZoneEdit (zoneedit.com) + + + EASYDNS + EasyDNS (easydns.com) + + + HAMMER + Hammernode (hn.org) dynamic addresses + + + DSLREPORTS + dslreports.com dynamic-host monitoring + + + EURODYNDNS + eurodyndns.org dynamic adresses + + + DTDNS + DtDNS (www.dtdns.com) dynamic adresses + + + LOOPIA + Loopia (loopia.se) dynamic adresses + + + DNSPARK + Dnspark (dnspark.com) dynamic adresses + + + DYNHOST + DynHost (ovh.com) dynamic adresses + + + NOIP + NoIP (noip.com) dynamic adresses + + + CHANGEIP + ChangeIP (changeip.com) dynamic adresses + + + NAMECHEAP + NAMECHEAP (namecheap.com) dynamic adresses + + + SPDNS + SPDNS (spdns.de) dynamic adresses + + + CUSTOMDNS + Custom Dynamic DNS Provider + + + CUSTOMDNS_LABEL + Custom server Address + + + CUSTOM_PROTOCOL_LABEL + Custom ddclient Protocol + + + CUSTOM_DESCRIPTION + You can use a custom dynamic dns provider if yours is not in the published list. Please fill the custom fields with the appropriate settings + + + CUSTOMDNS_VALIDATION_ERROR + Error: unexpected or missing characters in custom server address field of domain {$domainName}. The server address should contain one or more letters, numbers, periods and minus signs. Did not apply the change. + + + ddclient + Klient pocztowy + + + DOMAIN_NAME_ALREADY_EXIST + Podana nazwa użytkownika jest już zajęta. Proszę wybrać inną. + + + FREE_FORM_DESCRIPTION + Here you can create any domain name to publish over the net. + + + RETRIEVE_SSL + Aktualizuj + + + RETRIEVE_DEAMONUPDATE + Deamon update (seconds) + + + RETRIEVE_URLCHECKIP + Url for the external IP + + + APPLY + Zapisz + + + DOMAIN_NAME_LABEL + Domena + + + DESCRIPTION_LABEL + Opis + + + SUCCESSFULLY_MODIFIED_RETRIEVE_IP + You have successfully modified the retrieve IP options. + + + RETRIEVE_METHOD + Method to retrieve new IP: + + + RETRIEVE_IF + Local interface to get new IP, if selected interface method + + + RETRIEVE_CMD + Comand to execute to get IP, if selected comand method + + + SME external Interface + Witryna użytkownika + + + SME configuration DB + Konfiguracja + + + web + Serwer WWW + + + Interface + Interfejs + + + IP + Ogólne ustawienia + + + Command + Wiersz poleceń + + + RETRIEVE_IP + IP to manually force + + + + + +
diff --git a/root/etc/e-smith/locale/pt-br/etc/e-smith/web/functions/ddclient b/root/etc/e-smith/locale/pt-br/etc/e-smith/web/functions/ddclient new file mode 100644 index 0000000..a0346b9 --- /dev/null +++ b/root/etc/e-smith/locale/pt-br/etc/e-smith/web/functions/ddclient @@ -0,0 +1,278 @@ + + + FORM_TITLE + Criar, remover ou mudar a publicação de domínios virtuais + + + FORM_DESCRIPTION + domínio virtual para publicação na internet. + + + NO_VIRTUAL_DOMAINS + Não há domínios virtuais no sistema. + + + CURRENT_LIST_OF_DOMAINS + Lista atual de domínios virtuais + + + PUBLICATION + publicação + + + PRIMARY_SITE + site primário + + + CONTENT + compartilhamento {$content} + + + CREATE_TITLE + Criar a publicação de um novo domínio virtual + + + SERVERS_LABEL + onde publicar + + + MX + registro MX + + + NAME_LABEL + login para publicar + + + PASSWORD_LABEL + senha para publicar + + + CONTENT_FIELD_DESCRIPTION + Para o web site, você pode escolher o web site primário ou qualquer compartilhamento como conteúdo. + + + DOMAIN_NAME_VALIDATION_ERROR + Erro: caracter inesperado ou faltando no nome de domínio {$domainName}. O nome do domínio deve conter uma ou mais letras, números, pontos e sinal de menos. Novo domínio não criado. + + + DOMAIN_DESCRIPTION_VALIDATION_ERROR + Erro: caracter inesperado ou faltando na descrição do domínio {$domainDesc}. Não foi criado o novo domínio. + + + DOMAIN_IN_USE_ERROR + Erro: domínio {$domainName} já está em uso. Novo domínio não criado. + + + RESERVED_SECURE_DOMAIN_ERROR + Erro: domínio {$domainName} é reservado para prover um servidor web seguro para o domínio virtual {$key}. Novo domínio não criado. + + + SYSTEM_DOMAIN_ERROR + Erro: domínio {$domainName} é seu nome de sistema do domínio. Você não pode criar um domínio virtual com o mesmo nome. Novo domínio não criado. + + + RESERVED_SECURE_SYSTEM_DOMAIN_ERROR + Erro: domínio {$domainName} é reservado para prover um servidor web seguro para seu domínio de sistema {$systemDomain}. Novo domínio não criado. + + + SUCCESSFULLY_CREATED + Publicação do domínio {$domainName} em {$dns} ocorreu com sucesso. + + + MODIFY_TITLE + Modificar domínios virtuais + + + NONEXISTENT_DOMAIN_ERROR + Erro: {$domainName} não é um domínio existente. + + + SUCCESSFULLY_MODIFIED + Modificação da publicação do domínio {$domainName} em {$dns} ocorreu com sucesso. + + + REMOVE_TITLE + Remover publicação de domínios virtuais + + + REMOVE_DESCRIPTION + Você está prestes a remover a publicação do domínio {$domain} ({$domainDesc}) de {$dns}.

Você está certo de que deseja remover a publicação deste domínio ?

]]>
+
+ + ERROR_WHILE_REMOVING_DOMAIN + Erro: falha interna enquanto removendo a publicação de {$domain}. + + + SUCCESSFULLY_DELETED + Remoção da publicação do domínio {$domainName} em {$dns} ocorreu com sucesso. + + + DYNDNS1 + endereço dinâmico no dyndns.org + + + DYNDNS2 + endereço estático no dyndns.org + + + DYNDNS3 + endereço customizado no dyndns.org + + + ZONEDIT + ZoneEdit (zoneedit.com) + + + EASYDNS + EasyDNS (easydns.com) + + + HAMMER + Hammernode (hn.org) dynamic addresses + + + DSLREPORTS + monitoramento de host dynamico dslreports.com + + + EURODYNDNS + endereço dinâmico eurodyndns.org + + + DTDNS + endereço dinâmico no DtDNS (www.dtdns.com) + + + LOOPIA + endereços dinamicos no Hammernode (hn.org) + + + DNSPARK + endereços dinâmicos no Dnspark (dnspark.com) + + + DYNHOST + endereços dinâmicos no DynHost (ovh.com) + + + NOIP + endereços dinamicos no NoIP (noip.com) + + + CHANGEIP + endereços dinamicos no ChangeIP (changeip.com) + + + NAMECHEAP + endereços dinâmicos no NAMECHEAP (namecheap.com) + + + SPDNS + endereço dinâmico no SPDNS (spdns.de) + + + CUSTOMDNS + Provedor DynDNS dinamico customizado + + + CUSTOMDNS_LABEL + Endereço do servidor customizado + + + CUSTOM_PROTOCOL_LABEL + Protocolo ddclient customizado + + + CUSTOM_DESCRIPTION + Você pode usar um provedor de DNS dinamico customizado se o que deseja não estiver na lista publicada. Por favor preencha os campos customizados com os parametros apropriados + + + CUSTOMDNS_VALIDATION_ERROR + Erro: caracter inesperado ou faltando no campo endereço do domínio {$domainName}. O endereço do servidor deve conter uma ou mais letras, números, pontos e sinal de menos. Não foi efetivada a mudança. + + + ddclient + Clientes Dinâmicos + + + DOMAIN_NAME_ALREADY_EXIST + Erro: este domínio "{$domainName}" já existe. Por favor escolha outro. + + + FREE_FORM_DESCRIPTION + Aqui voce pode criar qualquer nome de domínio para publicar na internet. + + + RETRIEVE_SSL + atualização SSL + + + RETRIEVE_DEAMONUPDATE + Atualização do daemon (segundos) + + + RETRIEVE_URLCHECKIP + URL do IP externo + + + APPLY + Salvar + + + DOMAIN_NAME_LABEL + Nome do domínio + + + DESCRIPTION_LABEL + Descrição do domínio + + + SUCCESSFULLY_MODIFIED_RETRIEVE_IP + Você alterou com sucesso as opção de recuperação de IP. + + + RETRIEVE_METHOD + Modo para receber novo IP: + + + RETRIEVE_IF + Interface local para receber novo IP, se for selecionado o método interface + + + RETRIEVE_CMD + Comando a executar para receber novo IP, se for selecionado o método comando + + + SME external Interface + Interface Externa do SME + + + SME configuration DB + BD de Configuração do SME + + + web + query web + + + Interface + IP da Interface + + + IP + configuração manual do IP + + + Command + Comando a ser executado + + + RETRIEVE_IP + IP para forçar manualmente + + + + + +
diff --git a/root/etc/e-smith/locale/pt/etc/e-smith/web/functions/ddclient b/root/etc/e-smith/locale/pt/etc/e-smith/web/functions/ddclient new file mode 100644 index 0000000..69561d0 --- /dev/null +++ b/root/etc/e-smith/locale/pt/etc/e-smith/web/functions/ddclient @@ -0,0 +1,278 @@ + + + FORM_TITLE + Criar, remover ou mudar a publicação de domínios virtuais + + + FORM_DESCRIPTION + domínio virtual para publicação na internet. + + + NO_VIRTUAL_DOMAINS + Não há domínios virtuais no sistema. + + + CURRENT_LIST_OF_DOMAINS + Lista atual de domínios virtuais + + + PUBLICATION + publicação + + + PRIMARY_SITE + site primário + + + CONTENT + compartilhamento {$content} + + + CREATE_TITLE + Criar a publicação de um novo domínio virtual + + + SERVERS_LABEL + onde publicar + + + MX + registro MX + + + NAME_LABEL + login para publicar + + + PASSWORD_LABEL + senha para publicar + + + CONTENT_FIELD_DESCRIPTION + Para o web site, você pode escolher o web site primário ou qualquer compartilhamento como conteúdo. + + + DOMAIN_NAME_VALIDATION_ERROR + Erro: caracter inesperado ou faltando no nome de domínio {$domainName}. O nome do domínio deve conter uma ou mais letras, números, pontos e sinal de menos. Não criou novo domínio. + + + DOMAIN_DESCRIPTION_VALIDATION_ERROR + Erro: caracter inesperado ou faltando na descrição do domínio {$domainDesc}. Não criou novo domínio. + + + DOMAIN_IN_USE_ERROR + Erro: domínio {$domainName} já está em uso. Não criou novo domínio. + + + RESERVED_SECURE_DOMAIN_ERROR + Erro: domínio {$domainName} é reservado para prover um servidor web seguro para o domínio virtual {$key}. Não foi criado o novo domínio. + + + SYSTEM_DOMAIN_ERROR + Erro: domínio {$domainName} é seu nome de sistema do domínio. Você não pode criar um domínio virtual com o mesmo nome. Não foi criado o novo domínio. + + + RESERVED_SECURE_SYSTEM_DOMAIN_ERROR + Erro: domínio {$domainName} é reservado para prover um webserver segura para seu domínio de sistema {$systemDomain}. Não foi criado o novo domínio. + + + SUCCESSFULLY_CREATED + Publicação do domínio {$domainName} em {$dns} ocorreu com sucesso. + + + MODIFY_TITLE + Modificar domínios virtuais + + + NONEXISTENT_DOMAIN_ERROR + Erro: {$domainName} não é um domínio existente. + + + SUCCESSFULLY_MODIFIED + Modificação da publicação do domínio {$domainName} em {$dns} ocorreu com sucesso. + + + REMOVE_TITLE + Remover publicação de domínios virtuais + + + REMOVE_DESCRIPTION + You are about to remove the publication of domain {$domain} ({$domainDesc}) on {$dns}.

Are you sure you wish to remove this domain's publication ?

]]>
+
+ + ERROR_WHILE_REMOVING_DOMAIN + Erro: falha interna enquanto removendo a publicação de {$domain}. + + + SUCCESSFULLY_DELETED + Remoção da publicação do domínio {$domainName} em {$dns} ocorreu com sucesso. + + + DYNDNS1 + endereço dinâmico no dyndns.org + + + DYNDNS2 + endereço estático no dyndns.org + + + DYNDNS3 + endereço customizado no dyndns.org + + + ZONEDIT + ZoneEdit (zoneedit.com) + + + EASYDNS + EasyDNS (easydns.com) + + + HAMMER + Hammernode (hn.org) dynamic addresses + + + DSLREPORTS + monitoramento de host dynamico dslreports.com + + + EURODYNDNS + endereço dinâmico eurodyndns.org + + + DTDNS + endereço dinâmico no dyndns.org + + + LOOPIA + Hammernode (hn.org) dynamic addresses + + + DNSPARK + endereço dinâmico no dyndns.org + + + DYNHOST + endereço dinâmico no dyndns.org + + + NOIP + Hammernode (hn.org) dynamic addresses + + + CHANGEIP + Hammernode (hn.org) dynamic addresses + + + NAMECHEAP + Hammernode (hn.org) dynamic addresses + + + SPDNS + endereço dinâmico no dyndns.org + + + CUSTOMDNS + serviço DynDNS customizado + + + CUSTOMDNS_LABEL + Endereço do servidor DNS corporativo + + + CUSTOM_PROTOCOL_LABEL + Custom ddclient Protocol + + + CUSTOM_DESCRIPTION + You can use a custom dynamic dns provider if yours is not in the published list. Please fill the custom fields with the appropriate settings + + + CUSTOMDNS_VALIDATION_ERROR + Erro: caracter inesperado ou faltando no nome de domínio {$domainName}. O nome do domínio deve conter uma ou mais letras, números, pontos e sinal de menos. Não criou novo domínio. + + + ddclient + Clientes Dinâmicos + + + DOMAIN_NAME_ALREADY_EXIST + Erro: domínio {$domainName} já está em uso. Não criou novo domínio. + + + FREE_FORM_DESCRIPTION + Here you can create any domain name to publish over the net. + + + RETRIEVE_SSL + Atualizar + + + RETRIEVE_DEAMONUPDATE + Deamon update (seconds) + + + RETRIEVE_URLCHECKIP + Url for the external IP + + + APPLY + Salvar + + + DOMAIN_NAME_LABEL + Nome do domínio + + + DESCRIPTION_LABEL + Descrição + + + SUCCESSFULLY_MODIFIED_RETRIEVE_IP + Repositório modificado com sucesso. + + + RETRIEVE_METHOD + Method to retrieve new IP: + + + RETRIEVE_IF + Local interface to get new IP, if selected interface method + + + RETRIEVE_CMD + Comand to execute to get IP, if selected comand method + + + SME external Interface + Configuração da Interface Externa + + + SME configuration DB + Ativar as mudanças de configuração + + + web + Servidor web + + + Interface + Interface + + + IP + Configurações de e-mail + + + Command + Linha de Comando + + + RETRIEVE_IP + IP to manually force + + + + + +
diff --git a/root/etc/e-smith/locale/ro/etc/e-smith/web/functions/ddclient b/root/etc/e-smith/locale/ro/etc/e-smith/web/functions/ddclient new file mode 100644 index 0000000..a8d6073 --- /dev/null +++ b/root/etc/e-smith/locale/ro/etc/e-smith/web/functions/ddclient @@ -0,0 +1,278 @@ + + + FORM_TITLE + Create, remove or change the publication of virtual domains + + + FORM_DESCRIPTION + virtual domain for publication on the net. + + + NO_VIRTUAL_DOMAINS + There are no virtual domains in the system. + + + CURRENT_LIST_OF_DOMAINS + Current list of virtual domains + + + PUBLICATION + publication + + + PRIMARY_SITE + primary site + + + CONTENT + {$content} i-bay + + + CREATE_TITLE + Create a new publication virtual domain + + + SERVERS_LABEL + where to publish + + + MX + record MX + + + NAME_LABEL + login to publish + + + PASSWORD_LABEL + password to publish + + + CONTENT_FIELD_DESCRIPTION + For the web site, you may choose your primary web site or any i-bay as the content. + + + DOMAIN_NAME_VALIDATION_ERROR + Error: unexpected or missing characters in domain name {$domainName}. The domain name should contain one or more letters, numbers, periods and minus signs. Did not create new domain. + + + DOMAIN_DESCRIPTION_VALIDATION_ERROR + Error: unexpected or missing characters in domain description {$domainDesc}. Did not create new domain. + + + DOMAIN_IN_USE_ERROR + Error: domain {$domainName} is already in use. Did not create new domain. + + + RESERVED_SECURE_DOMAIN_ERROR + Error: domain {$domainName} is reserved to provide a secured webserver for the virtual domain {$key}. Did not create new domain. + + + SYSTEM_DOMAIN_ERROR + Error: domain {$domainName} is your system domain name. You cannot have a virtual domain with the same name. Did not create new domain. + + + RESERVED_SECURE_SYSTEM_DOMAIN_ERROR + Error: domain {$domainName} is reserved to provide a secured webserver for your system domain name {$systemDomain}. Did not create new domain. + + + SUCCESSFULLY_CREATED + Successfully publication domain {$domainName} on {$dns}. + + + MODIFY_TITLE + Modify virtual domain + + + NONEXISTENT_DOMAIN_ERROR + Error: {$domainName} is not an existing domain. + + + SUCCESSFULLY_MODIFIED + Successfully modified the publication {$domainName} on {$dns}. + + + REMOVE_TITLE + Remove publication of virtual domain + + + REMOVE_DESCRIPTION + You are about to remove the publication of domain {$domain} ({$domainDesc}) on {$dns}.

Are you sure you wish to remove this domain's publication ?

]]>
+
+ + ERROR_WHILE_REMOVING_DOMAIN + Error: internal failure while removing publictaion of {$domain}. + + + SUCCESSFULLY_DELETED + Successfully deleted publication of {$domain} on {$dns}. + + + DYNDNS1 + dyndns.org dynamic addresses + + + DYNDNS2 + dyndns.org static addresses + + + DYNDNS3 + dyndns.org custom addresses + + + ZONEDIT + ZoneEdit (zoneedit.com) + + + EASYDNS + EasyDNS (easydns.com) + + + HAMMER + Hammernode (hn.org) dynamic addresses + + + DSLREPORTS + dslreports.com dynamic-host monitoring + + + EURODYNDNS + eurodyndns.org dynamic adresses + + + DTDNS + DtDNS (www.dtdns.com) dynamic adresses + + + LOOPIA + Loopia (loopia.se) dynamic adresses + + + DNSPARK + Dnspark (dnspark.com) dynamic adresses + + + DYNHOST + DynHost (ovh.com) dynamic adresses + + + NOIP + NoIP (noip.com) dynamic adresses + + + CHANGEIP + ChangeIP (changeip.com) dynamic adresses + + + NAMECHEAP + NAMECHEAP (namecheap.com) dynamic adresses + + + SPDNS + SPDNS (spdns.de) dynamic adresses + + + CUSTOMDNS + serviciu DynDNS particularizat + + + CUSTOMDNS_LABEL + Custom server Address + + + CUSTOM_PROTOCOL_LABEL + Custom ddclient Protocol + + + CUSTOM_DESCRIPTION + You can use a custom dynamic dns provider if yours is not in the published list. Please fill the custom fields with the appropriate settings + + + CUSTOMDNS_VALIDATION_ERROR + Error: unexpected or missing characters in custom server address field of domain {$domainName}. The server address should contain one or more letters, numbers, periods and minus signs. Did not apply the change. + + + ddclient + Dynamic Clients + + + DOMAIN_NAME_ALREADY_EXIST + Acest nume de utilizator este deja folosit. Vă să alegeți altul. + + + FREE_FORM_DESCRIPTION + Here you can create any domain name to publish over the net. + + + RETRIEVE_SSL + Actualizează + + + RETRIEVE_DEAMONUPDATE + Deamon update (seconds) + + + RETRIEVE_URLCHECKIP + Url for the external IP + + + APPLY + Salvează + + + DOMAIN_NAME_LABEL + Numele de domeniu de bază + + + DESCRIPTION_LABEL + Descriere + + + SUCCESSFULLY_MODIFIED_RETRIEVE_IP + Repository modificat cu succes. + + + RETRIEVE_METHOD + Method to retrieve new IP: + + + RETRIEVE_IF + Local interface to get new IP, if selected interface method + + + RETRIEVE_CMD + Comand to execute to get IP, if selected comand method + + + SME external Interface + Configurare interfață externă + + + SME configuration DB + Configurare + + + web + server Web + + + Interface + Interfată + + + IP + Manual IP setting + + + Command + Command to execute + + + RETRIEVE_IP + IP to manually force + + + + + +
diff --git a/root/etc/e-smith/locale/ru/etc/e-smith/web/functions/ddclient b/root/etc/e-smith/locale/ru/etc/e-smith/web/functions/ddclient new file mode 100644 index 0000000..d1f76b5 --- /dev/null +++ b/root/etc/e-smith/locale/ru/etc/e-smith/web/functions/ddclient @@ -0,0 +1,278 @@ + + + FORM_TITLE + Create, remove or change the publication of virtual domains + + + FORM_DESCRIPTION + virtual domain for publication on the net. + + + NO_VIRTUAL_DOMAINS + There are no virtual domains in the system. + + + CURRENT_LIST_OF_DOMAINS + Current list of virtual domains + + + PUBLICATION + publication + + + PRIMARY_SITE + основной сайт + + + CONTENT + {$content} и-раздел + + + CREATE_TITLE + Create a new publication virtual domain + + + SERVERS_LABEL + where to publish + + + MX + record MX + + + NAME_LABEL + login to publish + + + PASSWORD_LABEL + password to publish + + + CONTENT_FIELD_DESCRIPTION + Для веб-сайта вы можете выбрать свой основной веб-сайт или любой и-блок, в качестве содержимого. + + + DOMAIN_NAME_VALIDATION_ERROR + Ошибка: неожиданные или недостающие символы в имени домена {$domainName}. Имя домена может содержать одну или более букв, цифр, точек и знаков минус. Новый домен не создать. + + + DOMAIN_DESCRIPTION_VALIDATION_ERROR + Ошибка: неожиданные или недостающие символы в описании домена {$domainDesc}. Новый домен не создать. + + + DOMAIN_IN_USE_ERROR + Ошибка: домен {$domainName} уже используется. Новый домен не создать. + + + RESERVED_SECURE_DOMAIN_ERROR + Error: domain {$domainName} is reserved to provide a secured webserver for the virtual domain {$key}. Did not create new domain. + + + SYSTEM_DOMAIN_ERROR + Error: domain {$domainName} is your system domain name. You cannot have a virtual domain with the same name. Did not create new domain. + + + RESERVED_SECURE_SYSTEM_DOMAIN_ERROR + Error: domain {$domainName} is reserved to provide a secured webserver for your system domain name {$systemDomain}. Did not create new domain. + + + SUCCESSFULLY_CREATED + Successfully publication domain {$domainName} on {$dns}. + + + MODIFY_TITLE + Modify virtual domain + + + NONEXISTENT_DOMAIN_ERROR + Ошибка: Домен {$domainName} не существует. + + + SUCCESSFULLY_MODIFIED + Successfully modified the publication {$domainName} on {$dns}. + + + REMOVE_TITLE + Remove publication of virtual domain + + + REMOVE_DESCRIPTION + You are about to remove the publication of domain {$domain} ({$domainDesc}) on {$dns}.

Are you sure you wish to remove this domain's publication ?

]]>
+
+ + ERROR_WHILE_REMOVING_DOMAIN + Error: internal failure while removing publictaion of {$domain}. + + + SUCCESSFULLY_DELETED + Successfully deleted publication of {$domain} on {$dns}. + + + DYNDNS1 + dyndns.org dynamic addresses + + + DYNDNS2 + dyndns.org static addresses + + + DYNDNS3 + dyndns.org custom addresses + + + ZONEDIT + ZoneEdit (zoneedit.com) + + + EASYDNS + EasyDNS (easydns.com) + + + HAMMER + Hammernode (hn.org) dynamic addresses + + + DSLREPORTS + dslreports.com dynamic-host monitoring + + + EURODYNDNS + eurodyndns.org dynamic adresses + + + DTDNS + DtDNS (www.dtdns.com) dynamic adresses + + + LOOPIA + Loopia (loopia.se) dynamic adresses + + + DNSPARK + Dnspark (dnspark.com) dynamic adresses + + + DYNHOST + DynHost (ovh.com) dynamic adresses + + + NOIP + NoIP (noip.com) dynamic adresses + + + CHANGEIP + ChangeIP (changeip.com) dynamic adresses + + + NAMECHEAP + NAMECHEAP (namecheap.com) dynamic adresses + + + SPDNS + SPDNS (spdns.de) dynamic adresses + + + CUSTOMDNS + пользовательский DynDNS сервис + + + CUSTOMDNS_LABEL + Адрес корпоративного сервера DNS + + + CUSTOM_PROTOCOL_LABEL + Custom ddclient Protocol + + + CUSTOM_DESCRIPTION + You can use a custom dynamic dns provider if yours is not in the published list. Please fill the custom fields with the appropriate settings + + + CUSTOMDNS_VALIDATION_ERROR + Ошибка: неожиданные или недостающие символы в имени домена {$domainName}. Имя домена может содержать одну или более букв, цифр, точек и знаков минус. Новый домен не создать. + + + ddclient + Динамический + + + DOMAIN_NAME_ALREADY_EXIST + Ошибка: домен {$domainName} уже используется. Новый домен не создать. + + + FREE_FORM_DESCRIPTION + Here you can create any domain name to publish over the net. + + + RETRIEVE_SSL + CRL обновления URL + + + RETRIEVE_DEAMONUPDATE + Deamon update (seconds) + + + RETRIEVE_URLCHECKIP + Url for the external IP + + + APPLY + Сохранить + + + DOMAIN_NAME_LABEL + Имя домена + + + DESCRIPTION_LABEL + Описание + + + SUCCESSFULLY_MODIFIED_RETRIEVE_IP + Репозиторий успешно изменён. + + + RETRIEVE_METHOD + Method to retrieve new IP: + + + RETRIEVE_IF + Local interface to get new IP, if selected interface method + + + RETRIEVE_CMD + Comand to execute to get IP, if selected comand method + + + SME external Interface + Конфигурация внешнего интерфейса + + + SME configuration DB + Конфигурация службы + + + web + Веб-сервер + + + Interface + Интерфейс + + + IP + Настройки почты + + + Command + Command to execute + + + RETRIEVE_IP + IP to manually force + + + + + +
diff --git a/root/etc/e-smith/locale/sl/etc/e-smith/web/functions/ddclient b/root/etc/e-smith/locale/sl/etc/e-smith/web/functions/ddclient new file mode 100644 index 0000000..1b32864 --- /dev/null +++ b/root/etc/e-smith/locale/sl/etc/e-smith/web/functions/ddclient @@ -0,0 +1,278 @@ + + + FORM_TITLE + Create, remove or change the publication of virtual domains + + + FORM_DESCRIPTION + virtual domain for publication on the net. + + + NO_VIRTUAL_DOMAINS + There are no virtual domains in the system. + + + CURRENT_LIST_OF_DOMAINS + Current list of virtual domains + + + PUBLICATION + publication + + + PRIMARY_SITE + primarna spletna stran + + + CONTENT + {$content} i-lista + + + CREATE_TITLE + Create a new publication virtual domain + + + SERVERS_LABEL + where to publish + + + MX + record MX + + + NAME_LABEL + login to publish + + + PASSWORD_LABEL + password to publish + + + CONTENT_FIELD_DESCRIPTION + Za spletno stran te domene lahko izberete primarno ali vsebino katerega koli informacijskega lista. + + + DOMAIN_NAME_VALIDATION_ERROR + Napaka: v domeni {$domainName} so nepricakovani ali manjakjoci znaki. Domena lahko vsebuje eno ali vec crk, stevilk, pik ali minus znakov. Nova domena ni bila dodana. + + + DOMAIN_DESCRIPTION_VALIDATION_ERROR + Napaka: v polju opisa domene {$domainDesc} so nepricakovani ali manjkajoci znaki. Nova domena ni bila dodana. + + + DOMAIN_IN_USE_ERROR + Napaka: domena {$domainName} je ze uporabljena. Nova domena ni bila dodana. + + + RESERVED_SECURE_DOMAIN_ERROR + Error: domain {$domainName} is reserved to provide a secured webserver for the virtual domain {$key}. Did not create new domain. + + + SYSTEM_DOMAIN_ERROR + Error: domain {$domainName} is your system domain name. You cannot have a virtual domain with the same name. Did not create new domain. + + + RESERVED_SECURE_SYSTEM_DOMAIN_ERROR + Error: domain {$domainName} is reserved to provide a secured webserver for your system domain name {$systemDomain}. Did not create new domain. + + + SUCCESSFULLY_CREATED + Successfully publication domain {$domainName} on {$dns}. + + + MODIFY_TITLE + Modify virtual domain + + + NONEXISTENT_DOMAIN_ERROR + Napaka: {$domainName} ni obstojeca domena. + + + SUCCESSFULLY_MODIFIED + Successfully modified the publication {$domainName} on {$dns}. + + + REMOVE_TITLE + Remove publication of virtual domain + + + REMOVE_DESCRIPTION + You are about to remove the publication of domain {$domain} ({$domainDesc}) on {$dns}.

Are you sure you wish to remove this domain's publication ?

]]>
+
+ + ERROR_WHILE_REMOVING_DOMAIN + Error: internal failure while removing publictaion of {$domain}. + + + SUCCESSFULLY_DELETED + Successfully deleted publication of {$domain} on {$dns}. + + + DYNDNS1 + dyndns.org dynamic addresses + + + DYNDNS2 + dyndns.org static addresses + + + DYNDNS3 + dyndns.org custom addresses + + + ZONEDIT + ZoneEdit (zoneedit.com) + + + EASYDNS + EasyDNS (easydns.com) + + + HAMMER + Hammernode (hn.org) dynamic addresses + + + DSLREPORTS + dslreports.com dynamic-host monitoring + + + EURODYNDNS + eurodyndns.org dynamic adresses + + + DTDNS + DtDNS (www.dtdns.com) dynamic adresses + + + LOOPIA + Loopia (loopia.se) dynamic adresses + + + DNSPARK + Dnspark (dnspark.com) dynamic adresses + + + DYNHOST + DynHost (ovh.com) dynamic adresses + + + NOIP + NoIP (noip.com) dynamic adresses + + + CHANGEIP + ChangeIP (changeip.com) dynamic adresses + + + NAMECHEAP + NAMECHEAP (namecheap.com) dynamic adresses + + + SPDNS + SPDNS (spdns.de) dynamic adresses + + + CUSTOMDNS + Izberite dinamično DNS storitev + + + CUSTOMDNS_LABEL + IP naslov DNS strežnika v podjetju + + + CUSTOM_PROTOCOL_LABEL + Custom ddclient Protocol + + + CUSTOM_DESCRIPTION + You can use a custom dynamic dns provider if yours is not in the published list. Please fill the custom fields with the appropriate settings + + + CUSTOMDNS_VALIDATION_ERROR + Napaka: v domeni {$domainName} so nepricakovani ali manjakjoci znaki. Domena lahko vsebuje eno ali vec crk, stevilk, pik ali minus znakov. Nova domena ni bila dodana. + + + ddclient + Dynamic Clients + + + DOMAIN_NAME_ALREADY_EXIST + Napaka: domena {$domainName} je ze uporabljena. Nova domena ni bila dodana. + + + FREE_FORM_DESCRIPTION + Here you can create any domain name to publish over the net. + + + RETRIEVE_SSL + Posodobi + + + RETRIEVE_DEAMONUPDATE + Deamon update (seconds) + + + RETRIEVE_URLCHECKIP + Url for the external IP + + + APPLY + Shrani + + + DOMAIN_NAME_LABEL + Ime domene + + + DESCRIPTION_LABEL + Opis + + + SUCCESSFULLY_MODIFIED_RETRIEVE_IP + Ime racunalnika je bilo uspesno posodobljeno. + + + RETRIEVE_METHOD + Method to retrieve new IP: + + + RETRIEVE_IF + Local interface to get new IP, if selected interface method + + + RETRIEVE_CMD + Comand to execute to get IP, if selected comand method + + + SME external Interface + Konfiguracija zunanjega mrežnega vmesnika + + + SME configuration DB + Konfiguracija + + + web + Spletni streznik + + + Interface + IP from interface + + + IP + E-posta + + + Command + Command to execute + + + RETRIEVE_IP + IP to manually force + + + + + +
diff --git a/root/etc/e-smith/locale/sv/etc/e-smith/web/functions/ddclient b/root/etc/e-smith/locale/sv/etc/e-smith/web/functions/ddclient new file mode 100644 index 0000000..1f02213 --- /dev/null +++ b/root/etc/e-smith/locale/sv/etc/e-smith/web/functions/ddclient @@ -0,0 +1,278 @@ + + + FORM_TITLE + Skapa, radera eller ändra publiceringen av viruella domäner + + + FORM_DESCRIPTION + virtuell domän för publicering på Internet. + + + NO_VIRTUAL_DOMAINS + Det finns inga virtuella domäner på systemet. + + + CURRENT_LIST_OF_DOMAINS + Uppdaterad lista över viruella domäner + + + PUBLICATION + publicering + + + PRIMARY_SITE + primär plats + + + CONTENT + {$content} i-bay + + + CREATE_TITLE + Skapa en ny publicering av en viruell domän + + + SERVERS_LABEL + var den publiceras + + + MX + MX post + + + NAME_LABEL + inloggning för publicering + + + PASSWORD_LABEL + lösenord för publicering + + + CONTENT_FIELD_DESCRIPTION + Som webbplats kan du välja den primära webbplatsen eller valfri i-bay för innehåll. + + + DOMAIN_NAME_VALIDATION_ERROR + Fel: Ogiltigt eller saknat tecken i domännamnet {$domainName}. Domännamnet måste innehålla en eller flera bokstäver, siffror, punkter eller minustecken. Skapade inte en ny domän. + + + DOMAIN_DESCRIPTION_VALIDATION_ERROR + Fel: Ogiltigt eller saknat tecken i domänbeskrivningen {$domainDesc}. Skapade inte en ny domän. + + + DOMAIN_IN_USE_ERROR + Fel: Domänen {$domainName} används redan. Skapade inte en ny domän. + + + RESERVED_SECURE_DOMAIN_ERROR + Fel: Domänen {$domainName} är reserverad för att ge en säker webbserver för den virtuella domänen {$key}. Skapade inte en ny domän. + + + SYSTEM_DOMAIN_ERROR + Fel: Domänen {$domainName} är ditt systems domännamn. Du kan inte ha en virtuell domän med samma namn. Skapade inte en ny domän. + + + RESERVED_SECURE_SYSTEM_DOMAIN_ERROR + Fel: Domänen {$domainName} är reserverad för att ge en säker webbserver för ditt systems domännamn {$systemDomain}. Skapade inte en ny domän. + + + SUCCESSFULLY_CREATED + Publicerade domän {$domainName} på {$dns}. + + + MODIFY_TITLE + Ändra viruell domän + + + NONEXISTENT_DOMAIN_ERROR + Fel: {$domainName} är inte en existerande domän. + + + SUCCESSFULLY_MODIFIED + Ändrade publicerad {$domainName} på {$dns}. + + + REMOVE_TITLE + Ta bort publicering av viruell domän + + + REMOVE_DESCRIPTION + You are about to remove the publication of domain {$domain} ({$domainDesc}) on {$dns}.

Are you sure you wish to remove this domain's publication ?

]]>
+
+ + ERROR_WHILE_REMOVING_DOMAIN + Fel: Internt fel vid bortagning av publiceringen av {$domain}. + + + SUCCESSFULLY_DELETED + Raderade publiceringen av {$domain} på{$dns}. + + + DYNDNS1 + dyndns.org dynamisk adress + + + DYNDNS2 + dyndns.org statisk adress + + + DYNDNS3 + dyndns.org egen adress + + + ZONEDIT + ZoneEdit (zoneedit.com) + + + EASYDNS + EasyDNS (easydns.com) + + + HAMMER + Hammernode (hn.org) dynamisk adress + + + DSLREPORTS + dslreports.com dynamisk-värdkontroll + + + EURODYNDNS + eurodyndns.org dynamisk adress + + + DTDNS + dyndns.org dynamisk adress + + + LOOPIA + Hammernode (hn.org) dynamisk adress + + + DNSPARK + dyndns.org dynamisk adress + + + DYNHOST + dyndns.org dynamisk adress + + + NOIP + Hammernode (hn.org) dynamisk adress + + + CHANGEIP + Hammernode (hn.org) dynamisk adress + + + NAMECHEAP + Hammernode (hn.org) dynamisk adress + + + SPDNS + dyndns.org dynamisk adress + + + CUSTOMDNS + alternativ DynDNS service + + + CUSTOMDNS_LABEL + Om du har en annan DNS server i ditt nät, ange den här + + + CUSTOM_PROTOCOL_LABEL + Custom ddclient Protocol + + + CUSTOM_DESCRIPTION + You can use a custom dynamic dns provider if yours is not in the published list. Please fill the custom fields with the appropriate settings + + + CUSTOMDNS_VALIDATION_ERROR + Fel: Ogiltigt eller saknat tecken i domännamnet {$domainName}. Domännamnet måste innehålla en eller flera bokstäver, siffror, punkter eller minustecken. Skapade inte en ny domän. + + + ddclient + Dynamiska klienter + + + DOMAIN_NAME_ALREADY_EXIST + Fel: Domänen {$domainName} används redan. Skapade inte en ny domän. + + + FREE_FORM_DESCRIPTION + Here you can create any domain name to publish over the net. + + + RETRIEVE_SSL + CRL uppdatering URL + + + RETRIEVE_DEAMONUPDATE + Deamon update (seconds) + + + RETRIEVE_URLCHECKIP + Url for the external IP + + + APPLY + Spara + + + DOMAIN_NAME_LABEL + Domännamn + + + DESCRIPTION_LABEL + Beskrivning + + + SUCCESSFULLY_MODIFIED_RETRIEVE_IP + Enhetsbokstäverna ändrade + + + RETRIEVE_METHOD + Method to retrieve new IP: + + + RETRIEVE_IF + Local interface to get new IP, if selected interface method + + + RETRIEVE_CMD + Comand to execute to get IP, if selected comand method + + + SME external Interface + Extern interfacekonfiguration + + + SME configuration DB + Tjänstekonfiguration + + + web + Webb-server + + + Interface + Interface + + + IP + E-postinställningar + + + Command + Kommandorad + + + RETRIEVE_IP + IP to manually force + + + + + +
diff --git a/root/etc/e-smith/locale/th/etc/e-smith/web/functions/ddclient b/root/etc/e-smith/locale/th/etc/e-smith/web/functions/ddclient new file mode 100644 index 0000000..619c51c --- /dev/null +++ b/root/etc/e-smith/locale/th/etc/e-smith/web/functions/ddclient @@ -0,0 +1,278 @@ + + + FORM_TITLE + Create, remove or change the publication of virtual domains + + + FORM_DESCRIPTION + virtual domain for publication on the net. + + + NO_VIRTUAL_DOMAINS + There are no virtual domains in the system. + + + CURRENT_LIST_OF_DOMAINS + Current list of virtual domains + + + PUBLICATION + publication + + + PRIMARY_SITE + ไซต์หลัก + + + CONTENT + {$content} i-bay + + + CREATE_TITLE + Create a new publication virtual domain + + + SERVERS_LABEL + where to publish + + + MX + record MX + + + NAME_LABEL + login to publish + + + PASSWORD_LABEL + password to publish + + + CONTENT_FIELD_DESCRIPTION + สำหรับเว็บไซต์ คุณอาจเลือกเว็บไซต์หลักของคุณ หรือ i-bay อื่นๆ + + + DOMAIN_NAME_VALIDATION_ERROR + ผิดพลาด: ชื่อโดเมน {$domainName} ไม่ถูกต้องตามหลักการตั้งชื่อโดเมน ชื่อโดเมนต้องยาวอย่างน้อยหนึ่งตัว และต้องเป็นตัวอักษร, ตัวเลข, จุด และ ครื่องหมายลบเท่านั้น โดเมนใหม่ไม่ถูกสร้าง + + + DOMAIN_DESCRIPTION_VALIDATION_ERROR + ผิดพลาด: รายละเอียดของโดเมน {$domainDesc} ไม่ถูกต้อง โดเมนใหม่ไม่ถูกสร้าง + + + DOMAIN_IN_USE_ERROR + ผิดพลาด: ชื่อโดเมน {$domainName} ถูกใช้ไปแล้ว โดเมนใหม่ไม่ถูกสร้าง + + + RESERVED_SECURE_DOMAIN_ERROR + Error: domain {$domainName} is reserved to provide a secured webserver for the virtual domain {$key}. Did not create new domain. + + + SYSTEM_DOMAIN_ERROR + Error: domain {$domainName} is your system domain name. You cannot have a virtual domain with the same name. Did not create new domain. + + + RESERVED_SECURE_SYSTEM_DOMAIN_ERROR + Error: domain {$domainName} is reserved to provide a secured webserver for your system domain name {$systemDomain}. Did not create new domain. + + + SUCCESSFULLY_CREATED + Successfully publication domain {$domainName} on {$dns}. + + + MODIFY_TITLE + Modify virtual domain + + + NONEXISTENT_DOMAIN_ERROR + ข้อผิดพลาด: ไม่มีโดเมน {$domainName} + + + SUCCESSFULLY_MODIFIED + Successfully modified the publication {$domainName} on {$dns}. + + + REMOVE_TITLE + Remove publication of virtual domain + + + REMOVE_DESCRIPTION + You are about to remove the publication of domain {$domain} ({$domainDesc}) on {$dns}.

Are you sure you wish to remove this domain's publication ?

]]>
+
+ + ERROR_WHILE_REMOVING_DOMAIN + Error: internal failure while removing publictaion of {$domain}. + + + SUCCESSFULLY_DELETED + Successfully deleted publication of {$domain} on {$dns}. + + + DYNDNS1 + dyndns.org dynamic addresses + + + DYNDNS2 + dyndns.org static addresses + + + DYNDNS3 + dyndns.org custom addresses + + + ZONEDIT + ZoneEdit (zoneedit.com) + + + EASYDNS + EasyDNS (easydns.com) + + + HAMMER + Hammernode (hn.org) dynamic addresses + + + DSLREPORTS + dslreports.com dynamic-host monitoring + + + EURODYNDNS + eurodyndns.org dynamic adresses + + + DTDNS + DtDNS (www.dtdns.com) dynamic adresses + + + LOOPIA + Loopia (loopia.se) dynamic adresses + + + DNSPARK + Dnspark (dnspark.com) dynamic adresses + + + DYNHOST + DynHost (ovh.com) dynamic adresses + + + NOIP + NoIP (noip.com) dynamic adresses + + + CHANGEIP + ChangeIP (changeip.com) dynamic adresses + + + NAMECHEAP + NAMECHEAP (namecheap.com) dynamic adresses + + + SPDNS + SPDNS (spdns.de) dynamic adresses + + + CUSTOMDNS + Custom Dynamic DNS Provider + + + CUSTOMDNS_LABEL + Custom server Address + + + CUSTOM_PROTOCOL_LABEL + Custom ddclient Protocol + + + CUSTOM_DESCRIPTION + You can use a custom dynamic dns provider if yours is not in the published list. Please fill the custom fields with the appropriate settings + + + CUSTOMDNS_VALIDATION_ERROR + ผิดพลาด: ชื่อโดเมน {$domainName} ไม่ถูกต้องตามหลักการตั้งชื่อโดเมน ชื่อโดเมนต้องยาวอย่างน้อยหนึ่งตัว และต้องเป็นตัวอักษร, ตัวเลข, จุด และ ครื่องหมายลบเท่านั้น โดเมนใหม่ไม่ถูกสร้าง + + + ddclient + โปรแกรมอ่านจดหมาย + + + DOMAIN_NAME_ALREADY_EXIST + ผิดพลาด: ชื่อโดเมน {$domainName} ถูกใช้ไปแล้ว โดเมนใหม่ไม่ถูกสร้าง + + + FREE_FORM_DESCRIPTION + Here you can create any domain name to publish over the net. + + + RETRIEVE_SSL + บันทึกการแก้ไข + + + RETRIEVE_DEAMONUPDATE + Deamon update (seconds) + + + RETRIEVE_URLCHECKIP + Url for the external IP + + + APPLY + บันทึก + + + DOMAIN_NAME_LABEL + ชื่อโดเมน + + + DESCRIPTION_LABEL + รายละเอียด + + + SUCCESSFULLY_MODIFIED_RETRIEVE_IP + แก้ไขโฮสต์เสร็จแล้ว + + + RETRIEVE_METHOD + Method to retrieve new IP: + + + RETRIEVE_IF + Local interface to get new IP, if selected interface method + + + RETRIEVE_CMD + Comand to execute to get IP, if selected comand method + + + SME external Interface + SME external interface + + + SME configuration DB + การตั้งค่าของระบบ + + + web + เว็บเซิร์ฟเวอร์ + + + Interface + อินเทอร์เฟซ + + + IP + ตั้งค่าอีเมล์ + + + Command + คำสั่ง + + + RETRIEVE_IP + IP to manually force + + + + + +
diff --git a/root/etc/e-smith/locale/tr/etc/e-smith/web/functions/ddclient b/root/etc/e-smith/locale/tr/etc/e-smith/web/functions/ddclient new file mode 100644 index 0000000..801a793 --- /dev/null +++ b/root/etc/e-smith/locale/tr/etc/e-smith/web/functions/ddclient @@ -0,0 +1,278 @@ + + + FORM_TITLE + Create, remove or change the publication of virtual domains + + + FORM_DESCRIPTION + virtual domain for publication on the net. + + + NO_VIRTUAL_DOMAINS + There are no virtual domains in the system. + + + CURRENT_LIST_OF_DOMAINS + Current list of virtual domains + + + PUBLICATION + publication + + + PRIMARY_SITE + birincil site + + + CONTENT + {$content} i-bay + + + CREATE_TITLE + Create a new publication virtual domain + + + SERVERS_LABEL + where to publish + + + MX + record MX + + + NAME_LABEL + login to publish + + + PASSWORD_LABEL + password to publish + + + CONTENT_FIELD_DESCRIPTION + Web sitesi için birincil sitenizi veya herhangi bir i-bay içerik olarak seçebilirsiniz. + + + DOMAIN_NAME_VALIDATION_ERROR + Hata: {$domainName} alan adı geçersiz karakter içriyor. Alanı adı bir veya daha fazla harf, rakam, nokta ve eksi işaretleri içermelidir + + + DOMAIN_DESCRIPTION_VALIDATION_ERROR + Hata: {$domainDesc} alan adı açıklamasi geçersiz karakter içriyor. Yeni alan adı olşturulamadı. + + + DOMAIN_IN_USE_ERROR + Hata: alan adı {$domainName} zaten kullanımda. Yeni alan adı olşturulamadı. + + + RESERVED_SECURE_DOMAIN_ERROR + Error: domain {$domainName} is reserved to provide a secured webserver for the virtual domain {$key}. Did not create new domain. + + + SYSTEM_DOMAIN_ERROR + Error: domain {$domainName} is your system domain name. You cannot have a virtual domain with the same name. Did not create new domain. + + + RESERVED_SECURE_SYSTEM_DOMAIN_ERROR + Error: domain {$domainName} is reserved to provide a secured webserver for your system domain name {$systemDomain}. Did not create new domain. + + + SUCCESSFULLY_CREATED + Successfully publication domain {$domainName} on {$dns}. + + + MODIFY_TITLE + Modify virtual domain + + + NONEXISTENT_DOMAIN_ERROR + Hata: {$domainName} mevcut bir alan değildir. + + + SUCCESSFULLY_MODIFIED + Successfully modified the publication {$domainName} on {$dns}. + + + REMOVE_TITLE + Remove publication of virtual domain + + + REMOVE_DESCRIPTION + You are about to remove the publication of domain {$domain} ({$domainDesc}) on {$dns}.

Are you sure you wish to remove this domain's publication ?

]]>
+
+ + ERROR_WHILE_REMOVING_DOMAIN + Error: internal failure while removing publictaion of {$domain}. + + + SUCCESSFULLY_DELETED + Successfully deleted publication of {$domain} on {$dns}. + + + DYNDNS1 + dyndns.org dynamic addresses + + + DYNDNS2 + dyndns.org static addresses + + + DYNDNS3 + dyndns.org custom addresses + + + ZONEDIT + ZoneEdit (zoneedit.com) + + + EASYDNS + EasyDNS (easydns.com) + + + HAMMER + Hammernode (hn.org) dynamic addresses + + + DSLREPORTS + dslreports.com dynamic-host monitoring + + + EURODYNDNS + eurodyndns.org dynamic adresses + + + DTDNS + DtDNS (www.dtdns.com) dynamic adresses + + + LOOPIA + Loopia (loopia.se) dynamic adresses + + + DNSPARK + Dnspark (dnspark.com) dynamic adresses + + + DYNHOST + DynHost (ovh.com) dynamic adresses + + + NOIP + NoIP (noip.com) dynamic adresses + + + CHANGEIP + ChangeIP (changeip.com) dynamic adresses + + + NAMECHEAP + NAMECHEAP (namecheap.com) dynamic adresses + + + SPDNS + SPDNS (spdns.de) dynamic adresses + + + CUSTOMDNS + özel DynDNS servisi + + + CUSTOMDNS_LABEL + Kurumsal DNS sunucu adresi + + + CUSTOM_PROTOCOL_LABEL + Custom ddclient Protocol + + + CUSTOM_DESCRIPTION + You can use a custom dynamic dns provider if yours is not in the published list. Please fill the custom fields with the appropriate settings + + + CUSTOMDNS_VALIDATION_ERROR + Hata: {$domainName} alan adı geçersiz karakter içriyor. Alanı adı bir veya daha fazla harf, rakam, nokta ve eksi işaretleri içermelidir + + + ddclient + Dynamic Clients + + + DOMAIN_NAME_ALREADY_EXIST + Hata: alan adı {$domainName} zaten kullanımda. Yeni alan adı olşturulamadı. + + + FREE_FORM_DESCRIPTION + Here you can create any domain name to publish over the net. + + + RETRIEVE_SSL + güncelle + + + RETRIEVE_DEAMONUPDATE + Deamon update (seconds) + + + RETRIEVE_URLCHECKIP + Url for the external IP + + + APPLY + Kaydet + + + DOMAIN_NAME_LABEL + Alan adı + + + DESCRIPTION_LABEL + açıklama + + + SUCCESSFULLY_MODIFIED_RETRIEVE_IP + Host başarıyla değiştirildi. + + + RETRIEVE_METHOD + Method to retrieve new IP: + + + RETRIEVE_IF + Local interface to get new IP, if selected interface method + + + RETRIEVE_CMD + Comand to execute to get IP, if selected comand method + + + SME external Interface + Harici Arabirim Yapılandırması + + + SME configuration DB + yapılandırma + + + web + sorgu/sorgula + + + Interface + ara yüz + + + IP + E-posta ayarları + + + Command + Command to execute + + + RETRIEVE_IP + IP to manually force + + + + + +
diff --git a/root/etc/e-smith/locale/zh-cn/etc/e-smith/web/functions/ddclient b/root/etc/e-smith/locale/zh-cn/etc/e-smith/web/functions/ddclient new file mode 100644 index 0000000..51edbd7 --- /dev/null +++ b/root/etc/e-smith/locale/zh-cn/etc/e-smith/web/functions/ddclient @@ -0,0 +1,278 @@ + + + FORM_TITLE + 创建、移除或更改虚拟域的发布 + + + FORM_DESCRIPTION + 发布在网络上的虚拟域 + + + NO_VIRTUAL_DOMAINS + 系统上没有虚拟域。 + + + CURRENT_LIST_OF_DOMAINS + 当前虚拟域列表 + + + PUBLICATION + 发布 + + + PRIMARY_SITE + 主站点 + + + CONTENT + {$content} i-bay + + + CREATE_TITLE + 发布新的虚拟域 + + + SERVERS_LABEL + 发布到哪里 + + + MX + 记录 MX + + + NAME_LABEL + 登陆发布 + + + PASSWORD_LABEL + 发布密码 + + + CONTENT_FIELD_DESCRIPTION + 对于web站点,您可以选择您的主站点或者i-bay作为网站的内容。 + + + DOMAIN_NAME_VALIDATION_ERROR + 错误:在domain名称{$domainName}中缺少必要的字符。此domain名称应该包含一个或者多个字母、数字、句点和分隔号。未能创建新domain。 + + + DOMAIN_DESCRIPTION_VALIDATION_ERROR + 错误:在domain名称{$domainDesc}中缺少必要的字符。未能创建新域。 + + + DOMAIN_IN_USE_ERROR + 错误:domain {$domainName} 已在使用中。未能创建新域。 + + + RESERVED_SECURE_DOMAIN_ERROR + 错误:域 {$domainName} 被预留为虚拟域{$key}提供安全的web服务器。未能创建新域。 + + + SYSTEM_DOMAIN_ERROR + 错误:域名 {$domainName} 是本机使用的域名。您不能创建一个与主机域名相同的虚拟域名。未能创建新域! + + + RESERVED_SECURE_SYSTEM_DOMAIN_ERROR + 错误: 域 {$domainName} 被预留为系统域名{$systemDomain}提供安全的web服务器。未能创建新域。 + + + SUCCESSFULLY_CREATED + 已在{$dns}上发布域名 {$domainName} 。 + + + MODIFY_TITLE + 修改虚拟域 + + + NONEXISTENT_DOMAIN_ERROR + 错误: {$domainName} 已经存在。 + + + SUCCESSFULLY_MODIFIED + 成功地在{$dns}上修改已发布的域名{$domainName} 。 + + + REMOVE_TITLE + 移除虚拟域的发布 + + + REMOVE_DESCRIPTION + 即将在 {$dns} 上移除域 {$domain} ({$domainDesc}) 的发布。

是否真的移除这个域的发布?

]]>
+
+ + ERROR_WHILE_REMOVING_DOMAIN + 错误:移除域名{$domain}时发生内部错误。 + + + SUCCESSFULLY_DELETED + 已在{$dns}上删除域名 {$domain} 的发布。 + + + DYNDNS1 + dyndns.org 动态地址 + + + DYNDNS2 + dyndns.org 静态地址 + + + DYNDNS3 + dyndns.org 定制的地址 + + + ZONEDIT + ZoneEdit (zoneedit.com) + + + EASYDNS + EasyDNS (easydns.com) + + + HAMMER + Hammernode (hn.org) 动态地址 + + + DSLREPORTS + dslreports.com 动态主机监视 + + + EURODYNDNS + eurodyndns.org 动态地址 + + + DTDNS + DtDNS (www.dtdns.com) 动态地址 + + + LOOPIA + Loopia (loopia.se) 动态地址 + + + DNSPARK + Dnspark (dnspark.com) 动态地址 + + + DYNHOST + DynHost (ovh.com) 动态地址 + + + NOIP + NoIP (noip.com) 动态地址 + + + CHANGEIP + ChangeIP (changeip.com) 动态地址 + + + NAMECHEAP + NoIP (noip.com) 动态地址 + + + SPDNS + DtDNS (www.dtdns.com) 动态地址 + + + CUSTOMDNS + 自定义动态DNS服务 + + + CUSTOMDNS_LABEL + 公共DNS服务器地址 + + + CUSTOM_PROTOCOL_LABEL + Custom ddclient Protocol + + + CUSTOM_DESCRIPTION + You can use a custom dynamic dns provider if yours is not in the published list. Please fill the custom fields with the appropriate settings + + + CUSTOMDNS_VALIDATION_ERROR + 错误:在domain名称{$domainName}中缺少必要的字符。此domain名称应该包含一个或者多个字母、数字、句点和分隔号。未能创建新domain。 + + + ddclient + 动态客户端 + + + DOMAIN_NAME_ALREADY_EXIST + 错误:domain {$domainName} 已在使用中。未能创建新域。 + + + FREE_FORM_DESCRIPTION + Here you can create any domain name to publish over the net. + + + RETRIEVE_SSL + 更新 + + + RETRIEVE_DEAMONUPDATE + Deamon update (seconds) + + + RETRIEVE_URLCHECKIP + Url for the external IP + + + APPLY + 保存 + + + DOMAIN_NAME_LABEL + 域名 + + + DESCRIPTION_LABEL + 描述 + + + SUCCESSFULLY_MODIFIED_RETRIEVE_IP + 驱动器编号已经修改 + + + RETRIEVE_METHOD + Method to retrieve new IP: + + + RETRIEVE_IF + Local interface to get new IP, if selected interface method + + + RETRIEVE_CMD + Comand to execute to get IP, if selected comand method + + + SME external Interface + 外网配置 + + + SME configuration DB + 服务配置 + + + web + Web服务器 + + + Interface + 接口 + + + IP + 电子邮件设置 + + + Command + 命令行 + + + RETRIEVE_IP + IP to manually force + + + + + +
diff --git a/root/etc/e-smith/locale/zh-tw/etc/e-smith/web/functions/ddclient b/root/etc/e-smith/locale/zh-tw/etc/e-smith/web/functions/ddclient new file mode 100644 index 0000000..67ade6b --- /dev/null +++ b/root/etc/e-smith/locale/zh-tw/etc/e-smith/web/functions/ddclient @@ -0,0 +1,278 @@ + + + FORM_TITLE + 建立、移除或改變虛擬網域的發佈 + + + FORM_DESCRIPTION + 發佈在網路上的虛擬網域。 + + + NO_VIRTUAL_DOMAINS + 系統上沒有虛擬網域。 + + + CURRENT_LIST_OF_DOMAINS + 現有虛擬網域列表 + + + PUBLICATION + 發佈 + + + PRIMARY_SITE + 主站台 + + + CONTENT + {$content} i-bay + + + CREATE_TITLE + 發佈新的虛擬網域 + + + SERVERS_LABEL + 發佈到哪裡 + + + MX + 記錄 MX + + + NAME_LABEL + 登入發佈 + + + PASSWORD_LABEL + 密碼發佈 + + + CONTENT_FIELD_DESCRIPTION + 對於網站而言,您能選擇您的主要站台或任何 i-bay 以作為內容。 + + + DOMAIN_NAME_VALIDATION_ERROR + 錯誤: 在網域名稱 {$domainName} 中含未知或缺少字元。網域名稱應該包含單一或多於一個的字元、數字、句號與減號。無法建立新網域。 + + + DOMAIN_DESCRIPTION_VALIDATION_ERROR + 錯誤: 在網域描述 {$domainDesc} 中含未知或缺少字元。無法建立新網域。 + + + DOMAIN_IN_USE_ERROR + 錯誤: 網域名稱 {$domainName} 正在使用中。無法建立新網域。 + + + RESERVED_SECURE_DOMAIN_ERROR + 錯誤:網域 {$domainName} 被保留為虛擬網域{$key}所提供的安全web伺服器。無法建立新網域。 + + + SYSTEM_DOMAIN_ERROR + 錯誤:網域 {$domainName} 是本機使用的網域名稱。您不能使用相同名稱的虛擬網域。無法建立新網域! + + + RESERVED_SECURE_SYSTEM_DOMAIN_ERROR + 錯誤:網域 {$domainName} 被保留為您系統網域名稱{$systemDomain}所提供的安全web伺服器。無法建立新網域。 + + + SUCCESSFULLY_CREATED + 成功發佈{$domain}在{$dns}上。 + + + MODIFY_TITLE + 修正虛擬網域 + + + NONEXISTENT_DOMAIN_ERROR + 錯誤: {$domainName}並非既有網域。 + + + SUCCESSFULLY_MODIFIED + 成功修正{$domain}在{$dns}上的發佈。 + + + REMOVE_TITLE + 移除虛擬網域的發佈 + + + REMOVE_DESCRIPTION + 您即將移除網域{$domain} ({$domainDesc})在{$dns}上的發佈。

您確定真的要移除此網域的發佈?

]]>
+
+ + ERROR_WHILE_REMOVING_DOMAIN + 錯誤:移除{$domain}的發佈時發生內部錯誤。 + + + SUCCESSFULLY_DELETED + 成功刪除{$domain}在{$dns}上的發佈。 + + + DYNDNS1 + dyndns.org 動態位址 + + + DYNDNS2 + dyndns.org 靜態位址 + + + DYNDNS3 + dyndns.org 客製位址 + + + ZONEDIT + ZoneEdit (zoneedit.com) + + + EASYDNS + EasyDNS (easydns.com) + + + HAMMER + Hammernode (hn.org) 動態位址 + + + DSLREPORTS + dslreports.com 動態主機監視 + + + EURODYNDNS + eurodyndns.org 動態位址 + + + DTDNS + DtDNS (www.dtdns.com) 動態位址 + + + LOOPIA + Loopia (loopia.se) 動態位址 + + + DNSPARK + Dnspark (dnspark.com) 動態位址 + + + DYNHOST + DynHost (ovh.com) 動態位址 + + + NOIP + NoIP (noip.com) 動態位址 + + + CHANGEIP + ChangeIP (changeip.com) 動態位址 + + + NAMECHEAP + NAMECHEAP (namecheap.com) 動態位址 + + + SPDNS + SPDNS (spdns.de) 動態位址 + + + CUSTOMDNS + 自訂動態 DNS 供應商 + + + CUSTOMDNS_LABEL + 自訂伺服器位址 + + + CUSTOM_PROTOCOL_LABEL + 自訂 ddclient 協定 + + + CUSTOM_DESCRIPTION + 倘若您的動態 DNS 供應商不在名單中,您可使用自訂動態 DNS 供應商。請將適當的設定填入自訂區域。 + + + CUSTOMDNS_VALIDATION_ERROR + 錯誤: 在自訂伺服器網址欄的網域名稱 {$domainName} 中含未知或缺少字元。伺服器網址應該包含單一或多於一個的字元、數字、句號與減號。無法套用改變。 + + + ddclient + 動態客戶端 + + + DOMAIN_NAME_ALREADY_EXIST + 錯誤:此網域 {$domainName} 已存在。請另選其他。 + + + FREE_FORM_DESCRIPTION + 此處您可建立任何網域名稱透過網路來發布。 + + + RETRIEVE_SSL + SSL 更新 + + + RETRIEVE_DEAMONUPDATE + 常駐程式更新 (seconds) + + + RETRIEVE_URLCHECKIP + Url 外部 IP 網址 + + + APPLY + 儲存 + + + DOMAIN_NAME_LABEL + 網域名稱 + + + DESCRIPTION_LABEL + 網域簡介 + + + SUCCESSFULLY_MODIFIED_RETRIEVE_IP + 您已成功修正 IP 相關選項。 + + + RETRIEVE_METHOD + Method to retrieve new IP: + + + RETRIEVE_IF + Local interface to get new IP, if selected interface method + + + RETRIEVE_CMD + Comand to execute to get IP, if selected comand method + + + SME external Interface + 用戶介面 + + + SME configuration DB + 服務設定 + + + web + 網頁伺服器 + + + Interface + 介面 + + + IP + 管理NFS Ibay設定 + + + Command + 指令列 + + + RETRIEVE_IP + IP to manually force + + + + + +
diff --git a/root/etc/e-smith/templates.metadata/etc/ddclient/ddclient.conf b/root/etc/e-smith/templates.metadata/etc/ddclient/ddclient.conf new file mode 100644 index 0000000..804bdcf --- /dev/null +++ b/root/etc/e-smith/templates.metadata/etc/ddclient/ddclient.conf @@ -0,0 +1,3 @@ +UID="ddclient" +GID="ddclient" +PERMS=0600 diff --git a/root/etc/e-smith/templates/etc/ddclient/ddclient.conf/10Headers b/root/etc/e-smith/templates/etc/ddclient/ddclient.conf/10Headers new file mode 100644 index 0000000..3576d9c --- /dev/null +++ b/root/etc/e-smith/templates/etc/ddclient/ddclient.conf/10Headers @@ -0,0 +1,72 @@ + { + my $deamonupdate = ${ddclient}{DeamonUpdate} || '360'; + if ($deamonupdate <= 360) {$deamonupdate = 360;} # Confuses ddclient runs if less than 5 minutes + my $ssl = ${ddclient}{SSL} || 'yes'; + $OUT .= qq( +daemon=$deamonupdate # check every $deamonupdate seconds +syslog=yes # log update msgs to syslog +pid=/var/run/ddclient.pid # record PID in file. +ssl=$ssl # Set SSL +); + + + my $mailSuccess = $ddclient{'mailSuccess'}||'admin'; + + if (($mailSuccess eq 'none') || ($mailSuccess eq '' )) { + $mailSuccess = ""; + } + + my $mailFailure = $ddclient{'mailFailure'}||'admin'; + + if (($mailFailure eq 'none') || ($mailFailure eq '')) { + $mailFailure = ""; + } + + $OUT .= "\n"; + $OUT .= "mail=$mailSuccess\n"; # mail update msgs to admin + $OUT .= "mail-failure=$mailFailure\n"; + + my $method = $ddclient{'method'}||'web'; + +# my $webskip = $ddclient{'webskip'}||'IP Address:'; #No longer supported for v3.11.1 +# my $cmdskip = $ddclient{'cmdskip'}||''; #No longer supported for v3.11.1 +# my $ifskip = $ddclient{'ifskip'}||''; #No longer supported for v3.11.1 + + my $Extinterface = $ddclient{'Extinterface'}|| $ExternalInterface{'Name'}|| ''; + my $cmd = $ddclient{'cmd'} || '/sbin/e-smith/db configuration getprop ExternalInterface IPAddress'; + my $ForceIP = $ddclient{'ForceIP'} || $ExternalInterface{'IPAddress'} || $ExternalIP || ''; + $OUT .= "\n"; + if ( $method eq 'smeIF' ) { + # we use SME db to get the external interface NAME : ppp0, eth1, tap0... + $Extinterface = $ExternalInterface{'Name'} ||$Extinterface; + $OUT .="usev4=ifv4, ifv4=$Extinterface\n"; + } elsif ( $method eq 'smeCMD') { + # we choose to just get the value from configuration DB + $OUT .="usev4=cmdv4, cmdv4='/sbin/e-smith/db configuration getprop ExternalInterface IPAddress'\n"; + } elsif ( $method eq 'web') { + # old good way, we get the value from an external web page. best if we are not gateway + $OUT .="usev4=webv4, webv4=$ddclient{'urlcheckip'} \n"; #Do not add / as may be web service id, not url + } elsif ( $method eq 'if') { + # we have a specific configuration and can not trust sme to get the interface correctly + $OUT .="usev4=ifv4, ifv4=$Extinterface\n"; #if-skip no longer required / deprecated + } elsif ( $method eq 'ip') { + # we want to force manually + $OUT.="usev4=ipv4, ipv4=$ForceIP \n"; + } elsif ( $method eq 'cmdv4') { + $OUT .="usev4=cmdv4, cmdv4='$cmd'\n"; + } else { + # fw method + my $fwaddress = $ddclient{'fwaddress'}||''; + my $fwdevice = $ddclient{'Extinterface'}||''; + my $fwlogin = $ddclient{'fwlogin'}||''; + my $fwpassword = $ddclient{'fwpassword'}||''; + my $fwskip = $ddclient{'fwskip'}||''; + $OUT .= "usev4=$fwdevice, fwv4=$fwaddress"; + $OUT .= ", fw-login=$fwlogin " if ( $fwlogin ne '' ); + $OUT .= ", fw-password=$fwpassword " if ( $fwpassword ne '' ); + $OUT .= ", fwv4-skip='$fwskip' " if ( $fwskip ne '' ); + $OUT .= "\n"; + } + + } + diff --git a/root/etc/e-smith/templates/etc/ddclient/ddclient.conf/20Declaration b/root/etc/e-smith/templates/etc/ddclient/ddclient.conf/20Declaration new file mode 100644 index 0000000..735565b --- /dev/null +++ b/root/etc/e-smith/templates/etc/ddclient/ddclient.conf/20Declaration @@ -0,0 +1,124 @@ +{ + use esmith::DomainsDB; + + $OUT=''; + + my $ddb = esmith::DomainsDB->open_ro(); + + my $edb; + + $edb = esmith::ConfigDB->open('/home/e-smith/db/ddclient') + or $edb = esmith::ConfigDB->create('/home/e-smith/db/ddclient'); + + #------------------------------------------------------------ + # Look up domains and domain descriptions + #------------------------------------------------------------ + + + my %DDNS = ( + DYNDNS1=> dyndns2, + DYNDNS2=>dyndns2, + DYNDNS3=>dyndns2, + ZONEDIT=>zoneedit1, + EASYDNS=>easydns, + HAMMER=>hammernode1, + DSLREPORTS=>dslreports1, + EURODYNDNS=>namecheap, + DTDNS=>dtdns, + LOOPIA=>dyndns2, + DNSPARK=>dyndns2, + DYNHOST=>dyndns2, + NOIP=>noip, + CHANGEIP=>dyndns2, + NAMECHEAP=>namecheap, + SPDNS=>dyndns2, + ); + my %DDSERV= ( + DYNDNS1=> 'members.dyndns.org', + DYNDNS2=>'members.dyndns.org', + DYNDNS3=>'members.dyndns.org', + ZONEDIT=>'dynamic.zoneedit.com', + EASYDNS=>'members.easydns.com', + HAMMER=>'dup.hn.org', + DSLREPORTS=>'members.dslreports.com', + EURODYNDNS=>'eurodyndns.org', + DTDNS=>'www.dtdns.com', + LOOPIA=>'dns.loopia.se', + DNSPARK=>'www.dnspark.com', + DYNHOST=>'www.ovh.com', + NOIP=>'dynupdate.no-ip.com', + CHANGEIP=>'nic.changeip.com', + NAMECHEAP=>'dynamicdns.park-your-domain.com', + SPDNS=>'update.spdyn.de', + ); + + for my $edom ( $ddb->domains , $edb->get_all_by_prop(type=>'ddhost') ) + { + { + + my $dns = $edom->prop('dns') || ''; + next if ($dns eq ''); + + $dns =~ tr/a-z/A-Z/; + my $login = $edom->prop('login'); + my $password = $edom->prop('password'); + my $customdns = $edom->prop('customdns') || ''; + my $customprotocol = $edom->prop('customprotocol') || ''; + + my $pubserv=""; + $pubserv= $DDSERV{$dns} if exists $DDSERV{$dns}; #not needed for v3.11.1 => yes it is + $pubserv= $customdns if( $dns eq 'CUSTOMDNS' ); + # Not sure if wee need these either! + my $static=$edom->prop('static') || ''; + my $custom=$edom->prop('custom') || ''; + my $wildcard=$edom->prop('wildcard') || ''; + my $backupmx=$edom->prop('backupmx') || ''; + + my $mx=$edom->prop('mx') || ''; + my $protocol=$dns; + $protocol = $DDNS{$dns} if exists $DDNS{$dns}; + my $explain='## '.$edom->prop('dns').' dynamic address'; + + if($dns ne '') + { + $OUT .="##\n"; + $OUT .=$explain."\n"; + $OUT .="##\n"; + $OUT .="server=".$pubserv.", \\\n"; # not needed for v3.11.1; is needed + $OUT .="protocol=".$protocol.", \\\n"; + #if( $dns eq 'DTDNS' ) { + #$OUT .="client=ddclient, \\\n"; + #} + #if( $dns eq 'LOOPIA' ) { + #$OUT .="use=web, \\\n"; + #$OUT .="web=loopia, \\\n"; + #$OUT .="script=/XDynDNSServer/XDynDNS.php, \\\n"; + #} + if($static ne '') { + $OUT .="static=".$static.", \\\n"; + } + + if($wildcard ne '') { + $OUT .="wildcard=".$wildcard.", \\\n"; + } + + if($custom ne '') { + $OUT .="custom=".$custom.", \\\n"; + } + + if ($mx ne '') { + $OUT .="mx=".$mx.", \\\n"; + } + + $OUT .="login=".$login.", \\\n"; + $OUT .="password=".$password." \\\n"; + $OUT .= ( $dns ne 'NAMECHEAP' )? $edom->key."\n" : "@.".$edom->key()."\n"; + $OUT .="##\n"; + $OUT .="##\n"; + $OUT .="\n"; + } + } + } +} + + diff --git a/root/etc/e-smith/templates/etc/ppp/ip-up.local/45ddclient b/root/etc/e-smith/templates/etc/ppp/ip-up.local/45ddclient new file mode 100644 index 0000000..fa7fdca --- /dev/null +++ b/root/etc/e-smith/templates/etc/ppp/ip-up.local/45ddclient @@ -0,0 +1,13 @@ + +# [ -x /etc/ppp/ddclient_ip-up.local ] && /etc/ppp/ddclient_ip-up.local "$@" +# [ -x /etc/rc.d/init.d/ddclient ] && /etc/rc.d/init.d/ddclient restart +{ +#$debug = (($ddclient{'debug'} eq 'enabled') ? "debug" : "nodebug"); +#$verbose = (($ddclient{'verbose'} eq 'enabled') ? "verbose" : "noverbose"); +#$quiet = (($ddclient{'quiet'} eq 'enabled') ? "quiet" : "noquiet"); +#$syslog = (($ddclient{'syslog'} eq "enabled") ? "syslog" : "nosyslog"); +$OUT= "/usr/bin/systemctl reload-or-restart ddclient" if ( ($ddclient{status}||"disabled") eq "enabled" ); +#$OUT .= "\/usr\/sbin\/ddclient -file \/etc\/ddclient\/ddclient.conf -$debug -$verbose -$quiet -$syslog -pid \/var\/run\/ddclient\/ddclient.pid"; +$OUT .= "\n"; +} + diff --git a/root/etc/e-smith/templates/usr/lib/systemd/system/ddclient.service.d/50koozali.conf/20Service b/root/etc/e-smith/templates/usr/lib/systemd/system/ddclient.service.d/50koozali.conf/20Service new file mode 100644 index 0000000..2096e8d --- /dev/null +++ b/root/etc/e-smith/templates/usr/lib/systemd/system/ddclient.service.d/50koozali.conf/20Service @@ -0,0 +1,18 @@ +{ +$debug = (($ddclient{'debug'} eq 'enabled') ? "debug" : "nodebug"); +$verbose = (($ddclient{'verbose'} eq 'enabled') ? "verbose" : "noverbose"); +$quiet = (($ddclient{'quiet'} eq 'disabled') ? "noquiet" : "quiet"); +$syslog = (($ddclient{'syslog'} eq "enabled") ? "syslog" : "nosyslog"); +$OUT .= "\n"; +$OUT .= "[Service]\n"; +$OUT .= "User=ddclient\n"; +$OUT .= "Group=ddclient\n"; +$OUT .= "Type=forking\n"; +$OUT .= "EnvironmentFile=-\/etc\/sysconfig\/ddclient\n"; +$OUT .= "ExecReload=/usr/bin/kill -HUP \$MAINPID\n"; +$OUT .= "ExecStartPre=\n"; +$OUT .= "ExecStartPre=\/bin\/touch \/var\/cache\/ddclient\/ddclient.cache\n"; +$OUT .= "ExecStart=\n"; +$OUT .= "ExecStart=\/usr\/sbin\/ddclient -file \/etc\/ddclient\/ddclient.conf -$debug -$verbose -$quiet -$syslog -pid \/var\/run\/ddclient\/ddclient.pid"; +$OUT .= "\n"; +} diff --git a/root/etc/e-smith/templates/usr/lib/systemd/system/ddclient.service.d/50koozali.conf/30Install b/root/etc/e-smith/templates/usr/lib/systemd/system/ddclient.service.d/50koozali.conf/30Install new file mode 100644 index 0000000..aa4f147 --- /dev/null +++ b/root/etc/e-smith/templates/usr/lib/systemd/system/ddclient.service.d/50koozali.conf/30Install @@ -0,0 +1,2 @@ +[Install] +WantedBy=sme-server.target diff --git a/root/etc/e-smith/web/functions/ddclient b/root/etc/e-smith/web/functions/ddclient new file mode 100755 index 0000000..e006492 --- /dev/null +++ b/root/etc/e-smith/web/functions/ddclient @@ -0,0 +1,1416 @@ +#!/usr/bin/perl -wT + +#---------------------------------------------------------------------- +# heading : Configuration +# description : ddclient +# navigation : 3000 3400 +#---------------------------------------------------------------------- +#---------------------------------------------------------------------- +# copyright (C) 2002 Mitel Networks Corporation +# +# 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 2 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, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# Technical support for this program is available from Mitel Networks +# Please visit our web site www.mitel.com/sme/ for details. +#---------------------------------------------------------------------- + +#package esmith; + +use strict; +use CGI ':all'; +use CGI::Carp qw(fatalsToBrowser); +use esmith::FormMagick; + +my $fm = esmith::FormMagick->new(); +$fm->parse_xml(); + +use esmith::cgi; +use esmith::util; +use esmith::ConfigDB; +use esmith::AccountsDB; + +sub showInitial ($$); +sub genContentMenu ($$); +sub createDomain ($); +sub performCreateDomain ($); +sub modifyDomain ($); +sub performModifyDomain ($); +sub deleteDomain ($); +sub performDeleteDomain ($); +sub ddcreateDomain ($); +sub ddperformCreateDomain ($); +sub ddmodifyDomain ($); +sub ddperformModifyDomain ($); +sub dddeleteDomain ($); +sub ddperformDeleteDomain ($); +sub genServer ($$); + +sub genRetrieve($$); +sub genRetrieveMethod($$); +sub performRetrieve($); + +####################################################################### +BEGIN +{ + # Clear PATH and related environment variables so that calls to + # external programs do not cause results to be tainted. See + # "perlsec" manual page for details. + + $ENV {'PATH'} = ''; + $ENV {'SHELL'} = '/bin/bash'; + delete $ENV {'ENV'}; +} + +esmith::util::setRealToEffective (); + +$CGI::POST_MAX=1024 * 100; # max 100K posts +$CGI::DISABLE_UPLOADS = 1; # no uploads + +my $conf = esmith::ConfigDB->open() or die "Unable to open configuration db"; +tie my %conf, 'esmith::config', '/home/e-smith/db/configuration'; +if ( ! %conf) { + tie %conf, 'esmith::config', '/home/e-smith/configuration'; +} + +my $domaindb = esmith::ConfigDB->open('/home/e-smith/db/domains') + or die "Unable to open domains db"; +my $edb; + +$edb = esmith::ConfigDB->open('/home/e-smith/db/ddclient') + or $edb = esmith::ConfigDB->create('/home/e-smith/db/ddclient'); +#------------------------------------------------------------ +# examine state parameter and display the appropriate form +#------------------------------------------------------------ + +my $q = new CGI; + +if (! grep (/^state$/, $q->param)) +{ + showInitial ($q, ''); +} + +elsif ($q->param ('state') eq "create") +{ + createDomain ($q); +} + +elsif ($q->param ('state') eq "performCreate") +{ + performCreateDomain ($q); +} + +elsif ($q->param ('state') eq "modify") +{ + modifyDomain ($q); +} + +elsif ($q->param ('state') eq "performModify") +{ + performModifyDomain ($q); +} + +elsif ($q->param ('state') eq "delete") +{ + deleteDomain ($q); +} + +elsif ($q->param ('state') eq "performDelete") +{ + performDeleteDomain ($q); +} + +elsif ($q->param ('state') eq "ddcreate") { + ddcreateDomain ($q); +} +elsif ($q->param ('state') eq "ddperformCreate") { + ddperformCreateDomain ($q); +} +elsif ($q->param ('state') eq "ddmodify") { + ddmodifyDomain ($q); +} +elsif ($q->param ('state') eq "ddperformModify") { + ddperformModifyDomain ($q); +} +elsif ($q->param ('state') eq "dddelete") { + dddeleteDomain ($q); +} +elsif ($q->param ('state') eq "ddperformDelete") { + ddperformDeleteDomain ($q); +} + +elsif ($q->param ('state') eq "performRetrieve") { + performRetrieve($q); +} + +else +{ + esmith::cgi::genStateError ($q, \%conf); +} + +exit (0); + +#------------------------------------------------------------ +# subroutine to display initial form +#------------------------------------------------------------ +sub get_dns_labels { + # + # dns service names from ddclient + # + # Better here would be to extract this list from the ddclient package. + my $Labels = ( + [ + 'CUSTOMDNS' , + 'DYNDNS1' , + 'DYNDNS2' , + 'DYNDNS3' , + 'ZONEDIT' , + 'EASYDNS' , + 'HAMMER' , + 'DSLREPORTS' , + 'EURODYNDNS' , + 'DTDNS' , + 'LOOPIA' , + 'DNSPARK' , + 'DYNHOST' , + 'NOIP' , + 'CHANGEIP' , + 'NAMECHEAP' , + 'SPDNS' , + 'SITELUTIONS', + 'FREEDNS', + 'NSUPDATE', + 'CLOUDFLARE', + 'GOOGLEDOMAINS', + 'DUCKDNS', + 'FREEMYIP', + 'WOIMA', + 'YANDEX', + 'DNSMADEEASY', + 'DONDOMINIO', + 'NFSN', + 'OVH', + 'CLOUDNS' + ] + ); + return $Labels; +} + + +sub genServer ($$) +{ + my ($q, $curSetting) = @_; + + if ((! defined $curSetting) || ($curSetting eq '')) + { + $curSetting = 'dyndns1'; + } + + my $Labels = get_dns_labels(); + # Create translated description for them + my %LabelDescriptions; + foreach my $lab (@$Labels){ + $LabelDescriptions{$lab}= $fm->localise($lab); + }; + return esmith::cgi::genCell ($q, $q->popup_menu (-name => 'dns', + -values => $Labels, + -default => $curSetting, + -labels => \%LabelDescriptions)); +} + + + +#------------------------------------------------------------ +sub genRetrieve($$) { + my ($q, $curSetting) = @_; + + if ((! defined $curSetting) || ($curSetting eq '')) + { + $curSetting = 'yes'; + } + + my %Labels = ( + 'yes' => $fm->localise('yes'), + 'no' => $fm->localise('no'), + ); + + return esmith::cgi::genCell ($q, $q->popup_menu (-name => 'retrievessl', + -values => [ + 'yes','no' + ], + -default => $curSetting, + -labels => \%Labels)); +} +#------------------------------------------------------------ +sub genRetrieveMethod($$) { + my ($q, $curSetting) = @_; + + if ((! defined $curSetting) || ($curSetting eq '')) + { + $curSetting = 'web'; + } + + my %Labels = ( + 'smeIF' => $fm->localise('SME external interface'), + 'smeCMD' => $fm->localise('SME configuration DB'), + 'web' => $fm->localise('web'), + 'if' => $fm->localise('Interface'), + 'ip' => $fm->localise('IP'), + 'cmd' => $fm->localise('Command'), + ); + + return esmith::cgi::genCell ($q, $q->popup_menu (-name => 'retrievemethod', + -values => [ + 'smeIF','smeCMD','web','if','ip','cmd' + ], + -default => $curSetting, + -labels => \%Labels)); +} +#------------------------------------------------------------ +# +sub showInitial ($$) +{ + my ($q, $msg) = @_; + + #------------------------------------------------------------ + # If there's a message, we just finished an operation so show the + # status report. If no message, this is a new list of domains. + #------------------------------------------------------------ + + if ($msg eq '') + { + esmith::cgi::genHeaderNonCacheable ($q, \%conf, $fm->localise('FORM_TITLE')); + } + else + { + esmith::cgi::genHeaderNonCacheable ($q, \%conf, $fm->localise('OPERATION_STATUS_REPORT')); + print $q->p ($msg); + print $q->hr; + } + + print $q->p ($fm->localise('FORM_DESCRIPTION')); + + #------------------------------------------------------------ + # get the ip retrieve method + #------------------------------------------------------------ + my $ddretrieve=$conf->get('ddclient'); + my $ExtIF=$conf->get('ExternalInterface'); + my $DeamonUpdate=$ddretrieve->prop('DeamonUpdate')|| '300'; + my $urlcheckip=$ddretrieve->prop('urlcheckip')|| 'checkip.dyndns.org'; + my $ssl=$ddretrieve->prop('SSL')|| 'yes'; + my $method=$ddretrieve->prop('method')||'web'; + my $Extinterface=$ddretrieve->prop('Extinterface')||''; + my $cmd=$ddretrieve->prop('cmd')||''; + my $forceIP=$ddretrieve->prop('ForceIP')||''; + + print $q->startform (-method => 'POST', + -action => $q->url (-absolute => 1)); + + print $q->table ({border => 0, cellspacing => 0, cellpadding => 4}, + $q->Tr (esmith::cgi::genCell($q, + $fm->localise('RETRIEVE_SSL').":", 'sme-noborders-label' ), + genRetrieve($q,$ssl)), +# esmith::cgi::genWidgetRow ($q, $fm->localise('RETRIEVE_SSL')), +# $q->popup_menu (-name => 'SSL', +# -values => ['yes', 'no'], +# -default => $ssl), +# -labels => \%status)) , + $q->Tr (esmith::cgi::genNameValueRow ($q,$fm->localise('RETRIEVE_DEAMONUPDATE'), + "retrievedeamonupdate",$DeamonUpdate)), + $q->Tr (esmith::cgi::genCell ($q,$fm->localise('RETRIEVE_METHOD').":", 'sme-noborders-label' ), + genRetrieveMethod($q,$method)), + $q->Tr (esmith::cgi::genNameValueRow ($q,$fm->localise('RETRIEVE_IF'), + "retrieveinterface",$Extinterface)), + $q->Tr (esmith::cgi::genNameValueRow ($q,$fm->localise('RETRIEVE_CMD'), + "retrievecmd",$cmd)), + $q->Tr (esmith::cgi::genNameValueRow ($q,$fm->localise('RETRIEVE_IP'), + "retrieveip",$forceIP)), + $q->Tr (esmith::cgi::genNameValueRow ($q,$fm->localise('RETRIEVE_URLCHECKIP'), + "retrieveurlcheckip",$urlcheckip)), + esmith::cgi::genButtonRow ( $q, + $q->submit (-name => 'action', + -value => $fm->localise('APPLY'))) + ); + + print $q->hidden (-name => 'state', + -override => 1, + -default => 'performRetrieve'); + + print $q->endform; + print $q->hr; + + #------------------------------------------------------------ + # Look up domains and domain descriptions + #------------------------------------------------------------ + + my $key; + my @virtualDomains = (); + foreach my $domain ($domaindb->get_all_by_prop(type=>'domain')) + { + $key = $domain->key; + push (@virtualDomains, $key); + } + + print $q->p ($fm->localise('FORM_DESCRIPTION')); + + my $numDomains = @virtualDomains; + if ($numDomains == 0) + { + print $q->p ($q->b ($fm->localise('NO_VIRTUAL_DOMAINS'))); + } + else + { + print $q->p ($q->b ($fm->localise('CURRENT_LIST_OF_DOMAINS'))); + + print $q->table ({border => 1, cellspacing => 1, cellpadding => 4}); + + print $q->Tr (esmith::cgi::genSmallCell ($q, $q->b ($fm->localise('DOMAIN'))), + esmith::cgi::genSmallCell ($q, $q->b ($fm->localise('DESCRIPTION'))), + esmith::cgi::genSmallCell ($q, $q->b ($fm->localise('CONTENT', ))), + esmith::cgi::genSmallCell ($q, $q->b ($fm->localise('PUBLICATION', ))), + $q->td (' '), + $q->td (' ')); + + my $domain; + foreach $domain (sort @virtualDomains) + { + my %properties = $domaindb->get($domain)->props; + + my $test=$domaindb->get($domain) || ''; + + my %extraprops; + if($test ne '') + { + %extraprops = $domaindb->get($domain)->props; + } + + my $content; + if ($properties{'Content'} eq 'wwwpublic') + { + $content = $fm->localise('PRIMARY_SITE'); + } + else + { + $content = $fm->localise('CONTENT', + {content => $properties{'Content'}}); + } + + my $public; + if ($test eq '') + { + print $q->Tr (esmith::cgi::genSmallCell ($q, $domain), + esmith::cgi::genSmallCell ($q, $properties{'Description'}), + esmith::cgi::genSmallCell ($q, $content), + esmith::cgi::genSmallCell ($q, ' '), + esmith::cgi::genSmallCell ($q, ' '), + esmith::cgi::genSmallCell ($q, + $q->a ({href => $q->url (-absolute => 1) + . "?state=create&domain=" + . $domain}, $fm->localise('CREATE', ))), + esmith::cgi::genSmallCell ($q, ' ') + ); + } + else + { + print $q->Tr (esmith::cgi::genSmallCell ($q, $domain), + esmith::cgi::genSmallCell ($q, $properties{'Description'}), + esmith::cgi::genSmallCell ($q, $content), + esmith::cgi::genSmallCell ($q, $fm->localise($extraprops{'dns'})), + esmith::cgi::genSmallCell ($q, + $q->a ({href => $q->url (-absolute => 1) + . "?state=modify&domain=" + . $domain}, $fm->localise('MODIFY', ))), + esmith::cgi::genSmallCell ($q, + $q->a ({href => $q->url (-absolute => 1) + . "?state=delete&domain=" + . $domain}, $fm->localise('DELETE', ))) + ); + } + + } + + print ''; + } + print $q->hr; +######################################################################################################################################### +# now the free form part +# + my @FreeDomains = (); + foreach my $domain ($edb->get_all_by_prop(type=>'ddhost')) + { + my $key = $domain->key; + push (@FreeDomains, $key); + } + + print $q->p ($fm->localise('FREE_FORM_DESCRIPTION')); + + $numDomains = @FreeDomains; + + print $q->p ($q->b ($fm->localise('CURRENT_LIST_OF_DOMAINS'))); + + print $q->table ({border => 1, cellspacing => 1, cellpadding => 4}); + + print $q->Tr (esmith::cgi::genSmallCell ($q, $q->b ($fm->localise('DOMAIN'))), + esmith::cgi::genSmallCell ($q, $q->b ($fm->localise('DESCRIPTION'))), + esmith::cgi::genSmallCell ($q, $q->b ($fm->localise('PUBLICATION'))), + $q->td (' '), + $q->td (' ') + ); + + if ( $numDomains > 0 ) { + foreach my $domain (sort @FreeDomains) { + my $vals = $edb->get($domain); + my $content = $vals->prop('desc'); + my $publish = $fm->localise($vals->prop('dns')); + print $q->Tr (esmith::cgi::genSmallCell ($q, $domain), + esmith::cgi::genSmallCell ($q, $content), + esmith::cgi::genSmallCell ($q, $publish), + esmith::cgi::genSmallCell ($q, + $q->a ({href => $q->url (-absolute => 1) + . "?state=ddmodify&domain=" + . $domain}, $fm->localise('MODIFY', ))), + esmith::cgi::genSmallCell ($q, + $q->a ({href => $q->url (-absolute => 1) + . "?state=dddelete&domain=" + . $domain}, $fm->localise('DELETE', ))) + ); + } + } + + print $q->Tr (($q->td(' ')), + ($q->td(' ')), + ($q->td(' ')), + ($q->td(' ')), + esmith::cgi::genSmallCell ($q, + $q->a ({href => $q->url (-absolute => 1) + . "?state=ddcreate"}, $fm->localise('CREATE', ))) + ); + print ''; + + esmith::cgi::genFooter ($q); +} + +#------------------------------------------------------------ +# +#------------------------------------------------------------ + +sub genContentMenu ($$) +{ + my ($q, $currentSetting) = @_; + + if ((! defined $currentSetting) || ($currentSetting eq '')) + { + $currentSetting = 'wwwpublic'; # this chooses the primary web site + } + + my $acctdb = esmith::AccountsDB->open(); + + my %labels = (); + my @values = (); + + foreach my $ibay ($acctdb->get_all_by_prop(type=>'ibay')) + { + my $key = $ibay->key; + my %properties = $ibay->props; + $labels {$key} = $properties {'Name'}; + } + + @values = sort (keys %labels); + + $labels {'wwwpublic'} = $fm->localise('PRIMARY_SITE'); + unshift @values, 'wwwpublic'; + + return esmith::cgi::genCell ($q, $q->popup_menu (-name => 'domainContent', + -values => \@values, + -default => $currentSetting, + -labels => \%labels)); +} +#------------------------------------------------------------ +# +#------------------------------------------------------------ +sub performRetrieve($) { + my ($q) = @_; + my $deamonupdate =$q->param('retrievedeamonupdate'); + my $urlcheckip =$q->param('retrieveurlcheckip'); + my $ssl = $q->param('retrievessl'); + my $retrievemethod = $q->param('retrievemethod'); + my $retrieveinterface = $q->param('retrieveinterface'); + my $retrievecmd = $q->param('retrievecmd'); + my $retrieveip = $q->param('retrieveip'); + + my $ddclient=$conf->get('ddclient'); + $ddclient->set_prop('urlcheckip' => $urlcheckip); + $ddclient->set_prop('DeamonUpdate' => $deamonupdate); + $ddclient->set_prop('SSL' => $ssl); + $ddclient->set_prop('method' => $retrievemethod); + $ddclient->set_prop('Extinterface' => $retrieveinterface ); + $ddclient->set_prop('cmd' => $retrievecmd); + $ddclient->set_prop('ForceIP' => $retrieveip); + + $domaindb->reload(); + + system ("/sbin/e-smith/signal-event", "smeserver-ddclient-update"); + + showInitial ($q, $fm->localise('SUCCESSFULLY_MODIFIED_RETRIEVE_IP')); +} + +#------------------------------------------------------------ +sub createDomain ($) +{ + my ($q) = @_; + my $domain=$q->param('domain'); + + esmith::cgi::genHeaderNonCacheable + ($q, \%conf, $fm->localise('CREATE_TITLE')); + + my %properties = $domaindb->get($domain)->props; + + my $test=$domaindb->get($domain) || ''; + + my %extraprops; + if($test ne '') + { + %extraprops = $domaindb->get($domain)->props; + } + + my $content; + if ($properties{'Content'} eq 'wwwpublic') + { + $content = $fm->localise('PRIMARY_SITE'); + } + else + { + $content = $fm->localise('CONTENT', + {content => $properties{'Content'}}); + } + + + print $q->startform (-method => 'POST', + -action => $q->url (-absolute => 1)); + + print $q->table ({border => 0, cellspacing => 0, cellpadding => 4}, + + $q->Tr (esmith::cgi::genCell ($q,$fm->localise('DOMAIN_NAME')), + esmith::cgi::genCell ($q,$q->b($domain))), + + $q->Tr (esmith::cgi::genCell($q,$fm->localise('DESCRIPTION_BRIEF')), + esmith::cgi::genCell($q,$properties{'Description'})), + + $q->Tr (esmith::cgi::genCell ($q,$fm->localise('CONTENT')), + esmith::cgi::genCell ($q, $q->b($content))), + + $q->Tr (esmith::cgi::genCell ($q, $fm->localise('SERVERS_LABEL')), + genServer($q, $extraprops{'dns'})), + + $q->Tr (esmith::cgi::genNameValueRow ($q,$fm->localise('NAME_LABEL'), + "login","")), + + $q->Tr (esmith::cgi::genNameValueRow ($q,$fm->localise('PASSWORD_LABEL'), + "password","")), + + $q->Tr (esmith::cgi::genNameValueRow ($q,$fm->localise('MX'), + "mx","")), + + esmith::cgi::genButtonRow ( $q, + $q->submit (-name => 'action', + -value => $fm->localise('CREATE')))); + + print $q->hidden (-name => 'domainName', + -override => 1, + -default => $domain); + + print $q->hidden (-name => 'state', + -override => 1, + -default => 'performCreate'); + + print $q->endform; + + esmith::cgi::genFooter ($q); + return; +} + +#------------------------------------------------------------ +# +#------------------------------------------------------------ + +sub performCreateDomain ($) +{ + my ($q) = @_; + + #------------------------------------------------------------ + # Validate parameters and untaint them + #------------------------------------------------------------ + + my $domainName = $q->param ('domainName'); + if ($domainName =~ /^([a-zA-Z0-9\-\.]+)$/) + { + $domainName = $1; + } + else + { + showInitial ($q, $fm->localise('DOMAIN_NAME_VALIDATION_ERROR', + {domainName => $domainName})); + return; + } + + my $domainLogin = $q->param ('login'); + if ($domainLogin =~ /^([\-\'\w][\-\'\w\s\.\@]*)$/) + { + $domainLogin = $1; + } + else + { + showInitial ($q, $fm->localise('DOMAIN_LOGIN_VALIDATION_ERROR', + {domainLogin => $domainLogin})); + return; + } + + my $domainPassword = $q->param ('password'); + if ($domainPassword =~ /^(.*)$/) + { + $domainPassword = $1; + } + else + { + showInitial ($q, $fm->localise('DOMAIN_PASSWORD_VALIDATION_ERROR', + {domainPassword => $domainPassword})); + return; + } + + my $domainMX = $q->param ('mx'); + #------------------------------------------------------------ + # Looks good. Find out if this domain has been taken + # or if the domain is a reserved to provide a secured webserver + # for a previous domain + #------------------------------------------------------------ + my $dns = $q->param ('dns'); + + my %properties = (); + $properties{'type'} = 'domain'; + $properties{'dns'} = $dns; + $properties{'login'} = $domainLogin; + $properties{'password'} = $domainPassword; + $properties{'mx'} = $domainMX; + + $domaindb->new_record($domainName, \%properties); + + system ("/sbin/e-smith/signal-event", "domain-create"); + + showInitial ($q, $fm->localise('SUCCESSFULLY_CREATED', + {domainName => $domainName,dns => $fm->localise($dns) })); +} + +#------------------------------------------------------------ +# +#------------------------------------------------------------ + +sub modifyDomain ($) +{ + my ($q) = @_; + + esmith::cgi::genHeaderNonCacheable ($q, \%conf, + $fm->localise('MODIFY_TITLE')); + + print $q->startform (-method => 'POST', -action => $q->url (-absolute => 1)); + + my $domain = $q->param ('domain'); + my $value = $domaindb->get($domain); + my $evalue = $domaindb->get($domain); + + if ($value) + { + my %properties = $value->props; + my %eprops = $evalue->props; + my $content; + if ($properties{'Content'} eq 'wwwpublic') + { + $content = $fm->localise('PRIMARY_SITE'); + } + else + { + $content = $fm->localise('CONTENT', + {content => $properties{'Content'}}); + } + + print $q->h3 ($fm->localise('CUSTOM_DESCRIPTION')); + print $q->p; + + print $q->table ({border => 0, cellspacing => 0, cellpadding => 4}, + $q->Tr (esmith::cgi::genCell ($q, + $fm->localise('DOMAIN_NAME')), + esmith::cgi::genCell ($q, $domain)), + + $q->Tr (esmith::cgi::genCell ($q, + $fm->localise('DESCRIPTION_BRIEF')), + esmith::cgi::genCell ($q, $properties {'Description'})), + + $q->Tr (esmith::cgi::genCell ($q, + $fm->localise('CONTENT')), + esmith::cgi::genCell ($q, $content)), + + $q->Tr (esmith::cgi::genCell ($q, $fm->localise('SERVERS_LABEL')), + genServer($q, $eprops{'dns'})), + + $q->Tr (esmith::cgi::genNameValueRow ($q,$fm->localise('CUSTOMDNS_LABEL'), + "customdns", + $eprops{'customdns'})), + + $q->Tr (esmith::cgi::genNameValueRow ($q,$fm->localise('CUSTOM_PROTOCOL_LABEL'), + "customprotocol", + $eprops{'customprotocol'})), + + $q->Tr (esmith::cgi::genNameValueRow ($q,$fm->localise('NAME_LABEL'), + "login", + $eprops{'login'})), + + $q->Tr (esmith::cgi::genNameValueRow ($q,$fm->localise('PASSWORD_LABEL'), + "password", + $eprops{'password'})), + + $q->Tr (esmith::cgi::genNameValueRow ($q,$fm->localise('MX'), + "mx",$eprops{'mx'})), + + esmith::cgi::genButtonRow ($q, + $q->submit (-name => 'action', + -value => $fm->localise('MODIFY')))); + + print $q->hidden (-name => 'domainName', + -override => 1, + -default => $domain); + + print $q->hidden (-name => 'state', + -override => 1, + -default => 'performModify'); + + } + + print $q->endform; + esmith::cgi::genFooter ($q); + return; +} + +#------------------------------------------------------------ +# +#------------------------------------------------------------ + +sub performModifyDomain ($) +{ + my ($q) = @_; + + #------------------------------------------------------------ + # Validate parameters and untaint them + #------------------------------------------------------------ + + my $domainName = $q->param ('domainName'); + if ($domainName =~ /^([a-zA-Z0-9\-\.]+)$/) + { + $domainName = $1; + } + else + { + showInitial ($q, $fm->localise('DOMAIN_NAME_VALIDATION_ERROR', + {domainName => $domainName})); + return; + } + + my $domainLogin = $q->param ('login'); + if ($domainLogin =~ /^([\-\'\w][\-\'\w\s\.\@]*)$/) + { + $domainLogin = $1; + } + else + { + showInitial ($q, $fm->localise('DOMAIN_LOGIN_VALIDATION_ERROR', + {domainLogin => $domainLogin})); + return; + } + + my $domainPassword = $q->param ('password'); + if ($domainPassword =~ /^(.*)$/) + { + $domainPassword = $1; + } + else + { + showInitial ($q, $fm->localise('DOMAIN_PASSWORD_VALIDATION_ERROR', + {domainPassword => $domainPassword})); + return; + } + + my $domainMX = $q->param ('mx'); + my $customDNS = $q->param('customdns'); + my $customPROTOCOL = $q->param('customprotocol'); + + my $dns = $q->param ('dns'); + if ($dns eq 'CUSTOMDNS') + { + if ($customDNS =~ /^([a-zA-Z0-9\-\.]+)$/) + { + $customDNS = $1; + } + else + + { + showInitial ($q, $fm->localise('CUSTOMDNS_VALIDATION_ERROR', + {domainName => $domainName})); + return; + } + } + #------------------------------------------------------------ + # Looks good. Find out if this domain has been taken + # or if the domain is a reserved to provide a secured webserver + # for a previous domain + #------------------------------------------------------------ +# my $dns = $q->param ('dns'); + + my $dom=$domaindb->get($domainName); + + $dom->set_prop('dns' => $dns); + $dom->set_prop('login' => $domainLogin); + $dom->set_prop('password' => $domainPassword); + $dom->set_prop('mx' => $domainMX); + $dom->set_prop('customdns' => $customDNS); + $dom->set_prop('customprotocol' => $customPROTOCOL); + + $domaindb->reload(); + + system ("/sbin/e-smith/signal-event", "domain-modify"); + + showInitial ($q, $fm->localise('SUCCESSFULLY_MODIFIED', + {domainName => $domainName,dns => $fm->localise($dns)})); +} + +#------------------------------------------------------------ +# +#------------------------------------------------------------ + +sub deleteDomain ($) +{ + my ($q) = @_; + + esmith::cgi::genHeaderNonCacheable ($q, \%conf, $fm->localise('REMOVE_TITLE')); + + print $q->startform (-method => 'POST', -action => $q->url (-absolute => 1)); + + my $domain = $q->param ('domain'); + my $value = $domaindb->get($domain); + my $evalue = $domaindb->get($domain); + + if ($value) + { + my %properties = $value->props; + my $type = $properties{'type'}; + my $domainDesc = $properties{'Description'}; + my %eprops = $evalue->props; + my $dns=$fm->localise($eprops{'dns'}); + + print $q->p($fm->localise('REMOVE_DESCRIPTION', + {domain => $domain, + domainDesc => $domainDesc, + dns => $dns } )); + + print $q->submit (-name => 'action', -value => $fm->localise('REMOVE')); + print $q->hidden (-name => 'domain', -override => 1, -default => $domain); + + print $q->hidden (-name => 'state', + -override => 1, + -default => 'performDelete'); + } + + print $q->endform; + esmith::cgi::genFooter ($q); + return; +} + +#------------------------------------------------------------ +# +#------------------------------------------------------------ + +sub performDeleteDomain ($) +{ + my ($q) = @_; + + #------------------------------------------------------------ + # Attempt to delete domain + #------------------------------------------------------------ + + my $domain = $q->param ('domain'); + + if ($domain =~ /^([a-zA-Z0-9\-\.]+)$/) + { + $domain = $1; + } + else + { + showInitial ($q, $fm->localise('ERROR_WHILE_REMOVING_DOMAIN', + {domain => $domain})); + return; + } + + my $value = $domaindb->get($domain); + unless ($value) + { + showInitial ($q, $fm->localise('NONEXISTENT_DOMAIN_ERROR', + {domainName => $domain})); + return; + } + + my %properties = $value->props; + my $type = $properties{'type'}; + if ($type ne 'domain') + { + showInitial ($q, $fm->localise('NONEXISTENT_DOMAIN_ERROR', + {domainName => $domain})); + return; + } + + my $evalue = $domaindb->get($domain); + my %props = $evalue->props; + my $dns = $fm->localise($props{'dns'}); + + $evalue->set_prop('dns' => ''); + $evalue->set_prop('login' => ''); + $evalue->set_prop('password' => ''); + $evalue->set_prop('customdns' => ''); + $evalue->set_prop('customprotocol' => ''); + + $domaindb->reload(); + + system ("/sbin/e-smith/signal-event", "domain-delete"); + + showInitial ($q, $fm->localise('SUCCESSFULLY_DELETED', + {domain => $domain, dns => $dns})); +} + +####################################################################### +# create a free publish +# +sub ddcreateDomain ($) +{ + my ($q) = @_; + + esmith::cgi::genHeaderNonCacheable + ($q, \%conf, $fm->localise('CREATE_TITLE')); + + print $q->startform (-method => 'POST', + -action => $q->url (-absolute => 1)); + print $q->h3 ($fm->localise('CUSTOM_DESCRIPTION')); + print $q->p; + print $q->table ({border => 0, cellspacing => 0, cellpadding => 4}, + + $q->Tr (esmith::cgi::genNameValueRow ($q,$fm->localise('DOMAIN_NAME_LABEL'), + "domainName","")), + + $q->Tr (esmith::cgi::genNameValueRow($q,$fm->localise('DESCRIPTION_LABEL'), + "desc","")), + + $q->Tr (esmith::cgi::genCell ($q, $fm->localise('SERVERS_LABEL')), + genServer($q, '')), + + $q->Tr (esmith::cgi::genNameValueRow ($q,$fm->localise('CUSTOMDNS_LABEL'), + "customdns",'')), + + $q->Tr (esmith::cgi::genNameValueRow ($q,$fm->localise('CUSTOM_PROTOCOL_LABEL'), + "customprotocol",'')), + + $q->Tr (esmith::cgi::genNameValueRow ($q,$fm->localise('NAME_LABEL'), + "login","")), + + $q->Tr (esmith::cgi::genNameValueRow ($q,$fm->localise('PASSWORD_LABEL'), + "password","")), + + $q->Tr (esmith::cgi::genNameValueRow ($q,$fm->localise('MX'), + "mx","")), + + esmith::cgi::genButtonRow ( $q, + $q->submit (-name => 'action', + -value => $fm->localise('CREATE')))); + + print $q->hidden (-name => 'state', + -override => 1, + -default => 'ddperformCreate'); + + print $q->endform; + + esmith::cgi::genFooter ($q); + return; +} + +#------------------------------------------------------------ +# +#------------------------------------------------------------ + +sub ddperformCreateDomain ($) +{ + my ($q) = @_; + + #------------------------------------------------------------ + # Validate parameters and untaint them + #------------------------------------------------------------ + + my $domainName = $q->param ('domainName'); + if ($domainName =~ /^([a-zA-Z0-9\-\.]+)$/) { + $domainName = $1; + } else { + showInitial ($q, $fm->localise('DOMAIN_NAME_VALIDATION_ERROR', + {domainName => $domainName})); + return; + } +############################################### + foreach my $domain ($domaindb->get_all_by_prop(type=>'domain')) + { + my $key = $domain->key; + if ( $key eq $domainName ) { + showInitial ($q, $fm->localise('DOMAIN_NAME_ALREADY_EXIST', + {domainName => $domainName})); + return; + } + } + + foreach my $domain ($edb->get_all_by_prop(type=>'ddhost')) + { + my $key = $domain->key; + if ( $key eq $domainName ) { + showInitial ($q, $fm->localise('DOMAIN_NAME_ALREADY_EXIST', + {domainName => $domainName})); + return; + } + } + +############################################# + + my $domainDesc = $q->param ('desc'); + my $domainLogin = $q->param ('login'); + if ($domainLogin =~ /^([\-\'\w][\-\'\w\s\.\@]*)$/) { + $domainLogin = $1; + } else { + showInitial ($q, $fm->localise('DOMAIN_LOGIN_VALIDATION_ERROR', + {domainLogin => $domainLogin})); + return; + } + + my $domainPassword = $q->param ('password'); + if ($domainPassword =~ /^(.*)$/) { + $domainPassword = $1; + } else { + showInitial ($q, $fm->localise('DOMAIN_PASSWORD_VALIDATION_ERROR', + {domainPassword => $domainPassword})); + return; + } + + my $domainMX = $q->param ('mx'); +##Custom dns retrieve + my $customDNS = $q->param('customdns'); + my $customPROTOCOL = $q->param('customprotocol'); + + my $dns = $q->param ('dns'); + if ($dns eq 'CUSTOMDNS') + { + if ($customDNS =~ /^([a-zA-Z0-9\-\.]+)$/) + { + $customDNS = $1; + } + else + + { + showInitial ($q, $fm->localise('CUSTOMDNS_VALIDATION_ERROR', + {domainName => $domainName})); + return; + } + } + #------------------------------------------------------------ + # Looks good. Find out if this domain has been taken + # or if the domain is a reserved to provide a secured webserver + # for a previous domain + #------------------------------------------------------------ +# my $dns = $q->param ('dns'); + + my %properties = (); + $properties{'type'} = 'ddhost'; + $properties{'dns'} = $dns; + $properties{'login'} = $domainLogin; + $properties{'password'} = $domainPassword; + $properties{'mx'} = $domainMX; + $properties{'desc'} = $domainDesc; + $properties{'customdns'} = $customDNS; + $properties{'customprotocol'} = $customPROTOCOL; + $edb->new_record($domainName, \%properties); + + system ("/sbin/e-smith/signal-event", "domain-create"); + + showInitial ($q, $fm->localise('SUCCESSFULLY_CREATED', + {domainName => $domainName,dns => $fm->localise($dns) })); +} + +#------------------------------------------------------------ +# +#------------------------------------------------------------ + +sub ddmodifyDomain ($) +{ + my ($q) = @_; + + esmith::cgi::genHeaderNonCacheable ($q, \%conf, + $fm->localise('MODIFY_TITLE')); + + print $q->startform (-method => 'POST', -action => $q->url (-absolute => 1)); + + my $domain = $q->param ('domain'); + my $evalue = $edb->get($domain); + + if (defined $evalue) + { + my %eprops = $evalue->props; + + print $q->h3 ($fm->localise('CUSTOM_DESCRIPTION')); + print $q->p; + + print $q->table ({border => 0, cellspacing => 0, cellpadding => 4}, + $q->Tr (esmith::cgi::genCell ($q, $fm->localise('DOMAIN_NAME_LABEL')), + esmith::cgi::genCell ($q, $domain)), + + $q->Tr (esmith::cgi::genNameValueRow ($q, $fm->localise('DESCRIPTION_LABEL'), + "desc", + $eprops{'desc'})), + + $q->Tr (esmith::cgi::genCell ($q, $fm->localise('SERVERS_LABEL')), + genServer($q, $eprops{'dns'})), + + $q->Tr (esmith::cgi::genNameValueRow ($q,$fm->localise('CUSTOMDNS_LABEL'), + "customdns", + $eprops{'customdns'})), + + $q->Tr (esmith::cgi::genNameValueRow ($q,$fm->localise('CUSTOM_PROTOCOL_LABEL'), + "customprotocol", + $eprops{'customprotocol'})), + + $q->Tr (esmith::cgi::genNameValueRow ($q,$fm->localise('NAME_LABEL'), + "login", + $eprops{'login'})), + + $q->Tr (esmith::cgi::genNameValueRow ($q,$fm->localise('PASSWORD_LABEL'), + "password", + $eprops{'password'})), + + $q->Tr (esmith::cgi::genNameValueRow ($q,$fm->localise('MX'), + "mx",$eprops{'mx'})), + + esmith::cgi::genButtonRow ($q, + $q->submit (-name => 'action', + -value => $fm->localise('MODIFY'))) + ); + + print $q->hidden (-name => 'domainName', + -override => 1, + -default => $domain); + + print $q->hidden (-name => 'state', + -override => 1, + -default => 'ddperformModify'); + + } else { + showInitial ($q, $fm->localise('ERROR_ON_EXTRA_DATABASE', + {domainName => $domain })); + return; + } + + print $q->endform; + esmith::cgi::genFooter ($q); + return; +} + +#------------------------------------------------------------ +# +#------------------------------------------------------------ + +sub ddperformModifyDomain ($) +{ + my ($q) = @_; + + #------------------------------------------------------------ + # Validate parameters and untaint them + #------------------------------------------------------------ + + my $domainName = $q->param ('domainName'); + if ($domainName =~ /^([a-zA-Z0-9\-\.]+)$/) { + $domainName = $1; + } else { + showInitial ($q, $fm->localise('DOMAIN_NAME_VALIDATION_ERROR', + {domainName => $domainName})); + return; + } + + my $domainLogin = $q->param ('login'); + if ($domainLogin =~ /^([\-\'\w][\-\'\w\s\.\@]*)$/) { + $domainLogin = $1; + } else { + showInitial ($q, $fm->localise('DOMAIN_LOGIN_VALIDATION_ERROR', + {domainLogin => $domainLogin})); + return; + } + + my $domainPassword = $q->param ('password'); + if ($domainPassword =~ /^(.*)$/) { + $domainPassword = $1; + } else { + showInitial ($q, $fm->localise('DOMAIN_PASSWORD_VALIDATION_ERROR', + {domainPassword => $domainPassword})); + return; + } + + my $domainMX = $q->param ('mx'); + my $desc = $q->param ('desc'); + my $customDNS = $q->param('customdns'); + my $customPROTOCOL = $q->param('customprotocol'); + + my $dns = $q->param ('dns'); + + if ($dns eq 'CUSTOMDNS') + { + if ($customDNS =~ /^([a-zA-Z0-9\-\.]+)$/) + { + $customDNS = $1; + } + else + + { + showInitial ($q, $fm->localise('CUSTOMDNS_VALIDATION_ERROR', + {domainName => $domainName})); + return; + } + } + #------------------------------------------------------------ + # Looks good. Find out if this domain has been taken + # or if the domain is a reserved to provide a secured webserver + # for a previous domain + #------------------------------------------------------------ +# my $dns = $q->param ('dns'); + + my $dom=$edb->get($domainName); + + $dom->set_prop('desc' => $desc); + $dom->set_prop('dns' => $dns); + $dom->set_prop('login' => $domainLogin); + $dom->set_prop('password' => $domainPassword); + $dom->set_prop('mx' => $domainMX); + $dom->set_prop('customdns' => $customDNS); + $dom->set_prop('customprotocol' => $customPROTOCOL); + + $edb->reload(); + + system ("/sbin/e-smith/signal-event", "domain-modify"); + + showInitial ($q, $fm->localise('SUCCESSFULLY_MODIFIED', + {domainName => $domainName,dns => $fm->localise($dns)})); +} + +#------------------------------------------------------------ +# +#------------------------------------------------------------ + +sub dddeleteDomain ($) +{ + my ($q) = @_; + + esmith::cgi::genHeaderNonCacheable ($q, \%conf, $fm->localise('REMOVE_TITLE')); + + print $q->startform (-method => 'POST', -action => $q->url (-absolute => 1)); + + my $domain = $q->param ('domain'); + my $evalue = $edb->get($domain); + + if (defined $evalue) + { + my %eprops = $evalue->props; + my $domainDesc = $eprops{'desc'}; + my $dns = $fm->localise($eprops{'dns'}); + + print $q->p($fm->localise('REMOVE_DESCRIPTION', + {domain => $domain, + domainDesc => $domainDesc, + dns => $dns } )); + + print $q->submit (-name => 'action', -value => $fm->localise('REMOVE')); + print $q->hidden (-name => 'domain', -override => 1, -default => $domain); + + print $q->hidden (-name => 'state', + -override => 1, + -default => 'ddperformDelete'); + } else { + showInitial ($q, $fm->localise('ERROR_ON_EXTRA_DATABASE', + {domainName => $domain })); + return; + } + + print $q->endform; + esmith::cgi::genFooter ($q); + return; +} + +#------------------------------------------------------------ +# +#------------------------------------------------------------ + +sub ddperformDeleteDomain ($) +{ + my ($q) = @_; + + #------------------------------------------------------------ + # Attempt to delete domain + #------------------------------------------------------------ + + my $domain = $q->param ('domain'); + + if ($domain =~ /^([a-zA-Z0-9\-\.]+)$/) { + $domain = $1; + } else { + showInitial ($q, $fm->localise('ERROR_WHILE_REMOVING_DOMAIN', + {domain => $domain})); + return; + } + + my $evalue = $edb->get($domain); + unless ($evalue) + { + showInitial ($q, $fm->localise('NONEXISTENT_DOMAIN_ERROR', + {domainName => $domain})); + return; + } + + my %properties = $evalue->props; + my $type = $properties{'type'}; + my $dns = $fm->localise($properties{'dns'}); + + if ($type ne 'ddhost') + { + showInitial ($q, $fm->localise('NONEXISTENT_DOMAIN_ERROR', + {domainName => $domain})); + return; + } + +# $evalue = $edb->get($domain); + $evalue->delete; + $edb->reload(); + + system ("/sbin/e-smith/signal-event", "domain-delete"); + + showInitial ($q, $fm->localise('SUCCESSFULLY_DELETED', + {domain => $domain, dns => $dns})); +} + +####################################################################### + +__DATA__ +
+
diff --git a/root/etc/ppp/ddclient_ip-up.local b/root/etc/ppp/ddclient_ip-up.local new file mode 100755 index 0000000..d55e5e5 --- /dev/null +++ b/root/etc/ppp/ddclient_ip-up.local @@ -0,0 +1,40 @@ +#!/bin/sh +###################################################################### +## $Header: /home/paul/src/ddclient/RCS/sample-etc_ppp_ip-up.local,v 3.6 2002/11/03 20:20:16 root Exp $ +###################################################################### +## +## On my host, pppd invokes this script with args: +## /etc/ppp/ip-up.local ppp0 /dev/pts/1 115200 192.168.2.1 192.168.2.3 +## +## From the manual page for my pppd, these aguments are: +## scriptname interface-name tty-device speed local-IP-address remote-IP-address ipparam +## +## Some people have reported that their pppd returns their +## local-IP-address as $3. If that's also the case for you, +## you may need to change the $4 below to $3. This may not +## be necessary if you pppd also passes the local-ip-address +## in the environment as either PPP_LOCAL or IPLOCAL. +## +###################################################################### +PATH=/usr/sbin:${PATH} +IP= +IP=${IP:-$PPP_LOCAL} +IP=${IP:-$IPLOCAL} +IP=${IP:-$4} + +## update the DNS server unless the IP address is a private address +## that may be used as a internal LAN address (or PPtP tunnel). + +logger -t ddclient $0 $* +case "$IP" in +10.*) ;; +172.1[6-9].* | 172.2[0-9].* | 172.3[0-1].*) ;; +192.168.*) ;; +"") logger -t ddclient No local IP given so cannot update + ;; +*) ( + sleep 5 + ddclient -daemon=0 -syslog -use=web -if=$1 >/dev/null 2>&1 + ) & + ;; +esac diff --git a/root/usr/lib/systemd/system/ddclient.service.d/50koozali.conf b/root/usr/lib/systemd/system/ddclient.service.d/50koozali.conf new file mode 100644 index 0000000..891f655 --- /dev/null +++ b/root/usr/lib/systemd/system/ddclient.service.d/50koozali.conf @@ -0,0 +1,5 @@ + +[Service] + +ExecStart= +ExecStart=/usr/sbin/ddclient -file /etc/ddclient/ddclient.conf -debug -verbose -quiet -syslog diff --git a/root/usr/share/smanager/lib/SrvMngr/Controller/Ddclient.pm b/root/usr/share/smanager/lib/SrvMngr/Controller/Ddclient.pm new file mode 100644 index 0000000..30fab82 --- /dev/null +++ b/root/usr/share/smanager/lib/SrvMngr/Controller/Ddclient.pm @@ -0,0 +1,1015 @@ +package SrvMngr::Controller::Ddclient; + +#---------------------------------------------------------------------- +# heading : Network +# description : Dynamic Clients +# navigation : 6000 450 +# +# name : ddclient, method : get, url : /ddclient, ctlact : Ddclient#main +# name : ddclient3, method : post, url : /ddclient3, ctlact : Ddclient#do_updateparams +# name : ddclient1, method : get, url : /ddclient1, ctlact : Ddclient#do_summary_domain +# name : ddclient2, method : get, url : /ddclient2, ctlact : Ddclient#do_summary_custom +# name : ddclient4, method : post, url : /ddclient4, ctlact : Ddclient#do_delete_domain +# name : ddclient5, method : get, url : /ddclient5, ctlact : Ddclient#do_update_domain +# name : ddclient6, method : get, url : /ddclient6, ctlact : Ddclient#do_create_custom +# name : ddclient7, method : post, url : /ddclient7, ctlact : Ddclient#do_create_custom_actual +# name : ddclient8, method : post, url : /ddclient8, ctlact : Ddclient#do_update_domain +# +# routes : end +# +# Documentation: https://wiki.contribs.org/Ddclient +# +#---------------------------------------------------------------------- +# +# ddclient 3.9.1 Supportted services +# +#DynDNS.com - See http://www.dyndns.com for details on obtaining a free account. +#Hammernode - See http://www.hn.org for details on obtaining a free account. +#Zoneedit - See http://www.zoneedit.com for details. +#EasyDNS - See http://www.easydns.com for details. +#NameCheap - See http://www.namecheap.com for details +#DslReports - See http://www.dslreports.com for details +#Sitelutions - See http://www.sitelutions.com for details +#Loopia - See http://www.loopia.se for details +#Noip - See http://www.noip.com/ for details +#Freedns - See http://freedns.afraid.org/ for details +#ChangeIP - See http://www.changeip.com/ for details +#dtdns - See http://www.dtdns.com/ for details +#nsupdate - See nsupdate(1) and ddns-confgen(8) for details +#CloudFlare - See https://www.cloudflare.com/ for details +#Google - See http://www.google.com/domains for details +#Duckdns - See https://duckdns.org/ for details +#Freemyip - See https://freemyip.com for details +#woima.fi - See https://woima.fi/ for details +#Yandex - See https://domain.yandex.com/ for details +#DNS Made Easy - See https://dnsmadeeasy.com/ for details +#DonDominio - See https://www.dondominio.com for details +#NearlyFreeSpeech.net - See https://www.nearlyfreespeech.net/services/dns for details +#OVH - See https://www.ovh.com for details +#ClouDNS - See https://www.cloudns.net + +# ddclient 3.11.1 Supported Services +# 1984:https://kb.1984hosting.com/doku.php?id=freedns +# changeip: https://changeip.com +# cloudflare: https://cloudflare.com +# cloudns: https://cloudns.com +# digitalocean: https://digitalocean.com +# dinahosting: https://dinahosting.com +# dnsexit: https://dnsexit.com/ +# dnsmadeeasy: https://dnsmadeeasy.com +# domeneshop: https://domeneshop.com +# dondominio: https://dondominio.com +# dslreports: https://www.dslreports.com/ +# duckdns: https://duckdns.com +# dyndns1:https://account.dyn.com/ +# dyndns2: https://account.dyn.com/ +# easydns: https://easydns.com +# enom: https://enom.com +# freedns: http://freedns.com +# freemyip: https://freemyip.com +# gandi: https://gandi.com +# godaddy: https://godaddy.com +# googledomains: https://googledomains.com +# hetzner: https://hetzner.com +# infomaniak: https://infomaniak.com +# keysystems: https://keysystems.com +# mythicdyn: https://www.mythic-beasts.com/support/api/dnsv2/dynamic-dns +# namecheap: https://namecheap.com +# nfsn: http://nfsn.com +# njalla: https://njalla.com +# noip: https://noip.com +# nsupdate: http://nsupdate.com +# ovh: https://ovh.com +# porkbun: https://porkbun.com +# regfishde: Cannot find link for this one +# sitelutions: https://sitelutions.com +# woima: http://woima.com +# yandex: https://yandex.com +# zoneedit: https://www.zoneedit.com/dynamic-dns/ + +use strict; +use warnings; +use Mojo::Base 'Mojolicious::Controller'; + +use constant FALSE => 0; +use constant TRUE => 1; + +use Locale::gettext; +use SrvMngr::I18N; +use SrvMngr qw(theme_list init_session); + +use Data::Dumper; +use esmith::util; +use esmith::HostsDB; +use esmith::AccountsDB; + +our $db = esmith::ConfigDB->open(); +our $adb = esmith::AccountsDB->open(); + +our $domaindb = esmith::ConfigDB->open('/home/e-smith/db/domains') + or die "Unable to open domains db"; +our $edb; +$edb = esmith::ConfigDB->open('/home/e-smith/db/ddclient') + or $edb = esmith::ConfigDB->create('/home/e-smith/db/ddclient'); + +my %ddc_datas = (); + +sub get_devices_names { + # + # Router/Firewall devices from which it can get ip address + # + my $devices = ( [ + [ '2Wire 1701HG Gateway' => '2wire' ], + [ '3com 3c886a 56k Lan Modem' => '3com-3c886a' ], + [ '3com OfficeConnect Remote 812' => '3com-oc-remote812' ], + [ 'Alcatel Speed Touch 510' => 'alcatel-510' ], + [ 'Alcatel/Thomson SpeedTouch 530' => 'alcatel-530' ], + [ 'Alcatel Speed Touch Pro' => 'alcatel-stp' ], + [ 'Allnet 1298' => 'allnet-1298' ], + [ 'Cayman 3220-H DSL' => 'cayman-3220h' ], + [ 'D-Link DI-524' => 'dlink-524' ], + [ 'D-Link DI-604' => 'dlink-604' ], + [ 'dlink-614' => 'D-Link DI-614+' ], + [ 'e-tech' => 'E-tech Router' ], + [ 'elsa-lancom-dsl10' => 'ELSA LanCom DSL/10 DSL FW' ], + [ 'elsa-lancom-dsl10-ch01' => 'ELSA LanCom DSL/10 DSL FW (isdn ch01)' ], + [ 'elsa-lancom-dsl10-ch02' => 'ELSA LanCom DSL/10 DSL FW (isdn ch01)' ], + [ 'linksys' => 'Linksys FW' ], + [ 'linksys-rv042-wan1' => 'Linksys RV042 Dual Homed Router WAN Port 2' ], + [ 'linksys-rv042-wan2' => 'Linksys RV042 Dual Homed Router WAN Port 2' ], + [ 'linksys-ver2' => 'Linksys FW version 2' ], + [ 'linksys-ver3' => 'Linksys FW version 3' ], + [ 'linksys-wcg200' => 'Linksys WCG200 FW' ], + [ 'linksys-wrt854g' => 'Linksys WRT854G FW' ], + [ 'maxgate-ugate3x00' => 'MaxGate UGATE-3x00 FW' ], + [ 'netcomm-nb3' => 'NetComm NB3' ], + [ 'netgear-dg834g' => 'netgear-dg834g' ], + [ 'netgear-rp614' => 'Netgear RP614 FW' ], + [ 'netgear-rt3xx' => 'Netgear FW' ], + [ 'netgear-wgt624' => 'Netgear WGT624' ], + [ 'netgear-wpn824' => 'Netgear WPN824 FW' ], + [ 'netopia-r910' => 'Netopia R910 FW' ], + [ 'olitec-SX200' => 'olitec-SX200' ], + [ 'rtp300' => 'Linksys RTP300' ], + [ 'siemens-ss4200' => 'Siemens SpeedStream 4200' ], + [ 'sitecom-dc202' => 'Sitecom DC-202 FW' ], + [ 'smc-barricade' => 'SMC Barricade FW' ], + [ 'smc-barricade-7004vbr' => 'SMC Barricade FW (7004VBR model config)' ], + [ 'smc-barricade-7401bra' => 'SMC Barricade 7401BRA FW' ], + [ 'smc-barricade-alt' => 'SMC Barricade FW (alternate config)' ], + [ 'sohoware-nbg800' => 'SOHOWare BroadGuard NBG800' ], + [ 'sveasoft' => 'Sveasoft WRT54G/WRT54GS' ], + [ 'thomson-st536v6' => 'Thomson SpeedTouch 536v6' ], + [ 'thomson-tg782' => 'Thomson/Technicolor TG782' ], + [ 'vigor-2200usb' => 'Vigor 2200 USB' ], + [ 'watchguard-edge-x' => 'Watchguard Edge X FW' ], + [ 'watchguard-soho' => 'Watchguard SOHO FW' ], + [ 'westell-6100' => 'Westell C90-610015-06 DSL Router' ], + [ 'xsense-aero' => 'Xsense Aero' ] + ] ); + return $devices; + + + # Automatic loading of the devices from the ddclient program - I can't get this to pass the results successfully to the template + #my $output = `ddclient -list-devices`; # Run ddclient command to get devices output + #my @lines; + #foreach my $line (split /\n/, $output) { + #$line =~ s/\s+//; # Remove leading whitespace + #my ($field1, $field2) = split(' ', $line, 2); + #push @lines, [$field2, $field1]; + #} + #return \@lines; # Return a reference to the lines array +} + +sub get_web_services_names { + # + # Web Services from which it can get ip address + # + my $webservices = ( [ + [ 'dyndns-http://checkip.dyndns.org/' => 'dyndns' ], + [ 'freedns-https://freedns.afraid.org/dynamic/check.php' => 'freedns' ], + [ 'googledomains-https://domains.google.com/checkip' => 'googledomains' ], + [ 'he-https://checkip.dns.he.net/' => 'he' ], + [ 'ip4only.me-https://ip4only.me/api/' => 'ip4only.me' ], + [ 'ip6only.me-https://ip6only.me/api/' => 'ip6only.me' ], + [ 'ipify-ipv4-https://api.ipify.org/' => 'ipify-ipv4' ], + [ 'ipify-ipv6-https://api6.ipify.org/' => 'ipify-ipv6' ], + [ 'loopia:-https://dns.loopia.se/checkip/checkip.php' => 'loopia' ], + [ 'myonlineportal-https://myonlineportal.net/checkip' => 'myonlineportal' ], + [ 'noip-ipv4-http://ip1.dynupdate.no-ip.com/' => 'noip-ipv4' ], + [ 'noip-ipv6-http://ip1.dynupdate6.no-ip.com/' => 'noip-ipv6' ], + [ 'nsupdate.info-ipv4-https://ipv4.nsupdate.info/myip' => 'nsupdate.info-ipv4' ], + [ 'nsupdate.info-ipv6-https://ipv6.nsupdate.info/myip' => 'nsupdate.info-ipv6' ], + [ 'zoneedit-https://dynamic.zoneedit.com/checkip.html' => 'zoneedit' ] + ] ); + return $webservices + + #my $output = `ddclient -list-web-services`; # Run ddclient command to get web services output + #my @lines; + #foreach my $line (split /\n/, $output) { + #$line =~ s/\s+//; # Remove leading whitespace + #my ($field1, $field2) = split(' ', $line, 2); + #push @lines, [$field2, $field1]; + #} + #return \@lines; # Return a reference to the lines array +} + +sub get_dns_labels { + # + # dns service names + # Return array with translated results as well. + # + # Note that "new" ones willl not have any description / translation, this can be added to /usr/share/smanager/lib/SrvMngr/I18N/Modules/Ddclient + # + my $c = shift; + my $dnsservices = ( [ + [ $c->l('1984') => '1984' ], + [ $c->l('changeip') => 'changeip' ], + [ $c->l('cloudflare') => 'cloudflare' ], + [ $c->l('cloudns') => 'cloudns' ], + [ $c->l('digitalocean') => 'digitalocean' ], + [ $c->l('dinahosting') => 'dinahosting' ], + [ $c->l('dnsexit') => 'dnsexit' ], + [ $c->l('dnsmadeeasy') => 'dnsmadeeasy' ], + [ $c->l('domeneshop') => 'domeneshop' ], + [ $c->l('dondominio') => 'dondominio' ], + [ $c->l('dslreports') => 'dslreports' ], + [ $c->l('duckdns') => 'duckdns' ], + [ $c->l('dyndns1') => 'dyndns1' ], + [ $c->l('dyndns2') => 'dyndns2' ], + [ $c->l('easydns') => 'easydns' ], + [ $c->l('enom') => 'enom' ], + [ $c->l('freedns') => 'freedns' ], + [ $c->l('freemyip') => 'freemyip' ], + [ $c->l('gandi') => 'gandi' ], + [ $c->l('godaddy') => 'godaddy' ], + [ $c->l('googledomains') => 'googledomains' ], + [ $c->l('hetzner') => 'hetzner' ], + [ $c->l('infomaniak') => 'infomaniak' ], + [ $c->l('keysystems') => 'keysystems' ], + [ $c->l('mythicdyn') => 'mythicdyn' ], + [ $c->l('namecheap') => 'namecheap' ], + [ $c->l('nfsn') => 'nfsn' ], + [ $c->l('njalla') => 'njalla' ], + [ $c->l('noip') => 'noip' ], + [ $c->l('nsupdate') => 'nsupdate' ], + [ $c->l('ovh') => 'ovh' ], + [ $c->l('porkbun') => 'porkbun' ], + [ $c->l('regfishde') => 'regfishde' ], + [ $c->l('sitelutions') => 'sitelutions' ], + [ $c->l('woima') => 'woima' ], + [ $c->l('yandex') => 'yandex' ], + [ $c->l('zoneedit') => 'zoneedit' ] + ] ); + return $dnsservices; + + #my $output = `ddclient -list-protocols`; # Run ddclient command and capture the output + #my @protocols; + #foreach my $line (split /\n/, $output) { + #my ($protocol) = $line =~ /\s*(\S+)/; + #next unless $protocol; # Skip if protocol is empty or contains only whitespace + #my $custom_value = "$protocol.$c->l($protocol)"; # Additional column value using $c->l(protocol) + #push @protocols, [$custom_value, $protocol]; + #} + #return \@protocols; # Return a reference to the protocols array +} + +sub main { + # + # Initial page - full summary of parameters etc + # Initial para from the Wiki. + # + my $c = shift; + $ddc_datas{"first"} = 'DESCRIPTION'; + do_display( $c, %ddc_datas ); +} + +sub do_display { + # + # Front Summary page + # + my $c = shift; + $c->app->log->info( $c->log_req ); + + my $title = $c->l('FORM_TITLE'); + my $modul = ''; + $ddc_datas{trt} = 'LIST'; + my $trt = "LIST"; + + $ddc_datas{"params"} = get_params($c); + my @domains = get_domain_table($c); + my @FreeDomains = get_custom_table($c); + + my $emptydom = ( scalar @domains == 0 ); + my $emptycust = ( scalar @FreeDomains == 0 ); + + my $Labels = ( + [ + [ $c->l('SME external Interface') => "smeIF" ], + [ $c->l('SME configuration DB') => 'smeCMD' ], + [ $c->l('web') => 'web' ], + [ $c->l('Router/Firewall') => 'router' ], + [ $c->l('Interface') => 'if' ], + [ $c->l('IP') => 'ip' ], + [ $c->l('Command') => 'cmdv4' ] + ] + ); + + $c->stash( + title => $title, + modul => $modul, + ddc_datas => \%ddc_datas, + domains => \@domains, + freedomains => \@FreeDomains, + methodlabels => $Labels, + dnslabels => get_dns_labels($c), + devices => get_devices_names($c), + webservices => get_web_services_names($c), + emptydom => $emptydom, + emptycust => $emptycust + ); + $ddc_datas{'trt'} = $trt; + $c->stash( title => $title, modul => $modul, ddc_datas => \%ddc_datas ); + $c->render( template => 'ddclient' ); + +} + +sub do_updateparams { + # + # Called to update the parameters relating to the Ip address of the server + # + my $c = shift; + $ddc_datas{"first"} = ''; + $ddc_datas{"success"} = pushParams($c); + do_display($c); +} + +sub do_update_domain { + # + #Called to update/delete the ddclient for a specific inbuilt domain + # + my $c = shift; + my $title = $c->l("MODIFY_TITLE"); + my $retmsg; + if ( $c->param("Route") eq "ddclient2" ) { #Route is hidden field + $retmsg = performModifyCustom($c); + } + else { + $retmsg = performModifyDomain($c); + } + $ddc_datas{"first"} = ''; + if ( $retmsg eq "ok" ) { + my $dns = $c->param('dns'); + my $domain = $c->param('domainname'); + $ddc_datas{"success"} = $c->l( "SUCCESSFULLY_MODIFIED", $domain, + $c->l( '' . $dns ) ); + do_display( $c, %ddc_datas ); + } + else { + $ddc_datas{"error"} = $retmsg; + + #Back to input panel to correct error + do_summary_domain($c); + } +} + +sub do_create_custom { + # + # Create custom domain + # + my $c = shift; + my $title = $c->l("CREATE_TITLE"); + my $modul = ''; + my $trt = "NEW"; + + $ddc_datas{trt} = $trt; + $c->stash( + title => $title, + modul => $modul, + ddc_datas => \%ddc_datas, + dnslabels => get_dns_labels($c), + devices => get_devices_names($c), + webservices => get_web_services_names($c) + ); + $c->render( template => 'ddclient' ); +} + +sub do_create_custom_actual { + my $c = shift; + $ddc_datas{"first"} = ''; + my $retmsg = performCreateCustom($c); + if ( $retmsg eq "ok" ) { + my $dns = $c->param('dns'); + my $domain = $c->param('domainname'); + $ddc_datas{"success"} = $c->l( "SUCCESSFULLY_DELETED", $domain, + $c->l( '' . $dns ) ); + do_display( $c, %ddc_datas ); + } + else { + $ddc_datas{"error"} = $retmsg; + + #Back to input panel to correct error + do_create_custom($c); + } + +} + +sub do_summary_custom { + # + # Display delete or modify panel for custom domain + # + my $c = shift; + my $title = $c->l("MODIFY_TITLE"); + my $modul = ''; + my $trt = $c->param("trt"); + + #Extract domain stuff from DB + my @results + = get_custom_table( $c, $c->param("Domain") ); #Returns just one row + + $ddc_datas{"Domain_details"} = $results[0]; + + $ddc_datas{'trt'} = $trt; + $c->stash( + title => $title, + modul => $modul, + ddc_datas => \%ddc_datas, + dnslabels => get_dns_labels($c), + devices => get_devices_names($c), + webservices => get_web_services_names($c) + ); + $c->render( template => 'ddclient' ); +} + +sub do_summary_domain { + # + # Display delete or modify panel for inbuilt domain + # param trt = MOD or DEL + # + my $c = shift; + my $title = $c->l("MODIFY_TITLE"); + my $modul = ''; + my $trt = $c->param("trt"); + + #Extract domain stuff from DB + my @results + = get_domain_table( $c, $c->param("Domain") ); #Returns just one row + + $ddc_datas{"Domain_details"} = $results[0]; + $ddc_datas{'trt'} = $trt; + $c->stash( + title => $title, + modul => $modul, + ddc_datas => \%ddc_datas, + dnslabels => get_dns_labels($c), + devices => get_devices_names($c), + webservices => get_web_services_names($c) + ); + $c->render( template => 'ddclient' ); +} + +sub do_delete_domain { + # + # Actually clearout the inbuilt domain + # Return to initial page with message at the top. + # + my $c = shift; + my $route = $c->current_route; + my $title = $c->l("REMOVE_TITLE"); + my $modul = ''; + my $retmsg = ""; + my $domain = $c->param("Domain"); + $ddc_datas{"first"} = ''; + + #Delete it and return to front summary panel - depends on route domain or custom + if ( $c->param("Route") eq "ddclient2" ) { #Route is hidden field + $retmsg = performDeleteCustom( $c, $domain ); + } + else { + $retmsg = performDeleteDomain( $c, $domain ); + } + + if ( $retmsg eq "ok" ) { + $ddc_datas{"success"} = $c->l( "SUCCESSFULLY_DELETED", $domain, + $c->l( '' . $c->param("dns") ) ); + } + else { $ddc_datas{"error"} = $retmsg; } + do_display( $c, %ddc_datas ); + +} + +sub do_delete_custom { + # + # Actually delete the custom domain + # Return to initial page with message at the top. + # + my $c = shift; + my $route = $c->current_route; + my $title = $c->l("REMOVE_TITLE"); + my $modul = ''; + my $retmsg = ""; + my $domain = $c->param("Domain"); + $ddc_datas{"first"} = ''; + + #Delete it and return to front summary panel - depends on route domain or custom + $retmsg = performDeleteCustom( $c, $domain ); + if ( $retmsg eq "ok" ) { + $ddc_datas{"success"} = $c->l( "SUCCESSFULLY_DELETED", $domain ); + } + else { $ddc_datas{"error"} = $retmsg; } + do_display( $c, %ddc_datas ); + +} + +sub get_domain_table { + # + # Return full table of all domains OR just the details for the specified one + # + my ( $c, $findDomain ) = @_; #$c and domain to find + $findDomain = FALSE if ( scalar(@_) <= 1 ); + my $key; + my @virtualDomains = (); + foreach my $domain ( $domaindb->get_all_by_prop( type => 'domain' ) ) { + $key = $domain->key; + push( @virtualDomains, $key ); + } + my $numDomains = @virtualDomains; + if ( $numDomains == 0 ) { return () } + else { + my $domain; + my @virtualDomains2d = (); + + foreach $domain ( sort @virtualDomains ) { + my %properties = $domaindb->get($domain)->props; + my $test = $domaindb->get($domain) || ''; + my %extraprops; + if ( $test ne '' ) { + %extraprops = $domaindb->get($domain)->props; + } + + my $content; + if ( $properties{'Content'} eq 'wwwpublic' ) { + $content = $c->l('PRIMARY_SITE'); + } + else { + $content = $c->l( 'CONTENT', $properties{'Content'} ); + } + + my $public; + my %thisrow; + if ( $test eq '' ) { + %thisrow = ( + "Domain" => $domain, + "Description" => $properties{'Description'}, + "Content" => $content, + "dns" => "", + "Publication" => "", + "customprotocol" => "", + "customdns" => "", + "login" => "", + "password" => "", + "mx" => "" + ); + push( @virtualDomains2d, \%thisrow ); + } + else { + %thisrow = ( + "Domain" => $domain, + "Description" => $properties{'Description'}, + "Content" => $content, + "dns" => $extraprops{'dns'}, + "Publication" => $c->l( '' . $extraprops{'dns'} ), + "customprotocol" => $properties{"customprotocol"}, + "customdns" => $properties{"customdns"}, + "login" => $properties{"login"}, + "password" => $properties{"password"}, + "mx" => $properties{"mx"}, + ); + push( @virtualDomains2d, \%thisrow ); + + } + if ($findDomain) { + if ( $domain eq $findDomain ) { + @virtualDomains2d = (); #Just return matching one + push( @virtualDomains2d, \%thisrow ); + last; + } + } #Found the one needed + } + return @virtualDomains2d; #Return the lot + } +} + +sub get_custom_table { + # + # Return full table of all domains OR just the details for the specified one + # + my ( $c, $findDomain ) = @_; #$c and domain to find + $findDomain = FALSE if ( scalar(@_) <= 1 ); + my $key; + my @FreeDomains = (); + foreach my $domain ( $edb->get_all_by_prop( type => 'ddhost' ) ) { + $key = $domain->key; + push( @FreeDomains, $key ); + } + my $numDomains = @FreeDomains; + my @freedomains2d = (); + if ( $numDomains > 0 ) { + foreach my $domain ( sort @FreeDomains ) { + my $vals = $edb->get($domain); + my $content = $vals->prop('desc'); + my $publish = $vals->prop('dns'); + my %thisrow = ( + 'Domain' => $domain, + "Description" => $content, + "dns" => $publish, + "Publication" => $c->l( '' . $publish ) + , #msg ddc prefix for ddclient + "customprotocol" => $vals->prop("customprotocol"), + "customdns" => $vals->prop("customdns"), + "login" => $vals->prop("login"), + "password" => $vals->prop("password"), + "mx" => $vals->prop("mx"), + + ); + + push( @freedomains2d, \%thisrow ); + if ($findDomain) { + if ( $domain eq $findDomain ) { + @freedomains2d = (); #Just return matching one + push( @freedomains2d, \%thisrow ); + last; + } + } #Found the one needed + + } + } + return @freedomains2d; +} + +sub get_params { + my $c = shift; + my $ddretrieve = $db->get('ddclient'); + my $ExtIF = $db->get('ExternalInterface'); + my $DeamonUpdate = $ddretrieve->prop('DeamonUpdate') || '300'; + my $urlcheckip = $ddretrieve->prop('urlcheckip') || 'checkip.dyndns.org'; + my $ssl = $ddretrieve->prop('SSL') || 'yes'; + my $method = $ddretrieve->prop('method') || 'web'; + my $Extinterface = $ddretrieve->prop('Extinterface') || ''; + my $cmd = $ddretrieve->prop('cmd') || ''; + my $forceIP = $ddretrieve->prop('ForceIP') || ''; + my $fwlogin = $ddretrieve->prop('fwlogin') || ''; + my $fwpassword = $ddretrieve->prop('fwpassword') || ''; + my $res = { + "ssl" => $ssl, + "DeamonUpdate" => $DeamonUpdate, + "method" => $method, + "Extinterface" => $Extinterface, + "cmd" => $cmd, + "ForceIP" => $forceIP, + "urlcheckip" => $urlcheckip, + "FWlogin" => $fwlogin, + "FWpassword" => $fwpassword + }; + return $res; +} + +sub pushParams { + my $c = shift; + my $retrievedeamonupdate = $c->param('retrievedeamonupdate'); + my $retrieverouter = $c->param('retrieverouter'); + my $retrievewebservice = $c->param('retrievewebservice'); + my $retrieveurlcheckip = $c->param('retrieveurlcheckip'); + my $retrievessl = $c->param('retrievessl'); + my $retrievemethod = $c->param('retrievemethod'); + my $retrieveinterface = $c->param('retrieveinterface'); + my $retrievecmd = $c->param('retrievecmd'); + my $retrieveip = $c->param('retrieveip'); + my $retrievefwlogin = $c->param('retrieverouterlogin'); + my $retrievefwpassword = $c->param('retrieverouterpassword'); + + #print 1 / 0; #Crash + + my $ddclient = $db->get('ddclient'); + $ddclient->set_prop( 'urlcheckip' => $retrievewebservice || $retrieveurlcheckip ); + $ddclient->set_prop( 'DeamonUpdate' => $retrievedeamonupdate ); + $ddclient->set_prop( 'SSL' => $retrievessl ); + $ddclient->set_prop( 'method' => $retrievemethod ); + if ($retrievemethod eq 'router') { + $ddclient->set_prop( 'Extinterface' => $retrieverouter ); + } else { + $ddclient->set_prop( 'Extinterface' => $retrieveinterface ); + } + $ddclient->set_prop( 'cmd' => $retrievecmd ); + $ddclient->set_prop( 'ForceIP' => $retrieveip ); + $ddclient->set_prop( 'fwlogin' => $retrievefwlogin ); + $ddclient->set_prop( 'fwpassword' => $retrievefwpassword ); + + $domaindb->reload(); + + system( "/sbin/e-smith/signal-event", "smeserver-ddclient-update" ); + + return $c->l('SUCCESSFULLY_MODIFIED_RETRIEVE_IP'); +} + +# We seem to be missing a Create Domain here +# sub performCreateDomain + +sub performModifyDomain { + my $c = shift; + + #------------------------------------------------------------ + # Validate parameters and untaint them + #------------------------------------------------------------ + + my $domainName = $c->param('domainName'); + if ( $domainName =~ /([a-zA-Z0-9\-\.]+)$/ ) { + $domainName = $1; + } + else { + return $c->l( 'DOMAIN_NAME_VALIDATION_ERROR', $domainName ); + } + + my $domainLogin = $c->param('login'); + if ( $domainLogin =~ /([\-\'\w][\-\'\w\s\.\@]*)$/ ) { + $domainLogin = $1; + } + else { + return $c->l( 'DOMAIN_LOGIN_VALIDATION_ERROR', $domainLogin ); + } + + my $domainPassword = $c->param('password'); + if ( $domainPassword =~ /(.*)$/ ) { + $domainPassword = $1; + } + else { + return $c->l( 'DOMAIN_PASSWORD_VALIDATION_ERROR', + $domainPassword ); + } + + my $domainMX = $c->param('mx'); + my $customDNS = $c->param('customdns'); + my $customPROTOCOL = $c->param('customprotocol'); + + my $dns = $c->param('dns'); + if ( $dns eq 'CUSTOMDNS' ) { + if ( $customDNS =~ /([a-zA-Z0-9\-\.]+)$/ ) { + $customDNS = $1; + } + else + + { + return $c->l( 'CUSTOMDNS_VALIDATION_ERROR', $domainName ); + } + } + + #------------------------------------------------------------ + # Looks good. Find out if this domain has been taken + # or if the domain is a reserved to provide a secured webserver + # for a previous domain + #------------------------------------------------------------ + # my $dns = $c->param ('dns'); + + my $dom = $domaindb->get($domainName); + + $dom->set_prop( 'dns' => $dns ); + $dom->set_prop( 'login' => $domainLogin ); + $dom->set_prop( 'password' => $domainPassword ); + $dom->set_prop( 'mx' => $domainMX ); + $dom->set_prop( 'customdns' => $customDNS ); + $dom->set_prop( 'customprotocol' => $customPROTOCOL ); + + $domaindb->reload(); + + system( "/sbin/e-smith/signal-event", "ddclient" ); + return "ok"; +} + +sub performDeleteDomain { + my ( $c, $domain ) = @_; + + #------------------------------------------------------------ + # Attempt to delete domain + #------------------------------------------------------------ + + if ( $domain =~ /([a-zA-Z0-9\-\.]+)$/ ) { + $domain = $1; + } + else { + return $c->l( 'ERROR_WHILE_REMOVING_DOMAIN', $domain ); + } + + my $value = $domaindb->get($domain); + unless ($value) { + return $c->l( 'NONEXISTENT_DOMAIN_ERROR', $domain ); + } + + my %properties = $value->props; + my $type = $properties{'type'}; + if ( $type ne 'domain' ) { + return $c->l( 'NONEXISTENT_DOMAIN_ERROR', $domain ); + } + + my $evalue = $domaindb->get($domain); + + $evalue->set_prop( 'dns' => '' ); + $evalue->set_prop( 'login' => '' ); + $evalue->set_prop( 'password' => '' ); + $evalue->set_prop( 'customdns' => '' ); + $evalue->set_prop( 'customprotocol' => '' ); + + $domaindb->reload(); + + system( "/sbin/e-smith/signal-event", "domain-modify" ); + + return "ok"; +} + +sub performCreateCustom { + my ($c) = shift; + + #------------------------------------------------------------ + # Validate parameters and untaint them + #------------------------------------------------------------ + + my $domainName = $c->param('domainName'); + if ( $domainName =~ /([a-zA-Z0-9\-\.]+)$/ ) { + $domainName = $1; + } + else { + return $c->l( 'DOMAIN_NAME_VALIDATION_ERROR', $domainName ); + } + + foreach my $domain ( $edb->get_all_by_prop( type => 'domain' ) ) { + my $key = $domain->key; + if ( $key eq $domainName ) { + return $c->l( 'DOMAIN_NAME_ALREADY_EXIST', $domainName ); + } + } + + foreach my $domain ( $domaindb->get_all_by_prop( type => 'ddhost' ) ) { + my $key = $domain->key; + if ( $key eq $domainName ) { + return $c->l( 'DOMAIN_NAME_ALREADY_EXIST', $domainName ); + } + } + + my $domainDesc = $c->param('desc'); + my $domainLogin = $c->param('login'); + if ( $domainLogin =~ /([\-\'\w][\-\'\w\s\.\@]*)$/ ) { + $domainLogin = $1; + } + else { + return $c->l( 'DOMAIN_LOGIN_VALIDATION_ERROR', $domainLogin ); + } + + my $domainPassword = $c->param('password'); + if ( $domainPassword =~ /(.*)$/ ) { + $domainPassword = $1; + } + else { + return $c->l( 'DOMAIN_PASSWORD_VALIDATION_ERROR', + $domainPassword ); + } + + my $domainMX = $c->param('mx'); + my $customDNS = $c->param('customdns'); + my $customPROTOCOL = $c->param('customprotocol'); + + my $dns = $c->param('dns'); + if ( $dns eq 'CUSTOMDNS' ) { + if ( $customDNS =~ /([a-zA-Z0-9\-\.]+)$/ ) { + $customDNS = $1; + } + else { + return $c->l( 'CUSTOMDNS_VALIDATION_ERROR', $domainName ); + } + } + + #------------------------------------------------------------ + # Looks good. Find out if this domain has been taken + # or if the domain is a reserved to provide a secured webserver + # for a previous domain + #------------------------------------------------------------ + + my %properties = (); + $properties{'type'} = 'ddhost'; + $properties{'dns'} = $dns; + $properties{'login'} = $domainLogin; + $properties{'password'} = $domainPassword; + $properties{'mx'} = $domainMX; + $properties{'desc'} = $domainDesc; + $properties{'customdns'} = $customDNS; + $properties{'customprotocol'} = $customPROTOCOL; + $edb->new_record( $domainName, \%properties ); + + system( "/sbin/e-smith/signal-event", "domain-create" ); + return "ok"; + +} + +sub performModifyCustom { + my $c = shift; + + #------------------------------------------------------------ + # Validate parameters and untaint them + #------------------------------------------------------------ + + my $domainName = $c->param('domainName'); + if ( $domainName =~ /([a-zA-Z0-9\-\.]+)$/ ) { + $domainName = $1; + } + else { + return $c->l( 'DOMAIN_NAME_VALIDATION_ERROR', $domainName ); + } + + my $domainLogin = $c->param('login'); + if ( $domainLogin =~ /([\-\'\w][\-\'\w\s\.\@]*)$/ ) { + $domainLogin = $1; + } + else { + return $c->l( 'DOMAIN_LOGIN_VALIDATION_ERROR', $domainLogin ); + } + + my $domainPassword = $c->param('password'); + if ( $domainPassword =~ /(.*)$/ ) { + $domainPassword = $1; + } + else { + return $c->l( 'DOMAIN_PASSWORD_VALIDATION_ERROR', + $domainPassword ); + } + + my $domainMX = $c->param('mx'); + my $customDNS = $c->param('customdns'); + my $customPROTOCOL = $c->param('customprotocol'); + + my $dns = $c->param('dns'); + if ( $dns eq 'CUSTOMDNS' ) { + if ( $customDNS =~ /([a-zA-Z0-9\-\.]+)$/ ) { + $customDNS = $1; + } + else + + { + return $c->l( 'CUSTOMDNS_VALIDATION_ERROR', $domainName ); + } + } + + #------------------------------------------------------------ + # Looks good. Find out if this domain has been taken + # or if the domain is a reserved to provide a secured webserver + # for a previous domain + #------------------------------------------------------------ + # my $dns = $c->param ('dns'); + + my $dom = $edb->get($domainName); + + $dom->set_prop( 'dns' => $dns ); + $dom->set_prop( 'login' => $domainLogin ); + $dom->set_prop( 'password' => $domainPassword ); + $dom->set_prop( 'mx' => $domainMX ); + $dom->set_prop( 'customdns' => $customDNS ); + $dom->set_prop( 'customprotocol' => $customPROTOCOL ); + + $domaindb->reload(); + + system( "/sbin/e-smith/signal-event", "domain-modify" ); + return "ok"; +} + +sub performDeleteCustom { + my ( $c, $domain ) = @_; + + #------------------------------------------------------------ + # Attempt to delete domain + #------------------------------------------------------------ + + if ( $domain =~ /([a-zA-Z0-9\-\.]+)$/ ) { + $domain = $1; + } + else { + return $c->l( 'ERROR_WHILE_REMOVING_DOMAIN', $domain ); + } + + my $evalue = $edb->get($domain); + unless ($evalue) { + return $c->l( 'NONEXISTENT_DOMAIN_ERROR', $domain ); + } + + my %properties = $evalue->props; + my $type = $properties{'type'}; + + if ( $type ne 'ddhost' ) { + return $c->l( 'NONEXISTENT_DOMAIN_ERROR', $domain ); + + } + + $evalue->delete; + $edb->reload(); + + system( "/sbin/e-smith/signal-event", "domain-delete" ); + return "ok"; +} + +1; diff --git a/root/usr/share/smanager/lib/SrvMngr/I18N/Modules/Ddclient/en.pm b/root/usr/share/smanager/lib/SrvMngr/I18N/Modules/Ddclient/en.pm new file mode 100644 index 0000000..ce65a20 --- /dev/null +++ b/root/usr/share/smanager/lib/SrvMngr/I18N/Modules/Ddclient/en.pm @@ -0,0 +1,158 @@ +package SrvMngr::I18N::Modules::Ddclient::en; +use strict; +use warnings; +use utf8; +use Mojo::Base 'SrvMngr::I18N'; + +use SrvMngr::I18N::Modules::General::en; + +my %lexicon = ( +'FORM_TITLE' => 'Create, remove or change the publication of virtual domains', +'Params_for_IP_Retrieval'=>' Parameters to control how the IP of your server is found:', +'DESCRIPTION'=> 'Use this contrib when you have a sme server connected to a ISP service using a dynamic IP, and you wish to host multiple domains. +
ddclient is a client for updating dynamic DNS entries for domains hosted at different DNS providers. +
Configure your dynamic host domains via the ddclient server manager panel. +
ddclient can be used on servers configured in server gateway mode or in server only mode.
+SmeServer documentation:https://wiki.contribs.org/Ddclient', +'FORM_DESCRIPTION' => 'Virtual Domains for publication on the net:', +'NO_VIRTUAL_DOMAINS' => 'There are no virtual domains in the system.', +'CURRENT_LIST_OF_DOMAINS' => 'Current list of virtual domains', +'PUBLICATION' => 'Publication', +'PRIMARY_SITE' => 'Primary Site', +'CONTENT' => '[_1] i-bay', +'CREATE_TITLE' => 'Create a new publication virtual domain', +'SERVERS_LABEL' => 'Where to publish', +'MX' => 'record MX', +'NAME_LABEL' => 'Login to publish', +'PASSWORD_LABEL' => 'Password to publish', +'CONTENT_FIELD_DESCRIPTION' => 'For the web site, you may choose your primary web site or any i-bay as the content.', +'DOMAIN_NAME_VALIDATION_ERROR' => 'Error: unexpected or missing characters in domain name [_1]. The domain name should contain one or more letters, numbers, periods and minus signs. Did not create new domain.', +'DOMAIN_DESCRIPTION_VALIDATION_ERROR' => 'Error: unexpected or missing characters in domain description [_1]. Did not create new domain.', +'DOMAIN_IN_USE_ERROR' => 'Error: domain [_1] is already in use. Did not create new domain.', +'DOMAIN_LOGIN_VALIDATION_ERROR'=> 'Domain login must not be blank and only consist of letter, numbers, "." or "@"', +'RESERVED_SECURE_DOMAIN_ERROR' => 'Error: domain [_1] is reserved to provide a secured webserver for the virtual domain [_2]. Did not create new domain.', +'SYSTEM_DOMAIN_ERROR' => 'Error: domain [_1] is your system domain name. You cannot have a virtual domain with the same name. Did not create new domain.', +'RESERVED_SECURE_SYSTEM_DOMAIN_ERROR' => 'Error: domain [_1] is reserved to provide a secured webserver for your system domain name [_2]. Did not create new domain.', +'SUCCESSFULLY_CREATED' => 'Successfully publication domain [_1] on [_2].', +'MODIFY_TITLE' => 'Modify virtual domain', +'NONEXISTENT_DOMAIN_ERROR' => 'Error: [_1] is not an existing domain.', +'SUCCESSFULLY_MODIFIED' => 'Successfully modified the publication [_1] on [_2].', +'REMOVE_TITLE' => 'Remove publication of virtual domain', +'REMOVE_DESCRIPTION' => '

You are about to remove the publication of domain [_1] ([_2]) on [_3]. +

+

+Are you sure you wish to remove this domain\'s publication ? +

+', +'ERROR_WHILE_REMOVING_DOMAIN' => 'Error: internal failure while removing publication of [_1].', +'SUCCESSFULLY_DELETED' => 'Successfully deleted publication of [_1] on [_2].', + +# Service descriptions +'DYNDNS1' => 'dyndns.org dynamic addresses', +'DYNDNS2' => 'dyndns.org static addresses', +'DYNDNS3' => 'dyndns.org custom addresses', +'ZONEDIT' => 'ZoneEdit (zoneedit.com)', +'EASYDNS' => 'EasyDNS (easydns.com)', +'HAMMER' => 'Hammernode (hn.org) dynamic addresses', +'DSLREPORTS' => 'dslreports.com dynamic-host monitoring', +'EURODYNDNS' => 'eurodyndns.org dynamic addresses', +'DTDNS' => 'DtDNS (www.dtdns.com) dynamic addresses', +'LOOPIA' => 'Loopia (loopia.se) dynamic addresses', +'DNSPARK' => ' Dnspark (dnspark.com) dynamic addresses', +'DYNHOST' => ' DynHost (ovh.com) dynamic addresses', +'NOIP' => ' NoIP (noip.com) dynamic addresses', +'CHANGEIP' => ' ChangeIP (changeip.com) dynamic addresses', +'NAMECHEAP' => ' NAMECHEAP (namecheap.com) dynamic addresses', +'SPDNS' => ' SPDNS (spdns.de) dynamic addresses', +'SITELUTIONS'=>'SITELUTIONS sitelutions.com dynamic addresses', +'FREEDNS'=>'FREEDNS freedns.afraid.org for details', +'NSUPDATE'=>'NSUPDATE See nsupdate(1) and ddns-confgen(8) for details ', +'CLOUDFLARE'=>'CLOUDFLARE www.cloudflare.com/ for details', +'GOOGLEDOMAINS'=>'GOOGLEDOMAINS www.google.com/domains for details', +'DUCKDNS'=>'DUCKDNS duckdns.org for details', +'FREEMYIP'=>'FREEMYIP freemyip.com for details', +'WOIMA'=>'WOIMA woima.fi for details', +'YANDEX'=>'YANDEX domain.yandex.com for details', +'DNSMADEEASY'=>'DNSMADEEASY dnsmadeeasy.com for details', +'DONDOMINIO'=>'DONDOMINIO www.dondominio.com for details', +'NEARLYFREESPEECH'=>'NFSN www.nearlyfreespeech.net/services/dns for details', +'OVH'=>'OVH www.ovh.com for details', +'CLOUDNS'=>'CLOUDNS www.cloudns.net', +# End of Service descriptions + +# v3.11.x Service descriptions: +"1984" => "1984-https://kb.1984hosting.com/doku.php?id=freedns", +"changeip" => "changeip-https://changeip.com", +"cloudflare" => "cloudflare-https://cloudflare.com", +"cloudns" => "cloudns-https://cloudns.com", +"digitalocean" => "digitalocean-https://digitalocean.com", +"dinahosting" => "dinahosting-https://dinahosting.com", +"dnsexit" => "dnsexit-https://dnsexit.com/", +"dnsmadeeasy" => "dnsmadeeasy-https://dnsmadeeasy.com", +"domeneshop" => "domeneshop-https://domeneshop.com", +"dondominio" => "dondominio-https://dondominio.com", +"dslreports" => "dslreports-https://www.dslreports.com/", +"duckdns" => "duckdns-https://duckdns.com", +"dyndns1" => "dyndns1-https://account.dyn.com/", +"dyndns2" => "dyndns2-https://account.dyn.com/", +"easydns" => "easydns-https://easydns.com", +"enom" => "enom-https://enom.com", +"freedns" => "freedns-http://freedns.com", +"freemyip" => "freemyip-https://freemyip.com", +"gandi" => "gandi-https://gandi.com", +"godaddy" => "godaddy-https://godaddy.com", +"googledomains" => "googledomains-https://googledomains.com", +"hetzner" => "hetzner-https://hetzner.com", +"infomaniak" => "infomaniak-https://infomaniak.com", +"keysystems" => "keysystems-https://keysystems.com", +"mythicdyn" => "mythicdyn-https://www.mythic-beasts.com/support/api/dnsv2/dynamic-dns", +"namecheap" => "namecheap-https://namecheap.com", +"nfsn" => "nfsn-http://nfsn.com", +"njalla" => "njalla-https://njalla.com", +"noip" => "noip-https://noip.com", +"nsupdate" => "nsupdate-http://nsupdate.com", +"ovh" => "ovh-https://ovh.com", +"porkbun" => "porkbun-https://porkbun.com", +"regfishde" => "regfishde-regfishde", +"sitelutions" => "sitelutions-https://sitelutions.com", +"woima" => "woima-http://woima.com", +"yandex" => "yandex-https://yandex.com", +"zoneedit" => "zoneedit-https://www.zoneedit.com/dynamic-dns/", +# end of v3.11.x Service descriptions: + +'MODIFY_DESCRIPTION' => "You can modify the Dynamic DNS Service that you use and change the username and password", +'CREATE_DESCRIPTION' => "You can create a domain to use for the Dynamic DNS Service that you use and set or change the username and password", +'CUSTOMDNS' => 'Custom Dynamic DNS Provider', +'CUSTOMDNS_LABEL' => 'Custom server Address', +'CUSTOM_PROTOCOL_LABEL' => 'Custom ddclient Protocol', +'CUSTOM_DESCRIPTION' => 'You can use a custom dynamic dns provider if yours is not in the published list. Please fill the custom fields with the appropriate settings', +'CUSTOMDNS_VALIDATION_ERROR' => 'Error: unexpected or missing characters in custom server address field of domain [_1]. The server address should contain one or more letters, numbers, periods and minus signs. Did not apply the change.', +'ddclient' =>'Dynamic Clients', +'DOMAIN_NAME_ALREADY_EXIST' => 'Error: this domain:"[_1]" already exists. Please chose another.', +'FREE_FORM_DESCRIPTION' => 'Here you can create any domain name to publish over the net:', +'RETRIEVE_SSL' => 'SSL update', +'RETRIEVE_DEAMONUPDATE' => 'Deamon update (seconds)', +'RETRIEVE_URLCHECKIP' => 'Url for the external IP', +'APPLY' => 'Save', +'DOMAIN_NAME_LABEL' => 'Domain Name', +'DESCRIPTION_LABEL' => 'Domain description', +'SUCCESSFULLY_MODIFIED_RETRIEVE_IP' => 'You have successfully modified the retrieve IP options.', +'RETRIEVE_METHOD' => 'Method to retrieve new IP:', +'RETRIEVE_IF' => 'Local interface to get new IP', +'RETRIEVE_CMD' => 'Command to execute to get IP', +'SME external Interface' => 'SME external interface', +'SME configuration DB' => 'SME configuration DB', +'web' => 'Web query', +'Interface' => 'IP from interface', +'IP' => 'Manual IP setting', +'Command' => 'Command to execute', +'RETRIEVE_IP' => 'IP to manually force' +); + +our %Lexicon = ( + %{ SrvMngr::I18N::Modules::General::en::Lexicon }, + %lexicon +); + + +1; diff --git a/root/usr/share/smanager/themes/default/templates/ddclient.html.ep b/root/usr/share/smanager/themes/default/templates/ddclient.html.ep new file mode 100644 index 0000000..1f57805 --- /dev/null +++ b/root/usr/share/smanager/themes/default/templates/ddclient.html.ep @@ -0,0 +1,48 @@ +% layout 'default', title => "Sme server 2 - Dynamic Clients", share_dir => './'; + +% content_for 'module' => begin +
+ + % if ($config->{debug} == 1) { +

+ %= dumper $c->current_route +

+ % } + +

<%=$title%>

+ %= $modul + + %if ($ddc_datas->{first}) { +

+ %=$c->render_to_string(inline =>$c->l($ddc_datas->{first})) +

+ + %} elsif ($ddc_datas->{success}) { +
+

Operation Status Report

+ %= $c->l($ddc_datas->{success}); +

+
+ + %} elsif ($ddc_datas->{error}) { +
+

Operation Status Report - error

+ %= $c->l($ddc_datas->{error}); +

+
+ %} + + % if ($ddc_datas->{trt} eq 'NEW') { + %= include 'partials/_ddc_create_cust' + %} elsif ($ddc_datas->{trt} eq 'DEL') { + %= include 'partials/_ddc_del' + %} elsif ($ddc_datas->{trt} eq 'MOD') { + %= include 'partials/_ddc_modify_domain' + %} else { #LIST + %= include 'partials/_ddc_paramlist' + %= include 'partials/_ddc_domainlist' + %= include 'partials/_ddc_customlist' + %} + +
+%end diff --git a/root/usr/share/smanager/themes/default/templates/partials/_ddc_create_cust.html.ep b/root/usr/share/smanager/themes/default/templates/partials/_ddc_create_cust.html.ep new file mode 100644 index 0000000..edb5a08 --- /dev/null +++ b/root/usr/share/smanager/themes/default/templates/partials/_ddc_create_cust.html.ep @@ -0,0 +1,65 @@ +
+

+ %= l 'CREATE_DESCRIPTION' +


+ % my $btn = l('APPLY'); + %= form_for '/ddclient7' => (method => 'POST') => begin + + %=l 'DOMAIN_NAME_LABEL' + + %=text_field 'domainName' +
+ + %=l 'DESCRIPTION_LABEL' + + %=text_field 'desc' +
+ + %=l 'SERVERS_LABEL' + + %=select_field dns=>$dnslabels +
+ + + %=l 'NAME_LABEL' + + %=text_field 'login' +
+ + %=l 'PASSWORD_LABEL' + + %=password_field 'password',id=>"ddcPass" + %=label_for show=>"Show" + %=check_box show=>1,onclick=>"showPass()",style=>"vertical-align:middle;" + %= javascript begin + function showPass() { + var x = document.getElementById("ddcPass"); + if (x.type === "password") { + x.type = "text"; + } else { + x.type = "password"; + } + } + % end +
+ + %=l 'MX' + + %=text_field 'mx' +
+ %= submit_button "$btn", class => 'action' + % end +
+ + diff --git a/root/usr/share/smanager/themes/default/templates/partials/_ddc_customlist.html.ep b/root/usr/share/smanager/themes/default/templates/partials/_ddc_customlist.html.ep new file mode 100644 index 0000000..3af6f51 --- /dev/null +++ b/root/usr/share/smanager/themes/default/templates/partials/_ddc_customlist.html.ep @@ -0,0 +1,50 @@ +
+

+ %= l 'FREE_FORM_DESCRIPTION' +

+ + %= form_for '/ddclient' => (method => 'POST') => begin + + + + + + + + + %if (!$emptycust){ + % foreach my $freeDomain (@$freedomains) { + + %= t td => (class => 'sme-border') => $freeDomain->{"Domain"} + %= t td => (class => 'sme-border') => $freeDomain->{"Description"} + %= t td => (class => 'sme-border') => $freeDomain->{"Publication"} + + + + %} + %} + + + + + + + + +
+ %=l 'DOMAIN_NAME_LABEL' + + %=l 'DESCRIPTION_LABEL' + + %=l 'PUBLICATION' + + %=l 'ACTION' +
+ <%=l 'MODIFY'%> + + <%=l 'REMOVE'%> +
   + <%=l 'CREATE'%> +
+ % end +
diff --git a/root/usr/share/smanager/themes/default/templates/partials/_ddc_del.html.ep b/root/usr/share/smanager/themes/default/templates/partials/_ddc_del.html.ep new file mode 100644 index 0000000..d6698f0 --- /dev/null +++ b/root/usr/share/smanager/themes/default/templates/partials/_ddc_del.html.ep @@ -0,0 +1,14 @@ +
+ % my $btn = l('REMOVE'); + %= form_for '/ddclient4' => (method => 'POST') => begin +

+ %= $c->render_to_string(inline =>l("REMOVE_DESCRIPTION",$ddc_datas->{"Domain_details"}->{"Domain"},$ddc_datas->{"Domain_details"}->{"Description"},$c->l($ddc_datas->{"Domain_details"}->{"Publication"}))) +

+ % param Domain=>$ddc_datas->{"Domain_details"}->{"Domain"}; + %= hidden_field Domain=>$ddc_datas->{"Domain_details"}->{"Domain"} + %= hidden_field Route=>$c->current_route + %= hidden_field dns=>$ddc_datas->{"Domain_details"}->{"dns"} + %= hidden_field trt=>"DEL" + %= submit_button "$btn", class => 'action' + % end +
diff --git a/root/usr/share/smanager/themes/default/templates/partials/_ddc_domainlist.html.ep b/root/usr/share/smanager/themes/default/templates/partials/_ddc_domainlist.html.ep new file mode 100644 index 0000000..060d3b2 --- /dev/null +++ b/root/usr/share/smanager/themes/default/templates/partials/_ddc_domainlist.html.ep @@ -0,0 +1,52 @@ +
+

+ %= l 'FORM_DESCRIPTION' +

+ %= form_for '/ddclient' => (method => 'POST') => begin + + % if ($emptydom){ +

+ %=l 'NO_VIRTUAL_DomainS' +

+ % } else { + + + + + + + + + + + % foreach my $Domain (@$domains) { + + %= t td => (class => 'sme-border') => $Domain->{"Domain"} + %= t td => (class => 'sme-border') => $Domain->{"Description"} + %= t td => (class => 'sme-border') => $Domain->{"Content"} + %= t td => (class => 'sme-border') => $Domain->{"Publication"} + + % if ($Domain->{"Publication"} ne ""){ + + % } + + %} + +
+ %=l 'DOMAIN_NAME_LABEL' + + %=l 'DESCRIPTION_LABEL' + + %=l('CONTENT',"") + + %=l 'PUBLICATION' + + %=l 'ACTION' +
+ "><%=l 'MODIFY'%> + + "><%=l 'REMOVE'%> +
+ %} + % end +

diff --git a/root/usr/share/smanager/themes/default/templates/partials/_ddc_modify_domain.html.ep b/root/usr/share/smanager/themes/default/templates/partials/_ddc_modify_domain.html.ep new file mode 100644 index 0000000..6ff74a2 --- /dev/null +++ b/root/usr/share/smanager/themes/default/templates/partials/_ddc_modify_domain.html.ep @@ -0,0 +1,108 @@ +
+ +

+ %= l 'MODIFY_DESCRIPTION' +


+ % my $btn = l('APPLY'); + %= form_for '/ddclient8' => (method => 'POST') => begin + + %=l 'DOMAIN_NAME_LABEL' + + %= hidden_field domainName => $ddc_datas->{"Domain_details"}->{"Domain"} + %= $ddc_datas->{"Domain_details"}->{"Domain"} +

+ + + %=l 'DESCRIPTION_LABEL' + + %= $ddc_datas->{"Domain_details"}->{"Description"} +

+ + % if ($ddc_datas->{"Domain_details"}->{"Content"} ne ""){ + + %= $ddc_datas->{"Domain_details"}->{"Content"} + + %= $ddc_datas->{"Domain_details"}->{"Content"} +

+ % } + + + %=l 'SERVERS_LABEL' + + % param dns=>$ddc_datas->{"Domain_details"}->{"dns"}; + %=select_field dns=>$dnslabels,id=>"dns",onchange=>"SelectInput()",onload=>"SelectInput()" + %= javascript begin + function SelectInput() { + var method = document.querySelector("#dns"); + const types=['custom']; + types.forEach((type)=>{ + var service = document.querySelector(`.${type}`); + if (service != null) { + if (method.value == type) { + service.style.display = 'block'; + } else { + service.style.display = 'none'; + } + } + }) + } + %end +
+ + %# Dependant on the custom choice from above +
+ + %=l 'CUSTOMDNS_LABEL' + + % param customdns=>$ddc_datas->{"Domain_details"}->{"customdns"}; + %=text_field 'customdns' +
+ + %=l 'CUSTOM_PROTOCOL_LABEL' + + % param customprotocol=>$ddc_datas->{"Domain_details"}->{"customprotocol"}; + %=text_field 'customprotocol' +
+
+ + + %=l 'NAME_LABEL' + + % param login=>$ddc_datas->{"Domain_details"}->{"login"}; + %=text_field 'login' +
+ + %=l 'PASSWORD_LABEL' + + % param password=>$ddc_datas->{"Domain_details"}->{"password"}; + %=password_field 'password',id=>"ddcPass",value=>$ddc_datas->{"Domain_details"}->{"password"} + %=label_for show=>"Show" + %=check_box show=>1,onclick=>"showPass()",style=>"vertical-align:middle;" + %= javascript begin + function showPass() { + var x = document.getElementById("ddcPass"); + if (x.type === "password") { + x.type = "text"; + } else { + x.type = "password"; + } + } + % end +
+ + %=l 'MX' + + % param mx=>$ddc_datas->{"Domain_details"}->{"mx"}; + %=text_field 'mx' +
+ %= hidden_field trt=>"MOD" + %= hidden_field Route=>$c->current_route + %= submit_button "$btn", class => 'action' + % end +
+ + diff --git a/root/usr/share/smanager/themes/default/templates/partials/_ddc_paramlist.html.ep b/root/usr/share/smanager/themes/default/templates/partials/_ddc_paramlist.html.ep new file mode 100644 index 0000000..d6d43ec --- /dev/null +++ b/root/usr/share/smanager/themes/default/templates/partials/_ddc_paramlist.html.ep @@ -0,0 +1,136 @@ +
+ +

+ %= l 'Params_for_IP_Retrieval' +

+ % my $btn = l('APPLY'); + %= form_for '/ddclient3' => (method => 'POST') => begin + + %=l 'RETRIEVE_SSL' + + % param retrievessl=>$ddc_datas->{"params"}->{"ssl"} unless param 'retrievessl'; + %=select_field retrievessl=>[['Yes'=>'yes'],['No'=>'no']] +
+ + %=l 'RETRIEVE_DEAMONUPDATE' + + % param retrievedeamonupdate=>$ddc_datas->{"params"}->{"DeamonUpdate"}; + %=number_field 'retrievedeamonupdate',min=>0 +
+ + %=l 'RETRIEVE_METHOD' + + % param retrievemethod=>$ddc_datas->{"params"}->{"method"} unless param 'retrievemethod'; + %=select_field retrievemethod=>$methodlabels,id=>"retrievemethod",onchange=>"SelectInput()" + %= javascript begin + function SelectInput() { + var method = document.querySelector("#retrievemethod"); + const types=['smeIF','smeCMD','web','router','if','ip','cmdv4','custom']; + types.forEach((type)=>{ + var service = document.querySelector(`.${type}`); + if (service != null) { + if (method.value == type) { + service.style.display = 'block'; + } else { + service.style.display = 'none'; + } + } + }) + } + % end +
+ %# + %# From here the one that is shown depends on the choice above + %# + %# Only if "router" is chosen +
+ + %=l 'Router type' + + % param retrieverouter=>$ddc_datas->{"params"}->{"Extinterface"} unless param 'retrieverouter'; + %=select_field retrieverouter=>$devices +
+ %# Need login and password for router + + %=l 'Router login' + + % param retrieverouterlogin=>$ddc_datas->{"params"}->{"FWLogin"} unless param 'retrieverouter'; + %=text_field 'retrieverouterlogin' +
+ + %=l 'Router password' + + % param retrieverouterpassword=>$ddc_datas->{"params"}->{"FWPassword"} unless param 'retrieverouterpassword'; + %=password_field 'retrieverouterpassword', id=>'ddcPass' + %=label_for show=>"Show" + %=check_box show=>1,onclick=>"showPass()",style=>"vertical-align:middle;" + %= javascript begin + function showPass() { + var x = document.getElementById("ddcPass"); + if (x.type === "password") { + x.type = "text"; + } else { + x.type = "password"; + } + } + % end +
+
+ + %# Only if "web" is chosen" +
+ + %=l 'Web service' + + % param retrievewebservice=>$ddc_datas->{"params"}->{"urlcheckip"} unless param 'retrievewebservice'; + %=select_field retrievewebservice=>$webservices +
+
+ + %# Only if "Interface" is chosen +
+ + %=l 'RETRIEVE_IF' + + % param retrieveinterface=>$ddc_datas->{"params"}->{"Extinterface"} unless param 'retrieveinterface'; + %=text_field 'retrieveinterface' +
+
+ + %# Only if "cmd" is chosen +
+ + %=l 'RETRIEVE_CMD' + + % param retrievecmd=>$ddc_datas->{"params"}->{"cmdv4"} unless param 'retrievecmd'; + %=text_field 'retrievecmd' +
+
+ + %# Only if "ip" is chosen +
+ + %=l 'RETRIEVE_IP' + + % param retrieveip=>$ddc_datas->{"params"}->{"ForceIP"} unless param 'retrieveip'; + %=text_field 'retrieveip' +
+
+ + %# Only if "custom web service" +
+ + %=l 'RETRIEVE_URLCHECKIP' + + % param retrieveurlcheckip=>$ddc_datas->{"params"}->{"urlcheckip"} unless param 'retrieveurlcheckip'; + %=text_field 'retrieveurlcheckip' +
+
+ + %= submit_button "$btn", class => 'action' + % end +
diff --git a/smeserver-ddclient.spec b/smeserver-ddclient.spec new file mode 100644 index 0000000..f1d8438 --- /dev/null +++ b/smeserver-ddclient.spec @@ -0,0 +1,344 @@ +# $Id: smeserver-ddclient.spec,v 1.41 2024/09/04 09:35:26 terryfage Exp $ +# Authority: dungog +# Name: Stephen Noble + +%define name smeserver-ddclient +%define version 1.3.0 +%define release 35 + +Summary: ddclient panel for SME Server +Name: %{name} +Version: %{version} +Release: %{release}%{?dist} +License: GNU GPL version 2 +Group: SMEserver/addon +Source: %{name}-%{version}.tar.xz + +BuildRoot: /var/tmp/%{name}-%{version}-%{release}-buildroot +BuildRequires: e-smith-devtools +Obsoletes: sme7-ddclient +BuildArchitectures: noarch +Requires: e-smith-release >= 10.0 +#Requires: smeserver-manager >= 0.1.0-24 +Requires: ddclient >= 3.11.1 +Requires: e-smith-formmagick +AutoReqProv: no + +%changelog +* Sat Sep 07 2024 cvs2git.sh aka Brian Read 1.3.0-35.sme +- Roll up patches and move to git repo [SME: 12338] + +* Sat Sep 07 2024 BogusDateBot +- Eliminated rpmbuild "bogus date" warnings due to inconsistent weekday, + by assuming the date is correct and changing the weekday. + +* Wed Sep 04 2024 Terry Fage 1.3.0-34.sme +- Update locale 2024-09-04.patch + +* Wed May 08 2024 Brian Read 1.3.0-33.sme +- change command on ppoe up to use systemd [SME: 12676 ] +- Add console-save and bootrap-console-save to expand template take out post-upgrade [SME: 12675 ] + +* Thu Apr 11 2024 John Crisp 1.3.0-32.sme +- update NameCheap [SME: 12598] + +* Sun Apr 07 2024 Jean-Philippe Pialasse 1.3.0-31.sme +- add fix for namecheap to last patch [SME: 12598] + +* Sun Apr 07 2024 Brian Read 1.3.0-30.sme +- Merge template files for Virtual and free form domains and fix incompatibility with 3.11.2 [SME: 12598] +- Localist free form table [SME: 12600] + +* Fri Mar 01 2024 Brian Read 1.3.0-29.sme +- Edit Menu entry to conform to new arrangements [SME: 12493] + +* Fri Nov 10 2023 Brian Read 1.3.0-28.sme +- Update template for deprecated commands and v3.11.1 ddclient [SME: 12427] +- Update SM2 code to show all new protocols etc + +* Wed Nov 08 2023 Brian Read 1.3.0-27.sme +- Alter require to greater than or equal to 3.11.1 [SME: 12425] + +* Mon Feb 13 2023 Brian Read 1.3.0-26.sme +- Remove 3.10 as a requirement in spec + +* Wed Jan 25 2023 Brian Read 1.3.0-25.sme +- Remove the ddc_ from the front of the (translateble) messages [SME: 12217] +- Update Template files for changes in conf format and contents for 3.10.0 + +* Fri Nov 11 2022 Jean-Philippe Pialasse 1.3.0-24.sme +- Update locale 2022-11-11 patch + +* Sun Feb 20 2022 Brian Read 1.3.0-23.sme +- Add-DB-entries-for-success-and-failure-notification [SME: 11874] + +* Fri Feb 04 2022 John Crisp 1.3.0-22.sme +- Fix incorrect zoneedit endpoint [SME:11860] + +* Mon Jan 17 2022 Brian Read 1.3.0-21.sme +- Make-intial-call-to-ddclient-honour-db-entries [SME: 11849] + +* Wed Jan 12 2022 John Crisp 1.3.0-20 +- Fix unit file, add config entries [SME: 11847] + +* Mon Dec 20 2021 Brian Read 1.3.0-19.sme +- Fix-typo-in-description-paragraph [SME: 11812] + +* Fri Dec 03 2021 Brian Read 1.3.0-18.sme +- Add in class to Div id=module declaration in ep file [SME: 11794] + +* Thu Nov 11 2021 Brian Read 1.3.0-17.sme +- Set default urlcheckip back to the dyndns.org service [SME: 11752] + +* Wed Sep 08 2021 Terry Fage 1.3.0-16.sme +- Update locale 2021-09-08.patch + +* Tue Aug 31 2021 John Crisp 1.3.0-15.sme +- Fix events in ddclient SM2 library [SME:11667] + +* Tue Aug 31 2021 John Crisp 1.3.0-14.sme +- Fix events in ddclient web script [SME:11667] +- Add service link in domain-create + +* Mon Aug 23 2021 Terry Fage 1.3.0-13.sme +- Update locale 2021-08-23.patch + +* Sun Aug 22 2021 Terry Fage 1.3.0-12.sme +- Update locale 2021-08-21.patch + +* Thu Aug 05 2021 John Crisp 1.3.0-11.sme +- Fix ddclient.conf perms and wrong link in post-upgrade [SME: 11667] + +* Sat Jul 24 2021 Brian Read 1.3.0-10.sme +- Replace default checkip.dyndns.org with bot.whatismyipaddress.com [SME: 11656] + +* Fri Mar 12 2021 Brian Read 1.3.0-9.sme +- Update code in ip-up.local for systemd [SME: 11450] + +* Fri Mar 05 2021 Brian Read 1.3.0-8.sme +- Correct ExecStart in Service file [SME: 11370] + +* Fri Mar 05 2021 Brian Read 1.3.0-7.sme +- Update list of services in SM1 [SME: 11414] +- Add in Wantedby in service file dropin + +* Sun Jan 10 2021 Brian Read 1.3.0-6.sme +- Update Createlinks according to bug:10959 [SME: 11320] + +* Wed Dec 02 2020 Brian Read 1.3.0-5.sme +- Update spec file to take out requires smeserver-manager [SME: 10942] + +* Wed Jul 22 2020 Brian Read 1.3.0-4.sme +- fix [SME:10942] + +* Tue Jun 30 2020 Brian Read 1.3.0-3.sme +- Add in extra services from ddclient 3.9.1 [SME:10942 ] + +* Mon Jun 29 2020 Brian Read 1.3.0-2.sme +- Sort out startup with systemd [SME:10942] + +* Sun Jun 28 2020 Brian Read 1.3.0-1.sme +- Roll up all patches for SME10 [SME:10942] + +* Thu Jun 11 2020 Brian Read 1.2.1-17.sme +- Update-for-Apache-Mod-Proxy-based-server2 [SME:10942 ] + +* Mon Jun 08 2020 Brian Read 1.2.1-16.sme +- Add Server Manager2 panels for SME10 [SME:10942 ] + +* Tue Dec 31 2019 Brian Read 1.2.1-15.sme +- allow @ in username in server manager panel - needed for Noip service [SME: 10796] + +* Sat Dec 07 2019 SME Translation Server 1.2.1-14.sme +- apply locale 2019-12-07 patch + +* Sun Apr 07 2019 Jean-Philipe Pialasse 1.2.1-13.sme +- fix missing new line [SME: 10765] + thank you to Eric Serafin for reporting. + +* Sat Jan 19 2019 Jean-Philipe Pialasse 1.2.1-12.sme +- fix spdns migrate to spdyn.de [SME: 10593] +- add new way to detect new ip [SME: 9450] + +* Sat Dec 02 2017 SME Translation Server 1.2.1-9.sme +- apply locale 2017-12-02 patch + +* Wed Mar 09 2016 JP Pialasse 1.2.1-8.sme +- apply locale 2016-03-09 patch + +* Sat Sep 12 2015 stephane de labrusse - 1.2.1-7.sme +- Added smeserver-ddclient-1.2.1-locale-2015-09-12.patch + +* Sat Jul 11 2015 stephane de labrusse - 1.2.1-6.sme +- Added locale smeserver-ddclient-1.2.1-locale-2015-07-11.patch + +* Fri Jul 10 2015 stephane de labrusse - 1.2.1-5.sme +- added spdns.de [SME: 8975] +- added custom fields for dns providers [SME: 8961] +- added custom fields for free domains and panel options to ddclient [SME: 8983] + +* Wed Jul 1 2015 stephane de Labrusse - 1.2.1-3.sme +- add locale smeserver-ddclient-1.2.1-locale-2015-07-01.patch +- add translation missing Namecheap_translation.patch [SME: 8964] + +* Tue Jun 16 2015 stephane de Labrusse - 1.2.1-2.sme +- first import to sme9contribs + +* Mon Aug 25 2014 stephane de Labrusse - 1.2.1-1.sme +- Added the Namecheap protocol [SME:8538] +- Added a db DeamonUpdate +- Added force ssl + +* Tue Jun 10 2014 stephane de Labrusse - 1.2.0-1.sme +- Initial release to sme9contribs + +* Mon Dec 30 2013 JP Pialasse 1.0.0-30.sme +- fix db extras need to migrate [SME: 6494] +- added misisng prop login + +* Tue Dec 3 2013 JP Pialasse 1.0.0-28.sme +- patch fix for translation + +* Tue Nov 26 2013 stephane de Labrusse 1.0.0-27.sme +- 5 more dynamic dns services (DtDNS, Loopia, dnspark.com, OVH DynHost,Noip ,changeip) [SME:8019] + +* Thu Jul 25 2013 stephane de Labrusse 1.0.0-26.sme +- modify the path of template ddclient.conf [SME: 8018] + +* Sun Jul 14 2013 JP Pialasse 1.0.0-24.sme +- apply locale 2013-07-14 patch + +* Sun Mar 06 2011 SME Translation Server 1.0.0-23.sme +- apply locale 2011-03-06 patch + +* Sun May 23 2010 SME Translation Server 1.0.0-22.sme +- apply locale 2010-05-23 patch + +* Tue Mar 02 2010 SME Translation Server 1.0.0-21.sme +- apply locale 2010-03-02 patch + +* Tue Oct 27 2009 SME Translation Server 1.0.0-20.sme +- apply locale 2009-10-27 patch + +* Wed Oct 21 2009 SME Translation Server 1.0.0-19.sme +- apply locale 2009-10-21 patch + +* Thu Oct 8 2009 Filippo Carletti 1.0.0-18.sme +- Merged dyndns db into domains db +- Template and cgi cleanup +- Fixed template expansion in events + +* Mon Aug 24 2009 SME Translation Server 1.0.0-17.sme +- apply locale 2009-08-24 patch + +* Mon Apr 27 2009 SME Translation Server 1.0.0-16.sme +- apply locale 2009-04-27 patch + +* Tue Mar 03 2009 SME Translation Server +- apply locale 2009-03-03 patch + +* Sun Mar 1 2009 Jonathan Martens 1.0.0-14 +- Apply 1 Mar 2009 locale patch [SME: 5018] + +* Sat Jan 31 2009 Jonathan Martens 1.0.0-13 +- Apply 31 Jan 2009 locale patch [SME: 4951] + +* Thu Jan 1 2009 Jonathan Martens 1.0.0-12 +- Apply 1 Jan 2009 locale patch [SME: 4900] + +* Sun Nov 30 2008 Jonathan Martens 1.0.0-11 +- Apply 30 Nov 2008 locale patch + +* Wed Nov 5 2008 Jonathan Martens 1.0.0-10 +- Apply 5 Nov 2008 locale patch + +* Tue Oct 14 2008 Jonathan Martens 1.0.0-9 +- Apply 14 Oct 2008 locale patch + +* Tue Jul 1 2008 Jonathan Martens 1.0.0-8 +- Apply 1 July 2008 locale patch + +* Wed Jun 25 2008 Jonathan Martens 1.0.0-7 +- Apply 25 Jun 2008 locale patch + +* Wed May 21 2008 Jonathan Martens 1.0.0-6 +- Apply 21 May 2008 locale patch + +* Mon May 5 2008 Jonathan Martens 1.0.0-5 +- Apply 5 May 2008 locale patch + +* Sat Apr 26 2008 Jonathan Martens 1.0.0-4 +- Added 26 April 2008 locale patch +- Add common tags to e-smith-formmagick's general + +* Wed Apr 23 2008 Jonathan Martens 1.0.0-3 +- Added 23 April 2008 locale patch +- Removed version number from spec file + +* Wed Apr 23 2008 Stephen Noble 1.0.0-2 +- prepare for import to smecontribs +- links moved to createlinks +- en lexicon split from function +- fr and de lexicons removed, add back in pootle + +* Sat Jan 20 2007 Paul Floor +- ver 1.0 rel 1: split into smeserver-ddclient and ddclient +- removed heartbeat + +* Sun Nov 12 2006 Filali-Ansary Vincent +- ver 3.7 rel 1: change for the new ddclient client + +* Sat Aug 19 2006 Filali-Ansary Vincent +- rel 8: change checkip.sjc.dyndns.org by checkip.dyndns.org + +* Mon Aug 7 2006 Filali-Ansary Vincent +- rel 7: repair the custom eurodyndns options on ddclient.conf. + +* Mon Jul 31 2006 Filali-Ansary Vincent +- rel 6: repair the custom dyndns options on ddclient.conf. + +* Fri Jun 30 2006 Filali-Ansary Vincent +- rel 5: change checkip.dyndns.org by checkip.sjc.dyndns.org + +* Tue May 09 2006 Filali-Ansary Vincent +- initial release + +%description +ddclient panel and config files for SMEServer V10. + +%prep +%setup + +%build +perl createlinks + +%install +rm -rf $RPM_BUILD_ROOT +(cd root ; find . -depth -print | cpio -ldump $RPM_BUILD_ROOT) +rm -f %{name}-%{version}-filelist +/sbin/e-smith/genfilelist $RPM_BUILD_ROOT \ +> %{name}-%{version}-filelist +echo "%doc COPYING" >> %{name}-%{version}-filelist + +# --dir /etc/ddclient 'attr(0600,ddclient,ddclient)' \ +# --dir /var/cache/ddclient 'attr(0600,ddclient,ddclient)' \ + +%clean +rm -rf $RPM_BUILD_ROOT + +%post +#systemctl enable ddclient +#systemctl start ddclient +#/sbin/e-smith/signal-event smanager-refresh +#systemctl restart smanager + +if (systemctl list-unit-files |grep smanager) then + echo "Smanager restart in spec file" + /sbin/e-smith/signal-event smanager-refresh; +fi +true + + +%files -f %{name}-%{version}-filelist +%defattr(-,root,root) +