Repository navigation
1.0.26: ShopSocks5 removed, ten more affiliate Dashboard links, AI rotation and WebRTC fixes, CatProxies and How many fixes, WEPROXY v1, Proxy pool at 375 px - #81
Merged
Conversation
The owner's decision (10 Nov): drop ShopSocks5 the way LumiProxy, Smartproxy.org and kookeey were dropped. It leaves the provider list, the vendor registry, the adapter and its request helper, the dashboard link, the panel's Plan and Proxy type fields, the logo and the en/es strings. The unused API URL block (ShopSocks5 text only) goes with it, and the form's protocol default is plain http. Proxies already pulled from it stay ordinary proxies: their tag is kept, and the pool's provider chips, Quick generate's proxy source and the vendor scoreboard name a tag no connector has any more by the vendor name its proxies were pulled with, never blank. Saved ShopSocks5 credentials are no longer read for any provider that is not in PROXY_VENDORS, a save for one is refused, and the next save of any provider drops the old entry. The removed-vendors test covers it.
The owner's decision (10 Nov): NOVADA, Coronium, CatProxies, PacketStream, Proxmint, RapidProxy, PROXY6, 2extract, Gsocks and Proxy-Solutions open his affiliate links, set as the connector's referral the way #73 set the first five. The Owner can still override any of them in Settings, Monetization.
The Proxy pool's provider chips and filter and Quick generate's proxy source name a provider tag
from the connector catalog, so smartproxy reads "Decodo (Smartproxy)" (the key stays smartproxy).
Quick generate showed the raw tag for every other connector; it now shows their names too.
DEFAULT_IP_PROVIDERS is the Super Admin's list of resold proxy vendors, and its Smartproxy is the
same vendor. Its name is the table's unique key, so the row keeps it; main adds a label shown on the
card ("Decodo (Smartproxy)", initials DC), and the row's old default dashboard link moves to
dashboard.decodo.com (a link someone set is kept).
The profile editor's proxyProvider: 'Smartproxy' default was never read by main or shown, so it
goes, with the equally unused proxyApiKey.
…_proxy_ip within a token's limits Backlog 14, the parts #74 left: - canRotate in list_proxies, get_proxy_health and every profile view comes from main's own proxyCanRotate (handed to the tools as ctx.deps.proxyCanRotate), so it covers the provider-API rotators from #73 (DataImpulse sticky ports, ProxyUDP, SimplyNode, MountProxies) as well as links. The AI layer's copy of the DataImpulse rule is gone. A profile's proxy summary carries canRotate too, so the AI knows a profile shared "use only" can rotate by profileId. - The profile view already showed Firefox WebRTC as off (#74). update_profile no longer applies webrtc-safe to a Firefox profile and reports it as a fix: it is left out and the reply says so. - rotate_proxy_ip by profile: a token limited to some groups may not rotate a proxy that profiles outside them use (the rule it already had by proxy id), and Visible features follow the window (a profile row's Rotate IP is a Profiles action, the pool's a Proxies one). By proxy id, a refusal for a shared profile's proxy names the profileId to use. - The legacy rotation-link pass stays once per run (an import puts its link on the proxy since 1.0.26, and a restore runs the pass again). A pass still running when a restore swaps the database now stops without writing the old database's record into the restored one.
generate-proxy-list answers 404 when the sub-user's username or password is wrong and 409 when the location segment, username or password do not match. Both showed the raw API text. marsCall now throws a coded error for each (MARSPROXIES_SUBUSER_NOT_FOUND, MARSPROXIES_MISMATCH) with a clear English message, and the connector form shows it in the window's language (en and es). Other replies are unchanged.
…How many adds CatProxies' Dedicated or Custom ISP and Datacenter plans have fixed IPs and import as a list, but the form still showed Sticky session, Keep same IP, State and City there (and Country on ISP), which main then refused. Like geoPools does for State and City, the connector now lists the pools that take a session (stickyPools) and the pools without a country (noCountryPools): the form hides those fields on the other pools, and the pull sends none of them. The How many placeholder showed 5 on every gateway connector, while a blank How many adds one proxy (a rotating one while Keep same IP and the session are blank too). countBlankFor says what main adds: "All" where the pull imports what the account owns (list connectors, and the listPools / Per-Proxy cases: CatProxies ISP and Datacenter, Node4 Static Datacenter, Proxidize with a username), 5 for Apify and Proxy302, whose adapters default to 5, and 1 for the rest. The title says it too (en/es), and the CatProxies hint no longer asks to blank fields the form now hides.
…ashboard V2 Airproxy's list returns in_use_till, the date each proxy is paid until, which the connector ignored. Its rows now end " • until YYYY-MM-DD", the way ProxyBrazil, ProxyUDP, Zokol and MountProxies show their expiry in the Proxy pool. The AnyIP note sent users to "Get Proxy Details", which AnyIP's Dashboard V2 no longer has: the credentials are in each proxy profile's proxy details (en and es).
Built from SPEC-weproxy.md section 3 (v1). WEPROXY has no customer API, so the login is built on its published gateway, gw.weproxy.com.tr:8989 (HTTP and SOCKS5 on one port), from the panel's proxy user: <user>-package-residential[-country-<cc>][-city-<city>], the one template WEPROXY publishes. A pasted suffix from -package- on is dropped. Each pull adds one rotating proxy; State, Sticky session and Keep same IP are refused with the spec's message until WEPROXY publishes those tokens, and so is a login email or an empty password. The host and port can be overridden. Registry entry as in the spec (no How many: one rotating proxy per pull), PROXY_VENDORS, the adapter, a dashboard link (no account API), the en/es hint from the spec, and test/weproxy.test.js. Not tested against WEPROXY: the trial quota is used up.
…xy pool Leftovers of 17 and 18 found while checking round 8 on main: - 17: setGlobalSettings stores the defaults with any saved setting, so a workspace that saved one before 1.0.7 keeps that build's default footer (with an em dash) and the Spanish window still showed it in English. Those two older defaults now count as the default and read in the window's language. - 18: the Batch import page title said "Creación de perfiles por lotes" while the sidebar says "Importación masiva"; it is "Creación masiva de perfiles". Four connector texts called the app's proxy pool "el pool"; they say "el grupo de proxies" (a vendor's own pools stay "pools"). - The sidebar's "Administracion" section is "Administración".
At 375 px the view tabs (Custom Proxies, Check history, Groups & countries) pushed the page 37 px
past the window in English and 132 px in Spanish. The tab bar now wraps inside itself (max-w-full),
with slightly smaller tab padding below sm. The stat cards cut their labels and lines ("Total de
pr...", "7 verificados · 0 si...", "Comprobación aut..." even at 1440): they wrap now, and below sm
the decorative icon gives its room to the label. Rendered at 1440 and 375, light and dark, en and es.
"Decodo (Smartproxy)" (and already "Bright Data" and "Oxylabs") was cut in the Super Admin's IP provider cards at 375 px, and the Spanish header's "1/4 activados" pushed the card sideways. The name wraps before its status badge, and the header row wraps.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Round 9 for the 1.0.26 rebuild: the owner's two decisions of 10 Nov (ShopSocks5 out, ten more affiliate Dashboard links), the last open app items of the 1.0.27 backlog, the WEPROXY connector v1, and a check of items 1-13, 16-18 and 82-87 on main. No version bump, no schema change, no migration. No change to the Firefox add-on (src/firefox-extension is untouched). Based on origin/main 47e60d2.
What changed
test/removed-vendors.test.js. See 1.referralset to the owner's links verbatim, as #73 did. The Owner can still override them in Settings, Monetization.MARSPROXIES_SUBUSER_NOT_FOUND,MARSPROXIES_MISMATCH) with clear text, shown in the window's language (en, es).in_use_tillappx.languages: ['en-US', 'es'], en-US first. Checked against the electron-builder docs:languageslists the package languages, the first is the default. Nothing to change.1. ShopSocks5 leftovers
shopsocks5tag and work as ordinary proxies. Nothing vendor-specific runs for the tag (no rotator, no adapter); an old row without a tag stays untagged.src/renderer/lib/providerTags.mjs,vendorScoreboard.js).readProxyProviderCredMapreads only providers in PROXY_VENDORS, so a saved ShopSocks5 key is never read or used;saveProxyProviderCredsrefuses an unknown provider; the next save of any provider drops the old entry (cleanup on save, no migration).http(proxy_sock_5was ShopSocks5's value).'shopsocks5'in aprisma/schema.prismacomment (stored rows still carry it; touching the schema file was not worth a schema diff).2. SoftGlaze AI tools (backlog 14)
list_proxies,get_proxy_healthand every profile view take main's ownproxyCanRotate(new whitelisted dep), so they know the provider-API rotators from 1.0.26: one sticky-or-rotating rule for "Different IP each time", clearable saved credentials, vendor names on credential fields, live affiliate links, connector forms without cut-off text, a provider-API rotate hook #73 (DataImpulse sticky ports, ProxyUDP, SimplyNode, MountProxies) as well as links. The AI layer's copy of the DataImpulse rule is gone. A profile's proxy summary now carriescanRotate, so the AI knows a "use only" profile can rotate byprofileId.update_profileno longer applieswebrtc-safeto a Firefox profile and calls it a fix: the fix is left out and the reply says so (notApplied);webrtc-safealone on a Firefox profile is refused as "nothing to change".rotate_proxy_ipand "use only" shares, within permissions:profile:rotate-ip), by proxy id a Proxies one. The registry now takes a tool's feature as a function of its arguments.profileIdto use.3. "Smartproxy" labels
smartproxyreads "Decodo (Smartproxy)" (key unchanged). Quick generate showed raw tags for every other connector; it now shows their names.nameis the IpProvider table's unique key, so the row keeps "Smartproxy" (no duplicate row, keys kept); main adds alabelshown on the card, "Decodo (Smartproxy)" (initials DC), and the row's old default dashboard link moves to dashboard.decodo.com (a link someone set is kept).proxyProvider: 'Smartproxy'was an unused editor default that main never read or showed; removed with the equally unusedproxyApiKey.4. Pool-dependent fields and the How many placeholder
geoSynclists, the same pattern asgeoPools:stickyPools(pools that take Sticky session and Keep same IP),noCountryPools,listPools(pools that import what the account owns),listByUsername,countBlank(gatewayPull.mjs). What a pool does not take is hidden and not sent.5. Layout
smthe decorative icon gives its room to the label.6. WEPROXY v1 (SPEC-weproxy.md section 3)
<user>-package-residential[-country-<cc>][-city-<city>]; a pasted suffix from-package-on is dropped.count(v1 adds one rotating proxy, so a How many field would promise more); dashboard link my.weproxy.io (no account API); en/es hint from the spec;test/weproxy.test.js.7. Items 1-13, 16-18, 82-87 checked on main
Behaviour changes per role (for the release notes)
rotate_proxy_ipby profile, token limited to groupsrotate_proxy_ipby profile, Proxies hidden / Profiles visibleupdate_profilewebrtc-safe on FirefoxHow it was verified
npm test: before 2069 / 2069 (origin/main 47e60d2); after 2095 / 2095, 0 fail.test/round9.test.js(16),test/weproxy.test.js(5),test/removed-vendors.test.js(+8: ShopSocks5 in every listed source, logo, registry, labels for leftover proxies, saved-key cleanup).connectorsShared(affiliate links; cred harness reads PROXY_VENDORS),gatewayVendorPulls,connectorsVendors1,connector-review-fixes,providerAccount,dataimpulse(protocol default),batchAddProvider,vendorScoreboard,connectorsVendors2andpanel-fixes(placeholder / country rule),permissionsRound3(feature by args),profileRedaction,spanishRound8(canRotate via main's rule, footer rule).npm run check:deps, a fullvite build,node --checkon every file in src/main and src/preload. All pass.