]> git.mxchange.org Git - friendica.git/blobdiff - static/routes.config.php
Create new Post/Share module class
[friendica.git] / static / routes.config.php
index 758462ca034911afa578d667d082471fc415819d..3cb1b47e226166e7d5149ee16f3e4d5b9a85ef1f 100644 (file)
@@ -31,13 +31,17 @@ use Friendica\App\Router as R;
 use Friendica\Module;
 
 $profileRoutes = [
-       ''                                         => [Module\Profile\Index::class,    [R::GET]],
-       '/profile'                                 => [Module\Profile\Profile::class,  [R::GET]],
-       '/schedule'                                => [Module\Profile\Schedule::class, [R::GET, R::POST]],
-       '/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]],
-       '/media'                                   => [Module\Profile\Media::class,    [R::GET]],
+       ''                                         => [Module\Profile\Index::class,             [R::GET]],
+       '/attachment/upload'                       => [Module\Profile\Attachment\Upload::class, [        R::POST]],
+       '/contacts/common'                         => [Module\Profile\Common::class,            [R::GET]],
+       '/contacts[/{type}]'                       => [Module\Profile\Contacts::class,          [R::GET]],
+       '/media'                                   => [Module\Profile\Media::class,             [R::GET]],
+       '/photos/upload'                           => [Module\Profile\Photos\Upload::class,     [        R::POST]],
+       '/profile'                                 => [Module\Profile\Profile::class,           [R::GET]],
+       '/remote_follow'                           => [Module\Profile\RemoteFollow::class,      [R::GET, R::POST]],
+       '/schedule'                                => [Module\Profile\Schedule::class,          [R::GET, R::POST]],
+       '/status[/{category}[/{date1}[/{date2}]]]' => [Module\Profile\Status::class,            [R::GET]],
+       '/unkmail'                                 => [Module\Profile\UnkMail::class,           [R::GET, R::POST]],
 ];
 
 $apiRoutes = [
@@ -51,6 +55,7 @@ $apiRoutes = [
        '/blocks/ids[.{extension:json|xml|rss|atom}]'                  => [Module\Api\Twitter\Blocks\Ids::class,               [R::GET         ]],
        '/blocks/list[.{extension:json|xml|rss|atom}]'                 => [Module\Api\Twitter\Blocks\Lists::class,             [R::GET         ]],
        '/conversation/show[.{extension:json|xml|rss|atom}]'           => [Module\Api\GNUSocial\Statusnet\Conversation::class, [R::GET         ]],
+       '/conversation/show/{id:\d+}[.{extension:json|xml|rss|atom}]'  => [Module\Api\GNUSocial\Statusnet\Conversation::class, [R::GET         ]],
        '/direct_messages' => [
                '/all[.{extension:json|xml|rss|atom}]'                     => [Module\Api\Twitter\DirectMessages\All::class,          [R::GET         ]],
                '/conversation[.{extension:json|xml|rss|atom}]'            => [Module\Api\Twitter\DirectMessages\Conversation::class, [R::GET         ]],
@@ -77,9 +82,12 @@ $apiRoutes = [
                        => [Module\Api\Friendica\Activity::class, [        R::POST]],
                '/notification/seen[.{extension:json|xml|rss|atom}]'       => [Module\Api\Friendica\Notification\Seen::class,      [        R::POST]],
                '/notification[.{extension:json|xml|rss|atom}]'            => [Module\Api\Friendica\Notification::class,           [R::GET         ]],
+               '/notifications[.{extension:json|xml|rss|atom}]'           => [Module\Api\Friendica\Notification::class,           [R::GET         ]],
                '/direct_messages_setseen[.{extension:json|xml|rss|atom}]' => [Module\Api\Friendica\DirectMessages\Setseen::class, [        R::POST]],
                '/direct_messages_search[.{extension:json|xml|rss|atom}]'  => [Module\Api\Friendica\DirectMessages\Search ::class, [R::GET         ]],
                '/events[.{extension:json|xml|rss|atom}]'                  => [Module\Api\Friendica\Events\Index::class,           [R::GET         ]],
+                '/event_create[.{extension:json|xml|rss|atom}]'            => [Module\Api\Friendica\Events\Create::class,          [        R::POST]],
+                '/event_delete[.{extension:json|xml|rss|atom}]'            => [Module\Api\Friendica\Events\Delete::class,          [        R::POST]],
                '/group_show[.{extension:json|xml|rss|atom}]'              => [Module\Api\Friendica\Group\Show::class,             [R::GET         ]],
                '/group_create[.{extension:json|xml|rss|atom}]'            => [Module\Api\Friendica\Group\Create::class,           [        R::POST]],
                '/group_delete[.{extension:json|xml|rss|atom}]'            => [Module\Api\Friendica\Group\Delete::class,           [        R::POST]],
@@ -163,6 +171,8 @@ return [
        '/2fa' => [
                '[/]'       => [Module\Security\TwoFactor\Verify::class,   [R::GET, R::POST]],
                '/recovery' => [Module\Security\TwoFactor\Recovery::class, [R::GET, R::POST]],
+               '/trust'    => [Module\Security\TwoFactor\Trust::class,    [R::GET, R::POST]],
+               '/signout'  => [Module\Security\TwoFactor\SignOut::class,  [R::GET, R::POST]],
        ],
 
        '/api' => [
@@ -186,14 +196,22 @@ return [
                        '/accounts/{id:\d+}/pin'             => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]], // not supported
                        '/accounts/{id:\d+}/unpin'           => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]], // not supported
                        '/accounts/{id:\d+}/note'            => [Module\Api\Mastodon\Accounts\Note::class,            [        R::POST]],
+                       '/accounts/{id:\d+}/remove_from_followers' => [Module\Api\Mastodon\Unimplemented::class,      [        R::POST]], // not supported
+                       '/accounts/familiar_followers'       => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]], // not supported
+                       '/accounts/lookup'                   => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]], // not supported
                        '/accounts/relationships'            => [Module\Api\Mastodon\Accounts\Relationships::class,   [R::GET         ]],
                        '/accounts/search'                   => [Module\Api\Mastodon\Accounts\Search::class,          [R::GET         ]],
                        '/accounts/update_credentials'       => [Module\Api\Mastodon\Accounts\UpdateCredentials::class, [R::PATCH     ]],
                        '/accounts/verify_credentials'       => [Module\Api\Mastodon\Accounts\VerifyCredentials::class, [R::GET       ]],
                        '/accounts/{name}'                   => [Module\Api\Mastodon\Accounts::class,                 [R::GET         ]],
