• Stars
    star
    126
  • Rank 284,543 (Top 6 %)
  • Language
    Shell
  • License
    Apache License 2.0
  • Created over 4 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

DoWork is a Dockerized WeChat Work (盒装企业微信) PC Windows Client for Linux

DoWork /dɑɑˈwɜːk/ 盒装企业微信 Docker

dockeri.co

DoWork (盒装企业微信) is a Dockerized WeChat Work (企业微信) PC Windows Client for Linux.

DoWork

Image Credit: Docker 101 + Icon Finder, and Ps-ed by Ruoxin Song

Usage Powered Ubuntu

WeChat Work PC will be started on your Linux desktop by running the following one-line command:

curl -sL https://raw.githubusercontent.com/huan/docker-wxwork/master/dowork.sh | bash

Just copy/paste the above one-line command to your terminal and press Enter. Then the WeChat Work PC should appear in your XWindows desktop shortly.

DoWork Term Command

Features

It just works out-of-the-box with one-line of shell command!

  1. Input/Display Chinese characters perfectly.

DoWork Screenshot

Requirements

  1. Ubuntu is recommended. DoWork was developed with the Ubuntu Desktop 19.10.
  2. Other Linux distributions: might be able to support
  3. Docker (run sudo apt update && apt install docker.io to install Docker for Ubuntu users)

Environment Variables

DOWORK_DPI

DPI Scale Factors for graphic screen resolution.

DPI Scale factor %
96 100
120 125
144 150
192 200

Default: 120

DOWORK_SKIP_PULL

If you do not want to pull docker image for the latest version at startup everytime, you can set DOWORK_SKIP_PULL environment variable.

curl -sL https://raw.githubusercontent.com/huan/docker-wxwork/master/dowork.sh \
  | DOWORK_SKIP_PULL=true bash

In case you have downloaded dowork.sh:

DOWORK_SKIP_PULL=true ./dowork.sh

DOWORK_DEBUG

Show more debug log messages.

curl -sL https://raw.githubusercontent.com/huan/docker-wxwork/master/dowork.sh \
  | DOWORK_DEBUG=true bash

For Hackers

If you want to control everything by yourself, for example, open multiple WeChat Work PC client on your desktop; then, you might want to inspect the dowork.sh in our repository and try the following docker command:

docker run \
  --name DoWork \
  --rm \
  -i \
  \
  -v "$HOME/DoWork/WXWork/":'/home/user/WXWork/' \
  -v "$HOME/DoWork/Applcation Data":'/home/user/.wine/drive_c/users/user/Application Data/' \
  -v /tmp/.X11-unix:/tmp/.X11-unix \
  \
  -e DISPLAY \
  \
  -e XMODIFIERS=@im=fcitx \
  -e GTK_IM_MODULE=fcitx \
  -e QT_IM_MODULE=fcitx \
  -e GID="$(id -g)" \
  -e UID="$(id -u)" \
  \
  --ipc=host \
  --privileged \
  \
  zixia/wxwork

Modify it whatever you want to fulfill your needs.

Known Issues

  • In-WeChat Browser does not work

To-do List

  • Automatically install WeChat Work from .EXE installer when building the Dockerfile. (Test Automation tools might be needed)
  • Monitor WeChat Work version publications so that we can publish the same version number of the docker image with it.

FAQ

1 System Tray Icon with Gnome Desktop

Install Gnome Extension: Top Icons Plus Git

Links

History

master

v0.1 (Feb 17, 2020)

Project created.

Thanks

See Also

Author

Huan LI (李卓桓) [email protected]

Profile of Huan LI (李卓桓) on StackOverflow

Copyright & License

  • Code & Docs © 2020-now Huan LI <[email protected]>
  • Code released under the Apache-2.0 License
  • Docs released under Creative Commons

More Repositories

1

docker-wechat

DoChat is a Dockerized WeChat (盒装微信) PC Windows Client for Linux
Shell
2,245
star
2

docker-simple-mail-forwarder

Simplest and Smallest Email Forward Service based on Docker.
Shell
537
star
3

node-facenet

Solve face verification, recognition and clustering problems: A TensorFlow backed FaceNet implementation for Node.js.
TypeScript
399
star
4

gast

Google Apps Script TAP Testing-framework
JavaScript
96
star
5

rx-queue

Easy to Use RxJS Queue for Throttle/Debounce/Delay/DelayExecute
JavaScript
73
star
6

file-box

Pack a File into Box for easy move/transfer between servers no matter of where it is.(local, remote url, or cloud storage)
TypeScript
56
star
7

mailbox

Mailbox is the predictable states & transitions container for actors.
TypeScript
48
star
8

