Repository navigation
v1.7.3
Welcome to FengSui v1.7.3!
Important
Before you upgrade
- Nothing to change in
.envordocker-compose.yml. - New setting
CPE_REQUIRE_ECC_SIGNATURE(defaulttrue): once your router has signed its encryption key at a login, a login without that signature is ended instead of trusted. Routers that never sign are not affected; set it tofalseonly if a firmware update made your router stop signing. - Run
docker exec cpe-dash node dist/cli.js doctoronce after upgrading. If it reports a file as "stored without encryption", encrypt it as the backup page of the guide shows; a later release will refuse such files. state.jsongains one field (eccSigned); an older version ignores it, so you can still go back.
Highlights
Local numbers in your country's format
A number typed without + is completed the way your country writes it: Italian mobiles that begin with 39 and Polish numbers that begin with 48 keep their digits, and the trunk prefix 8 (Russia, Kazakhstan) or 06 (Hungary) is dropped. A Kazakh SIM now sets the default country, and Telegram's send wizard shows your country on its buttons.
Tighter security
The router's encryption key must stay signed once it has been, a stream opened with an expiring token ends when the token does, a one-time setup code survives a few typos, wrong current passwords count against the sign-in limit, and stopping FengSui in the middle of a router connection test logs out of the router.
Find old unencrypted files
cpe-dash doctor reports a data file written before encryption was required, and cpe-dash rekey encrypts it in place.
What's changed
🐛 Bug fixes
- Local numbers in Italy, Poland, Russia, Kazakhstan and Hungary.
- Telegram's send wizard follows the SIM's country too.
- The wizard's country buttons show yours.
- A Kazakh SIM sets the default country.
- Two daemons started at the same moment cannot both run.
restoreandrekeynever leave a store missing.- Stopping during a connection test logs out of the router.
- One failing listener no longer hides an event from the rest.
- A one-time code survives the sign-in limit.
- A term's help lets go.
- Building the documentation never empties the repository.
🔒 Security
- The router's encryption key must stay signed.
- An expiring token's event stream ends when the token does.
- Wrong current passwords count against the sign-in limit.
- Agents see more of the rules.
- No router request after logout begins, and no retry while yielding.
- The router's login signature is compared in constant time.
doctorfinds stores written without encryption, andrekeyencrypts them.- No dialable phone numbers in the guide.
📚 Documentation
docs/PHASE2_ARCHITECTURE_REPORT.md§15 records the second final review- Contributing rules that match the repository.
🧰 Maintenance
- Images you can verify.
- Release notes link the commits since the release before.
Full Changelog: v1.7.2...v1.7.3
Details of every change: CHANGELOG.md · Documentation: fengsui.iocky.com · Container image: ghcr.io/cky008/cpe-dash:1.7.3