-                       '/admin/accounts'                    => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]], // not supported
                        '/admin/accounts/{id:\d+}'           => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]], // not supported
                        '/admin/accounts/{id:\d+}/{action}'  => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]], // not supported
+                       '/admin/dimensions'                  => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]], // not supported
+                       '/admin/measures'                    => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]], // not supported
+                       '/admin/retention'                   => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]], // not supported
+                       '/admin/trends/links'                => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]], // not supported
+                       '/admin/trends/statuses'             => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]], // not supported
+                       '/admin/trends/tags'                 => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]], // not supported
                        '/admin/reports'                     => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]], // not supported
                        '/admin/reports/{id:\d+}'            => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]], // not supported
                        '/admin/reports/{id:\d+}/{action}'   => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]], // not supported
@@ -210,6 +228,7 @@ return [
                        '/custom_emojis'                     => [Module\Api\Mastodon\CustomEmojis::class,             [R::GET         ]],
                        '/domain_blocks'                     => [Module\Api\Mastodon\Unimplemented::class,            [R::GET, R::POST, R::DELETE]], // not supported
                        '/directory'                         => [Module\Api\Mastodon\Directory::class,                [R::GET         ]],
+                       '/emails/confirmations'              => [Module\Api\Mastodon\Unimplemented::class,            [R::POST        ]], // not supported
                        '/endorsements'                      => [Module\Api\Mastodon\Endorsements::class,             [R::GET         ]], // Dummy, not supported
                        '/favourites'                        => [Module\Api\Mastodon\Favourited::class,               [R::GET         ]],
                        '/featured_tags'                     => [Module\Api\Mastodon\Unimplemented::class,            [R::GET, R::POST]], // not supported
@@ -222,19 +241,18 @@ return [
                        '/instance'                          => [Module\Api\Mastodon\Instance::class,                 [R::GET         ]],
                        '/instance/activity'                 => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]], // @todo
                        '/instance/peers'                    => [Module\Api\Mastodon\Instance\Peers::class,           [R::GET         ]],
