متنبازAGPL-3.0روی سرور خودتان
بدانید ساعتها صرف چه شد.
Tockr ابزار مدیریت پروژهای است که زمانسنج جزئی از خودِ آن است، نه افزونهای که بعداً به آن وصل کرده باشند. بورد، فهرست، کارکرد تیم و گزارش افراد در یک فایل اجرایی Go با SQLite درونی، روی سرور خودتان.
رایگان و بدون نسخهٔ پولی. ساختهشده برای سروری با ۱ هستهٔ پردازنده و ۵۱۲ مگابایت حافظه، یا یک رزبریپای.

زمانسنجی
زمانسنج قلبِ محصول است، نه یک افزونه.
بیشتر ابزارها زمانسنجی را جدا میفروشند یا آن را به یک سرویس دیگر واگذار میکنند. در Tockr زمان کنار خودِ کار ثبت میشود و هزینهٔ جداگانهای ندارد.
- ۰۱
یک زمانسنج، در همهٔ صفحهها
در سربرگ هر صفحه دیده میشود و ظرف یک ثانیه در همهٔ زبانههای باز هم بهروز میشود. روی هر کار کلید T را بزنید تا شروع شود؛ اگر زمانسنجِ کار دیگری روشن باشد، خودکار متوقف و ذخیره میشود.
- ۰۲
هر ردیف زمان، منبعش را نشان میدهد
زمانسنج، دستی یا درونریزی، بهعلاوهٔ نشانِ «ویرایششده». با هر ویرایش مقدار اصلی نگه داشته میشود. ردیفهای حذفشده از جمع کل کنار میروند ولی در تاریخچه میمانند.
- ۰۳
زمان را همانطور بنویسید که میگویید
فیلد مدت همهٔ اینها را میفهمد، با رقم فارسی یا انگلیسی:
۱:۳۰۹۰1h 30m1.5h90m - ۰۴
قفل ویرایش، با بازهای که خودتان تعیین میکنید
اعضا بهطور پیشفرض فقط زمانهای هفت روز اخیر را تغییر میدهند. این بازه را برای هر فضای کاری خودتان تعیین میکنید و مدیران محدودیتی ندارند.


کارکرد و گزارشها
برای کسی که ساعتها را تأیید میکند.
کارکرد تیم افراد را روبهروی روزها میگذارد. گزارش «افراد و عملکرد» نشان میدهد زمان چطور ثبت شده، نه فقط چقدر، و هر نفر را با میانهٔ تیم میسنجد. جدول رتبهبندی در کار نیست.

زمانسنج در برابر دستی
ساعت و درصدِ هر کدام برای هر نفر. ردیفهای ویرایششده و حذفشده هم با تغییر خالصشان شمرده میشوند.
تحویل کار، نه فقط ساعت
روزهای رسیدن به هدف، میانگین روزانه، کارهای تمامشده، دقت تخمین و زمان چرخه، برای هر بازهای.
خروجیای که جمعش درست است
CSV (با UTF-8 و BOM، که اکسل فارسی را درست نشان دهد) یا XLSX، ساختهشده از همان اعدادِ روی صفحه.


خودِ کار
هرچه برای برنامهریزی لازم است، بدون راهاندازیِ طولانی.
- فضای کاری، فضا، پوشه، فهرست، کار و زیرکار، با وضعیتهای جداگانه برای هر فضا که هر کدام در یکی از سه گروهِ برای انجام، در حال انجام یا انجامشده قرار میگیرد.
- نمای فهرست و بورد. گروهبندی، مرتبسازی و ویرایش درجا، یا کشیدن کارتها بین ستونها؛ روی صفحههای لمسی با نگهداشتنِ انگشت.
- کار در یک پنل کناری با نشانی اختصاصی: دیدگاه با Markdown، اشاره به افراد با
@، پیوست با کشیدن یا چسباندن، و تاریخچهای از همهٔ تغییرها که هیچکس نمیتواند ویرایشش کند. - فیلترهای ذخیرهشدنی بر اساس وضعیت، مسئول، برچسب، اولویت، موعد و متن.

صفحهکلید
سریع، همانجا که لازم است.
تغییرها همان لحظه روی صفحه مینشینند و در پسزمینه همگام میشوند. جستوجوی سریع کارها را با عنوان یا شناسه پیدا میکند، عنوانهای فارسی هم، و فرمانها را اجرا میکند.
- کار تازه
- N
- روشن یا خاموش کردنِ زمانسنجِ یک کار
- T
- جستوجو و فرمانها
- / یا ⌘K
- همهٔ میانبرها
- ?