sidecar

Easily hook/call binary functions using ES6 class with TypeScript annotation (Powered by Frida)
JavaScript
47
star
9

docker-windows

Run Windows GUI Applications in a Linux Docker Container
Shell
44
star
10

hot-import

Hot Module Replacement (HMR) for Node.js
TypeScript
23
star
11

sshpass.sh

a ssh loader wrote by bash shell script to let ssh accept command line password
Shell
23
star
12

docker-wine

Docker Base Image for Wine
Shell
21
star
13

flash-store

FlashStore is a high-performance Key-Value Persistent Local Database using ES6 Map's API (Async & Sync), Powered by LevelDB/RocksDB/SQLite and TypeScript.
TypeScript
21
star
14

gasl

Google Apps Script Logging-framework
JavaScript
20
star
15

tensorflow-handbook-javascript

TensorFlow Handbook for JavaScript/TypeScript
TypeScript
19
star
16

tensorflow-handbook-tpu

TensorFlow 2 Handbook for TPU on Google Cloud
Jupyter Notebook
17
star
17

wechaty-blinder

Face Blinder Bot Powered by Wechaty
TypeScript
15
star
18

swagger-edit

Swagger-Editor for local files like VIM.
JavaScript
14
star
19

gas-freshdesk

OO Freshdesk API(v2) Class for Google Apps Script
JavaScript
12
star
20

brolog

Logger for AngularJS in Browser like Npmlog
JavaScript
11
star
21

chinese-whispers

An Efficient Graph Clustering Algorithm for Node.js
TypeScript
9
star
22

swift-MNIST

Swift Module for MNIST Dataset
Swift
9
star
23

watchdog

An Timer used to Detect and Recover from Malfunctions
TypeScript
9
star
24

tstest

Helps you write better TypeScript programs
JavaScript
8
star
25

paper-morpho-vector-presentation

A Mini Review of Word Embedding in Morpho
TeX
7
star
26

ffi-adapter

Foreign Function Interface Adapter Powered by Decorator & TypeScript
TypeScript
6
star
27

tensorflow-handbook-swift

TensorFlow Handbook for Swift
Jupyter Notebook
6
star
28

emoji-net

EmojiNet is an image to emoji recognizer based on MobileNet / Google Emoji Scavenger Hunt
TypeScript
6
star
29

ng-plus-wechaty

Conversational AI TensorFlow.js NLP examples with Wechaty SDK and Angular
TypeScript
5
star
30

memory-card

Memory Card is an Easy to Use Key/Value Store Implements ES6 Map with Async API in Distribution Scenarios.
TypeScript
5
star
31

liao.ga

尬聊助手
4
star
32

awesome-lucid-dream

A lucid dream is a dream during which the dreamer is aware that they are dreaming.
4
star
33

clone-class

Clone an ES6 Class as Another Class Name for Isolating Class Static Properties.
JavaScript
4
star
34

state-switch

State Switch is a Monitor/Guard for Managing Your Async Operations.
TypeScript
4
star
35

dofi

DoFi is a Docker Wifi Manager for converting your PC/Raspberry Pi to a Wireless Router
Shell
3
star
36

docker-swift-tensorflow

Dockerized Swift for TensorFlow with Jupyter and GPU Support.
3
star
37

face-blinder

API for Whom is Suffering form Face Blindess
TypeScript
3
star
38

microsoft-ai-bootcamp

Global AI Bootscamp Beijing
2
star
39

Browser-based-Models-with-TensorFlow.js

Course: Browser-based Models with TensorFlow.js
JavaScript
2
star
40

ai-art-design-workshop

AI Art & Design Workshop
2
star
41

docker-chown

`chown -r` & `COPY --chown` not work in my Dockerfile (?!)
Shell
2
star
42

sockie

Easy to Use Reactive Extensioned WebSocket Client/Server Framework for Node.js
TypeScript
2
star
43

wechaty-io

DEPRECATED(use @chatie/io instead) Wechaty IO Server
TypeScript
1
star
44

sse-3d-seg

Secondary Structure Elements 3D Segmentation for Protein
1
star
45

mike-bo

Mike Bo is an assitant bot for Huan@PreAngel
TypeScript
1
star
46

awkward-chat-assistant

尬聊助手
1
star
47

bbsnet

zixia bbsnet
TypeScript
1
star
48

watchdog.icu

Watchdog ICU for your Cloud Service
TypeScript
1
star
49

pkg-jq

Find the nearest package.json then deal with jq syntax on it. (in-line edit supported!)
TypeScript
1
star
50

python-concise-chitchat

Concise Chit Chat in Python
Jupyter Notebook
1
star