- Change most of `EC` to `VPN` in the source code, since this project will not
be only for EasyConnect
- Dehardcode
- Refactor for more than one type of Sangfor VPN
This commit is for GUI version:
- overwrite ~/conf/ by the "immutable" configure files such as Version.xml
that depends the version of EC; (fixes#124, #136, #156, #217)
- in the conf directory of EC, create symbolic links to files in ~/conf,
except for "ECDomainFile", which is a unix sock used by EC and should
not be assumed to be supported by the filesystem of ~/conf; (fixes#219)
- sync conf directory of EC to ~/conf before stoping and/or exiting
(idea from @Einskai);
Since non-amd64 deb packages of EasyConnect are proved to exist
(https://github.com/Hagb/docker-easyconnect/issues/25#issuecomment-1233369467),
the deb package should not be assume to be amd64 and architecture
specific code should be rewritten:
- Add EC_HOST build argument to tell Dockerfile the architecture of
EasyConnect package
- Whether to install cross toolchain and qemu-user and which package
should be install, is determined by EC_HOST and the local architecture
now, more specifically by build-scripts/get-echost-names.sh (no longer
hard-code amd64 cross toolchain)
- fake-hwaddr.so should follow the architecture of the EC deb, so
fake-hwaddr/Makefile uses CC envirnoment variable instead of
hard-coded x86_64-linux-gnu-gcc as c compiler now
- qemu_args is removed now. It was used to pass LD_PRELOAD to foreign
binaries under qemu-user, but now we pass LD_PRELOAD to the qemu
wrapper and wrapper will pass the LD_PRELOAD to the simulated
binaries
Not only fake-hwaddr.so, there will be more things to be compiled.
- The image name of building stage is hagb/docker-easyconnect:build now
- Every independent building result will be in /root/name/, which will
be an empty folder if turned off by user.
- split common part of dockerfiles to shell scripts in build-scripts
folder
- add support for non-amd64 GUI by replacing the electron binary with the
native one