همه در یک بسته
نه افزونهای برای خریدن، نه سرویسی برای راهاندازی.
- همزمانی
- جابهجایی کارتها، دیدگاهها و زمانسنجها از راه Server-Sent Events به همتیمیها میرسد. اگر اتصال قطع شود، صفحه خودش عقبماندگی را جبران میکند.
- نقشها
- مالک، مدیر، عضو و مهمان، بهعلاوهٔ نقشهای دلخواه که از فهرست دسترسیها ساخته میشوند و میتوانند به چند فضا محدود باشند. تغییر نقشها در گزارش رویدادهای فضای کاری ثبت میشود.
- اعلانها
- صندوق اعلان درون برنامه برای واگذاری کار، اشاره، موعد و ساعتهای ثبتنشده. ایمیل و خلاصهٔ روزانه هم، به شرطی که SMTP را تنظیم کنید؛ بدون آن هیچ ایمیلی فرستاده نمیشود.
- ورود
- ایمیل و گذرواژه، دعوت با ایمیل یا پیوند. ورود با گوگل و گیتهاب، اگر تنظیمشان کنید.
- دادههای شما
- یک فایل SQLite، پشتیبانگیری در حال اجرا با
tockr backup، پشتیبانِ خودکار پیش از هر ارتقا، و خروجی کامل فضای کاری بهصورت JSON همراه پیوستها. - گوشی
- نسخهٔ وبِ واکنشگرا از عرض ۳۶۰ پیکسل به بالا، با نوار زبانه در پایین و زمانسنج بالای آن. اپلیکیشن بومی ندارد.


سبک از پایه
روی کوچکترین سروری که دارید اجرا میشود.
نه سرور پایگاه داده، نه کش، نه صف، نه فضای ذخیرهسازی ابری. یک پردازه و یک پوشهٔ داده. دادهها روی سرور خودتان میماند و Tockr هیچ آماری به جایی نمیفرستد.
- فایل اجرایی ایستا که برنامهٔ وب درونش است. برای ساختنش به کامپایلر C نیازی نیست.
- ۱
- حجم فایل اجرایی روی دیسک. برای لینوکس روی amd64 و arm64 ساخته میشود.
- ۲۰–۲۵مگابایت
- حافظه در حالت بیکار با پایگاه دادهٔ خالی، اندازهگیریشده روی یک رایانهٔ توسعه.
- ~۱۵مگابایت
- سقف حافظه در نمونههای Docker Compose و systemd همراه پروژه، برای سروری با ۱ هسته و ۵۱۲ مگابایت.
- ۲۵۶مگابایت
- سقف زمان برای هر فیلتر کارها؛ در بنچمارکهای پروژه با ۱۰ و ۵۰ هزار کار رعایت شده است.
- <۱۵۰میلیثانیه
این اعداد از مستندات و بنچمارکهای پروژه روی سختافزار توسعه آمدهاند، نه از آزمایشگاه. با make bench روی سختافزار خودتان بسنجید.
شروع کنید
از کلون تا سرورِ در حال اجرا، با دو فرمان.
در نخستین اجرا، سرور یک پیوند راهاندازیِ یکبارمصرف چاپ میکند. بازش کنید، حساب مدیر و نخستین فضای کاری را بسازید و زمانسنج را روشن کنید.
# needs Go 1.26, Node.js 24, make and git
$ git clone https://github.com/tockrhq/tockr.git
$ cd tockr
$ make build
$ ./tockr serveروی درگاه :8080 گوش میدهد و دادهها را در ./data نگه میدارد. برای HTTPS، پشتیبانگیری و ارتقا، راهنمای میزبانی را بخوانید. اگر به proxy.golang.org دسترسی ندارید، پیش از ساخت export GOPROXY=https://goproxy.cn,direct را اجرا کنید.
$ docker volume create tockr-data
$ docker run -d --name tockr --restart unless-stopped \
-p 127.0.0.1:8080:8080 \
-v tockr-data:/data \
-e TOCKR_BASE_URL=https://tockr.example.com \
-e GOMEMLIMIT=180MiB --memory 256m --pids-limit 256 \
--read-only --tmpfs /tmp:size=64m,mode=1777 \
--cap-drop ALL --security-opt no-new-privileges:true \
ghcr.io/tockrhq/tockr:latestاین ایمیج با نخستین نسخه منتشر میشود. تا آن موقع، آن را با Dockerfile مخزن خودتان بسازید. فایل Compose همراه با Caddy برای HTTPS خودکار در پوشهٔ deploy/ است.
فارسی، راستبهچپ، تقویم شمسی
از روز اول برای فارسی ساخته شده، نه ترجمهشده در آخر کار.
همهٔ صفحهها درست قرینه میشوند، رابط کاربری کامل به فارسی است و تقویم شمسی انتخابِ هر نفر است، جدا از زبانی که برمیگزیند.

