===== Changelog ===== 2024-10-17 * H155 - improved IP rotation 2024-10-17 * Big merge from v2.dev->v2 2024-10-01 * New modem - Netgear Nighthawk M6 Pro * New modem - Huawei H155-381 * New modem - Huawei B818-263 * New modem - ZTE MF286D * Speedtest button for testing connection quality between proxy users & proxy server (not involving mobile equipment) * New modem - AX3000 Lan modem. * New modem - AirCard 340U * ZTE MC801A improved IP rotation 2024-09-01 * New modem - Netgear Nighthawk M6 * New modem - Netgear Nighthawk M1 * Conf setting to hide main system IP in the system status, WEB_HIDE_MAIN_IP=1 * EM7455 - detection Low Power Mode * OpenVPN fixed for android phones connected with Termux. 2024-08-01 * WebApp - bug fixed when attempts of Openvpn connects from the clients caused showing `Openvpn Connected` badge * Openvpn on WWAN LTE modules fixed. * fixed xq installation on Ubuntu 24.04 * License can be requested right from the WebApp. * WebApp shows number of active ports * Added BASH completion for major commands * WEBAPP_REFRESH_INTERVAL setting moved to `Global Settings`->`WebApp mods` * Reworked dynamic Openvpn IP's assigning * Added Google Pixel 3a and 4 to USB+ADB method. 2024-07-01 * Added LAN 4G router modem, Cudy LT400 * Improved multi-threading in Pinger graphs and gathering modems statuses * Purging SMS on Alcatel IK41 and ZTE MF79. * Keepalive can be enabled for the Collectd Pinger (useful for keeping T-Mobile IP static) * Added Fibocom L850-GL * IPV6 access is also restricted when a Port is locked (expired). * IPv6 on LAN 4G/5G modems(routers) * Fix for Openvpn client - TCP looped connections. Affected only servers with real IP's * Added Android Xiaomi Mi A2 Lite (Redmi6 PRO) in USB+ADB mode. * Fix TTL for Lan modems for Os TCP spoofing. 2024-06-01 * Improved reboot of stuck Proxidize modems. * SierraWireless on USA Verizon - improved ( WWAN_MODEMS_MSS_FIX setting) * Added LAN 4G router modem, Tenda 5G03 * Fix - p0f spoofing stopped working after IP rotation. * Quectel EG91. * Alcatel (TCL) MW43. * Improved sniffer proxy logging (memory & disk usage). * Quectel RM520N-GL - improved SMS reading. * Improved IP leak prevention. * ZTE MF79 - support TARGET_MODE during IP rotation. * WebApp - Ports bandwidth stats - show previous month usage. * WebApp - System status - show overall TCP connections count. * Improved IP-rotation on IPv4-only modems in IPv6-enabled system. * Bug fixed of Openvpn connections stuck on Ubuntu 20.04. * Improved Debian 11 and 12 support. 2024-05-01 * WebApp>SystemStatus - show main server external IPv4 and IPv6 * Global IP uniqueness check (if enabled, checking IP uniqueness across all present modems) * Huawei stick mode (E303, E3272, E3276), improved APN detection. * Ubuntu 18.04, Debian 10 support dropped * Modems Autoreboot - bug fixed. * WebApp - show ping latency and packets loss. * WebApp - a button to download the license (works if the license is issued after 2024-05-17) * new p0f signatures - android 14, IPhone 12 max pro, MacOSX 13.5, Windows 11 х64 Desktop * Android phones in raw ADB mode (no extra apps), in particular Motorola Stylus 5G on Android 12 2024-04-01 * added LAN 5G/4G router modem, ZTE MC7010CA * added LAN 4G router modem, ZTE MF289 * Ansible playbok for setting up a VPS * WebApp - new Desktop/Mobile layout * added LAN 4G router modem, Tenda 4G03Pro * added LAN 5G/4G router modem, ZTE MC801A and ZTE MC8010CA * added p0f signature for "Windows 10 64bit Desktop" * added LAN 4G router modem, Cudy LT500 * WebApp - expired and overquota ports are shown in pink. * Improved Ubuntu 24.04 support * added new modem - Huawei K5160 2024-03-10 * an option to download only last month proxy logs * Long running tasks are now queued up - Modem Rebooting, USB resetting a modem, downloading proxy logs. * improved Tshark memory & disk consumption * SierraWireless EM7455 now can work in PPP mode 2024-03-02 * V2.1 release * WebApp - improved speed * WebApp - show next IP rotation time * WebApp - cached statuses of modems + background statuses updater * WebApp - choose Openvpn profiles format, default or OpenvpnConnnect3.4+ * WebApp - choose how proxy credentials are shown ( %%host:port:login:password%% or %%proto://login:password@host:port%% ) * WebApp - ApplySettings replaced with Re-Add Device - which is useful when a device is stuck and settings can't be applied * WebApp - Link to IP info * option to use xt-tls iptables module for more reliable domains blocking * daily/monthly quotas are automatically unblocked on the next day/month * Improved support of Socks5 UDP behind DMZ in LAN's * Refactored Ping graphs (single daemon instead of multiple per-modem processes) 2024-02-01 * Huawei K5150 can work in Stick (NCM) mode * log Caller of IP rotation (schedule or manual or WebAppClick or ByLink) * prevent IP rotation by link if proxy is expired or over quota * Support of SierraWireless EM7565, EM7511 * show live Reboot scores in the WebApp * USB devices tree and USB errors log, are shown in the WebApp 2024-01-01 * Improved Fibocom L860 ip rotation * Max connections test * Huawei B535 support * MTU fix (slow speed fix) on USA Verizone on LTE chips * WebApp - dynamic search in the table * WebApp - show failed modems on top * Replace product name & company name in the WebApp (WhiteLabel'ing) * Alcatel IK41, improved IP rotation * Compacted layout of HTML tables * Sierra Wireless EM7455: force set APN even before checking LTE status * Telegram alerts for expiring proxies * Alerts to a WebHook * Alerts are saved in a local log file. * graphs for VPN bandwidth 2023-12-01 * global sites blocklist can be edited in the WebApp * WebApp improved, true\false settings are shown as radio buttons * Alerts to Telegram * WebApp: adding modems Notes. * WebApp: mobile signal is shown as colored bars * support of Huawei 5G CPE H112-370 (ip rotation, sms read) * added 'modems states' : adding queued->adding->added->deleting , failed_to_add. * new WebApp (condensed layout) * reduced IP rotation time on Huawei (E3372, E8372, E55*) by approx. 4 seconds * improved support of Huawei E3372s modems. * export/import of LAN modems & other local settings during the Backup/Restore * bumped version to 2.0. * Android VPN can send UDP. * Android proxies - cover reconnects. * Reboot call in the WebApp opens in new tab. * Android App can read SMS. * fix Fibcom L860 on long USB id's. 2023-11-01 * SIMA7630C (ip rotation, SMS read, reboot) * Android VPN - added. * Android VPN - proper native DNS from the Mobile Carrier * openvpn sessions log in a separate file ( $OPENVPN_SESSIONS_LOG ) * ussd on Quectel EP06 * 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. * support of LTE module - T77W595 / LT4120 * build for Ubuntu 24.04 Noble * warning about license due to expire * import & export mongodb -- a button in the WebApp * export to Proxysmart v2 * mongodb uri can be set in /etc/proxysmart/conf.d/*.inc * 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. * 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 * Alcatel HH71 autoreconnect * LAN modems: improved detection; ability to reboot * fix for adding modems when IMEI is not properly detected 2023-10-01 * Quectel EC20 support; Imvproved Chinese letters in SMS * improved stability of IK41 (stick mode) * individual OS TCP spoofing (per proxy) * improved speed on Android proxies over 27mbps * improved SMS on IK41 (stick mode) * Possibility to set Bandwitdh Quota direction, one of (in, inout, out). * improved Huawei E3272 support. * Target mode of a modem during IP rotation: can be set in the WebApp * Deleted TARGET_MODE from conf.txt (global variable) 2023-09-01 * fixed installation in India where github is blocked * android: VPN integration - done * Add Huawei 5g CPE H122-373 * improved ME-906s modems IP rotation * Prevent getting non-unique IP’s after rotation * allow more than 1 device to use 1 VPN profile * Vodafone K5161h supported * 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 * Android proxies - improved Ping graphs; improved Carrier detection 2023-08-01 * added auto reconnect for DW5811e * improved QUIC support: add switch 3proxy/gost for Socks software in LAN ; add switch gost/gost3 as Socks software * qmicli , added timeouts * zteMF79NV support * Alcatel modems (MW40,MW42,HH71) obeys $DEFAULT_HILINK_ADMIN_PASSWORD * Alcatel MW45 improved support. * add Reset Counters button to the Bandwidth report page. 2023-07-01 * improve SMS sending on ZTE MF667, MF927, MF688V3E, MF823, MF833, MF93 * IP uniqueness report * Top hosts report (WEB API method + WebApp table). * Auto USB reset when modem’s WEB APP is stuck ( AUTO_USB_RESET_DONGLES=1 ) * Add proxies built on Proxysmart android App 2023-06-01 * SIM7600G proper SMS read 2023-05-01 * Main proxy user:added Threads limit * Extra users: added Threads limit & Dual_Auth IP * add SIM7600G (Lte cat4) * add Foxconn DW5821e (LTE cat 16) * usb reset button in the WebApp * cached list of the modems in the main screen of the WebApp 2023-04-01 * support of pure old Stick(PPP) modems like Huawei E173, E156; ZTE MF110, MF193 * add E3276 and E303 in Stick(NCM) mode * 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-01 * added RequestsPerSecond graphs in modem status * added Pings graphs in modem status * Zyxel NR5103E support * 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) * autofix mass storage on Huawei modems * Repeat IP rotation in case of failure (went online>offline, or the same IP received) * fixed issue of DNS cache on modems * Black 4g modem – MSM8916 with /json WEB API * ability to reboot Quectel if no SIM * New UI * show graphs in modems statuses * timers fix (allows arbitrary nonstandard minutes like 31,61,1222) * Alcatel IK41 in “stick” mode * 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-01 * MF667 modem support * Quectel EM12G * ability to set a custom URL in secure rotation links * ability to set a custom HOST in proxy credentials ports * Quectel EC25 can send USSD * IK40 support + USSD * E3276 can send USSD * MF823 is properly shown * 3proxy logs contains IMEI and Nickname 2023-01-01 * API for getting bandwidth stats within arbitrary time interval * Huawei 3372h-325 “BROVI” * mongodb cache bug fixed * vpn: default UDP * allow only DEMO version on VirtualBox * show anonymous link in main screen of the WebApp * Added new modem, Xproxy XH22 Wireless * added table of content in README * Proxies “Extra users”: added individual speed limits * Quectel RM520 support (5g) * Fibocom L860, Ipv6 support * purging sms (for Huawei in HiLink mode only) * Vodafone K5161z supported * Documentation: Dirty ip reset * android phones integration (USB tethering mode & remote mobile tunnel mode). * Secure IP reset links are now shown as full URL * 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 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 * DNS in Jinja2 2022-04-08 * FIX: error 500 when modem not found * show 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 * 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 * 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 * make screenshot w. CutyCapt * Vnstat autorestart * flush ipv6 on modems * re-connect DATA on modems * start with no modems reset_complete doesn’t touch => adding a modem => reset_gently doesn’t work * del ipv6 leak from modems * default login/pw for autogenerated proxies * report rotation time * safe way to read vars from included files * manual: tell what http and socks5 ports to use * manual: how to use proxy, from internet, from lan * run_cached , to prevent multiple hipi runs * regenerate ssh keys for FWD, if absent * get rid of sourcing files: constants * 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: * log TimeTook * 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 * zte MF823 ip reset * report phone uptime * report USB uptime * Ignore recently plugged in modems in reset_gently. Let them init * 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/n) * check modem WEB => change check_tcp to curl. * 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 * 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 * WebApp fix : Main WEB screen shows “Expecting value: line 1 column 1 (char 0)” and stucks and doesn’t do further refreshes * Extra users in addition to main proxy users