-                       '/instance/rules'                    => [Module\Api\Mastodon\Instance\Rules::class,           [R::GET         ]], // not supported
+                       '/instance/rules'                    => [Module\Api\Mastodon\Instance\Rules::class,           [R::GET         ]],
                        '/lists'                             => [Module\Api\Mastodon\Lists::class,                    [R::GET, R::POST]],
                        '/lists/{id:\d+}'                    => [Module\Api\Mastodon\Lists::class,                    [R::GET, R::PUT, R::DELETE]],
                        '/lists/{id:\d+}/accounts'           => [Module\Api\Mastodon\Lists\Accounts::class,           [R::GET, R::POST, R::DELETE]],
-                       '/markers'                           => [Module\Api\Mastodon\Markers::class,                  [R::GET, R::POST]], // Dummy, not supported
-                       '/media'                             => [Module\Api\Mastodon\Media::class,                    [        R::POST]],
+                       '/markers'                           => [Module\Api\Mastodon\Markers::class,                  [R::GET, R::POST]],
                        '/media/{id:\d+}'                    => [Module\Api\Mastodon\Media::class,                    [R::GET, R::PUT ]],
                        '/mutes'                             => [Module\Api\Mastodon\Mutes::class,                    [R::GET         ]],
                        '/notifications'                     => [Module\Api\Mastodon\Notifications::class,            [R::GET         ]],
                        '/notifications/{id:\d+}'            => [Module\Api\Mastodon\Notifications::class,            [R::GET         ]],
                        '/notifications/clear'               => [Module\Api\Mastodon\Notifications\Clear::class,      [        R::POST]],
                        '/notifications/{id:\d+}/dismiss'    => [Module\Api\Mastodon\Notifications\Dismiss::class,    [        R::POST]],
-                       '/polls/{id:\d+}'                    => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]], // not supported
+                       '/polls/{id:\d+}'                    => [Module\Api\Mastodon\Polls::class,                    [R::GET         ]],
                        '/polls/{id:\d+}/votes'              => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]], // not supported
                        '/preferences'                       => [Module\Api\Mastodon\Preferences::class,              [R::GET         ]],
                        '/push/subscription'                 => [Module\Api\Mastodon\PushSubscription::class,         [R::GET, R::POST, R::PUT, R::DELETE]],