هفتهٔ شمسی از شنبه شروع میشود
زمان من، کارکرد تیم و گزارشها از تقویمِ هر نفر پیروی میکنند: هفته، آغاز هفته و تاریخها.
رقم فارسی همهجا کار میکند
در فیلد مدت ۱:۳۰ یا ۹۰ بنویسید. جستوجو «ی» و «ک» عربی و فارسی را یکی میگیرد.
تیمهای دوزبانه مشکلی ندارند
یک نفر میتواند انگلیسی را با تقویم شمسی به کار ببرد و همتیمیاش فارسی را با تاریخ میلادی.
-

درونریزی
پروژههایتان را با خودتان بیاورید.
درونریزها همان فایلهای خروجیای را میخوانند که ابزارهای دیگر به شما میدهند؛ پس میتوانید جابهجایی را امتحان کنید بی آنکه به فضای کاری قبلی دست بزنید.
| از | فایلی که بارگذاری میکنید | آنچه منتقل میشود | وضعیت |
|---|---|---|---|
| Trello | خروجی JSON بورد | فهرستها به وضعیت، کارتها به کار، چکلیستها به زیرکار، لیبلها به برچسب، اعضا | آماده |
| هر CSV | یک فایل CSV | ستونهایی که خودتان با پیشنمایش نگاشت میکنید | آماده |
| Taskulu | فایل zip خروجی پروژه یا CSV کارها | شیتها به پوشه، فهرستها، بخشها به وضعیت، کارها، چکلیستها، برچسبها، زمانهای ثبتشده | در دست ساخت |
| ClickUp | خروجی CSV | فضاها، پوشهها و فهرستها، وضعیتها، کارها و زیرکارها، برچسبها، اولویت، مسئولان، زمانهای ثبتشده | در دست ساخت |
| Jira | خروجی CSV | پروژهها به فضا، issueها و sub-taskها، وضعیتها، اولویت، لیبلها، مسئولان، worklogها | در دست ساخت |
| Asana | خروجی CSV | پروژهها، بخشها به وضعیت، کارها و زیرکارها، برچسبها، مسئولان | در دست ساخت |
اول اجرای آزمایشی
هر درونریزی پیش از نوشتنِ هر چیزی پیشنمایش میدهد: شمار موارد، هشدارها و فیلدهایی که نگاشت نشدهاند.
یا همه، یا هیچ
درونریزی در یک تراکنش ثبت میشود. اجرای دوبارهاش چیزی را تکراری نمیکند.
افراد بر اساس ایمیل
اعضا با ایمیلشان شناخته میشوند. بقیه جاینگهدار میشوند تا آنها را به یک عضو نگاشت کنید یا دعوتشان کنید.
دستیار درونریزی داخل برنامه برای نسخهٔ v0.1 برنامهریزی شده است، همراه درونریزهایی که «در دست ساخت» هستند.
متنباز
برای اجرا، خواندن و تغییر دادن، مال شماست.
مجوز Tockr، AGPL-3.0-only است. میتوانید آن را روی سرور خودتان اجرا کنید، تغییرش دهید و منتشرش کنید. اگر نسخهٔ تغییریافته را بهصورت سرویس شبکهای در اختیار دیگران بگذارید، باید تغییرهایتان را با همین مجوز منتشر کنید.
نسخهٔ پولی یا «سازمانی»ای که بخشهای مفیدش را نگه داشته باشد وجود ندارد. مشارکتها با امضای DCO پذیرفته میشوند و CLA در کار نیست.
فایل اجرایی کمتر از بیست ماژول Go از دیگران دارد، همه با مجوزهای آزاد (BSD، MIT یا Apache-2.0)، و گزارش بررسی وابستگیها در خود مخزن است.
امنیت، تا امروز
- گذرواژهها با argon2id هش میشوند، تلاشهای ورود محدود است و پاسخِ حساب موجود و ناموجود یکسان است.
- بررسی CSRF برای هر درخواستی که داده را تغییر میدهد؛ کوکی نشست HttpOnly و SameSite=Lax و محدود به همان میزبان است.
- دسترسیها برای هر مسیر روی سرور بررسی میشوند و فضاهای کاری در لایهٔ داده از هم جدا هستند.
- تجزیهگرهای مدت زمان، فیلتر، درونریزی و Markdown آزمون فازینگ شدهاند؛ بارگذاریها و فایلهای فشرده سقف حجم و محافظ در برابر zip bomb دارند.
- ایمیج داکر distroless و بدون دسترسی root است؛ نمونههای استقرار همهٔ capabilityها را حذف میکنند و فایلسیستم ریشه را فقطخواندنی میگذارند.
- نسخهها طوری ساخته میشوند که با cosign امضا شوند و SBOM داشته باشند.
- آسیبپذیریها را محرمانه از راه GitHub Security Advisories گزارش کنید؛ سیاست امنیتی میگوید بعد از آن چه میشود.
بازبینی امنیتی کامل پیش از نسخهٔ v0.1 برنامهریزی شده است. تا آن موقع Tockr را نرمافزاری پیشانتشار بدانید.
پرسشهای رایج
جوابهای سرراست.
امروز میشود در محیط واقعی از آن استفاده کرد؟
هنوز نه. هستهٔ کار آماده است: کارها، بورد، زمانسنجی، کارکرد تیم، گزارشها، نقشها، بهروزرسانی همزمان، ایمیل و پشتیبانگیری. اما نسخهٔ v0.1 منتشر نشده، فایل اجرایی یا ایمیج آمادهای وجود ندارد و برای دادههای واقعی آماده نیست. برای خبر انتشار، مخزن را دنبال کنید.
زمانسنجی واقعاً رایگان است؟
بله. زمانسنج، ثبت دستی، کارکرد تیم، گزارشها و خروجیها همه در کد متنباز هستند. نه نسخهٔ پولی هست، نه قیمت به ازای هر نفر، نه افزونهای برای خرید.
یک سرور برای تیمی چقدر بزرگ کافی است؟
Tockr یک پردازه روی یک ماشین با SQLite است؛ پس با سرورِ قویتر بزرگ میشود، نه با چند سرور، و حالت خوشهای ندارد. برای فضاهای کاری با دهها هزار کار روی سروری کوچک ساخته و سنجیده شده است. گزینهٔ PostgreSQL در برنامهٔ نسخهٔ v0.3 است.
اپلیکیشن موبایل دارد؟
اپلیکیشن بومی iOS یا اندروید ندارد و در برنامهٔ فعلی هم نیست. نسخهٔ وب برای گوشی و تبلت هم ساخته شده، از عرض ۳۶۰ پیکسل، با کشیدن لمسی روی بورد.
نقشهٔ راه چیست؟
بعد از v0.1: فیلدهای سفارشی و نمای تقویم (v0.2)؛ پایگاه دادهٔ PostgreSQL، ذخیرهٔ پیوستها در S3، وبهوک و توکن API (v0.3). بعدتر: نمای گانت و خط زمانی، خودکارسازی، ورود یکپارچه با OIDC و زبانهای بیشتر.
اطلاعاتی به جایی میفرستد؟
نه. Tockr هیچ آمار یا تلهمتریای نمیفرستد. تنها اتصالهای بیرونیاش همانهایی است که خودتان تنظیم میکنید: سرور SMTP شما، و گوگل یا گیتهاب اگر ورود با آنها را روشن کنید. همین وبسایت هم چیزی از میزبان دیگری بارگیری نمیکند.
میتوانم دادههایم را بیرون ببرم؟
همیشه. پایگاه داده یک فایل SQLite است و tockr backup در حالی که سرور کار میکند نسخهای سالم از آن میگیرد. مالکان فضای کاری میتوانند همهچیز را بهصورت JSON همراه پیوستها بگیرند و هر گزارشی به CSV یا XLSX خروجی میدهد.
ابزارهای دیگر کجا جلوترند؟
یکپارچگی با سرویسهای دیگر و بازارچهٔ افزونه، خودکارسازی، اپلیکیشن بومی موبایل، نمای گانت و خط زمانی، نسخهٔ میزبانیشده با پشتیبانی، و سالها صیقل خوردن. شرط Tockr محدودتر است: ابزاری کوچک و سریع روی سرور خودتان، که زمانسنجی و زبانهای راستبهچپ را از اول درست انجام میدهد.
زمانسنج را روی سرور خودتان روشن کنید.
کلونش کنید، بسازیدش و چند دقیقه بعد نخستین ساعت را ثبت کنید. رایگان است و مال خودتان میماند.