d9ping / ipaddressexpress Goto Github PK
View Code? Open in Web Editor NEWFigure out reliable and foolproof your public ip address.
License: GNU General Public License v3.0
Figure out reliable and foolproof your public ip address.
License: GNU General Public License v3.0
Make it possible to get the public ip address by use of a DNS service. Like the special myip.opendns.com dns request that returns the public ip adres if using opendns dns server(208.67.222.222).
Look if there are other DNS servers offering something like this too.
Add a option for a mode where the public ip change is always confirmed by use of a third ip service. This option will not be used by default as this it is unlike two properly randomly selected ip services are both abused/hacked out of the default list of 20 ip services and on about the same time.
IpAddressExpress should check robots.txt file on the webserver of the ipservice to make sure the configured ipservice does allow IpAddressExpress to make request to it.
If IpAddressExpress figures out that robots.txt contains:
User-agent: IpAddressExpress
Disallow: /
It should disable the ipservice to be used in the database.
robots.txt should be checked once every week for every ipservice and at startup of IpAddressExpress.
Is your feature request related to a problem? Please describe.
Some https/http ip services can handle a lot less traffic than others. It could be a reliability improvement if they are less often chosen instead of giving all ip service an equal chance to be chosen.
Describe the solution you'd like
Added a priority value field to all ip services in the database. All ip services that want to be less chosen have a higher value.
Describe alternatives you've considered
We could also consider making a higher priority value for an http/https ip service choose more often instead of a lower priority value.
Describe the bug
Floating point exception is throw when all configured ipservices are disabled or deleted from the SQLite database.
Expected behavior
A error message should be showed that there are no ipservices.
Is your feature request related to a problem? Please describe.
Output date and time, useful for redirection program output to log file to see when it happened.
Describe the solution you'd like
Output date and time in ISO8601 format for every error message.(stderr)
Describe alternatives you've considered
It could also be possible to add a --logfile argument with a path to the log file to be created/appended.
That will always use date and time for every line written to the log file.
Comma seperator character is missing in /tmp/avoidurlnrs.txt.
If you empty the content of the avoidurlnrs.txt file instead of deleting the file
PublicIpChangeDetector will write an incorrect additional comma to the file.
If ipaddressexpress has been executed with a different user before, the /tmp/tempip.txt file may not be writable for ipaddressexpress causing the error:
Segmentation fault (core dumped) .
Is your feature request related to a problem? Please describe.
I need a better name for this project. Currently it's still the working name.
Describe the solution you'd like
Anyone reading this could help me provide a new name for this software.
Describe alternatives you've considered
Make it possible to configure with a command-line argument, how long a temporary disabled ipservice should be disabled. (due to a temporary issue with ipservice, e.g. website unreachable.)
Currently 14400 seconds or 4 hours.
Make the possible to print the last date and time IpAddressExpress was run.
Is your feature request related to a problem? Please describe.
Usefull for bash scripts.
Describe the solution you'd like
Launching IpAddressExpress with -lastrun will print the last time IpAddressExpress has succesfully run(exit code: 0)
Describe alternatives you've considered
DIY by the script
Additional context
It will require IpAddressExpress to write last run date and time to sqlite database.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.