]> git.mxchange.org Git - friendica.git/blobdiff - static/routes.config.php
Merge pull request #10094 from urbalazs/license-20210328
[friendica.git] / static / routes.config.php
index 074c1f5710e23a1d869b2873de23299b06a987e7..96293254ce441406351fcb73e9ac44413b0b8223 100644 (file)
 use Friendica\App\Router as R;
 use Friendica\Module;
 
+$profileRoutes = [
+       ''                                         => [Module\Profile\Index::class,    [R::GET]],
+       '/profile'                                 => [Module\Profile\Profile::class,  [R::GET]],
+       '/contacts/common'                         => [Module\Profile\Common::class,   [R::GET]],
+       '/contacts[/{type}]'                       => [Module\Profile\Contacts::class, [R::GET]],
+       '/status[/{category}[/{date1}[/{date2}]]]' => [Module\Profile\Status::class,   [R::GET]],
+];
+
 return [
        '/' => [Module\Home::class, [R::GET]],
 
        '/.well-known' => [
                '/host-meta'      => [Module\WellKnown\HostMeta::class,     [R::GET]],
                '/nodeinfo'       => [Module\WellKnown\NodeInfo::class,     [R::GET]],
+               '/security.txt'   => [Module\WellKnown\SecurityTxt::class,  [R::GET]],
                '/webfinger'      => [Module\Xrd::class,                    [R::GET]],
+               '/x-nodeinfo2'    => [Module\NodeInfo210::class,            [R::GET]],
                '/x-social-relay' => [Module\WellKnown\XSocialRelay::class, [R::GET]],
        ],
 
@@ -47,11 +57,99 @@ return [
 
        '/api' => [
                '/v1' => [
-                       '/custom_emojis'                     => [Module\Api\Mastodon\CustomEmojis::class,   [R::GET         ]],
-                       '/follow_requests'                   => [Module\Api\Mastodon\FollowRequests::class, [R::GET         ]],
-                       '/follow_requests/{id:\d+}/{action}' => [Module\Api\Mastodon\FollowRequests::class, [        R::POST]],
-                       '/instance'                          => [Module\Api\Mastodon\Instance::class,       [R::GET         ]],
-                       '/instance/peers'                    => [Module\Api\Mastodon\Instance\Peers::class, [R::GET         ]],
+                       '/accounts'                          => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]],
+                       '/accounts/{id:\d+}'                 => [Module\Api\Mastodon\Accounts::class,                 [R::GET         ]],
+                       '/accounts/{id:\d+}/statuses'        => [Module\Api\Mastodon\Accounts\Statuses::class,        [R::GET         ]],
+                       '/accounts/{id:\d+}/followers'       => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]],
+                       '/accounts/{id:\d+}/following'       => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]],
+                       '/accounts/{id:\d+}/lists'           => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]],
+                       '/accounts/{id:\d+}/identity_proofs' => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]],
+                       '/accounts/{id:\d+}/follow'          => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]],
+                       '/accounts/{id:\d+}/unfollow'        => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]],
+                       '/accounts/{id:\d+}/block'           => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]],
+                       '/accounts/{id:\d+}/unblock'         => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]],
+                       '/accounts/{id:\d+}/mute'            => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]],
+                       '/accounts/{id:\d+}/unmute'          => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]],
+                       '/accounts/{id:\d+}/pin'             => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]],
+                       '/accounts/{id:\d+}/unpin'           => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]],
+                       '/accounts/{id:\d+}/note'            => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]],
+                       '/accounts/relationships'            => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]],
+                       '/accounts/search'                   => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]],
+                       '/accounts/verify_credentials'       => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]],
+                       '/accounts/update_credentials'       => [Module\Api\Mastodon\Unimplemented::class,            [R::PATCH       ]],
+                       '/admin/accounts'                    => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]],
+                       '/admin/accounts/{id:\d+}'           => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]],
+                       '/admin/accounts/{id:\d+}/{action}'  => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]],
+                       '/admin/reports'                     => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]],
+                       '/admin/reports/{id:\d+}'            => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]],
+                       '/admin/reports/{id:\d+}/{action}'   => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]],
+                       '/announcements'                     => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]],
+                       '/announcements/{id:\d+}/dismiss'    => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]],
+                       '/announcements/{id:\d+}/reactions/{name}' => [Module\Api\Mastodon\Unimplemented::class,      [R::PUT, R::DELETE]],
+                       '/apps'                              => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]],
+                       '/apps/verify_credentials'           => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]],
+                       '/blocks'                            => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]],
+                       '/bookmarks'                         => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]],
+                       '/conversations'                     => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]],
+                       '/conversations/{id:\d+}'            => [Module\Api\Mastodon\Unimplemented::class,            [R::DELETE      ]],
+                       '/conversations/{id:\d+}/read'       => [Module\Api\Mastodon\Unimplemented::class,            [R::POST        ]],
+                       '/custom_emojis'                     => [Module\Api\Mastodon\CustomEmojis::class,             [R::GET         ]],
+                       '/domain_blocks'                     => [Module\Api\Mastodon\Unimplemented::class,            [R::GET, R::POST, R::DELETE]],
+                       '/directory'                         => [Module\Api\Mastodon\Directory::class,                [R::GET         ]],
+                       '/endorsements'                      => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]],
+                       '/favourites'                        => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]],
+                       '/featured_tags'                     => [Module\Api\Mastodon\Unimplemented::class,            [R::GET, R::POST]],
+                       '/featured_tags/{id:\d+}'            => [Module\Api\Mastodon\Unimplemented::class,            [R::DELETE      ]],
+                       '/featured_tags/suggestions'         => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]],
+                       '/filters'                           => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]],
+                       '/filters/{id:\d+}'                  => [Module\Api\Mastodon\Unimplemented::class,            [R::GET, R::POST, R::PUT, R::DELETE]],
+                       '/follow_requests'                   => [Module\Api\Mastodon\FollowRequests::class,           [R::GET         ]],
+                       '/follow_requests/{id:\d+}/{action}' => [Module\Api\Mastodon\FollowRequests::class,           [        R::POST]],
+                       '/instance'                          => [Module\Api\Mastodon\Instance::class,                 [R::GET         ]],
+                       '/instance/activity'                 => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]],
+                       '/instance/peers'                    => [Module\Api\Mastodon\Instance\Peers::class,           [R::GET         ]],
+                       '/lists'                             => [Module\Api\Mastodon\Unimplemented::class,            [R::GET, R::POST]],
+                       '/lists/{id:\d+}'                    => [Module\Api\Mastodon\Unimplemented::class,            [R::GET, R::PUT, R::DELETE]],
+                       '/lists/{id:\d+}/accounts'           => [Module\Api\Mastodon\Unimplemented::class,            [R::GET, R::POST, R::DELETE]],
+                       '/markers'                           => [Module\Api\Mastodon\Unimplemented::class,            [R::GET, R::POST]],
+                       '/media'                             => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]],
+                       '/media/{id:\d+}'                    => [Module\Api\Mastodon\Unimplemented::class,            [R::GET, R::PUT]],
+                       '/mutes'                             => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]],
+                       '/notifications'                     => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]],
+                       '/notifications/{id:\d+}'            => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]],
+                       '/notifications/clear'               => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]],
+                       '/notifications/{id:\d+}/dismiss'    => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]],
+                       '/polls/{id:\d+}'                    => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]],
+                       '/polls/{id:\d+}/votes'              => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]],
+                       '/preferences'                       => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]],
+                       '/reports'                           => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]],
+                       '/scheduled_statuses'                => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]],
+                       '/scheduled_statuses/{id:\d+}'       => [Module\Api\Mastodon\Unimplemented::class,            [R::GET, R::PUT, R::DELETE]],
+                       '/statuses'                          => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]],
+                       '/statuses/{id:\d+}'                 => [Module\Api\Mastodon\Unimplemented::class,            [R::GET, R::DELETE]],
+                       '/statuses/{id:\d+}/context'         => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]],
+                       '/statuses/{id:\d+}/reblogged_by'    => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]],
+                       '/statuses/{id:\d+}/favourited_by'   => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]],
+                       '/statuses/{id:\d+}/favourite'       => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]],
+                       '/statuses/{id:\d+}/unfavourite'     => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]],
+                       '/statuses/{id:\d+}/reblog'          => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]],
+                       '/statuses/{id:\d+}/unreblog'        => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]],
+                       '/statuses/{id:\d+}/bookmark'        => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]],
+                       '/statuses/{id:\d+}/unbookmark'      => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]],
+                       '/statuses/{id:\d+}/mute'            => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]],
+                       '/statuses/{id:\d+}/unmute'          => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]],
+                       '/statuses/{id:\d+}/pin'             => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]],
+                       '/statuses/{id:\d+}/unpin'           => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]],
+                       '/suggestions'                       => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]],
+                       '/suggestions/{id:\d+}'              => [Module\Api\Mastodon\Unimplemented::class,            [R::DELETE      ]],
+                       '/timelines/home'                    => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]],
+                       '/timelines/list/{id:\d+}'           => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]],
+                       '/timelines/public'                  => [Module\Api\Mastodon\Timelines\PublicTimeline::class, [R::GET         ]],
+                       '/timelines/tag/{hashtag}'           => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]],
+                       '/trends'                            => [Module\Api\Mastodon\Trends::class,                   [R::GET         ]],
+               ],
+               '/v2' => [
+                       '/search'                            => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]],
                ],
                '/friendica' => [
                        '/profile/show'                      => [Module\Api\Friendica\Profile\Show::class , [R::GET         ]],
@@ -61,6 +159,7 @@ return [
                '/followers/list'                        => [Module\Api\Twitter\FollowersList::class  , [R::GET         ]],
                '/friends/ids'                           => [Module\Api\Twitter\FriendsIds::class     , [R::GET         ]],
                '/friends/list'                          => [Module\Api\Twitter\FriendsList::class    , [R::GET         ]],
+               '/oembed'                                => [Module\Api\Mastodon\Unimplemented::class,  [R::GET         ]],
        ],
 
        '/admin'               => [
@@ -73,9 +172,7 @@ return [
                '/blocklist/contact' => [Module\Admin\Blocklist\Contact::class, [R::GET, R::POST]],
                '/blocklist/server'  => [Module\Admin\Blocklist\Server::class,  [R::GET, R::POST]],
 
-               '/dbsync[/check]'           => [Module\Admin\DBSync::class, [R::GET]],
-               '/dbsync/{update:\d+}'      => [Module\Admin\DBSync::class, [R::GET]],
-               '/dbsync/mark/{update:\d+}' => [Module\Admin\DBSync::class, [R::GET]],
+               '/dbsync[/{action}[/{update:\d+}]]' => [Module\Admin\DBSync::class, [R::GET]],
 
                '/features'   => [Module\Admin\Features::class,   [R::GET, R::POST]],
                '/federation' => [Module\Admin\Federation::class, [R::GET]],
@@ -88,7 +185,7 @@ return [
 
                '/phpinfo' => [Module\Admin\PhpInfo::class, [R::GET]],
 
-               '/queue[/deferred]' => [Module\Admin\Queue::class, [R::GET]],
+               '/queue[/{status}]' => [Module\Admin\Queue::class, [R::GET]],
 
                '/site' => [Module\Admin\Site::class, [R::GET, R::POST]],
 
@@ -98,40 +195,46 @@ return [
 
                '/tos' => [Module\Admin\Tos::class, [R::GET, R::POST]],
 
-               '/users[/{action}/{uid}]' => [Module\Admin\Users::class, [R::GET, R::POST]],
+               '/users[/{action}/{uid}]'         => [Module\Admin\Users\Index::class,   [R::GET, R::POST]],
+               '/users/active[/{action}/{uid}]'  => [Module\Admin\Users\Active::class,  [R::GET, R::POST]],
+               '/users/pending[/{action}/{uid}]' => [Module\Admin\Users\Pending::class, [R::GET, R::POST]],
+               '/users/blocked[/{action}/{uid}]' => [Module\Admin\Users\Blocked::class, [R::GET, R::POST]],
+               '/users/deleted'                  => [Module\Admin\Users\Deleted::class, [R::GET         ]],
+               '/users/create'                   => [Module\Admin\Users\Create::class,  [R::GET, R::POST]],
        ],
        '/amcd'                => [Module\AccountManagementControlDocument::class, [R::GET]],
        '/acctlink'            => [Module\Acctlink::class,     [R::GET]],
-       '/allfriends/{id:\d+}' => [Module\AllFriends::class,   [R::GET]],
        '/apps'                => [Module\Apps::class,         [R::GET]],
        '/attach/{item:\d+}'   => [Module\Attach::class,       [R::GET]],
        '/babel'               => [Module\Debug\Babel::class,  [R::GET, R::POST]],
+       '/debug/ap'            => [Module\Debug\ActivityPubConversion::class,  [R::GET, R::POST]],
        '/bookmarklet'         => [Module\Bookmarklet::class,  [R::GET]],
 
-       '/community[/{content}[/{accounttype}]]' => [Module\Conversation\Community::class, [R::GET]],
+       '/community[/{content}]' => [Module\Conversation\Community::class, [R::GET]],
 
        '/compose[/{type}]'    => [Module\Item\Compose::class, [R::GET, R::POST]],
 
        '/contact'   => [
-               '[/]'                     => [Module\Contact::class,           [R::GET]],
-               '/{id:\d+}[/]'            => [Module\Contact::class,           [R::GET, R::POST]],
-               '/{id:\d+}/archive'       => [Module\Contact::class,           [R::GET]],
-               '/{id:\d+}/advanced'      => [Module\Contact\Advanced::class,  [R::GET, R::POST]],
-               '/{id:\d+}/block'         => [Module\Contact::class,           [R::GET]],
-               '/{id:\d+}/conversations' => [Module\Contact::class,           [R::GET]],
-               '/{id:\d+}/drop'          => [Module\Contact::class,           [R::GET]],
-               '/{id:\d+}/ignore'        => [Module\Contact::class,           [R::GET]],
-               '/{id:\d+}/poke'          => [Module\Contact\Poke::class,      [R::GET, R::POST]],
-               '/{id:\d+}/posts'         => [Module\Contact::class,           [R::GET]],
-               '/{id:\d+}/update'        => [Module\Contact::class,           [R::GET]],
-               '/{id:\d+}/updateprofile' => [Module\Contact::class,           [R::GET]],
-               '/archived'               => [Module\Contact::class,           [R::GET]],
-               '/batch'                  => [Module\Contact::class,           [R::GET, R::POST]],
-               '/pending'                => [Module\Contact::class,           [R::GET]],
-               '/blocked'                => [Module\Contact::class,           [R::GET]],
-               '/hidden'                 => [Module\Contact::class,           [R::GET]],
-               '/ignored'                => [Module\Contact::class,           [R::GET]],
-               '/hovercard'              => [Module\Contact\Hovercard::class, [R::GET]],
+               '[/]'                         => [Module\Contact::class,           [R::GET]],
+               '/{id:\d+}[/]'                => [Module\Contact::class,           [R::GET, R::POST]],
+               '/{id:\d+}/archive'           => [Module\Contact::class,           [R::GET]],
+               '/{id:\d+}/advanced'          => [Module\Contact\Advanced::class,  [R::GET, R::POST]],
+               '/{id:\d+}/block'             => [Module\Contact::class,           [R::GET]],
+               '/{id:\d+}/conversations'     => [Module\Contact::class,           [R::GET]],
+               '/{id:\d+}/contacts[/{type}]' => [Module\Contact\Contacts::class,  [R::GET]],
+               '/{id:\d+}/drop'              => [Module\Contact::class,           [R::GET]],
+               '/{id:\d+}/ignore'            => [Module\Contact::class,           [R::GET]],
+               '/{id:\d+}/poke'              => [Module\Contact\Poke::class,      [R::GET, R::POST]],
+               '/{id:\d+}/posts'             => [Module\Contact::class,           [R::GET]],
+               '/{id:\d+}/update'            => [Module\Contact::class,           [R::GET]],
+               '/{id:\d+}/updateprofile'     => [Module\Contact::class,           [R::GET]],
+               '/archived'                   => [Module\Contact::class,           [R::GET]],
+               '/batch'                      => [Module\Contact::class,           [R::GET, R::POST]],
+               '/pending'                    => [Module\Contact::class,           [R::GET]],
+               '/blocked'                    => [Module\Contact::class,           [R::GET]],
+               '/hidden'                     => [Module\Contact::class,           [R::GET]],
+               '/ignored'                    => [Module\Contact::class,           [R::GET]],
+               '/hovercard'                  => [Module\Contact\Hovercard::class, [R::GET]],
        ],
 
        '/credits'               => [Module\Credits::class,        [R::GET]],
@@ -154,12 +257,14 @@ return [
                '/status_message/{guid}' => [Module\Diaspora\Fetch::class, [R::GET]],
                '/reshare/{guid}'        => [Module\Diaspora\Fetch::class, [R::GET]],
        ],
+       '/filed'             => [Module\Search\Filed::class,    [R::GET]],
        '/filer[/{id:\d+}]'  => [Module\Filer\SaveTag::class,   [R::GET]],
        '/filerm/{id:\d+}'   => [Module\Filer\RemoveTag::class, [R::GET]],
        '/follow_confirm'    => [Module\FollowConfirm::class,   [R::GET, R::POST]],
        '/followers/{owner}' => [Module\Followers::class,       [R::GET]],
        '/following/{owner}' => [Module\Following::class,       [R::GET]],
        '/friendica[/json]'  => [Module\Friendica::class,       [R::GET]],
+       '/friendica/inbox'   => [Module\Inbox::class,           [R::GET, R::POST]],
 
        '/fsuggest/{contact:\d+}' => [Module\FriendSuggest::class,  [R::GET, R::POST]],
 
@@ -186,20 +291,24 @@ return [
                '/testrewrite'           => [Module\Install::class, [R::GET]],
        ],
 
-       '/item'            => [
-               '/ignore/{id}' => [Module\Item\Ignore::class, [R::GET]],
+       '/item/{id:\d+}'            => [
+               '/activity/{verb}' => [Module\Item\Activity::class,    [        R::POST]],
+               '/follow'          => [Module\Item\Follow::class,      [        R::POST]],
+               '/ignore'          => [Module\Item\Ignore::class,      [        R::POST]],
+               '/pin'             => [Module\Item\Pin::class,         [        R::POST]],
+               '/star'            => [Module\Item\Star::class,        [        R::POST]],
        ],
 
-       '/like/{item:\d+}'    => [Module\Like::class,            [R::GET]],
        '/localtime'          => [Module\Debug\Localtime::class, [R::GET, R::POST]],
        '/login'              => [Module\Security\Login::class,  [R::GET, R::POST]],
        '/logout'             => [Module\Security\Logout::class, [R::GET, R::POST]],
        '/magic'              => [Module\Magic::class,           [R::GET]],
-       '/maintenance'        => [Module\Maintenance::class,     [R::GET]],
        '/manifest'           => [Module\Manifest::class,        [R::GET]],
+       '/friendica.webmanifest'  => [Module\Manifest::class,    [R::GET]],
        '/modexp/{nick}'      => [Module\PublicRSAKey::class,    [R::GET]],
        '/newmember'          => [Module\Welcome::class,         [R::GET]],
-       '/nodeinfo/{version}' => [Module\NodeInfo::class,        [R::GET]],
+       '/nodeinfo/1.0'       => [Module\NodeInfo110::class,     [R::GET]],
+       '/nodeinfo/2.0'       => [Module\NodeInfo120::class,     [R::GET]],
        '/nogroup'            => [Module\Group::class,           [R::GET]],
 
        '/noscrape' => [
@@ -222,6 +331,9 @@ return [
                '/mark/all' => [Module\Notifications\Notification::class, [R::GET]],
                '/{id:\d+}' => [Module\Notifications\Notification::class, [R::GET, R::POST]],
        ],
+       '/oauth/authorize'             => [Module\Api\Mastodon\Unimplemented::class, [R::GET]],
+       '/oauth/revoke'                => [Module\Api\Mastodon\Unimplemented::class, [R::POST]],
+       '/oauth/token'                 => [Module\Api\Mastodon\Unimplemented::class, [R::POST]],
        '/objects/{guid}[/{activity}]' => [Module\Objects::class, [R::GET]],
 
        '/oembed'         => [
@@ -234,22 +346,23 @@ return [
        '/openid'         => [Module\Security\OpenID::class, [R::GET]],
        '/opensearch'     => [Module\OpenSearch::class,      [R::GET]],
 
+       '/parseurl'                           => [Module\ParseUrl::class,          [R::GET]],
+       '/permission/tooltip/{type}/{id:\d+}' => [Module\PermissionTooltip::class, [R::GET]],
+
        '/photo' => [
                '/{name}'                    => [Module\Photo::class, [R::GET]],
                '/{type}/{name}'             => [Module\Photo::class, [R::GET]],
                '/{type}/{customize}/{name}' => [Module\Photo::class, [R::GET]],
        ],
 
-       '/pinned/{item:\d+}' => [Module\Pinned::class,       [R::GET]],
        '/pretheme'          => [Module\ThemeDetails::class, [R::GET]],
        '/probe'             => [Module\Debug\Probe::class,  [R::GET]],
 
-       '/profile' => [
-               '/{nickname}'                                         => [Module\Profile\Index::class,    [R::GET]],
-               '/{nickname}/profile'                                 => [Module\Profile\Profile::class,  [R::GET]],
-               '/{nickname}/contacts[/{type}]'                       => [Module\Profile\Contacts::class, [R::GET]],
-               '/{nickname}/status[/{category}[/{date1}[/{date2}]]]' => [Module\Profile\Status::class,   [R::GET]],
-       ],
+       '/proofs'            => [Module\Api\Mastodon\Unimplemented::class, [R::GET]],
+
+       '/profile/{nickname}' => $profileRoutes,
+       '/u/{nickname}'       => $profileRoutes,
+       '/~{nickname}'        => $profileRoutes,
 
        '/proxy' => [
                '[/]'                  => [Module\Proxy::class, [R::GET]],
@@ -276,6 +389,7 @@ return [
                        '/recovery'     => [Module\Settings\TwoFactor\Recovery::class,    [R::GET, R::POST]],
                        '/app_specific' => [Module\Settings\TwoFactor\AppSpecific::class, [R::GET, R::POST]],
                        '/verify'       => [Module\Settings\TwoFactor\Verify::class,      [R::GET, R::POST]],
+                       '/trusted'      => [Module\Settings\TwoFactor\Trusted::class, [R::GET, R::POST]],
                ],
                '/delegation[/{action}/{user_id}]' => [Module\Settings\Delegation::class,       [R::GET, R::POST]],
                '/display'                 => [Module\Settings\Display::class,             [R::GET, R::POST]],
@@ -287,6 +401,13 @@ return [
                '/userexport[/{action}]' => [Module\Settings\UserExport::class,             [R::GET, R::POST]],
        ],
 
+       '/network' => [
+               '[/]'                         => [Module\Conversation\Network::class, [R::GET]],
+               '/archive/{from:\d\d\d\d-\d\d-\d\d}[/{to:\d\d\d\d-\d\d-\d\d}]' => [Module\Conversation\Network::class, [R::GET]],
+               '/forum/{contact_id:\d+}'     => [Module\Conversation\Network::class, [R::GET]],
+               '/group/{group_id:\d+}'       => [Module\Conversation\Network::class, [R::GET]],
+       ],
+
        '/randprof'                      => [Module\RandomProfile::class,         [R::GET]],
        '/register'                      => [Module\Register::class,              [R::GET, R::POST]],
        '/remote_follow/{profile}'       => [Module\RemoteFollow::class,          [R::GET, R::POST]],
@@ -294,11 +415,11 @@ return [
        '/rsd.xml'                       => [Module\ReallySimpleDiscovery::class, [R::GET]],
        '/smilies[/json]'                => [Module\Smilies::class,               [R::GET]],
        '/statistics.json'               => [Module\Statistics::class,            [R::GET]],
-       '/starred/{item:\d+}'            => [Module\Starred::class,               [R::GET]],
        '/toggle_mobile'                 => [Module\ToggleMobile::class,          [R::GET]],
        '/tos'                           => [Module\Tos::class,                   [R::GET]],
 
-       '/update_community[/{content}[/{accounttype}]]' => [Module\Update\Community::class, [R::GET]],
+       '/update_community[/{content}]'  => [Module\Update\Community::class,      [R::GET]],
+       '/update_network'                => [Module\Update\Network::class,        [R::GET]],
        '/update_profile'                => [Module\Update\Profile::class,        [R::GET]],
 
        '/view/theme/{theme}/style.pcss' => [Module\Theme::class,                 [R::GET]],