+26
-5
README.md
+26
-5
README.md
···
1
1
# Tootify ๐ฆโ๐
2
2
3
-
An experimental Bluesky-to-Mastodon cross-poster
3
+
A simple Bluesky-to-Mastodon cross-posting service
4
4
5
5
6
6
## What does it do
7
7
8
-
Tootify will allow you to do a selective one-way sync of Bluesky posts to your Mastodon account.
8
+
Tootify allows you to do a selective one-way sync of Bluesky posts to your Mastodon account.
9
9
10
10
The way it works lets you easily pick which skeets you want to turn into toots: it scans your recent posts and checks which of them you have liked yourself, and only those posts are reposted. The self-like is automatically removed afterwards.
11
11
12
-
Note: this is an early version so it might be a bit unstable and rough โ but I've been using it for a few months and some other people have tried it too and it generally works.
12
+
Currently handles:
13
+
14
+
- post with link embeds
15
+
- quotes โ posted as "RE: bsky.app/..."
16
+
- images (with alt text)
17
+
- videos
18
+
- threads of multiple chained posts from you
13
19
14
20
15
21
## Installation
···
20
26
cd tootify
21
27
bundle install
22
28
29
+
23
30
## Usage
24
31
25
32
First, log in to the two accounts:
···
37
44
38
45
./tootify watch
39
46
40
-
By default it checks for new skeets every 60 seconds - use the `interval` parameter to customize the interval:
47
+
By default it checks for new skeets every 60 seconds โ use the `interval` parameter to customize the interval:
41
48
42
49
./tootify watch --interval=15
43
50
44
51
52
+
## Configs
53
+
54
+
Tootify stores configs and data in the `config` folder:
55
+
56
+
* `bluesky.yml` โ created when you log in, stores Bluesky user ID/password and access tokens
57
+
* `mastodon.yml` โ created when you log in, stores Mastodon user ID/password and access tokens
58
+
* `history.csv` โ stores a mapping between Bluesky and Mastodon post IDs; used for reply references in threads
59
+
* `tootify.yml` - optional additional configuration
60
+
61
+
The config in `tootify.yml` currently supports one option:
62
+
63
+
- `extract_link_from_quotes: true` โ if enabled, posts which are quotes of someone else's post which includes a link will be "collapsed" into a normal post that just includes that link directly without the quote (so the link card on Mastodon will show info about the link and not the quoted bsky.app post)
64
+
65
+
45
66
## Credits
46
67
47
-
Copyright ยฉ 2024 Kuba Suder ([@mackuba.eu](https://bsky.app/profile/mackuba.eu)).
68
+
Copyright ยฉ 2025 Kuba Suder ([@mackuba.eu](https://bsky.app/profile/mackuba.eu)).
48
69
49
70
The code is available under the terms of the [zlib license](https://choosealicense.com/licenses/zlib/) (permissive, similar to MIT).