for Cloudflare as DDNS
using Cloudflare API v4
put ddns-start
at /jffs/scripts/
, setting values and set DDNS type to Custom at web Admin panel.
#with regex from http://detectmobilebrowsers.com/ | |
#map suggestion via kolbyjack | |
#not tested | |
map $http_user_agent $mobile_agent{ | |
default 0; | |
~* "android.+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino" 1; | |
~* "^(1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibr |
#!/bin/sh | |
DEFAULT="LVDS1" | |
moniters=`xrandr | grep connected | sed 's/ted.*/ted/g' | sed 's/ /-/g'` | |
for monit in $moniters; do | |
if grep $DEFAULT <<< $monit > /dev/null; then | |
if grep "disconnected" <<< $monit > /dev/null; then | |
echo "LVDS not connect, big problem, skip setting" >> /tmp/dm.log | |
exit 0 |
for Cloudflare as DDNS
using Cloudflare API v4
put ddns-start
at /jffs/scripts/
, setting values and set DDNS type to Custom at web Admin panel.
#!/bin/sh | |
failLog='/opt/vpnfail.log' | |
sleep 60 | |
while [ 1 ]; do | |
if curl -k https://127.0.0.1/ > /dev/null;then | |
date | |
echo 'vpnserver fine' |
## copy or attach this file to /etc/X11/xorg.conf.d/10-libinput.conf | |
Section "InputClass" | |
Identifier "" | |
MatchProduct "ELECOM ELECOM TrackBall Mouse" | |
Driver "libinput" | |
# remap button 7 and 8 to middle-click | |
Option "ButtonMapping" "1 2 3 4 5 6 7 2 2" | |
EndSection |
# Cellphone and 080X-XXX-XXX free/paid phone number | |
s/^09[0-9][0-9]/&-/g; s/^09[0-9][0-9]-[0-9][0-9][0-9]/&-/g; | |
s/^0[1-7]0/_&-/g; | |
s/^080[0-9]/&-/g; s/^080[0-9]-[0-9][0-9][0-9]/&-/g; | |
# ref: https://zh.wikipedia.org/wiki/中華民國長途電話區號表 | |
# normal home phone number | |
s/^037/(037) /g; | |
s/^049/(&) /g; | |
s/^0826/(&) /g; |
root@dd-han-minecrafts:~# cat /etc/systemd/system/[email protected] | |
[Unit] | |
Description=Minecraft Server %i | |
After=network.target | |
[Service] | |
#PrivateTmp=true | |
WorkingDirectory=/home/dd-han/minecraft/%i | |
User=dd-han | |
Type=oneshot |
#!/bin/bash | |
function main() { | |
if curl www.google.com > /dev/null ; then | |
echo net OK | |
else | |
echo no net && exit 3 | |
fi | |
if mount | grep /mnt; then | |
echo mnt OK |
#!/bin/sh | |
EMAIL="[email protected]" | |
ZONEID="your_zone_id" | |
RECORDID="to_update_record_id" | |
RECORDNAME="to_update_name" | |
RECORDTTL="1" | |
API="your_api_key" | |
IP=${1} |
######################################################################### | |
# ================================================== # | |
# $ Mikrotik RouterOS update script for CloudFlare $ # | |
# ================================================== # | |
# # | |
# - You need a CloudFlare account & api key (look under settings), # | |
# a zone and A record in it # | |
# - All variables in first section are obvious, except CFid, # | |
# To obtain CFid use following command in any unix shell: # | |
# curl https://www.cloudflare.com/api_json.html -d 'a=rec_load_all' -d 'tkn=YOUR_API_KEY' -d '[email protected]' -d 'z=domain.com'|python -mjson.tool |