thedesk/README.md

170 lines
5.9 KiB
Markdown
Raw Normal View History

2019-05-19 18:57:07 +10:00
<img src="https://thedesk.top/img/top.png" width="300" align="left">
<img src="https://thedesk.top/img/desk.png" width="150" align="right">
2019-04-25 02:10:49 +10:00
2019-05-19 18:57:07 +10:00
# TheDesk
2019-05-19 18:54:04 +10:00
2019-02-01 04:12:43 +11:00
[![Build Status](https://travis-ci.org/cutls/TheDesk.svg?branch=master)](https://travis-ci.org/cutls/TheDesk)
2019-05-19 17:39:30 +10:00
[![Crowdin](https://d322cqt584bo4o.cloudfront.net/thedesk/localized.svg)](https://translate.thedesk.top/project/thedesk)
2019-08-14 03:14:34 +10:00
[![FOSSA Status](https://bit.ly/2N4cLd1)](https://bit.ly/31zqMmZ)
2019-05-19 17:39:30 +10:00
[![Version](https://flat.badgen.net/github/release/cutls/TheDesk)](https://github.com/cutls/TheDesk/releases)
![Contributors](https://flat.badgen.net/github/contributors/cutls/TheDesk)
2018-08-05 14:35:48 +10:00
Mastodon/Misskey client for PC(Windows/Linux/macOS)
2019-05-19 19:21:54 +10:00
オープンソースSNSマストドン/MisskeyのPC向けクライアント[日本語はこちら](README_ja.md)
2019-05-19 18:38:46 +10:00
Download:[TheDesk](https://thedesk.top) [![check](https://status.cutls.com/badge/?site=thedesk.top)](https://status.cutls.com)
2018-02-18 16:43:11 +11:00
2019-05-19 19:21:54 +10:00
<a href="https://www.patreon.com/cutls"><img src="https://c5.patreon.com/external/logo/become_a_patron_button@2x.png" alt="Become a Patron!" width="160"></a>
2019-08-08 03:06:13 +10:00
<a href="https://liberapay.com/cutls/donate"><img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg"></a>
2019-05-19 18:54:04 +10:00
![Screenshots1](https://thedesk.top/img/scr1.png)
2019-05-19 19:21:54 +10:00
## License
2018-01-28 23:22:43 +11:00
2018-11-28 03:21:23 +11:00
[GNU General Public License v3.0](https://github.com/cutls/TheDesk/blob/master/LICENSE)
2019-05-19 19:21:54 +10:00
The icon is provided under [Creative Commons BY-NC-SA](https://creativecommons.org/licenses/by-nc-sa/4.0/)
2019-08-14 03:36:01 +10:00
[Press Kit](https://d2upiril6ywqp9.cloudfront.net/press/TheDesk+PressKit.zip)
2019-01-27 01:26:56 +11:00
2019-08-14 03:36:01 +10:00
* [PNG 512x512](https://d2upiril6ywqp9.cloudfront.net/press/thedesk.png)
* [SVG 4095x4096](https://d2upiril6ywqp9.cloudfront.net/press/thedesk-fullcolor.svg)
* [ico 256x256](https://d2upiril6ywqp9.cloudfront.net/press/thedesk.ico)
* [icns old](https://d2upiril6ywqp9.cloudfront.net/press/thedesk.icns)
* [Illustrator .ai](https://d2upiril6ywqp9.cloudfront.net/press/thedesk.ai)
2018-11-28 03:21:23 +11:00
2019-05-19 19:21:54 +10:00
The default sounds of notifications is provided [Creative Commons BY](https://creativecommons.org/licenses/by/4.0/)
2019-04-15 01:45:04 +10:00
2019-05-19 19:21:54 +10:00
## Terms of Use
2018-09-18 01:02:32 +10:00
2018-12-16 18:17:52 +11:00
* [利用規約(Terms of Use(ja))](https://thedesk.top/tos.html)
* [プライバシーポリシー(Privacy Policy(ja))](https://thedesk.top/priv.html)
2018-01-28 23:22:43 +11:00
2019-05-19 19:21:54 +10:00
## Language
2019-01-27 01:26:56 +11:00
* 日本語(Japanese)
2019-05-19 19:21:54 +10:00
* English
2019-09-08 10:39:26 +10:00
* de, cs, bg(from Crowdin)
2019-05-19 19:21:54 +10:00
### Translation
2018-08-05 13:36:23 +10:00
2019-05-19 19:21:54 +10:00
Crowdin project is available! Visit: https://translate.thedesk.top
2019-06-16 21:34:41 +10:00
### Run on developer mode
`npm run dev` on `app` folder.
2019-05-19 19:21:54 +10:00
## Contributors
2018-08-05 13:36:23 +10:00
2019-05-19 19:21:54 +10:00
Build for macOS
2018-08-05 13:36:23 +10:00
2019-05-19 19:21:54 +10:00
* [toneji](https://minohdon.jp/@toneji)
2018-08-05 13:36:23 +10:00
2019-05-19 19:21:54 +10:00
Build for Linux
2019-01-13 13:05:41 +11:00
2019-05-19 19:21:54 +10:00
* [popn_ja](https://popon.pptdn.jp/@popn_ja)
2019-01-13 13:05:41 +11:00
2019-05-19 19:21:54 +10:00
Fellow coder
2019-03-20 22:11:03 +11:00
2019-06-29 17:11:52 +10:00
* [kPherox](https://pl.kpherox.dev/kPherox)
2019-03-20 22:11:03 +11:00
2019-05-19 19:21:54 +10:00
## Build
2019-09-17 02:20:52 +10:00
You have to use either **npm** or **yarn**. Whichever you use, it works well.
### npm
```sh
git clone https://github.com/cutls/TheDesk
cd TheDesk/app
npm install
npm install --only=dev
2019-08-30 10:59:21 +10:00
npm run construct
```
2019-04-13 02:54:33 +10:00
2019-09-17 02:20:52 +10:00
### yarn
```sh
git clone https://github.com/cutls/TheDesk
cd TheDesk/app
2019-09-19 00:11:39 +10:00
# Linux or macOS
2019-09-19 00:24:34 +10:00
yarn install --no-lockfile
2019-09-19 00:11:39 +10:00
# Windows
2019-09-19 00:24:34 +10:00
yarn install
2019-09-19 00:25:22 +10:00
2019-09-17 02:20:52 +10:00
yarn construct
```
run `npm run dev` or `yarn dev` to launch developer version with console(click `view`)
2019-05-19 19:21:54 +10:00
### electron-builder(Recommended)
2019-09-17 02:20:52 +10:00
Use scripts(they can work well with npm, **yarn**).
#### npm
```sh
# Build for current platform
npm run build
# Select build target
## Windows
npm run build:win
## Windows and Linux (The macOS target should run on macOS. So, this option hasn't include the build for macOS)
npm run build:all
```
2019-09-17 02:20:52 +10:00
#### yarn
```sh
# Build for current platform
yarn build
# Select build target
## Windows
yarn build:win
## Windows and Linux (The macOS target should run on macOS. So, this option hasn't include the build for macOS)
yarn build:all
```
2019-04-13 02:54:33 +10:00
Config is all on package.json
2019-05-19 19:21:54 +10:00
### electron-packager
2019-01-27 01:26:56 +11:00
`npm install --save-dev electron-rebuild`
2018-07-30 21:26:06 +10:00
2018-12-17 01:01:25 +11:00
Linux/macOS
`./node_modules/.bin/electron-rebuild`
Windows
`.\node_modules\.bin\electron-rebuild.cmd`
To install Python 2.x and Visual C++ for Windows, before running `npm install --save-dev electron-rebuild`
`npm install --global windows-build-tools`
2018-07-07 05:22:26 +10:00
Windows
2019-02-27 12:17:35 +11:00
`electron-packager ./app TheDesk --executable-name="TheDesk" --app-copyright="Copyright (c) TheDesk 2018 Cutls.com 2015 All Right Reserved" --win32metadata.CompanyName="TheDesk&Cutls.com" --win32metadata.FileDescription="TheDesk" --win32metadata.OriginalFilename="TheDesk" --win32metadata.InternalName="TheDesk" --win32metadata.ProductName="TheDesk" --platform=win32 --arch=all --electron-version=4.0.5 --icon=.\app\thedesk.ico --overwrite`
2018-07-07 05:22:26 +10:00
Linux
2019-02-27 12:17:35 +11:00
`electron-packager ./app TheDesk --executable-name="TheDesk" --app-copyright="Copyright (c) TheDesk 2018 Cutls.com 2015 All Right Reserved" --platform=linux --arch=x64,ia32 --electron-version=4.0.5 --overwrite`
2018-07-07 05:22:26 +10:00
macOS
2019-02-27 12:17:35 +11:00
`electron-packager ./app TheDesk --executable-name="TheDesk" --app-copyright="Copyright (c) TheDesk 2018 Cutls.com 2015 All Right Reserved" --platform=darwin --arch=all --electron-version=4.0.5 --icon=./app/icon.icns --overwrite`
2018-07-07 05:22:26 +10:00
2020-02-24 12:52:42 +11:00
### PWA support
2020-02-24 13:20:10 +11:00
TheDesk is a wed-based app, so you can run it on a browser. Of course, the main stream is as Electron. Some features won't work as well as Electron.
2020-02-24 12:52:42 +11:00
2020-02-24 13:18:48 +11:00
You can run `npm run build:pwa` to build as PWA, including `manifest.json` and the ServiceWorker.
2020-02-24 12:52:42 +11:00
**You have to rename `node_modules` to `dependencies` to run as a web application. (restricted by Netlify)**
Check the app on Chrome or Firefox: [Here](https://app.thedesk.top) (it follows the `master` branch, so not stable.)
[![Netlify Status](https://api.netlify.com/api/v1/badges/6916503b-2882-43f7-9681-ab814e6d28f9/deploy-status)](https://app.netlify.com/sites/thedesk/deploys)
2019-02-01 03:30:25 +11:00
## Pleroma support
Did you find a bug with Pleroma accounts?
Pleroma **does not** follow Mastodon API rules completely although Pleroma developers say so.
2019-08-24 02:09:20 +10:00
Please write issues to improve TheDesk affinity with Pleroma.
## Vulnerabilities when `npm i`???
No, if your npm says materialize-css has vulnerabilities(CVE-2019-11002/3/4), look at [here](https://github.com/Dogfalo/materialize/issues/6286) under discussion.