+26
-5
README.md
+26
-5
README.md
···
1
# Tootify ๐ฆโ๐
2
3
-
An experimental Bluesky-to-Mastodon cross-poster
4
5
6
## What does it do
7
8
-
Tootify will allow you to do a selective one-way sync of Bluesky posts to your Mastodon account.
9
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
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.
13
14
15
## Installation
···
20
cd tootify
21
bundle install
22
23
## Usage
24
25
First, log in to the two accounts:
···
37
38
./tootify watch
39
40
-
By default it checks for new skeets every 60 seconds - use the `interval` parameter to customize the interval:
41
42
./tootify watch --interval=15
43
44
45
## Credits
46
47
-
Copyright ยฉ 2024 Kuba Suder ([@mackuba.eu](https://bsky.app/profile/mackuba.eu)).
48
49
The code is available under the terms of the [zlib license](https://choosealicense.com/licenses/zlib/) (permissive, similar to MIT).
···
1
# Tootify ๐ฆโ๐
2
3
+
A simple Bluesky-to-Mastodon cross-posting service
4
5
6
## What does it do
7
8
+
Tootify allows you to do a selective one-way sync of Bluesky posts to your Mastodon account.
9
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
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
19
20
21
## Installation
···
26
cd tootify
27
bundle install
28
29
+
30
## Usage
31
32
First, log in to the two accounts:
···
44
45
./tootify watch
46
47
+
By default it checks for new skeets every 60 seconds โ use the `interval` parameter to customize the interval:
48
49
./tootify watch --interval=15
50
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
+
66
## Credits
67
68
+
Copyright ยฉ 2025 Kuba Suder ([@mackuba.eu](https://bsky.app/profile/mackuba.eu)).
69
70
The code is available under the terms of the [zlib license](https://choosealicense.com/licenses/zlib/) (permissive, similar to MIT).