This commit is contained in:
Andrew Ferrazzutti 2021-02-26 14:19:48 -05:00
parent 008b3106dd
commit b25bac8cea
45 changed files with 66 additions and 67 deletions

View File

@ -31,19 +31,19 @@ RUN apk add --no-cache \
chmod +x yq && mv yq /usr/bin/yq
COPY requirements.txt /opt/mautrix-line/requirements.txt
COPY optional-requirements.txt /opt/mautrix-line/optional-requirements.txt
WORKDIR /opt/mautrix-line
COPY requirements.txt /opt/matrix-appservice-line/requirements.txt
COPY optional-requirements.txt /opt/matrix-appservice-line/optional-requirements.txt
WORKDIR /opt/matrix-appservice-line
RUN apk add --virtual .build-deps python3-dev libffi-dev build-base \
&& pip3 install -r requirements.txt -r optional-requirements.txt \
&& apk del .build-deps
COPY . /opt/mautrix-line
COPY . /opt/matrix-appservice-line
RUN apk add git && pip3 install .[e2be] && apk del git \
# This doesn't make the image smaller, but it's needed so that the `version` command works properly
&& cp mautrix_line/example-config.yaml . && rm -rf mautrix_line
&& cp matrix_appservice_line/example-config.yaml . && rm -rf matrix_appservice_line
VOLUME /data
ENV UID=1337 GID=1337
CMD ["/opt/mautrix-line/docker-run.sh"]
CMD ["/opt/matrix-appservice-line/docker-run.sh"]

View File

