===== Changelog ===== 2024-03-21 * SierraWireless EM7455 in PPP mode 2024-01-23 * MTU fix (slow speed fix) on USA Verizone on LTE chips 2024-01-22 * APN per modem (LTE chips and PPP sticks) 2024-01-17 * Alcatel IK41, improved IP rotation 2024-01-08 * Sierra Wireless EM7455: force set APN even before checking LTE status 2023-12-25 * WebApp: mobile signal is shown as colored bars 2023-12-22 * support of Huawei 5G CPE H112-370 (ip rotation, sms read) 2023-12-21 * added 'modems states' : adding queued->adding->added->deleting , failed_to_add. 2023-12-19 * reduced IP rotation time on Huawei (E3372, E8372, E55*) by approx. 4 seconds 2023-12-12 * improved support of Huawei E3372s modems. * export/import of LAN modems & other local settings during the Backup/Restore 2023-12-07 * Android VPN can send UDP. 2023-12-06 * Android proxies - cover reconnects. * Reboot call in the WebApp opens in new tab. 2023-12-05 * Android App can read SMS. 2023-12-04 * fix Fibcom L860 on long USB id's. 2023-11-30 * SIMA7630C (ip rotation, SMS read, reboot) 2023-11-27 * Android VPN - added. * Android VPN - proper native DNS from the Mobile Carrier 2023-11-25 * openvpn sessions log in a separate file ( $OPENVPN_SESSIONS_LOG ) * ussd on Quectel EP06 2023-11-23 * sniffer script to log all proxies requests and original clients IP's. Can be installed either on VPS or on Proxysmart server, or both. It generates easy to read & analyze single log of who,when,what. 2023-11-21 * support of LTE module - T77W595 / LT4120 2023-11-12 * build for Ubuntu 24.04 Noble 2023-11-08 * import & export mongodb -- a button in the WebApp * export to Proxysmart v2 2023-11-07 * mongodb uri can be set in /etc/proxysmart/conf.d/*.inc 2023-11-05 * Parallel initialization of proxies during reset_complete & reset_gently (enablable with PARALLEL_STARTUP variable) * fix IP rotation counter logging * Reboot button in the main WebApp for rebooting the server * Android proxies - automatic ports probing and detection. 2023-11-03 * Olax U90 - support of a new modem * new WEB API call for storing a modem object * Quectel modems now obey with TARGET_MODE during IP rotation 2023-11-01 * Alcatel HH71 autoreconnect * LAN modems: improved detection; ability to reboot * fix for adding modems when IMEI is not properly detected 2023-10-25 * Quectel EC20 support; Imvproved Chinese letters in SMS * improved stability of IK41 (stick mode) 2023-10-23 * individual OS TCP spoofing (per proxy) 2023-10-18 * improved speed on Android proxies over 27mbps 2023-10-13 * improved SMS on IK41 (stick mode) 2023-10-09 * Possibility to set Bandwitdh Quota direction, one of (in, inout, out). 2023-10-04 * improved Huawei E3272 support. 2023-10-03 * Target mode of a modem during IP rotation: can be set in the WebApp * Deleted TARGET_MODE from conf.txt (global variable) 2023-09-28 * fixed installation in India where github is blocked * android: VPN integration - done 2023-09-26 * Add Huawei 5g CPE H122-373 2023-09-25 * improved ME-906s modems IP rotation * Prevent getting non-unique IP’s after rotation 2023-09-13 * allow more than 1 device to use 1 VPN profile * Vodafone K5161h supported 2023-09-10 * WebApp: show total online modems count * WebApp: show VPN profile link in the main screen of the webapp * Fibocom L860 - custom APN fix & obeying custom Net Mode (TARGET_MODE) * deal with dongles Nicknames conflicts * deal with HTTP and SOCKS port conflicts 2023-09-09 * Android proxies - improved Ping graphs; improved Carrier detection 2023-08-30 * added auto reconnect for DW5811e 2023-08-28 * improved QUIC support: add switch 3proxy/gost for Socks software in LAN ; add switch gost/gost3 as Socks software 2023-08-25 * qmicli , added timeouts 2023-08-23 * zteMF79NV support 2023-08-21 * Alcatel modems (MW40,MW42,HH71) obeys $DEFAULT_HILINK_ADMIN_PASSWORD * Alcatel MW45 improved support. 2023-08-15 * add Reset Counters button to the Bandwidth report page. 2023-07-17 * improve SMS sending on ZTE MF667, MF927, MF688V3E, MF823, MF833, MF93 2023-07-13 * IP uniqueness report 2023-07-10 * Top hosts report (WEB API method + WebApp table). * Auto USB reset when modem’s WEB APP is stuck ( AUTO_USB_RESET_DONGLES=1 ) 2023-07-06 * Add proxies built on Proxysmart android App 2023-06-04 * SIM7600G proper SMS read 2023-05-26 * Main proxy user:added Threads limit * Extra users: added Threads limit & Dual_Auth IP 2023-05-11 * add SIM7600G (Lte cat4) 2023-05-04 * add Foxconn DW5821e (LTE cat 16) 2023-05-02 * usb reset button in the WebApp 2023-05-01 * cached list of the modems in the main screen of the WebApp 2023-04-13 * support of pure old Stick(PPP) modems like Huawei E173, E156; ZTE MF110, MF193 * add E3276 and E303 in Stick(NCM) mode 2023-04-05 * ability to hide old and new IP’s from the output of IP rotation links. * auto reboot modems under some circumstances (check conf.txt for configuration) 2023-03-29 * added RequestsPerSecond graphs in modem status * added Pings graphs in modem status 2023-03-28 * Zyxel NR5103E support 2023-03-20 * 3proxy 0.9.x support * ability to block direct requests to IP’s (e.g. when clients resolve hostnames on their side and bypass Hostnames blocklist) and process only requests containing hostnames (Forces DNS resolution on proxy server side) 2023-03-19 * autofix mass storage on Huawei modems 2023-03-11 * Repeat IP rotation in case of failure (went online>offline, or the same IP received) 2023-03-09 * fixed issue of DNS cache on modems * Black 4g modem – MSM8916 with /json WEB API 2023-03-06 * ability to reboot Quectel if no SIM * New UI * show graphs in modems statuses 2023-03-03 * timers fix (allows arbitrary nonstandard minutes like 31,61,1222) * Alcatel IK41 in “stick” mode 2023-03-02 * Chinese MSM8916 modems support * bug fix: JS was cached forever * proxysmart.log - grandparent pid is logged * proxysmart.log - timestamps preceed every line * ztemf79 : reconnect data * Num of current connections is reported properly * Brovi Huawei E3372-325 added support * Quectel EC25-AFX added * API for status query fixed 2023-02-07 * MF667 modem support 2023-02-06 * Quectel EM12G 2023-02-05 * ability to set a custom URL in secure rotation links * ability to set a custom HOST in proxy credentials ports 2023-02-04 * Quectel EC25 can send USSD * IK40 support + USSD 2023-02-02 * E3276 can send USSD * MF823 is properly shown 2023-02-01 * 3proxy logs contains IMEI and Nickname 2023-01-29 * API for getting bandwidth stats within arbitrary time interval 2023-01-28 * Huawei 3372h-325 “BROVI” 2023-01-27 * mongodb cache bug fixed 2023-01-22 * vpn: default UDP 2023-01-19 * allow only DEMO version on VirtualBox 2023-01-17 * show anonymous link in main screen of the WebApp 2023-01-15 * Added new modem, Xproxy XH22 Wireless * added table of content in README * Proxies “Extra users”: added individual speed limits 2023-01-14 * Quectel RM520 support (5g) 2023-01-12 * Fibocom L860, Ipv6 support 2023-01-11 * purging sms (for Huawei in HiLink mode only) 2023-01-10 * Vodafone K5161z supported 2023-01-08 * Documentation: Dirty ip reset 2023-01-07 * android phones integration (USB tethering mode & remote mobile tunnel mode). 2023-01-04 * Secure IP reset links are now shown as full URL 2023-01-03 * Static VPN IP’s based on Index from Openvpn PKI 2022-12-30 * Web: editable field for Pho.Number. * Link for downloading Openvpn profiles for modems 2022-12-25 * QUIC support (UDP, HTTP/3.0) for SOCKS5 proxies , check README 2022-12-22 * redefine variables in ''%%/etc/proxysmart/conf.d/*.inc%%'' 2022-12-21 * detect when CellOp redirects to their Billing Page 2022-12-11 * Set minimum time between IP resets * a function for re-add a device: proxysmart.sh add_dev $DEV * UDEV plug-n-play (hook scripts) 2022-12-02 * Huawei dongles in NCM mode (WWAN+AT) 2022-11-27 * FiboCom L860-gl : basic work + sms send * Huawei ME906s : basic work + sms send 2022-11-20 * SierraWireless EM7455 2022-11-18 * CLR900A * FranklinT10 2022-11-12 * BW quota with PMACCTD, block outgoing access * ignore extra user when it matches with existing user (main user or another extra user) * Alcatel MW40 - proper operation now 2022-11-09 * Verizone Jetpack AC791L * more fast status for unknown modems models 2022-11-08 * alcatel IK41: reboot, sms list, helper 2022-11-01 * solve issue when run_cache xxx times out and prints nothing, thus is executed over and over again 2022-10-29 * Documentation: secure rotation links * get_ConnectionStatus_n response must contain OK * cell op 425 02 => must be converted too * model_shown returns "" sometimes => won’t fix, it happens when MAX_PARALLEL_WORKERS_STATUS is too large 2022-10-27 * Novatel MIFI * Franklin T9 (R717) * custom DNS servers for proxies 2022-10-25 * NM disable modem* 2022-10-19 * xproxy.io modems support * bug fixed: Configuration file /etc/systemd/system/proxysmart.service is marked executable. * when main proxy user == one of extra users, use extra user password 2022-10-16 * vpn: blocklist of domains. make sniproxy enablable in conf.txt * license revoking status checked online 2022-10-15 * rework of denied domains list, *.domains are added automatically 2022-10-12 * UF906 (KuWfi, Anydata, TianJie) modems integration 2022-10-10 * dirty ip rotation support * secure ip rotation links with auto expiration 2022-10-06 * OS spoofing for VPN users * vpn: mongodb integration 2022-10-04 * zte mf688T proxidize can send SMS * d-link dwm222 basic support (beta) * signal reported in main table of the WebApp 2022-09-30 * added OS TCP spoofing with p0f3 signatures (WOW!!!), including Mac OS X, iOS, Android, Windows. Total rework of OSfooler-ng! * modem WEB server warm-up (when 1st request is ignored and 2nd and subsequent are processed) 2022-09-22 * modems helpers reorg, make them more fast & cached * added hourly IP rotation 2022-09-19 * get by mongodb - get 1st value 2022-09-16 * zte mf79VIVO support * extra delay after IP rotation 2022-09-12 * report APN * zte mf79 - sms send 2022-09-08 * improved support of ZTE MF927 2022-09-03 * report LTE band in full status 2022-09-02 * support of 4g LAN routers like Huawei Bxxx 2022-08-27 * report IP rotation history as table 2022-08-24 * report IP rotation history * WebApp can edit modems * minor fixes: [ ignoring cell fwding in altnetworking2, dns in vpn, etc ] * show_model - more correct modems model showing 2022-08-09 * openvpn support (residential VPN!) 2022-08-04 * ipv6 bug fixed (ipv6 not assigned) * change mongodb uri in conf.txt 2022-08-02 * nagios plugin exit code fixed ; nagios plugin moved to the main codebase 2022-07-30 * fix: del symlink of altnetworking on installation 2022-07-28 * haproxy check >= 2.2 * Documentation: – periodic IP rotation – ipv6 support – VPS integration 2022-07-22 * apply_settings = > if absent in DB, assign random creds. 2022-07-20 * fixed bug when license stopped working because of floating (??) disk size and RAM size. 2022-07-01 * convert numeric cellop MCCMNC to Letters * del old show_status 2022-06-23 * ipv6, haproxy integration, systemd-slices (altnetworking2). 2022-06-22 * mongodb: timeout handling 2022-06-18 * modem_names OR static udev map => make configurable * is syslog-ng needed for Haproxy ?? revert back to rsyslog. 2022-06-11 * double get_external_ip when doing IP reset via API 2022-06-07 * Periodic automatic IP rotation , set AUTO_IP_ROTATION per modem or globally 2022-05-30 * add usb_reset ( usb_reset_individual_DEV ) API, by nick 2022-05-22 * add proxy live counters based on RRD 2022-05-07 * wait UDEV_xx after usb reset  reboot * add reboot API (CLI|WEB) 2022-05-03 * reboot doesn’t wait till modem is added to the system; use reset_gently for that 2022-05-01 * bug fixed when a modem has the same LAN as EthLAN, so the modem took priority over LAN 2022-04-26 * zte MF971 * add Quectel modems support * report ICCID 2022-04-23 * bw_quota bug - quota restrictions are applied on next proxy request only * read bw_quota, bandlimin, bandlimout, DENIED_SITES_ENABLE, DENIED_SITES_LIST, mtu, extra_users : from Mongodb 2022-04-18 * cx /usr/lib/nagios/plugins/proxysmart-nagios-helper.sh * DNS in Jinja2 2022-04-08 * FIX: error 500 when modem not found * license in web * Imei not unique => show in dash why * Ignore reset if IMEI is in IGNORED_IMEIS * DEV not added => why? show in status * show_status_brief, header must be 1st row * Nagios plugin doesn’t work with encrypted source * ZTE MF93: reboot call 2022-03-31 * huawei K5150: reset_ip , list_sms, reboot, send_sms 2022-03-29 * more UWSGI workers * demo license * deb package building * mongodb template 2022-03-28 * zte mf79: sms list, reboot, IP reset 2022-03-22 * individual blocklists( DENIED_SITES_ENABLE, DENIED_SITES_LIST ) 2022-03-21 (PRE) * Sms read * Default Modem admin pw in config. * Forwarder type in config ( WAN / CELL ) * usb reset yin config ( kris ) * workmode: /etc/proxysmart/altnetworking.sh /etc/proxysmart/autogen/namespace.74 hipi.pl admin123 | grep -i workmode | cut -d“’” -f4 * cell_operator name: /etc/proxysmart/altnetworking.sh /etc/proxysmart/autogen/namespace.59 hlcli NetworkInfo | grep ‘ShortName’ | cut -d" -f4 * add_indiv.. and reset_gently * N by modemN * Random port and nickname assignment if absent in the db * locks * make reset_gently WAIT till reset_complete is done * JSON: report_bandwidth * JSON function: apply settings for a modem * stop redirector BEFORE ip rotation to prevent stalled SSH connection on remote SSH server * leave checking global lock but never acquire it. * JSON for list modems * TABLEd status * show_status: model & cell_operator & workmode: * reset_complete: del all Cgroups & ip rules * JSON function: reset IP * Hipi scripts accept GW & AdminPW args * make screenshort w. CutyCapt * Vnstat autorestart * flush ipv6 on modems * make show_status default * order: curl, hipi w. pass, hipi w/o pass, hlcli, ETC * Optional ttl fix: Y * sms sort * re-connect DATA on modems, if ext_ip empty => systemctl restart proxy@115.service * re-connect DATA on modems, at reset_complete => systemctl restart proxy@115.service * mtu. Report via Valdik * mtu. Set * ACL : optional: allow admin only to browse HiLink webUI * start with no modems reset_complete doesn’t touch => adding a modem => reset_gently doesn’t work * del ipv6 leak from modems * ACL : optional: deny some sites * Proper logging , with ssh connection, stderr, as one SHOT * no LAN test * default login/pw for autogenerated proxies * report rotation time * safe way to read vars from included files * deploy script * N from modemN May not work when iflink is not like modemXXX * trim CELLOP * manual: tell what http and socks5 ports to use * manual: how to use proxy, from internet, from lan * allow ::1 in ip6tables * def.gw via 1 available modem – add to reset_complete * run_cached , to prevent multiple hipi runs * fix EVAL() of commented lines like ‘v=v #ddd’ * regenerate ssh keys for FWD, if absent * get rid of sourcing files: constants * run cached: log hit or miss * manual- check if your vps has firewall. disable it. both inside and in hoster panel. * show_status: If CurrNet is ’’, use workmode * check faked route on reset_gnelty * show_status_json : redirector statuses * update Manual: api calls & sample output * speedtest , up & down * include redirector status in status. enabled, failed/running, uptime * show_status: list all proxies std format. depends on FWD_ENABLE, list $VPS: * replace XARGS+source to just xargs * log TimeTook for /var/log/proxysmart.log * crypted source autoGen * bw report change * check ''%%/var/run/proxysmart/reset_complete_done%%'' => show_status_json & show_status BREAK * ignored IMEI * ignored devices * encode with shc. * anti-p0f * integrate ZTE_MF6xx api ( goform/goprocess) * check whether modem WebUI is available, for get_imei(), show_status_json(), get_model() * added Anydata UF906, Alcatel IK41 & MW40 * is_locked to JSON status * global RESET LOCK * zte MF823 ip change * USSD * SMS * report phone uptime * report USB uptime * Ignore FRESHLY inserted modems in reset_gently. Let them init * don’t rely on bash RANDOM: * nagios plugin * zte MF93D * individual JSON status for a modem * Webapp: +GW, +Local_IP, +current hostname, send sms , send ussd * DHCP more attempts * Web: brief status * brief status * reconnect data - additional command, separate from reset_gently * IP-based ACL * speed limits for proxies * open proxy (y) * check modem WEB => change check_tcp to curl. * DEB=''%%mktemp /tmp/reset_modem_by_imei.XXXXXX%%'' – purge it * dhcp -> migrate to dhcpcd from Nmap * QUICK_STATUS=0\1, show only few details in show_status.. * reconnect data must give up when reset_complete not finished * fix: add iptables -w to altnetowrking and Source * get model => depend on manufacturer (from lsusb) for ZTE * WEB API: report bandwidth * Collectd + Web gui * ttl for _run_cached * ignore Ethernet-USB adapters * mtu common and individual per modem * human readable bytes counters in bandwidth reports * mongodb: cached responses * make all functions accept IMEI|NICK * monthly Quota per user 2022-03-17: * [[single%20status%20for%201%20modem,%20make%20IMEI%20clickable,%20run%20%60show_single_status_json%60%20and%20show%20a%20table%20in%20the%20new%20window.|WEB]] sometimes show_status_json returns "" => Main WEB screen shows “Expecting value: line 1 column 1 (char 0)” and stucks and doesn’t do further refreshes * * Extra usersin addition to main uper proxy