@@ -242,7 +260,7 @@ return [
                        '/scheduled_statuses'                => [Module\Api\Mastodon\ScheduledStatuses::class,        [R::GET         ]],
                        '/scheduled_statuses/{id:\d+}'       => [Module\Api\Mastodon\ScheduledStatuses::class,        [R::GET, R::PUT, R::DELETE]],
                        '/statuses'                          => [Module\Api\Mastodon\Statuses::class,                 [        R::POST]],
-                       '/statuses/{id:\d+}'                 => [Module\Api\Mastodon\Statuses::class,                 [R::GET, R::DELETE]],
+                       '/statuses/{id:\d+}'                 => [Module\Api\Mastodon\Statuses::class,                 [R::GET, R::PUT, R::DELETE]],
                        '/statuses/{id:\d+}/card'            => [Module\Api\Mastodon\Statuses\Card::class,            [R::GET         ]],
                        '/statuses/{id:\d+}/context'         => [Module\Api\Mastodon\Statuses\Context::class,         [R::GET         ]],
                        '/statuses/{id:\d+}/reblogged_by'    => [Module\Api\Mastodon\Statuses\RebloggedBy::class,     [R::GET         ]],
@@ -257,8 +275,18 @@ return [
                        '/statuses/{id:\d+}/unmute'          => [Module\Api\Mastodon\Statuses\Unmute::class,          [        R::POST]],
                        '/statuses/{id:\d+}/pin'             => [Module\Api\Mastodon\Statuses\Pin::class,             [        R::POST]],
                        '/statuses/{id:\d+}/unpin'           => [Module\Api\Mastodon\Statuses\Unpin::class,           [        R::POST]],
-                       '/streaming'                         => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]],
-                       '/suggestions'                       => [Module\Api\Mastodon\Suggestions::class,              [R::GET         ]],
+                       '/statuses/{id:\d+}/history'         => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]], // not implemented
+                       '/statuses/{id:\d+}/source'          => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]], // not implemented
+                       '/streaming/direct'                  => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]], // not implemented
+                       '/streaming/hashtag'                 => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]], // not implemented
+                       '/streaming/hashtag/local'           => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]], // not implemented
+                       '/streaming/health'                  => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]], // not implemented
+                       '/streaming/list'                    => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]], // not implemented
+                       '/streaming/public'                  => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]], // not implemented
+                       '/streaming/public/local'            => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]], // not implemented
+                       '/streaming/public/remote'           => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]], // not implemented
+                       '/streaming/user'                    => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]], // not implemented
+                       '/streaming/user/notification'       => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]], // not implemented
                        '/suggestions/{id:\d+}'              => [Module\Api\Mastodon\Unimplemented::class,            [R::DELETE      ]], // not implemented
                        '/timelines/direct'                  => [Module\Api\Mastodon\Timelines\Direct::class,         [R::GET         ]],
                        '/timelines/home'                    => [Module\Api\Mastodon\Timelines\Home::class,           [R::GET         ]],
@@ -266,9 +294,15 @@ return [
                        '/timelines/public'                  => [Module\Api\Mastodon\Timelines\PublicTimeline::class, [R::GET         ]],
                        '/timelines/tag/{hashtag}'           => [Module\Api\Mastodon\Timelines\Tag::class,            [R::GET         ]],
                        '/trends'                            => [Module\Api\Mastodon\Trends::class,                   [R::GET         ]],
+                       '/trends/links'                      => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]], // not implemented
+                       '/trends/statuses'                   => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]], // not implemented
+                       '/trends/tags'                       => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]], // not implemented
                ],
                '/v{version:\d+}' => [
+                       '/admin/accounts'                    => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]], // not supported
+                       '/media'                             => [Module\Api\Mastodon\Media::class,                    [        R::POST]],
                        '/search'                            => [Module\Api\Mastodon\Search::class,                   [R::GET         ]],
+                       '/suggestions'                       => [Module\Api\Mastodon\Suggestions::class,              [R::GET         ]],
                ],
                '/meta'                                  => [Module\Api\Mastodon\Unimplemented::class, [R::POST        ]], // not supported
                '/oembed'                                => [Module\Api\Mastodon\Unimplemented::class, [R::GET         ]],