@ -1,4 +1,4 @@
# mautrix-line
# matrix-appservice-line
A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer.
## Features & roadmap
@ -8,4 +8,4 @@ A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Pupp
[SETUP.md](SETUP.md)
## Discussion
Matrix room: [`#mautrix-line:miscworks.net`](https://matrix.to/#/#mautrix-line:miscworks.net)
Matrix room: [`#matrix-appservice-line:miscworks.net`](https://matrix.to/#/#matrix-appservice-line:miscworks.net)

View File

@ -34,5 +34,5 @@
* Replies
* Voice messages
### Missing from mautrix-line
### Missing from matrix-appservice-line
* TODO

View File

@ -7,7 +7,7 @@
6. Launch the Puppeteer module with `yarn start` or `node src/main.js`
7. `cd` to the main directory and create a Python virtual environment with `virtualenv -p /usr/bin/python3 .venv`, and enter it with `source .venv/bin/activate`
8. Install Python requirements with `pip install -r requirements.txt`
9. Copy `mautrix_line/example-config.yaml` to `config.yaml`, and update it with the proper settings to connect to your homeserver
10. Run `python -m mautrix_line -g` to generate an appservice registration file, and update your homeserver configuration to accept it
11. Run the bridge with `python -m mautrix_line`
9. Copy `matrix_appservice_line/example-config.yaml` to `config.yaml`, and update it with the proper settings to connect to your homeserver
10. Run `python -m matrix_appservice_line -g` to generate an appservice registration file, and update your homeserver configuration to accept it
11. Run the bridge with `python -m matrix_appservice_line`
12. Start a chat with the bot and follow the instructions

View File

@ -2,10 +2,10 @@
# Define functions.
function fixperms {
chown -R $UID:$GID /data /opt/mautrix-line
chown -R $UID:$GID /data /opt/matrix-appservice-line
}
cd /opt/mautrix-line
cd /opt/matrix-appservice-line
if [ ! -f /data/config.yaml ]; then
cp example-config.yaml /data/config.yaml
@ -18,7 +18,7 @@ if [ ! -f /data/config.yaml ]; then
fi
if [ ! -f /data/registration.yaml ]; then
python3 -m mautrix_line -g -c /data/config.yaml -r /data/registration.yaml
python3 -m matrix_appservice_line -g -c /data/config.yaml -r /data/registration.yaml
echo "Didn't find a registration file."
echo "Generated one for you."
echo "Copy that over to synapses app service directory."
@ -27,4 +27,4 @@ if [ ! -f /data/registration.yaml ]; then
fi
fixperms
exec su-exec $UID:$GID python3 -m mautrix_line -c /data/config.yaml
exec su-exec $UID:$GID python3 -m matrix_appservice_line -c /data/config.yaml

View File

@ -0,0 +1,2 @@
__version__ = "0.1.0"
__author__ = "Andrew Ferrazzutti <fair@miscworks.net>"

View File

@ -1,4 +1,4 @@
# mautrix-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
# matrix-appservice-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
# Copyright (C) 2020-2021 Tulir Asokan, Andrew Ferrazzutti
#
# This program is free software: you can redistribute it and/or modify
@ -30,12 +30,12 @@ from . import commands as _
class MessagesBridge(Bridge):
module = "mautrix_line"
name = "mautrix-line"
command = "python -m mautrix-line"
module = "matrix_appservice_line"
name = "matrix-appservice-line"
command = "python -m matrix_appservice_line"
description = ("A very hacky Matrix-LINE bridge based on running "
"LINE's Chrome extension in Puppeteer.")
repo_url = "git://miscworks.net/mautrix-line"
repo_url = "git://miscworks.net/matrix-appservice-line"
real_user_content_key = "net.miscworks.line.puppet"
version = version
markdown_version = linkified_version

View File

@ -1,4 +1,4 @@
# mautrix-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
# matrix-appservice-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
# Copyright (C) 2020-2021 Tulir Asokan, Andrew Ferrazzutti
#
# This program is free software: you can redistribute it and/or modify

View File

@ -1,4 +1,4 @@
# mautrix-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
# matrix-appservice-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
# Copyright (C) 2020-2021 Tulir Asokan, Andrew Ferrazzutti
#
# This program is free software: you can redistribute it and/or modify

View File

@ -1,4 +1,4 @@
# mautrix-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
# matrix-appservice-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
# Copyright (C) 2020-2021 Tulir Asokan, Andrew Ferrazzutti
#
# This program is free software: you can redistribute it and/or modify
@ -25,7 +25,7 @@ Permissions = NamedTuple("Permissions", user=bool, admin=bool, level=str)
class Config(BaseBridgeConfig):
def __getitem__(self, key: str) -> Any:
try:
return os.environ[f"MAUTRIX_LINE_{key.replace('.', '_').upper()}"]
return os.environ[f"MATRIX_APPSERVICE_LINE_{key.replace('.', '_').upper()}"]
except KeyError:
return super().__getitem__(key)

View File

@ -1,4 +1,4 @@
# mautrix-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
# matrix-appservice-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
# Copyright (C) 2020-2021 Tulir Asokan, Andrew Ferrazzutti
#
# This program is free software: you can redistribute it and/or modify

View File

@ -1,4 +1,4 @@
# mautrix-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
# matrix-appservice-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
# Copyright (C) 2020-2021 Tulir Asokan, Andrew Ferrazzutti
#
# This program is free software: you can redistribute it and/or modify

View File

@ -1,4 +1,4 @@
# mautrix-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
# matrix-appservice-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
# Copyright (C) 2020-2021 Tulir Asokan, Andrew Ferrazzutti
#
# This program is free software: you can redistribute it and/or modify

View File

@ -1,4 +1,4 @@
# mautrix-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
# matrix-appservice-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
# Copyright (C) 2020-2021 Tulir Asokan, Andrew Ferrazzutti
#
# This program is free software: you can redistribute it and/or modify

View File

@ -1,4 +1,4 @@
# mautrix-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
# matrix-appservice-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
# Copyright (C) 2020-2021 Tulir Asokan, Andrew Ferrazzutti
#
# This program is free software: you can redistribute it and/or modify

View File

@ -139,7 +139,7 @@ puppeteer:
# Either unix or tcp
type: unix
# Only for type: unix
path: /var/run/mautrix-line/puppet.sock
path: /var/run/matrix-appservice-line/puppet.sock
# Only for type: tcp
host: localhost
port: 29395
@ -152,7 +152,7 @@ logging:
version: 1
formatters:
colored:
(): mautrix_line.util.ColorFormatter
(): matrix_appservice_line.util.ColorFormatter
format: "[%(asctime)s] [%(levelname)s@%(name)s] %(message)s"
normal:
format: "[%(asctime)s] [%(levelname)s@%(name)s] %(message)s"
@ -160,7 +160,7 @@ logging:
file:
class: logging.handlers.RotatingFileHandler
formatter: normal
filename: ./mautrix-line.log
filename: ./matrix-appservice-line.log
maxBytes: 10485760
backupCount: 10
console:

View File

@ -19,7 +19,7 @@ def run(cmd):
if os.path.exists(".git") and shutil.which("git"):
try:
git_revision = run(["git", "rev-parse", "HEAD"]).strip().decode("ascii")
git_revision_url = f"git://miscworks.net/mautrix-line/commit/{git_revision}"
git_revision_url = f"git://miscworks.net/matrix-appservice-line/commit/{git_revision}"
git_revision = git_revision[:8]
except (subprocess.SubprocessError, OSError):
git_revision = "unknown"

View File

@ -1,4 +1,4 @@
# mautrix-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
# matrix-appservice-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
# Copyright (C) 2020-2021 Tulir Asokan, Andrew Ferrazzutti
#
# This program is free software: you can redistribute it and/or modify

View File

@ -1,4 +1,4 @@
# mautrix-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
# matrix-appservice-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
# Copyright (C) 2020-2021 Tulir Asokan, Andrew Ferrazzutti
#
# This program is free software: you can redistribute it and/or modify

View File

@ -1,4 +1,4 @@
# mautrix-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
# matrix-appservice-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
# Copyright (C) 2020-2021 Tulir Asokan, Andrew Ferrazzutti
#
# This program is free software: you can redistribute it and/or modify

View File

@ -1,4 +1,4 @@
# mautrix-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
# matrix-appservice-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
# Copyright (C) 2020-2021 Tulir Asokan, Andrew Ferrazzutti
#
# This program is free software: you can redistribute it and/or modify
@ -19,7 +19,6 @@ import asyncio
from .rpc import RPCClient
from .types import ChatListInfo, ChatInfo, Message, StartStatus
from mautrix_line.rpc.types import RPCError
class LoginCommand(TypedDict):

View File

@ -1,4 +1,4 @@
# mautrix-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
# matrix-appservice-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
# Copyright (C) 2020-2021 Tulir Asokan, Andrew Ferrazzutti
#
# This program is free software: you can redistribute it and/or modify

View File

@ -1,4 +1,4 @@
# mautrix-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
# matrix-appservice-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
# Copyright (C) 2020-2021 Tulir Asokan, Andrew Ferrazzutti
#
# This program is free software: you can redistribute it and/or modify

View File

@ -1,4 +1,4 @@
# mautrix-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
# matrix-appservice-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
# Copyright (C) 2020-2021 Tulir Asokan, Andrew Ferrazzutti
#
# This program is free software: you can redistribute it and/or modify

View File

@ -1,4 +1,4 @@
# mautrix-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
# matrix-appservice-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
# Copyright (C) 2020-2021 Tulir Asokan, Andrew Ferrazzutti
#
# This program is free software: you can redistribute it and/or modify

View File

@ -1,4 +1,4 @@
# mautrix-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
# matrix-appservice-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
# Copyright (C) 2020-2021 Tulir Asokan, Andrew Ferrazzutti
#
# This program is free software: you can redistribute it and/or modify

View File

@ -1,2 +0,0 @@
__version__ = "0.1.0"
__author__ = "Tulir Asokan <tulir@maunium.net>"

View File

@ -7,11 +7,11 @@ RUN echo $'\
RUN apk add --no-cache chromium@edge
WORKDIR /opt/mautrix-line/puppet
RUN chown node:node /opt/mautrix-line/puppet
WORKDIR /opt/matrix-appservice-line/puppet
RUN chown node:node /opt/matrix-appservice-line/puppet
USER node
COPY package.json yarn.lock ./
RUN yarn --production && rm -rf node_modules/puppeteer/.local-chromium
COPY . /opt/mautrix-line/puppet
COPY . /opt/matrix-appservice-line/puppet
CMD ["yarn", "start", "--config", "/data/config.json", "--browser", "/usr/lib/chromium/chrome", "--no-sandbox"]

View File

@ -1,7 +1,7 @@
{
"listen": {
"type": "unix",
"path": "/var/run/mautrix-line/puppet.sock"
"path": "/var/run/matrix-appservice-line/puppet.sock"
},
"profile_dir": "./profiles",
"url": "chrome-extension://<extension-uuid>/index.html",

View File

@ -1,16 +1,16 @@
{
"name": "mautrix-line-puppeteer",
"name": "matrix-appservice-line-puppeteer",
"version": "0.1.0",
"description": "Puppeteer module for mautrix-line",
"description": "Puppeteer module for matrix-appservice-line",
"repository": {
"type": "git",
"url": "git://miscworks.net/mautrix-line.git"
"url": "git://miscworks.net/matrix-appservice-line.git"
},
"type": "module",
"main": "src/main.js",
"author": "Andrew Ferrazzutti <fair@miscworks.net>",
"license": "AGPL-3.0-or-later",
"homepage": "https://miscworks.net/dir/mautrix-line",
"homepage": "https://miscworks.net/dir/matrix-appservice-line",
"scripts": {
"start": "node ./src/main.js"
},

View File

@ -1,4 +1,4 @@
// mautrix-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
// matrix-appservice-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
// Copyright (C) 2020-2021 Tulir Asokan, Andrew Ferrazzutti
//
// This program is free software: you can redistribute it and/or modify

View File

@ -1,4 +1,4 @@
// mautrix-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
// matrix-appservice-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
// Copyright (C) 2020-2021 Tulir Asokan, Andrew Ferrazzutti
//
// This program is free software: you can redistribute it and/or modify

View File

@ -1,4 +1,4 @@
// mautrix-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
// matrix-appservice-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
// Copyright (C) 2020-2021 Tulir Asokan, Andrew Ferrazzutti
//
// This program is free software: you can redistribute it and/or modify

View File

@ -1,4 +1,4 @@
// mautrix-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
// matrix-appservice-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
// Copyright (C) 2020-2021 Tulir Asokan, Andrew Ferrazzutti
//
// This program is free software: you can redistribute it and/or modify

View File

@ -1,4 +1,4 @@
// mautrix-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
// matrix-appservice-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
// Copyright (C) 2020-2021 Tulir Asokan, Andrew Ferrazzutti
//
// This program is free software: you can redistribute it and/or modify

View File

@ -1,4 +1,4 @@
// mautrix-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
// matrix-appservice-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
// Copyright (C) 2020-2021 Tulir Asokan, Andrew Ferrazzutti
//
// This program is free software: you can redistribute it and/or modify

View File

@ -1,4 +1,4 @@
// mautrix-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
// matrix-appservice-line - A very hacky Matrix-LINE bridge based on running LINE's Chrome extension in Puppeteer
// Copyright (C) 2020-2021 Tulir Asokan, Andrew Ferrazzutti
//
// This program is free software: you can redistribute it and/or modify

View File

@ -1,6 +1,6 @@
import setuptools
from mautrix_line.get_version import git_tag, git_revision, version, linkified_version
from matrix_appservice_line.get_version import git_tag, git_revision, version, linkified_version
with open("requirements.txt") as reqs:
install_requires = reqs.read().splitlines()
@ -23,7 +23,7 @@ try:
except IOError:
long_desc = "Failed to read README.md"
with open("mautrix_line/version.py", "w") as version_file:
with open("matrix_appservice_line/version.py", "w") as version_file:
version_file.write(f"""# Generated in setup.py
git_tag = {git_tag!r}
@ -33,9 +33,9 @@ linkified_version = {linkified_version!r}
""")
setuptools.setup(
name="mautrix-line",
name="matrix-appservice-line",
version=version,
url="git://miscworks.net/mautrix-line",
url="git://miscworks.net/matrix-appservice-line",
author="Tulir Asokan",
author_email="tulir@maunium.net",
@ -60,10 +60,10 @@ setuptools.setup(
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
],
package_data={"mautrix_line": [
package_data={"matrix_appservice_line": [
"example-config.yaml",
]},
data_files=[
(".", ["mautrix_line/example-config.yaml"]),
(".", ["matrix_appservice_line/example-config.yaml"]),
],
)