@@ -282,9 +316,10 @@ return [
                '/addons/{addon}' => [Module\Admin\Addons\Details::class, [R::GET, R::POST]],
 
 
-               '/blocklist/contact'    => [Module\Admin\Blocklist\Contact::class,      [R::GET, R::POST]],
-               '/blocklist/server'     => [Module\Admin\Blocklist\Server\Index::class, [R::GET, R::POST]],
-               '/blocklist/server/add' => [Module\Admin\Blocklist\Server\Add::class,   [R::GET, R::POST]],
+               '/blocklist/contact'       => [Module\Admin\Blocklist\Contact::class,       [R::GET, R::POST]],
+               '/blocklist/server'        => [Module\Admin\Blocklist\Server\Index::class,  [R::GET, R::POST]],
+               '/blocklist/server/add'    => [Module\Admin\Blocklist\Server\Add::class,    [R::GET, R::POST]],
+               '/blocklist/server/import' => [Module\Admin\Blocklist\Server\Import::class, [R::GET, R::POST]],
 
                '/dbsync[/{action}[/{update:\d+}]]' => [Module\Admin\DBSync::class, [R::GET]],
 
@@ -325,31 +360,39 @@ return [
        '/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]],
+
+       '/blocklist/domain/download' => [Module\Blocklist\Domain\Download::class, [R::GET]],
+
        '/bookmarklet'         => [Module\Bookmarklet::class,  [R::GET]],
 
+       '/calendar/{nickname}/export[/{format}]' => [Module\Calendar\Export::class, [R::GET]],
+       '/calendar/json'                         => [Module\Calendar\Json::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\Profile::class,   [R::GET, R::POST]],
+               '[/]'                         => [Module\Contact::class,               [R::GET]],
+               '/{id:\d+}[/]'                => [Module\Contact\Profile::class,       [R::GET, R::POST]],
                '/{id:\d+}/{action:block|ignore|update|updateprofile}'
-                                             => [Module\Contact\Profile::class,   [R::GET]],
-               '/{id:\d+}/advanced'          => [Module\Contact\Advanced::class,  [R::GET, R::POST]],
+                                             => [Module\Contact\Profile::class,       [R::GET]],
+               '/{id:\d+}/advanced'          => [Module\Contact\Advanced::class,      [R::GET, R::POST]],
                '/{id:\d+}/conversations'     => [Module\Contact\Conversations::class, [R::GET]],
-               '/{id:\d+}/contacts[/{type}]' => [Module\Contact\Contacts::class,  [R::GET]],
-               '/{id:\d+}/media'             => [Module\Contact\Media::class,     [R::GET]],
-               '/{id:\d+}/poke'              => [Module\Contact\Poke::class,      [R::GET, R::POST]],
-               '/{id:\d+}/posts'             => [Module\Contact\Posts::class,     [R::GET]],
-               '/{id:\d+}/revoke'            => [Module\Contact\Revoke::class,    [R::GET, R::POST]],
-               '/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]],
+               '/{id:\d+}/contacts[/{type}]' => [Module\Contact\Contacts::class,      [R::GET]],
+               '/{id:\d+}/media'             => [Module\Contact\Media::class,         [R::GET]],
+               '/{id:\d+}/posts'             => [Module\Contact\Posts::class,         [R::GET]],
+               '/{id:\d+}/revoke'            => [Module\Contact\Revoke::class,        [R::GET, R::POST]],
+               '/archived'                   => [Module\Contact::class,               [R::GET]],
+               '/batch'                      => [Module\Contact::class,               [R::GET, R::POST]],
+               '/blocked'                    => [Module\Contact::class,               [R::GET]],
+               '/follow'                     => [Module\Contact\Follow::class,        [R::GET, R::POST]],
+               '/hidden'                     => [Module\Contact::class,               [R::GET]],
+               '/hovercard'                  => [Module\Contact\Hovercard::class,     [R::GET]],
+               '/ignored'                    => [Module\Contact::class,               [R::GET]],
+               '/pending'                    => [Module\Contact::class,               [R::GET]],
+               '/suggestions'                => [Module\Contact\Suggestions::class,   [R::GET]],
+               '/unfollow'                   => [Module\Contact\Unfollow::class,      [R::GET, R::POST]],
        ],
 
        '/credits'                  => [Module\Credits::class,          [R::GET]],
@@ -359,7 +402,7 @@ return [
        '/dirfind'                  => [Module\Search\Directory::class, [R::GET]],
        '/directory'                => [Module\Directory::class,        [R::GET]],
 
-       '/events/json'                => [Module\Events\Json::class,        [R::GET]],
+       '/featured/{nickname}'      => [Module\ActivityPub\Featured::class, [R::GET]],
 
        '/feed'     => [
                '/{nickname}'          => [Module\Feed::class, [R::GET]],
@@ -377,7 +420,7 @@ return [
        ],
        '/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]],
+       '/filerm/{id:\d+}'      => [Module\Filer\RemoveTag::class,       [R::GET, R::POST]],
        '/follow_confirm'       => [Module\FollowConfirm::class,         [R::GET, R::POST]],
        '/followers/{nickname}' => [Module\ActivityPub\Followers::class, [R::GET]],
        '/following/{nickname}' => [Module\ActivityPub\Following::class, [R::GET]],
@@ -448,6 +491,8 @@ return [
                '/{id:\d+}' => [Module\Notifications\Notification::class, [R::GET, R::POST]],
        ],
 
+       '/notify/{notify_id:\d+}' => [Module\Notifications\Notification::class, [R::GET]],
+
        '/oauth' => [
                '/acknowledge' => [Module\OAuth\Acknowledge::class, [R::GET, R::POST]],
                '/authorize'   => [Module\OAuth\Authorize::class,   [R::GET]],
@@ -486,6 +531,14 @@ return [
                '/{type}/{customsize:\d+}/{nickname_ext}'                  => [Module\Photo::class, [R::GET]],
        ],
 
+       '/ping'              => [Module\Notifications\Ping::class, [R::GET]],
+
+       '/post' => [
+               '/{post_id}/share'                                         => [Module\Post\Share::class,      [R::GET         ]],
+               '/{item_id}/tag/add'                                       => [Module\Post\Tag\Add::class,    [        R::POST]],
+               '/{item_id}/tag/remove[/{tag_name}]'                       => [Module\Post\Tag\Remove::class, [R::GET, R::POST]],
+       ],
+
        '/pretheme'          => [Module\ThemeDetails::class, [R::GET]],
        '/probe'             => [Module\Debug\Probe::class,  [R::GET]],
 
@@ -512,7 +565,16 @@ return [
                '/{type:users}/{guid}' => [Module\Diaspora\Receive::class, [        R::POST]],
        ],
 
+       '/security' => [
+               '/password_too_long' => [Module\Security\PasswordTooLong::class, [R::GET, R::POST]],
+       ],
+
        '/settings' => [
+               '[/]'         => [Module\Settings\Account::class,               [R::GET, R::POST]],
+               '/account' => [
+                       '[/]'     => [Module\Settings\Account::class,               [R::GET, R::POST]],
+                       '/{open}' => [Module\Settings\Account::class,               [R::GET, R::POST]],
+               ],
                '/2fa' => [
                        '[/]'           => [Module\Settings\TwoFactor\Index::class,       [R::GET, R::POST]],
                        '/recovery'     => [Module\Settings\TwoFactor\Recovery::class,    [R::GET, R::POST]],
@@ -527,7 +589,7 @@ return [
                        '/photo[/new]'         => [Module\Settings\Profile\Photo\Index::class, [R::GET, R::POST]],
                        '/photo/crop/{guid}'   => [Module\Settings\Profile\Photo\Crop::class,  [R::GET, R::POST]],
                ],
-               '/userexport[/{action}]' => [Module\Settings\UserExport::class,             [R::GET, R::POST]],
+               '/userexport[/{action}]' => [Module\Settings\UserExport::class,            [R::GET         ]],
        ],
 
        '/network' => [
@@ -539,7 +601,6 @@ return [
 
        '/randprof'                      => [Module\RandomProfile::class,         [R::GET]],
        '/register'                      => [Module\Register::class,              [R::GET, R::POST]],
-       '/remote_follow/{profile}'       => [Module\RemoteFollow::class,          [R::GET, R::POST]],
        '/robots.txt'                    => [Module\RobotsTxt::class,             [R::GET]],
        '/rsd.xml'                       => [Module\ReallySimpleDiscovery::class, [R::GET]],
        '/smilies[/json]'                => [Module\Smilies::class,               [R::GET]],
@@ -558,6 +619,8 @@ return [
 
        '/update_profile'                => [Module\Update\Profile::class,        [R::GET]],
 
+       '/user/import'                   => [Module\User\Import::class,           [R::GET, R::POST]],
+
        '/view/theme/{theme}/style.pcss' => [Module\Theme::class,                 [R::GET]],
        '/viewsrc/{item:\d+}'            => [Module\Debug\ItemBody::class,        [R::GET]],
        '/webfinger'                     => [Module\Debug\WebFinger::class,       [R::GET]],